Эх сурвалжийг харах

update: 大家财险报价流程增加参数 修改未知参数

wks 1 жил өмнө
parent
commit
96fe8abe23
16 өөрчлөгдсөн 235 нэмэгдсэн , 110 устгасан
  1. 36 30
      platform/src/main/java/com/jzg/controller/EsmInsCompanyController.java
  2. 30 15
      tenant/insurance/quotation-dajia/src/main/java/com/jzg/quotation/dajia/crawler/build/DaJiaCrawlerQuoteResultsVoBuild.java
  3. 4 1
      tenant/insurance/quotation-dajia/src/main/java/com/jzg/quotation/dajia/crawler/component/BuildingAttributionInformation.java
  4. 25 8
      tenant/insurance/quotation-dajia/src/main/java/com/jzg/quotation/dajia/crawler/component/DaJiaCrawlerRequestComponent.java
  5. 18 18
      tenant/insurance/quotation-dajia/src/main/java/com/jzg/quotation/dajia/crawler/constant/enums/RequestUrl.java
  6. 2 0
      tenant/insurance/quotation-dajia/src/main/java/com/jzg/quotation/dajia/crawler/entity/po/DaJiaCrawlerOrder.java
  7. 25 15
      tenant/insurance/quotation-dajia/src/main/java/com/jzg/quotation/dajia/crawler/entity/request/DaJiaCrawlerInitDataRequest.java
  8. 6 1
      tenant/insurance/quotation-dajia/src/main/java/com/jzg/quotation/dajia/crawler/entity/request/DaJiaCrawlerPriceRequest.java
  9. 2 1
      tenant/insurance/quotation-dajia/src/main/java/com/jzg/quotation/dajia/crawler/entity/request/quote/BusinessInsuranceDTO.java
  10. 2 1
      tenant/insurance/quotation-dajia/src/main/java/com/jzg/quotation/dajia/crawler/entity/request/quote/CompulsoryInsuranceDTO.java
  11. 7 5
      tenant/insurance/quotation-dajia/src/main/java/com/jzg/quotation/dajia/crawler/entity/request/quote/ProposalInfoDTO.java
  12. 47 0
      tenant/insurance/quotation-dajia/src/main/java/com/jzg/quotation/dajia/crawler/entity/response/DaJiaCrawlerGetSaleInfoResponse.java
  13. 0 2
      tenant/insurance/quotation-dajia/src/main/java/com/jzg/quotation/dajia/crawler/properties/DaJiaCrawlerProperties.java
  14. 1 1
      tenant/insurance/quotation-dajia/src/main/java/com/jzg/quotation/dajia/crawler/service/DaJiaCrawlerOrderService.java
  15. 19 2
      tenant/insurance/quotation-dajia/src/main/java/com/jzg/quotation/dajia/crawler/service/impl/DaJiaCrawlerOrderServiceImpl.java
  16. 11 10
      tenant/insurance/quotation-dajia/src/main/java/com/jzg/quotation/dajia/crawler/service/impl/DaJiaCrawlerRequestImpl.java

+ 36 - 30
platform/src/main/java/com/jzg/controller/EsmInsCompanyController.java

@@ -3,14 +3,17 @@ package com.jzg.controller;
 
 import cn.hutool.core.bean.BeanUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.jzg.commons.core.base.BaseController;
 import com.jzg.commons.core.page.HttpResult;
 import com.jzg.commons.entity.dto.EsmInsCompanyAdd;
 import com.jzg.commons.entity.dto.EsmInsCompanyEnd;
+import com.jzg.commons.entity.po.EsmInsCompany;
 import com.jzg.commons.entity.po.SysUploadFiles;
 import com.jzg.commons.entity.vo.EsmInsCompanyReq;
 import com.jzg.commons.entity.vo.EsmInsCompanyResVo;
 import com.jzg.commons.entity.vo.EsmInsCompanyVo;
 import com.jzg.commons.exception.SystemException;
+import com.jzg.commons.request.RequestSingleParam;
 import com.jzg.commons.util.AssertionUtils;
 import com.jzg.commons.util.ConvertUtils;
 import com.jzg.commons.util.MinioUtils;
@@ -19,9 +22,6 @@ import com.jzg.constants.ManagementSourceEnum;
 import com.jzg.mapper.SysUploadFilesMapper;
 import com.jzg.service.EsmInsCompanyService;
 import io.swagger.v3.oas.annotations.Operation;
-import com.jzg.commons.core.base.BaseController;
-import com.jzg.commons.entity.po.EsmInsCompany;
-import com.jzg.commons.request.RequestSingleParam;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
@@ -30,6 +30,7 @@ import org.springframework.web.bind.annotation.*;
 
 import java.util.Arrays;
 import java.util.List;
