|
@@ -1,20 +1,27 @@
|
|
|
package com.slodon.b2b2c.investment.controller;
|
|
|
|
|
|
import com.slodon.b2b2c.core.response.JsonResult;
|
|
|
+import com.slodon.b2b2c.core.response.PageVO;
|
|
|
+import com.slodon.b2b2c.core.response.PagerInfo;
|
|
|
import com.slodon.b2b2c.core.response.SldResponse;
|
|
|
-
|
|
|
-import com.slodon.b2b2c.investment.bean.analysis.dto.RivalDTO;
|
|
|
-import com.slodon.b2b2c.investment.bean.analysis.dto.SearchVolumeDTO;
|
|
|
+import com.slodon.b2b2c.core.util.AssertUtil;
|
|
|
+import com.slodon.b2b2c.core.util.WebUtil;
|
|
|
+import com.slodon.b2b2c.investment.bean.analysis.dto.*;
|
|
|
+import com.slodon.b2b2c.investment.bean.analysis.vo.CompanyEntity;
|
|
|
import com.slodon.b2b2c.investment.bean.analysis.vo.KeyWordPartVO;
|
|
|
import com.slodon.b2b2c.investment.bean.analysis.vo.RivalPartVO;
|
|
|
import com.slodon.b2b2c.investment.bean.analysis.vo.SuggestionVO;
|
|
|
+import com.slodon.b2b2c.investment.constant.InvestmentConst;
|
|
|
import com.slodon.b2b2c.investment.model.AnalysisModel;
|
|
|
import io.swagger.annotations.Api;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
-
|
|
|
+import org.springframework.data.redis.core.StringRedisTemplate;
|
|
|
import javax.annotation.Resource;
|
|
|
+import javax.servlet.http.HttpServletRequest;
|
|
|
import javax.validation.Valid;
|
|
|
+import java.time.LocalDateTime;
|
|
|
+import java.time.format.DateTimeFormatter;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
|
|
@@ -31,9 +38,13 @@ import java.util.List;
|
|
|
@RequestMapping("/analysis")
|
|
|
@Slf4j
|
|
|
public class AnalysisController {
|
|
|
+
|
|
|
@Resource
|
|
|
private AnalysisModel analysisModel;
|
|
|
|
|
|
+ @Resource
|
|
|
+ private StringRedisTemplate stringRedisTemplate;
|
|
|
+
|
|
|
/***
|
|
|
* @description: 接口1 返回页面左上 关键词搜索量 关键词难度
|
|
|
* @param:
|
|
@@ -115,5 +126,87 @@ public class AnalysisController {
|
|
|
return SldResponse.success(result);
|
|
|
}
|
|
|
|
|
|
+ /***
|
|
|
+ * @description: ai商情客户留存信息记录
|
|
|
+ * @param:
|
|
|
+ * @param dto 参数
|
|
|
+ * @return: void
|
|
|
+ * @author sunshihao
|
|
|
+ * @date: 2025/9/1 9:45
|
|
|
+ */
|
|
|
+ @PostMapping("/record")
|
|
|
+ public JsonResult<Integer> record(@Valid @RequestBody CompanyDTO dto) {
|
|
|
+// //开关开启需要验证
|
|
|
+// String verifyCodeCheck = stringRedisTemplate.opsForValue().get("verification_code_check_is_enable");
|
|
|
+// if ("1".equals(verifyCodeCheck)) {
|
|
|
+// String verifySms = stringRedisTemplate.opsForValue().get(dto.getPhone());
|
|
|
+// AssertUtil.isTrue(!dto.getVerifyCode().equals(verifySms), "验证码输入错误,请重试");
|
|
|
+// }
|
|
|
+ int id;
|
|
|
+ try {
|
|
|
+ id = analysisModel.record(dto);
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error(e.getMessage(),e);
|
|
|
+ return SldResponse.fail(e.getMessage());
|
|
|
+ }
|
|
|
+ return SldResponse.success(id);
|
|
|
+ }
|
|
|
+
|
|
|
+ /***
|
|
|
+ * @description: 更新pdf地址
|
|
|
+ * @param:
|
|
|
+ * @param dto 参数
|
|
|
+ * @return: com.slodon.b2b2c.core.response.JsonResult<java.lang.String>
|
|
|
+ * @author sunshihao
|
|
|
+ * @date: 2025/9/1 9:46
|
|
|
+ */
|
|
|
+ @PostMapping("/savePdf")
|
|
|
+ public JsonResult<String> savePdf(@Valid @RequestBody PdfDTO dto) {
|
|
|
+ try {
|
|
|
+ analysisModel.savePdf(dto);
|
|
|
+ }catch (Exception e) {
|
|
|
+ log.error(e.getMessage(),e);
|
|
|
+ return SldResponse.fail( e.getMessage());
|
|
|
+ }
|
|
|
+ return SldResponse.success();
|
|
|
+ }
|
|
|
+
|
|
|
+ /***
|
|
|
+ * @description: ai商情分析任务列表
|
|
|
+ * @param: phone
|
|
|
+ * @return: com.slodon.b2b2c.core.response.JsonResult<java.util.List<com.slodon.b2b2c.investment.bean.analysis.vo.CompanyEntity>>
|
|
|
+ * @author sunshihao
|
|
|
+ * @date: 2025/9/1 10:26
|
|
|
+ */
|
|
|
+ @GetMapping("/aiList")
|
|
|
+ public JsonResult<PageVO<CompanyEntity>> aiList(HttpServletRequest request,
|
|
|
+ @RequestParam(value = "phone", required = false) String phone,
|
|
|
+ @RequestParam(value = "startTime", required = false) String startTime,
|
|
|
+ @RequestParam(value = "endTime", required = false) String endTime,
|
|
|
+ @RequestParam(value = "companyName", required = false) String companyName) {
|
|
|
+ List<CompanyEntity> list;
|
|
|
+ PagerInfo pager;
|
|
|
+ // 定义格式转换器
|
|
|
+ DateTimeFormatter FORMATTER = DateTimeFormatter.ofPattern(InvestmentConst.YYYY_MM_DD_HH_MM_SS);
|
|
|
+ LocalDateTime stime = LocalDateTime.parse(startTime, FORMATTER);
|
|
|
+ LocalDateTime etime = LocalDateTime.parse(endTime, FORMATTER);
|
|
|
+ try {
|
|
|
+ pager = WebUtil.handlerPagerInfo(request);
|
|
|
+ CompanyListDTO dto = new CompanyListDTO();
|
|
|
+ dto.setPhone(phone);
|
|
|
+ dto.setStartTime(stime);
|
|
|
+ dto.setEndTime(etime);
|
|
|
+ dto.setCompanyName(companyName);
|
|
|
+ list = analysisModel.aiList(dto, pager);
|
|
|
+ }catch (Exception e) {
|
|
|
+ log.error(e.getMessage(),e);
|
|
|
+ return SldResponse.fail( e.getMessage());
|
|
|
+ }
|
|
|
+ return SldResponse.success(new PageVO<>(list, pager));
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
|
|
|
}
|