+import java.util.Optional;
 
 /**
  * ---------------------------
@@ -53,7 +54,6 @@ public class EsmInsCompanyController extends BaseController {
     private String bucketName;
 
 
-
     @PostMapping("leftList")
     @Operation(summary = "获取顶级保险公司列表")
     public HttpResult<List<EsmInsCompanyResVo>> leftList(@RequestBody EsmInsCompanyReq req) {
@@ -63,7 +63,7 @@ public class EsmInsCompanyController extends BaseController {
 
     @GetMapping("getAllTopCompanyList")
     @Operation(summary = "获取订单报价完成的保险公司")
-    public  HttpResult getAllTopCompanyList() {
+    public HttpResult getAllTopCompanyList() {
         List<EsmInsCompany> list = esmInsCompanyService.getAllBaseList();
         return HttpResult.ok(list);
     }
@@ -80,7 +80,7 @@ public class EsmInsCompanyController extends BaseController {
         LambdaQueryWrapper<EsmInsCompany> lambdaQueryWrapper = new LambdaQueryWrapper<>();
         lambdaQueryWrapper.eq(EsmInsCompany::getParentId, "0");
         lambdaQueryWrapper.eq(EsmInsCompany::getIsDelete, 0);
-        lambdaQueryWrapper.like(StringUtils.isNotEmpty(req.getName()),EsmInsCompany::getName, req.getName());
+        lambdaQueryWrapper.like(StringUtils.isNotEmpty(req.getName()), EsmInsCompany::getName, req.getName());
         List<EsmInsCompany> selectList = esmInsCompanyService.list(lambdaQueryWrapper);
         List<EsmInsCompanyVo> esmInsCompanyVos = BeanUtil.copyToList(selectList, EsmInsCompanyVo.class);
         return HttpResult.ok(esmInsCompanyVos);
@@ -103,21 +103,21 @@ public class EsmInsCompanyController extends BaseController {
 
     @PostMapping(value = "/saveInsCompany")
     @Operation(summary = "保存信息")
-    public HttpResult<Object> save(@Validated  @RequestBody EsmInsCompanyAdd companyAdd) {
+    public HttpResult<Object> save(@Validated @RequestBody EsmInsCompanyAdd companyAdd) {
         ConvertUtils.emptyToNull(companyAdd);
         LambdaQueryWrapper<EsmInsCompany> lqw = new LambdaQueryWrapper<>();
         lqw.eq(EsmInsCompany::getCompanyCode, companyAdd.getCompanyCode());
         AssertionUtils.isFail(esmInsCompanyService.count(lqw) > 0, "供应商编码重复");
         AssertionUtils.isFail(esmInsCompanyService.count(
-                new LambdaQueryWrapper<EsmInsCompany>().eq(EsmInsCompany::getName,companyAdd.getName())) > 0, "保司名称重复");
+                new LambdaQueryWrapper<EsmInsCompany>().eq(EsmInsCompany::getName, companyAdd.getName())) > 0, "保司名称重复");
         EsmInsCompany esmInsCompany = BeanUtil.copyProperties(companyAdd, EsmInsCompany.class);
         //如果存在父类型则将type
-        if(!companyAdd.getParentId().equals("0")){
+        if (!companyAdd.getParentId().equals("0")) {
             EsmInsCompany parent = esmInsCompanyService.getById(companyAdd.getParentId());
-            AssertionUtils.isEmpty(parent,"父级机构不存在");
+            AssertionUtils.isEmpty(parent, "父级机构不存在");
             esmInsCompany.setType(parent.getType());
         }
-        return esmInsCompanyService.save(esmInsCompany) ?HttpResult.ok("保存成功") : HttpResult.error("保存失败");
+        return esmInsCompanyService.save(esmInsCompany) ? HttpResult.ok("保存成功") : HttpResult.error("保存失败");
     }
 
     @PostMapping(value = "/editInsCompany")
@@ -164,9 +164,13 @@ public class EsmInsCompanyController extends BaseController {
     @GetMapping(value = "/findLogoById")
     public HttpResult<EsmInsCompany> findLogoById(@RequestParam String id) {
         EsmInsCompany esmInsCompany = esmInsCompanyService.getById(id);
-         SysUploadFiles sysUploadFiles = sysUploadFilesMapper.selectById(esmInsCompany.getLogo());
-        String presignedObjectUrl = MinioUtils.getPresignedObjectUrl(bucketName, sysUploadFiles.getFileName());
-        esmInsCompany.setLogo(presignedObjectUrl);
+        SysUploadFiles sysUploadFiles = sysUploadFilesMapper.selectById(esmInsCompany.getLogo());
+        Optional.ofNullable(sysUploadFiles)
+                .map(SysUploadFiles::getFileName)
+                .ifPresent(fileName -> {
+                    String presignedObjectUrl = MinioUtils.getPresignedObjectUrl(bucketName, fileName);
+                    esmInsCompany.setLogo(presignedObjectUrl);
+                });
         return HttpResult.ok(esmInsCompany);
     }
 
@@ -244,7 +248,8 @@ public class EsmInsCompanyController extends BaseController {
     @GetMapping(value = "/{id}")
     public HttpResult<Object> delete(@PathVariable("id") String id) {
         EsmInsCompany esmInsCompany = esmInsCompanyService.isExists(id);
-        if ("0".equals(esmInsCompany.getParentId()) && !ManagementSourceEnum.MS_01.getCode().equals(esmInsCompany.getType())) {
+        if ("0".equals(esmInsCompany.getParentId()) && !ManagementSourceEnum.MS_01.getCode()
+                .equals(esmInsCompany.getType())) {
             throw new SystemException("财险,寿险,一级保险公司无法删除");
         }
 
@@ -323,17 +328,18 @@ public class EsmInsCompanyController extends BaseController {
     @Operation(summary = "查询保司机构下级")
     @GetMapping(value = "/queryListByParentId/{parentId}")
     public HttpResult<List<EsmInsCompany>> queryListByParentId(@PathVariable("parentId") String parentId) {
-        if(parentId==null || "".equals(parentId)) {
+        if (parentId == null || "".equals(parentId)) {
             return HttpResult.error("parentId父级id不能为空");
         }
         List<EsmInsCompany> esmInsCompanyList = esmInsCompanyService.queryListByParentId(parentId);
         return HttpResult.ok(esmInsCompanyList);
     }
+
     /**
-     *  @version
-     *  @author: hxl
-     *  @Date: 2024/9/20 16:22
-     *  @Description: 查询子订单中的保险公司列表
+     * @version
+     * @author: hxl
+     * @Date: 2024/9/20 16:22
+     * @Description: 查询子订单中的保险公司列表
      */
     @Operation(summary = "查询子订单中的保险公司列表")
     @GetMapping(value = "/findOrderCompanyList")
@@ -343,13 +349,13 @@ public class EsmInsCompanyController extends BaseController {
     }
 
     /**
-     *  @version
-     *  @author: hxl
-     *  @Date: 2024/12/12 14:29
-     *  @Description:  获取外部协议的保险公司的集合
+     * @version
+     * @author: hxl
+     * @Date: 2024/12/12 14:29
+     * @Description: 获取外部协议的保险公司的集合
      */
     @PostMapping("/getExternalAgreementCompanyList")
-    @Operation(summary= "获取外部协议的保险公司的集合")
+    @Operation(summary = "获取外部协议的保险公司的集合")
     public HttpResult<List<EsmInsCompanyResVo>> getExternalAgreementCompanyList(@RequestSingleParam("name") String name) {
         List<EsmInsCompanyResVo> lst = esmInsCompanyService.getExternalAgreementCompanyList(name);
         return HttpResult.ok(lst);
@@ -358,16 +364,16 @@ public class EsmInsCompanyController extends BaseController {
 
     @Operation(summary = "查找存在协议的保险公司列表")
     @GetMapping(value = "/liveCompanyList")
-    public HttpResult liveCompanyList(){
+    public HttpResult liveCompanyList() {
         List<EsmInsCompanyResVo> list = esmInsCompanyService.liveCompanyList();
         return HttpResult.ok(list);
     }
 
     /**
-     *  @version
-     *  @author: hxl
-     *  @Date: 2025/1/18 15:26
-     *  @Description:  查询子订单的合作公司列表
+     * @version
+     * @author: hxl
+     * @Date: 2025/1/18 15:26
+     * @Description: 查询子订单的合作公司列表
      */
     @Operation(summary = "查询子订单中的合作公司列表")
     @GetMapping(value = "/findOrderPartnerCompanyList")

+ 30 - 15
tenant/insurance/quotation-dajia/src/main/java/com/jzg/quotation/dajia/crawler/build/DaJiaCrawlerQuoteResultsVoBuild.java

@@ -1,5 +1,6 @@
 package com.jzg.quotation.dajia.crawler.build;
 
+import com.jzg.commons.constants.dict.InsOrderStatusEnum;
 import com.jzg.commons.entity.quote.vo.ExpenseFactor;
 import com.jzg.commons.entity.quote.vo.KindInfoVo;
 import com.jzg.commons.entity.quote.vo.RiskInfoVo;
@@ -9,9 +10,12 @@ import com.jzg.quotation.commons.utils.TimeProcessing;
 import com.jzg.quotation.dajia.crawler.entity.request.quote.BusinessInsuranceDTO;
 import com.jzg.quotation.dajia.crawler.entity.request.quote.CompulsoryInsuranceDTO;
 import com.jzg.quotation.dajia.crawler.entity.response.DaJiaCrawlerSaveResponse;
+import org.springframework.util.ObjectUtils;
+import org.springframework.util.StringUtils;
 
 import java.util.List;
 import java.util.Map;
+import java.util.Optional;
 import java.util.stream.Collectors;
 
 public final class DaJiaCrawlerQuoteResultsVoBuild {
@@ -37,37 +41,48 @@ public final class DaJiaCrawlerQuoteResultsVoBuild {
         // 费用因子
         List<ExpenseFactor> expenseFactors = buildExpenseFactor();
         quoteResultsVo.setExpenseFactors(expenseFactors);
+        quoteResultsVo.setQuoteStatusEnum(InsOrderStatusEnum.WAIT_AUDIT);
         // 交强保费 车船税 商业保费
         buildOtherInfo(quoteResultsVo, daJiaCrawlerSaveResponse.getCompulsoryInsurance(), daJiaCrawlerSaveResponse.getBusinessInsurance());
         return quoteResultsVo;
     }
 
     private static RiskInfoVo buildBiRiskInfoVo(RiskInfoVo biRiskInfoVo, BusinessInsuranceDTO businessInsurance) {
-        String startDate = businessInsurance.getProductInfo().getStartDate();
-        String endDate = TimeProcessing.minusOneSecondAfterYear(startDate);
-        biRiskInfoVo.setStartDate(startDate);
-        biRiskInfoVo.setEndDate(endDate);
+        if(!ObjectUtils.isEmpty(biRiskInfoVo)) {
+            String startDate = businessInsurance.getProductInfo().getStartDate();
+            String endDate = TimeProcessing.minusOneSecondAfterYear(startDate);
+            biRiskInfoVo.setStartDate(startDate);
+            biRiskInfoVo.setEndDate(endDate);
+        }
         return biRiskInfoVo;
     }
 
     private static RiskInfoVo buildCiRiskInfoVo(RiskInfoVo ciRiskInfoVo, CompulsoryInsuranceDTO compulsoryInsurance) {
-        String startDate = compulsoryInsurance.getProductInfo().getStartDate();
-        String endDate = TimeProcessing.minusOneSecondAfterYear(startDate);
-        ciRiskInfoVo.setStartDate(startDate);
-        ciRiskInfoVo.setEndDate(endDate);
+        if(!ObjectUtils.isEmpty(ciRiskInfoVo)) {
+            String startDate = compulsoryInsurance.getProductInfo().getStartDate();
+            String endDate = TimeProcessing.minusOneSecondAfterYear(startDate);
+            ciRiskInfoVo.setStartDate(startDate);
+            ciRiskInfoVo.setEndDate(endDate);
+        }
         return ciRiskInfoVo;
     }
 
     private static void buildOtherInfo(QuoteResultsVo quoteResultsVo, CompulsoryInsuranceDTO compulsoryInsurance, BusinessInsuranceDTO businessInsurance) {
         // 交强
-        CompulsoryInsuranceDTO.ProductInfoDTO ciProductInfo = compulsoryInsurance.getProductInfo();
-        quoteResultsVo.getCosts().setCiPremium(ciProductInfo.getPremium());
-        quoteResultsVo.setCiPolicyNumber(ciProductInfo.getProposalNo());
+        if (!ObjectUtils.isEmpty(quoteResultsVo.getCiRiskInfoVo())) {
+            CompulsoryInsuranceDTO.ProductInfoDTO ciProductInfo = compulsoryInsurance.getProductInfo();
+            quoteResultsVo.getCosts().setCiPremium(ciProductInfo.getPremium());
+            quoteResultsVo.setCiPolicyNumber(ciProductInfo.getProposalNo());
+            quoteResultsVo.getCosts().setVvTax(compulsoryInsurance.getCarShipTax().getTotalTax());
+        }
+
         // 商业
-        BusinessInsuranceDTO.ProductInfoDTO biProductInfo = businessInsurance.getProductInfo();
-        quoteResultsVo.getCosts().setBiPremium(biProductInfo.getPremium());
-        quoteResultsVo.setBiPolicyNumber(biProductInfo.getProposalNo());
-        quoteResultsVo.getCosts().setVvTax(compulsoryInsurance.getCarShipTax().getTotalTax());
+        if (!ObjectUtils.isEmpty(quoteResultsVo.getBiRiskInfoVo())) {
+            BusinessInsuranceDTO.ProductInfoDTO biProductInfo = businessInsurance.getProductInfo();
+            quoteResultsVo.getCosts().setBiPremium(biProductInfo.getPremium());
+            quoteResultsVo.setBiPolicyNumber(biProductInfo.getProposalNo());
+        }
+
     }
 
     private static List<KindInfoVo> buildKindInfoVo(List<KindInfoVo> kindInfoVo, List<BusinessInsuranceDTO.ItemKindsDTO> itemKinds) {

+ 4 - 1
tenant/insurance/quotation-dajia/src/main/java/com/jzg/quotation/dajia/crawler/component/BuildingAttributionInformation.java

@@ -7,6 +7,7 @@ import com.jzg.quotation.dajia.crawler.entity.request.DaJiaCrawlerCompaniesReque
 import com.jzg.quotation.dajia.crawler.entity.request.quote.ProposalInfoDTO;
 import com.jzg.quotation.dajia.crawler.entity.response.DaJiaCrawlerChannelPackagesResponse;
 import com.jzg.quotation.dajia.crawler.entity.response.DaJiaCrawlerCompaniesResponse;
+import com.jzg.quotation.dajia.crawler.entity.response.DaJiaCrawlerGetSaleInfoResponse;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.http.HttpHeaders;
@@ -28,10 +29,12 @@ public class BuildingAttributionInformation {
         // 机构查询
         DaJiaCrawlerCompaniesRequest daJiaCrawlerCompaniesRequest = new DaJiaCrawlerCompaniesRequest(parameters.getCDptCde(), parameters.getLoginCompany(), operatorCode);
         DaJiaCrawlerCompaniesResponse.ListDTO companies = daJiaCrawlerRequestComponent.companies(daJiaCrawlerCompaniesRequest, parameters.getCDptCde(), headers);
+        // 获取渠道信息
+        DaJiaCrawlerGetSaleInfoResponse saleInfo = daJiaCrawlerRequestComponent.getSaleInfo(operatorCode, headers);
         // 渠道套餐查询
         DaJiaCrawlerChannelPackagesRequest daJiaCrawlerChannelPackagesRequest = new DaJiaCrawlerChannelPackagesRequest(parameters, operatorCode);
         DaJiaCrawlerChannelPackagesResponse daJiaCrawlerChannelPackagesResponse = daJiaCrawlerRequestComponent.channelPackages(daJiaCrawlerChannelPackagesRequest, parameters.getChannelPackages(), headers);
-        return new ProposalInfoDTO(companies, daJiaCrawlerChannelPackagesResponse);
+        return new ProposalInfoDTO(companies, daJiaCrawlerChannelPackagesResponse, saleInfo, parameters.getLoginCompany());
     }
 
 }

+ 25 - 8
tenant/insurance/quotation-dajia/src/main/java/com/jzg/quotation/dajia/crawler/component/DaJiaCrawlerRequestComponent.java

@@ -2,6 +2,7 @@ package com.jzg.quotation.dajia.crawler.component;
 
 
 import com.alibaba.fastjson2.JSON;
+import com.alibaba.fastjson2.JSONObject;
 import com.jzg.commons.exception.SystemException;
 import com.jzg.commons.util.AssertionUtils;
 import com.jzg.quotation.commons.component.RequestComponent;
@@ -115,7 +116,7 @@ public class DaJiaCrawlerRequestComponent {
      */
     public DaJiaCrawlerCompaniesResponse.ListDTO companies(DaJiaCrawlerCompaniesRequest request, String cDptCde, HttpHeaders headers) {
         MultiValueMap<String, String> multiValueMap = RequestObjectConversion.convertMultiValueStringMap(request);
-        DaJiaCrawlerBaseResponse response = requestComponent.get(RequestUrl.COMPANIES.getRequestUrl(daJiaCrawlerProperties.getVhlUrl()), multiValueMap, "", DaJiaCrawlerBaseResponse.class, headers);
+        DaJiaCrawlerBaseResponse response = requestComponent.get(RequestUrl.COMPANIES.getRequestUrl(daJiaCrawlerProperties.getBaseUrl()), multiValueMap, "", DaJiaCrawlerBaseResponse.class, headers);
         DaJiaCrawlerCompaniesResponse daJiaCrawlerCompaniesResponse = DESEncryption.decryptStrToObject(response.getResult(), DaJiaCrawlerCompaniesResponse.class);
 
         return daJiaCrawlerCompaniesResponse.getList()
@@ -136,7 +137,7 @@ public class DaJiaCrawlerRequestComponent {
      */
     public DaJiaCrawlerChannelPackagesResponse channelPackages(DaJiaCrawlerChannelPackagesRequest request, String packagesName, HttpHeaders headers) {
         MultiValueMap<String, String> describe = RequestObjectConversion.convertMultiValueStringMap(request);
-        DaJiaCrawlerBaseResponse daJiaCrawlerBaseResponse = requestComponent.get(RequestUrl.CHANNEL_PACKAGES.getRequestUrl(daJiaCrawlerProperties.getVhlUrl()), describe, "", DaJiaCrawlerBaseResponse.class, headers);
+        DaJiaCrawlerBaseResponse daJiaCrawlerBaseResponse = requestComponent.get(RequestUrl.CHANNEL_PACKAGES.getRequestUrl(daJiaCrawlerProperties.getBaseUrl()), describe, "", DaJiaCrawlerBaseResponse.class, headers);
         List<DaJiaCrawlerChannelPackagesResponse> responses = DESEncryption.decryptStrToObjectList(daJiaCrawlerBaseResponse.getResult(), DaJiaCrawlerChannelPackagesResponse.class);
         return responses.stream()
                 .filter(x -> packagesName.equals(x.getName()))
@@ -144,6 +145,21 @@ public class DaJiaCrawlerRequestComponent {
                 .orElseThrow(() -> new SystemException(""));
     }
 
+    /**
+     * 获取渠道信息
+     *
+     * @param operatorCode
+     * @param headers      请求头
+     * @return 获取渠道信息响应
+     */
+    public DaJiaCrawlerGetSaleInfoResponse getSaleInfo(String operatorCode, HttpHeaders headers) {
+        String url = RequestUrl.GET_SALE_INFO.getRequestUrl(daJiaCrawlerProperties.getBaseUrl()) + operatorCode;
+        MultiValueMap<String, String> map = new LinkedMultiValueMap<>();
+        map.add("operatorCode", operatorCode);
+        DaJiaCrawlerBaseResponse daJiaCrawlerBaseResponse = requestComponent.get(url, map, "", DaJiaCrawlerBaseResponse.class, headers);
+        return DESEncryption.decryptStrToObject(daJiaCrawlerBaseResponse.getResult(), DaJiaCrawlerGetSaleInfoResponse.class);
+    }
+
     /**
      * 登录次数
      *
@@ -161,7 +177,7 @@ public class DaJiaCrawlerRequestComponent {
     }
 
     public <DaJiaResponse> DaJiaResponse requestUnencrypted(CrawlerRequestUrlStandard crawlerRequestUrlStandard, Object request, Class<DaJiaResponse> responseClass, HttpHeaders headers) {
-        ResponseEntity<DaJiaResponse> responseEntity = requestComponent.objectPost(crawlerRequestUrlStandard.getRequestUrl(daJiaCrawlerProperties.getVhlUrl()), request, responseClass, headers);
+        ResponseEntity<DaJiaResponse> responseEntity = requestComponent.objectPost(crawlerRequestUrlStandard.getRequestUrl(daJiaCrawlerProperties.getBaseUrl()), request, responseClass, headers);
         return responseEntity.getBody();
     }
 
@@ -174,7 +190,7 @@ public class DaJiaCrawlerRequestComponent {
     public <DaJiaResponse> DaJiaResponse request(CrawlerRequestUrlStandard crawlerRequestUrlStandard, Object request, Class<DaJiaResponse> responseClass, HttpHeaders headers) {
         // 参数加密
         DaJiaCrawlerBaseRequest crawlerBaseRequest = new DaJiaCrawlerBaseRequest(request);
-        ResponseEntity<DaJiaCrawlerBaseResponse> responseEntity = requestComponent.objectPost(crawlerRequestUrlStandard.getRequestUrl(daJiaCrawlerProperties.getVhlUrl()), crawlerBaseRequest, DaJiaCrawlerBaseResponse.class, headers);
+        ResponseEntity<DaJiaCrawlerBaseResponse> responseEntity = requestComponent.objectPost(crawlerRequestUrlStandard.getRequestUrl(daJiaCrawlerProperties.getBaseUrl()), crawlerBaseRequest, DaJiaCrawlerBaseResponse.class, headers);
         DaJiaCrawlerBaseResponse daJiaCrawlerBaseResponse = responseEntity.getBody();
         AssertionUtils.isEmpty(daJiaCrawlerBaseResponse, "请求异常请重试");
         if (!"200".equals(daJiaCrawlerBaseResponse.getCode())) {
@@ -262,9 +278,9 @@ public class DaJiaCrawlerRequestComponent {
      * @param headers 请求头
      * @return 初始化数据响应
      */
-    public DaJiaCrawlerInitDataResponse initData(DaJiaCrawlerInitDataRequest request, HttpHeaders headers) {
-        ResponseEntity<DaJiaCrawlerInitDataResponse> responseEntity = requestComponent.objectPost(RequestUrl.INIT_DATA.getRequestUrl(daJiaCrawlerProperties.getVhlUrl()), request, DaJiaCrawlerInitDataResponse.class, headers);
-        return responseEntity.getBody();
+    public void initData(DaJiaCrawlerInitDataRequest request, HttpHeaders headers) {
+        String url = daJiaCrawlerProperties.getBaseUrl() + RequestUrl.INIT_DATA.uri();
+        requestComponent.objectPost(url, request, String.class, headers);
     }
 
     /**
@@ -275,7 +291,8 @@ public class DaJiaCrawlerRequestComponent {
      * @return 上传标志响应
      */
     public DaJiaCrawlerUploadSignsResponse uploadSigns(DaJiaCrawlerUploadSignsRequest request, HttpHeaders headers) {
-        return requestUnencrypted(RequestUrl.UPLOAD_SIGNS, request, DaJiaCrawlerUploadSignsResponse.class, headers);
+        String s = requestUnencrypted(RequestUrl.UPLOAD_SIGNS, request, String.class, headers);
+        return JSON.parseObject(s, DaJiaCrawlerUploadSignsResponse.class);
     }
 
     /**

+ 18 - 18
tenant/insurance/quotation-dajia/src/main/java/com/jzg/quotation/dajia/crawler/constant/enums/RequestUrl.java

@@ -13,31 +13,31 @@ import lombok.AllArgsConstructor;
 public enum RequestUrl implements CrawlerRequestUrlStandard {
 
     // 登录
-    CAPTCHA("captcha", "验证码"),
-    AUTHENTICATE("authenticate", "登录"),
-    CREATE_TOKEN("/cabinet/createToken", "创建token"),
-    CHECK_TOKEN("checkToken", "校验token(获取新的token)"),
+    CAPTCHA("/api_prod/api/captcha", "验证码"),
+    AUTHENTICATE("/api_prod/api/authenticate", "登录"),
+    CREATE_TOKEN("/api_prod/api/cabinet/createToken", "创建token"),
+    CHECK_TOKEN("/api_vhl_prod/api/checkToken", "校验token(获取新的token)"),
     //归属信息
-    COMPANIES("/companies", "承保机构"),
-    CHANNEL_PACKAGES("/default/package/list", "渠道套餐"),
+    GET_SALE_INFO("/api_vhl_prod/api/getSaleInfo/", "获取账号信息"),
+    COMPANIES("/api_vhl_prod/api/companies", "承保机构"),
+    CHANNEL_PACKAGES("/api_vhl_prod/api/default/package/list", "渠道套餐"),
     // 报价
-    CAR("car", "车型查询"),
-    ACTUAL_VALUE("actualvalue", "计算折旧价格"),
-    PRICE("price", "报价"),
-    SAVE("save", "保存订单"),
-    INIT_DATA("imp/web/page/init_data", "初始化数据"),
-
+    CAR("/api_vhl_prod/api/car", "车型查询"),
+    ACTUAL_VALUE("/api_vhl_prod/api/actualvalue", "计算折旧价格"),
+    PRICE("/api_vhl_prod/api/price", "报价"),
+    SAVE("/api_vhl_prod/api/save", "保存订单"),
+    INIT_DATA("/api_vhl_prod/imp/web/page/init_data", "初始化数据"),
     //上传影像
-    UPLOAD_SIGNS("imp/web/file/upload_signs", "上传标志"),
-    UPLOAD("imp/web/file/upload", "上传"),
+    UPLOAD_SIGNS("/api_vhl_prod/imp/web/file/upload_signs", "上传标志"),
+    UPLOAD("/api_vhl_prod/imp/web/file/upload", "上传"),
     // 提交核保
-    GENERATE("generate", "生成订单(核保)"),
+    GENERATE("/api_vhl_prod/api/generate", "生成订单(核保)"),
     // 支付二维码
-    QRCODE("qrcode", "支付二维码"),
+    QRCODE("/api_vhl_prod/api/qrcode", "支付二维码"),
     // 下载保单
-    ELECTRON_POLICY_IO_DOWNLOAD("electronPolicyIODownload", "下载保单"),
+    ELECTRON_POLICY_IO_DOWNLOAD("/api_vhl_prod/api/electronPolicyIODownload", "下载保单"),
     // 状态查询
-    ORDER_LIST_REVISED("orderListRevised", "订单状态查询"),
+    ORDER_LIST_REVISED("/api_vhl_prod/api/orderListRevised", "订单状态查询"),
     ;
 
     private final String uri;

+ 2 - 0
tenant/insurance/quotation-dajia/src/main/java/com/jzg/quotation/dajia/crawler/entity/po/DaJiaCrawlerOrder.java

@@ -49,4 +49,6 @@ public class DaJiaCrawlerOrder {
      */
     private String biPolicyNo;
 
+    private String businessNo;
+
 }

+ 25 - 15
tenant/insurance/quotation-dajia/src/main/java/com/jzg/quotation/dajia/crawler/entity/request/DaJiaCrawlerInitDataRequest.java

@@ -30,25 +30,35 @@ public class DaJiaCrawlerInitDataRequest implements Serializable {
     @JsonProperty("busiInfoList")
     private List<BusiInfoListDTO> busiInfoList;
 
+    private static String processBusinessNo(String a, String o) {
+        if (a != null && !a.isEmpty()) {
+            return "8" + a.substring(6, 9) + a.substring(0, 5) + a.substring(9);
+        }
+        return "8" + o.substring(6, 9) + o.substring(0, 5) + o.substring(9);
+    }
+
     public DaJiaCrawlerInitDataRequest(CompulsoryInsuranceDTO compulsoryInsurance, BusinessInsuranceDTO businessInsurance) {
-        this.businessType = "XKCXT";
-        this.businessNo = businessNo;
-        this.busiInfoList = new ArrayList<>();
         // 交强险
-        Optional.ofNullable(compulsoryInsurance)
+        String compulsory = Optional.ofNullable(compulsoryInsurance)
                 .map(CompulsoryInsuranceDTO::getProductInfo)
-                .map(CompulsoryInsuranceDTO.ProductInfoDTO::getPolicyNo)
-                .filter(StringUtils::hasLength)
-                .ifPresent(x->{
-                    this.busiInfoList.add(new BusiInfoListDTO(x, "proNoE", "交强险投保单号"));
-                });
-        Optional.ofNullable(businessInsurance)
+                .map(CompulsoryInsuranceDTO.ProductInfoDTO::getProposalNo)
+                .orElse("");
+        // 商业险
+        String business = Optional.ofNullable(businessInsurance)
                 .map(BusinessInsuranceDTO::getProductInfo)
-                .map(BusinessInsuranceDTO.ProductInfoDTO::getPolicyNo)
-                .filter(StringUtils::hasLength)
-                .ifPresent(x->{
-                    this.busiInfoList.add(new BusiInfoListDTO(x, "proNoB", "商业险投保单号"));
-                });
+                .map(BusinessInsuranceDTO.ProductInfoDTO::getProposalNo)
+                .orElse("");
+        String businessNo = processBusinessNo(compulsory, business);
+        this.businessType = "XKCXT";
+        this.businessNo = businessNo;
+        this.busiInfoList = new ArrayList<>();
+        if (StringUtils.hasLength(compulsory)) {
+            this.busiInfoList.add(new BusiInfoListDTO(compulsory, "proNoE", "交强险投保单号"));
+        }
+        if (StringUtils.hasLength(business)) {
+            this.busiInfoList.add(new BusiInfoListDTO(business, "proNoB", "商业险投保单号"));
+        }
+
     }
 
     @AllArgsConstructor

+ 6 - 1
tenant/insurance/quotation-dajia/src/main/java/com/jzg/quotation/dajia/crawler/entity/request/DaJiaCrawlerPriceRequest.java

@@ -12,6 +12,7 @@ import org.springframework.util.ObjectUtils;
 import java.io.Serial;
 import java.io.Serializable;
 import java.util.List;
+import java.util.Optional;
 
 
 /**
@@ -116,7 +117,11 @@ public class DaJiaCrawlerPriceRequest implements Serializable {
         String seatCount = quoteVo.getCarInfoVo().getSeatCount();
         // 交强险
         String completeKerbMass = quoteVo.getCarInfoVo().completeKerbMassToTonCount();
-        this.compulsoryInsurance = new CompulsoryInsuranceDTO(quoteVo.getCiRiskInfoVo(), Double.parseDouble(vehicleExhaust), Integer.parseInt(seatCount), completeKerbMass);
+        if (!ObjectUtils.isEmpty(quoteVo.getCiRiskInfoVo())) {
+            this.compulsoryInsurance = new CompulsoryInsuranceDTO(quoteVo.getCiRiskInfoVo(), Double.parseDouble(vehicleExhaust), Integer.parseInt(seatCount), completeKerbMass);
+        }else {
+            this.compulsoryInsurance = new CompulsoryInsuranceDTO();
+        }
         this.driveInsurance = new DriveInsuranceDTO(quoteVo.getAccidentalDrivings());
         this.jabFamilyDriveInsurance = new Object();
         this.rqbFamilyDriveInsurance = new Object();

+ 2 - 1
tenant/insurance/quotation-dajia/src/main/java/com/jzg/quotation/dajia/crawler/entity/request/quote/BusinessInsuranceDTO.java

@@ -3,6 +3,7 @@ package com.jzg.quotation.dajia.crawler.entity.request.quote;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.jzg.commons.entity.quote.vo.KindInfoVo;
 import com.jzg.commons.entity.quote.vo.RiskInfoVo;
+import com.jzg.quotation.commons.utils.TimeProcessing;
 import com.jzg.quotation.dajia.enums.dictionary.Deductible;
 import com.jzg.quotation.dajia.enums.dictionary.TicketNoType;
 import lombok.Data;
@@ -203,7 +204,7 @@ public class BusinessInsuranceDTO implements Serializable {
             this.day = "365";
             this.effective = "";
             this.elPolicy = "";
-            this.endDate = biRiskInfoVo.getEndDate();
+            this.endDate = TimeProcessing.minusOneSecondAfterYear(biRiskInfoVo.getStartDate());
             this.feeCoef = "";
             this.feeRate = "";
             this.lastPolicyNo = "";

+ 2 - 1
tenant/insurance/quotation-dajia/src/main/java/com/jzg/quotation/dajia/crawler/entity/request/quote/CompulsoryInsuranceDTO.java

@@ -3,6 +3,7 @@ package com.jzg.quotation.dajia.crawler.entity.request.quote;
 import cn.hutool.core.date.DateTime;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.jzg.commons.entity.quote.vo.RiskInfoVo;
+import com.jzg.quotation.commons.utils.TimeProcessing;
 import com.jzg.quotation.dajia.enums.dictionary.CIKind;
 import com.jzg.quotation.dajia.enums.dictionary.PayCarType;
 import com.jzg.quotation.dajia.enums.dictionary.TaxTypeYn;
@@ -196,7 +197,7 @@ public class CompulsoryInsuranceDTO {
             this.day = "365";
             this.effective = "0";
             this.elPolicy = "";
-            this.endDate = ciRiskInfoVo.getEndDate();
+            this.endDate = TimeProcessing.minusOneSecondAfterYear(ciRiskInfoVo.getStartDate());;
             this.feeCoef = "";
             this.feeRate = "";
             this.lastPolicyNo = "";

+ 7 - 5
tenant/insurance/quotation-dajia/src/main/java/com/jzg/quotation/dajia/crawler/entity/request/quote/ProposalInfoDTO.java

@@ -3,6 +3,7 @@ package com.jzg.quotation.dajia.crawler.entity.request.quote;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.jzg.quotation.dajia.crawler.entity.response.DaJiaCrawlerChannelPackagesResponse;
 import com.jzg.quotation.dajia.crawler.entity.response.DaJiaCrawlerCompaniesResponse;
+import com.jzg.quotation.dajia.crawler.entity.response.DaJiaCrawlerGetSaleInfoResponse;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 
@@ -284,7 +285,7 @@ public class ProposalInfoDTO implements Serializable {
     @JsonProperty("syPlyNoOrg")
     private String syPlyNoOrg;
 
-    public ProposalInfoDTO(DaJiaCrawlerCompaniesResponse.ListDTO companies, DaJiaCrawlerChannelPackagesResponse response) {
+    public ProposalInfoDTO(DaJiaCrawlerCompaniesResponse.ListDTO companies, DaJiaCrawlerChannelPackagesResponse response, DaJiaCrawlerGetSaleInfoResponse saleInfo, String loginCompany) {
         this.orderNo = "";
         this.drivingsNo = "";
         this.mark = "2";
@@ -294,7 +295,7 @@ public class ProposalInfoDTO implements Serializable {
         if (split.length > 1) {
             this.cityCode = split[1];
         }
-        this.loginCompany = "";
+        this.loginCompany = loginCompany;
         this.dptRelCde = "";
         this.status = "";
         this.totalPremium = "";
@@ -332,8 +333,8 @@ public class ProposalInfoDTO implements Serializable {
         this.saleNo = "";
         this.saleGroupCode = "";
         this.saleGroupName = "";
-        this.operatorCode = "";
-        this.operatorName = "";
+        this.operatorCode = saleInfo.getRecommendCode();
+        this.operatorName = saleInfo.getRecommendName();
         // 收费方式
         this.feeType = "10";
         this.argueSolution = "007001";
@@ -367,7 +368,7 @@ public class ProposalInfoDTO implements Serializable {
         this.referrerDisabled = "";
         this.departmentCode = companies.getDepartmentCode();
         this.inform = "";
-        this.isDxProducts = "";
+        this.isDxProducts = "0";
         this.dataFlag = "";
         this.recommendCode = "";
         this.loadModel = response.getLoadModel();
@@ -423,4 +424,5 @@ public class ProposalInfoDTO implements Serializable {
         this.jqPlyNoOrg = "";
         this.syPlyNoOrg = "";
     }
+
 }

+ 47 - 0
tenant/insurance/quotation-dajia/src/main/java/com/jzg/quotation/dajia/crawler/entity/response/DaJiaCrawlerGetSaleInfoResponse.java

@@ -0,0 +1,47 @@
+package com.jzg.quotation.dajia.crawler.entity.response;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * @description: 大家财险 获取渠道信息
+ * @author: wenks
+ * @date: 2025/5/28 11:51
+ **/
+
+@NoArgsConstructor
+@Data
+public class DaJiaCrawlerGetSaleInfoResponse implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 7463222522106608016L;
+    
+    @JsonProperty("recommendCode")
+    private String recommendCode;
+
+    @JsonProperty("recommendName")
+    private String recommendName;
+
+    @JsonProperty("idCard")
+    private String idCard;
+
+    @JsonProperty("employeeNo")
+    private String employeeNo;
+
+    @JsonProperty("telphone")
+    private String telphone;
+
+    @JsonProperty("bankAccount")
+    private String bankAccount;
+
+    @JsonProperty("accountName")
+    private String accountName;
+
+    @JsonProperty("userRole")
+    private String userRole;
+
+}

+ 0 - 2
tenant/insurance/quotation-dajia/src/main/java/com/jzg/quotation/dajia/crawler/properties/DaJiaCrawlerProperties.java

@@ -17,6 +17,4 @@ public class DaJiaCrawlerProperties {
 
     private String baseUrl;
 
-    private String vhlUrl;
-
 }

+ 1 - 1
tenant/insurance/quotation-dajia/src/main/java/com/jzg/quotation/dajia/crawler/service/DaJiaCrawlerOrderService.java

@@ -12,7 +12,7 @@ public interface DaJiaCrawlerOrderService {
      * @param quoteVo                  报价信息
      * @param daJiaCrawlerSaveResponse 大家财险保存订单返回信息
      */
-    void saveOrderInfo(QuoteVo quoteVo, DaJiaCrawlerSaveResponse daJiaCrawlerSaveResponse);
+    void saveOrderInfo(QuoteVo quoteVo, DaJiaCrawlerSaveResponse daJiaCrawlerSaveResponse,  String businessNo);
 
     /**
      * 通过id查询mongodb中的唯一订单号

+ 19 - 2
tenant/insurance/quotation-dajia/src/main/java/com/jzg/quotation/dajia/crawler/service/impl/DaJiaCrawlerOrderServiceImpl.java

@@ -2,12 +2,16 @@ package com.jzg.quotation.dajia.crawler.service.impl;
 
 import com.jzg.quotation.commons.entity.vo.aggregated.QuoteVo;
 import com.jzg.quotation.dajia.crawler.entity.po.DaJiaCrawlerOrder;
+import com.jzg.quotation.dajia.crawler.entity.request.quote.BusinessInsuranceDTO;
+import com.jzg.quotation.dajia.crawler.entity.request.quote.CompulsoryInsuranceDTO;
 import com.jzg.quotation.dajia.crawler.entity.response.DaJiaCrawlerSaveResponse;
 import com.jzg.quotation.dajia.crawler.repository.DaJiaCrawlerOrderRepository;
 import com.jzg.quotation.dajia.crawler.service.DaJiaCrawlerOrderService;
 import lombok.RequiredArgsConstructor;
 import org.springframework.stereotype.Service;
 
+import java.util.Optional;
+
 @RequiredArgsConstructor
 @Service
 public class DaJiaCrawlerOrderServiceImpl implements DaJiaCrawlerOrderService {
@@ -15,9 +19,20 @@ public class DaJiaCrawlerOrderServiceImpl implements DaJiaCrawlerOrderService {
     public final DaJiaCrawlerOrderRepository daJiaCrawlerOrderRepository;
 
     @Override
-    public void saveOrderInfo(QuoteVo quoteVo, DaJiaCrawlerSaveResponse daJiaCrawlerSaveResponse) {
+    public void saveOrderInfo(QuoteVo quoteVo, DaJiaCrawlerSaveResponse daJiaCrawlerSaveResponse,  String businessNo) {
         DaJiaCrawlerOrder daJiaCrawlerOrder = new DaJiaCrawlerOrder();
-        daJiaCrawlerOrder.setOrdersNo(quoteVo.getOrder().getOrdersNo());
+        daJiaCrawlerOrder.setId(quoteVo.getOrder().getOrdersNo());
+        daJiaCrawlerOrder.setOrdersNo(daJiaCrawlerSaveResponse.getProposalInfo().getOrderNo());
+        // 交强投保单号
+        Optional.ofNullable(daJiaCrawlerSaveResponse.getCompulsoryInsurance())
+                .map(CompulsoryInsuranceDTO::getProductInfo)
+                .map(CompulsoryInsuranceDTO.ProductInfoDTO::getProposalNo)
+                .ifPresent(daJiaCrawlerOrder::setCiPolicyNumber);
+        // 商业投保单号
+        Optional.ofNullable(daJiaCrawlerSaveResponse.getBusinessInsurance())
+                .map(BusinessInsuranceDTO::getProductInfo)
+                .map(BusinessInsuranceDTO.ProductInfoDTO::getProposalNo)
+                .ifPresent(daJiaCrawlerOrder::setBiPolicyNumber);
         daJiaCrawlerOrderRepository.save(daJiaCrawlerOrder);
     }
 
@@ -25,4 +40,6 @@ public class DaJiaCrawlerOrderServiceImpl implements DaJiaCrawlerOrderService {
     public DaJiaCrawlerOrder getById(String id) {
         return daJiaCrawlerOrderRepository.getById(id);
     }
+
+
 }

+ 11 - 10
tenant/insurance/quotation-dajia/src/main/java/com/jzg/quotation/dajia/crawler/service/impl/DaJiaCrawlerRequestImpl.java

@@ -74,16 +74,16 @@ public class DaJiaCrawlerRequestImpl implements DaJiaCrawlerRequest {
         // 3.1 订单保存
         DaJiaCrawlerSaveRequest daJiaCrawlerSaveRequest = new DaJiaCrawlerSaveRequest(crawlerPriceResponse, userCode, quoteVo);
         DaJiaCrawlerSaveResponse daJiaCrawlerSaveResponse = daJiaCrawlerRequestComponent.save(daJiaCrawlerSaveRequest, headers);
-
+        // 3.2 初始化数据
         DaJiaCrawlerInitDataRequest daJiaCrawlerInitDataRequest = new DaJiaCrawlerInitDataRequest(daJiaCrawlerSaveResponse.getCompulsoryInsurance(), daJiaCrawlerSaveResponse.getBusinessInsurance());
-        DaJiaCrawlerInitDataResponse daJiaCrawlerInitDataResponse = daJiaCrawlerRequestComponent.initData(daJiaCrawlerInitDataRequest, headers);
+        daJiaCrawlerRequestComponent.initData(daJiaCrawlerInitDataRequest, headers);
 
         // 3.2 缓存数据
         daJiaCrawlerCacheComponent.cacheDaJiaCrawlerSaveResponse(daJiaCrawlerSaveResponse, quoteVo.getOrder()
                 .getOrdersNo());
 
         // 4.0 保存数据
-        daJiaCrawlerOrderService.saveOrderInfo(quoteVo, daJiaCrawlerSaveResponse);
+        daJiaCrawlerOrderService.saveOrderInfo(quoteVo, daJiaCrawlerSaveResponse, daJiaCrawlerInitDataRequest.getBusinessNo());
         // 返回报价信息
         return DaJiaCrawlerQuoteResultsVoBuild.buildQuoteResultsVo(quoteVo.getOrder()
                 .getOrdersNo(), quoteVo, daJiaCrawlerSaveResponse);
@@ -92,11 +92,13 @@ public class DaJiaCrawlerRequestImpl implements DaJiaCrawlerRequest {
     @Override
     public UnderwritingResultsVo underwriting(UnderwritingVo underwritingVo) {
         AttributionInformationVo attributionInformationVo = underwritingVo.getOrder().getAttributionInformationVo();
+        DaJiaCrawlerOrder daJiaCrawlerOrder = daJiaCrawlerOrderService.getById(underwritingVo.getOrder().getOrdersNo());
+        // 获取请求头
         HttpHeaders headers = daJiaCrawlerQuoteProcessService.getHeaders(attributionInformationVo.getUsername(), attributionInformationVo.getPassword());
-
-        DaJiaCrawlerSaveResponse daJiaCrawlerSaveResponse = daJiaCrawlerCacheComponent.getDaJiaCrawlerSaveResponse(underwritingVo.getOrder()
-                .getOrdersNo());
+        DaJiaCrawlerSaveResponse daJiaCrawlerSaveResponse = daJiaCrawlerCacheComponent.getDaJiaCrawlerSaveResponse(daJiaCrawlerOrder.getOrdersNo());
+        // 提交核保
         DaJiaCrawlerGenerateResponse response = daJiaCrawlerRequestComponent.generate(daJiaCrawlerSaveResponse, headers);
+
         UnderwritingResultsVo underwritingResultsVo = new UnderwritingResultsVo();
         return underwritingResultsVo;
     }
@@ -106,6 +108,7 @@ public class DaJiaCrawlerRequestImpl implements DaJiaCrawlerRequest {
         AttributionInformationVo attributionInformationVo = paymentLinkVo.getOrder().getAttributionInformationVo();
         DaJiaCrawlerOrder daJiaCrawlerOrder = daJiaCrawlerOrderService.getById(paymentLinkVo.getOrder().getOrdersNo());
         HttpHeaders headers = daJiaCrawlerQuoteProcessService.getHeaders(attributionInformationVo.getUsername(), attributionInformationVo.getPassword());
+
         String userCode = daJiaCrawlerCacheComponent.getUserCode(attributionInformationVo.getUsername());
         daJiaCrawlerRequestComponent.qrcode(daJiaCrawlerOrder.getOrdersNo(), userCode, headers);
         return new PaymentLinkResultsVo();
@@ -119,19 +122,17 @@ public class DaJiaCrawlerRequestImpl implements DaJiaCrawlerRequest {
         String userCode = daJiaCrawlerCacheComponent.getUserCode(attributionInformationVo.getUsername());
         DaJiaCrawlerOrder daJiaCrawlerOrder = daJiaCrawlerOrderService.getById(insuranceUploadImageVo.getOrder()
                 .getOrdersNo());
-        String policyNumber = StringUtils.hasLength(daJiaCrawlerOrder.getCiPolicyNumber()) ? daJiaCrawlerOrder.getCiPolicyNumber() : daJiaCrawlerOrder.getBiPolicyNo();
-        String businessNo = "8" + policyNumber.substring(6, 9) + policyNumber.substring(0, 5) + policyNumber.substring(9);
 
         List<InsuranceImageVo> imageVoList = insuranceUploadImageVo.getImageVoList();
         imageVoList.forEach(imageVo -> {
             // 上传文件标志
-            DaJiaCrawlerUploadSignsRequest daJiaCrawlerUploadSignsRequest = new DaJiaCrawlerUploadSignsRequest(businessNo, imageVo.getImageCode(), imageVo.getImageBase64List());
+            DaJiaCrawlerUploadSignsRequest daJiaCrawlerUploadSignsRequest = new DaJiaCrawlerUploadSignsRequest(daJiaCrawlerOrder.getBusinessNo(), imageVo.getImageCode(), imageVo.getImageBase64List());
             DaJiaCrawlerUploadSignsResponse daJiaCrawlerUploadSignsResponse = daJiaCrawlerRequestComponent.uploadSigns(daJiaCrawlerUploadSignsRequest, headers);
             Map<String, DaJiaCrawlerUploadSignsResponse.DataDTO> dataDTOMap = daJiaCrawlerUploadSignsResponse.getData()
                     .stream()
                     .collect(Collectors.toMap(DaJiaCrawlerUploadSignsResponse.DataDTO::getFileName, x -> x));
 
-            DaJiaCrawlerUploadRequest daJiaCrawlerUploadRequest = new DaJiaCrawlerUploadRequest(businessNo, imageVo.getImageCode(), userCode, daJiaCrawlerOrder.getCiPolicyNumber(), daJiaCrawlerOrder.getBiPolicyNumber());
+            DaJiaCrawlerUploadRequest daJiaCrawlerUploadRequest = new DaJiaCrawlerUploadRequest(daJiaCrawlerOrder.getBusinessNo(), imageVo.getImageCode(), userCode, daJiaCrawlerOrder.getCiPolicyNumber(), daJiaCrawlerOrder.getBiPolicyNumber());
             // 上传文件
             imageVo.getImageBase64List().forEach(imageBase64 -> {
                 DaJiaCrawlerUploadSignsResponse.DataDTO dataDTO = dataDTOMap.get(imageBase64.getImageName());