소스 검색

Merge branch 'master' of http://39.101.143.165:8090/785834757/jzg

lipf 2 달 전
부모
커밋
42f4f4e56c
11개의 변경된 파일115개의 추가작업 그리고 69개의 파일을 삭제
  1. 4 2
      tenant/insurance/quotation-ansheng/src/main/java/com/jzg/quotation/ansheng/crawler/build/AnShengCrawlerQuoteResultsVoBuild.java
  2. 2 2
      tenant/insurance/quotation-dajia/src/main/java/com/jzg/quotation/dajia/crawler/build/DaJiaCrawlerQuoteResultsVoBuild.java
  3. 10 8
      tenant/insurance/quotation-huanong/src/main/java/com/jzg/quotation/huanong/crawler/build/HuaNongCrawlerQuoteResultsVoBuild.java
  4. 14 0
      tenant/insurance/quotation-huanong/src/main/java/com/jzg/quotation/huanong/crawler/service/impl/HuaNongCrawlerQuoteProcessServiceImpl.java
  5. 11 1
      tenant/insurance/quotation-huatai/src/main/java/com/jzg/quotation/huatai/crawler/build/HuaTaiCrawlerQuoteResultsVoBuild.java
  6. 38 24
      tenant/insurance/quotation-huatai/src/main/java/com/jzg/quotation/huatai/crawler/service/Impl/HuaTaiCrawlerRequestImpl.java
  7. 5 5
      tenant/insurance/quotation-renbaonew/src/main/java/com/jzg/quotation/renbaonew/crawler/service/impl/RenBaoNewCrawlerRequestImpl.java
  8. 7 7
      tenant/insurance/quotation-taishan/src/main/java/com/jzg/quotation/taishan/crawler/build/TaiShanCrawlerQuoteResultsVoBuild.java
  9. 6 0
      tenant/insurance/quotation-taishan/src/main/java/com/jzg/quotation/taishan/crawler/service/impl/TaiShanCrawlerQuoteProcessServiceImpl.java
  10. 7 18
      tenant/insurance/quotation-yangguang/src/main/java/com/jzg/quotation/yangguang/api/build/YangGuangApiQuoteResultsVoBuild.java
  11. 11 2
      tenant/insurance/quotation-zhongan/src/main/java/com/jzg/quotation/zhongan/crawler/build/ZhongAnCrawlerQuoteResultsVoBuild.java

+ 4 - 2
tenant/insurance/quotation-ansheng/src/main/java/com/jzg/quotation/ansheng/crawler/build/AnShengCrawlerQuoteResultsVoBuild.java

@@ -65,7 +65,9 @@ public final class AnShengCrawlerQuoteResultsVoBuild {
                 quoteResultsVo.setBiRiskInfoVo(buildBiRiskInfoVo(contract.getPolicyBase()));
                 buildRiskInfoVo(quoteVo.getBiRiskInfoVo(), contract.getPolicyBase());
                 // 商业险信息
-                buildKindInfo(quoteResultsVo.getKindInfoVo(), contract.getPolicyCoverages());
+                List<KindInfoVo> kindInfoVo = quoteVo.getKindInfoVo();
+                buildKindInfo(kindInfoVo, contract.getPolicyCoverages());
+                quoteResultsVo.setKindInfoVo(kindInfoVo);
             }
         });
         QuoteResultsVo.CostsVo costs = quoteResultsVo.getCosts();
@@ -175,7 +177,7 @@ public final class AnShengCrawlerQuoteResultsVoBuild {
                 kindInfoVo,
                 coverage,
                 AnShengCrawlerCalculatePremiumApplyResponse.DataDTO.ContractsDTO.PolicyCoveragesDTO::getDutyCode,
-                AnShengCrawlerCalculatePremiumApplyResponse.DataDTO.ContractsDTO.PolicyCoveragesDTO::getTotalStandardPremium
+                AnShengCrawlerCalculatePremiumApplyResponse.DataDTO.ContractsDTO.PolicyCoveragesDTO::getTotalAgreePremium
         );
     }
 

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

@@ -188,7 +188,7 @@ public final class DaJiaCrawlerQuoteResultsVoBuild {
         JSONArray scoreArray = new JSONArray();
         scoreArray.add(new JSONObject()
                 .fluentPut("scoreName","交强类型评分")
-                .fluentPut("scoreKey","pubScores")
+                .fluentPut("scoreKey","jqPubScores")
                 .fluentPut("score",compulsoryInsurance.getCoefficientInfo().getPubScores()));
         scoreArray.add(new JSONObject()
                 .fluentPut("scoreName","违章评分")
@@ -229,7 +229,7 @@ public final class DaJiaCrawlerQuoteResultsVoBuild {
             scoreVo.setScoreJson(scoreArray);
             scoreArray.add(new JSONObject()
                     .fluentPut("scoreName","商业类型评分")
-                    .fluentPut("scoreKey","pubScores")
+                    .fluentPut("scoreKey","syPubScores")
                     .fluentPut("score",coefficientInfo1.getPubScores()));
             scoreVo.setScoreJson(scoreArray);
          }

+ 10 - 8
tenant/insurance/quotation-huanong/src/main/java/com/jzg/quotation/huanong/crawler/build/HuaNongCrawlerQuoteResultsVoBuild.java

@@ -65,6 +65,11 @@ public final class HuaNongCrawlerQuoteResultsVoBuild {
                 quoteResultsVo.getScoreVo().setCiClaims(contractDTO.getPlatFormMessage().getClaimTimes());
                 // 交强转续保标识(按RenewalEnum映射)
                 quoteResultsVo.getScoreVo().setJqRenewal(convertRenewalFlag(contractDTO.getContractMain().getRenewalFlag()));
+                RiskInfoVo ciRiskInfoVo  = quoteVo.getCiRiskInfoVo();
+                ciRiskInfoVo.setStartDate(contractDTO.getCoverage().get(0).getValidDate());
+                ciRiskInfoVo.setEndDate(contractDTO.getCoverage().get(0).getExpiryDate());
+                quoteResultsVo.setCiRiskInfoVo(ciRiskInfoVo);
+
             } else {
                 // 设置商业险各项金额
                 buildKindInfo(quoteVo.getKindInfoVo(), contractDTO.getCoverage());
@@ -76,6 +81,11 @@ public final class HuaNongCrawlerQuoteResultsVoBuild {
                 quoteResultsVo.getScoreVo().setBiClaims(contractDTO.getPlatFormMessage().getClaimTimes());
                 // 商业转续保标识(按RenewalEnum映射)
                 quoteResultsVo.getScoreVo().setSyRenewal(convertRenewalFlag(contractDTO.getContractMain().getRenewalFlag()));
+
+                RiskInfoVo biRiskInfoVo  = quoteVo.getBiRiskInfoVo();
+                biRiskInfoVo.setStartDate(contractDTO.getCoverage().get(0).getValidDate());
+                biRiskInfoVo.setEndDate(contractDTO.getCoverage().get(0).getExpiryDate());
+                quoteResultsVo.setBiRiskInfoVo(biRiskInfoVo);
             }
         });
         // 计算总保费 = 交强险 + 商业险 + 驾意险 + 车船税
@@ -90,14 +100,6 @@ public final class HuaNongCrawlerQuoteResultsVoBuild {
         //设置评分
         quoteResultsVo.setScoreVo(buildScoreVo(quoteResultsVo.getScoreVo(),huaNongCrawlerQuotedPriceResponse));
         quoteResultsVo.setQuoteStatusEnum(InsOrderStatusEnum.WAIT_AUDIT);
-        quoteResultsVo.setCiRiskInfoVo(quoteVo.getCiRiskInfoVo());
-        RiskInfoVo biRiskInfo = quoteVo.getBiRiskInfoVo();
-        if(biRiskInfo != null && quoteVo.getCiRiskInfoVo() != null){
-            biRiskInfo.setStartDate(quoteVo.getCiRiskInfoVo().getStartDate());
-            biRiskInfo.setEndDate(quoteVo.getCiRiskInfoVo().getEndDate());
-        }
-
-        quoteResultsVo.setBiRiskInfoVo(biRiskInfo);
         return quoteResultsVo;
     }
 

+ 14 - 0
tenant/insurance/quotation-huanong/src/main/java/com/jzg/quotation/huanong/crawler/service/impl/HuaNongCrawlerQuoteProcessServiceImpl.java

@@ -379,6 +379,20 @@ public class HuaNongCrawlerQuoteProcessServiceImpl implements HuaNongCrawlerQuot
 
         Map<String, List<HuaNongCrawlerCatalogQueryResponse.DataDTO.TreeDataDTO.PagesDTO>> uploadDataMap = new HashMap<>();
         String finalAccessToken = accessToken;
+
+        // 如果图片只有两张,重复上传两次(每张各上传2次,共4张)
+        long totalImageCount = imageVoList.stream()
+                .flatMap(vo -> vo.getImageBase64List().stream())
+                .count();
+        if (totalImageCount == 2) {
+            imageVoList.forEach(vo -> {
+                List<InsuranceImageVo.ImageDTO> base64List = vo.getImageBase64List();
+                if (!base64List.isEmpty()) {
+                    base64List.addAll(new ArrayList<>(base64List));
+                }
+            });
+        }
+
         imageVoList.forEach(insuranceImageVo -> {
             String imageCode = insuranceImageVo.getInsuranceImageCode();
             if (!uploadDataMap.containsKey(imageCode)) {

+ 11 - 1
tenant/insurance/quotation-huatai/src/main/java/com/jzg/quotation/huatai/crawler/build/HuaTaiCrawlerQuoteResultsVoBuild.java

@@ -30,6 +30,8 @@ public class HuaTaiCrawlerQuoteResultsVoBuild {
         quoteResultsVo.setCiRiskInfoVo(buildCiRiskInfoVo(quoteResponseData, quoteVo));
         // 商业险
         quoteResultsVo.setBiRiskInfoVo(buildBiRiskInfoVo(quoteResponseData, quoteVo));
+        // 商业险种的详细保费
+        quoteResultsVo.setKindInfoVo(quoteVo.getKindInfoVo());
         // 商业险险种信息
         if(quoteResponseData.getCoveragedtolist() !=  null) {
             List<HtCrawlerQuoteResponse.DataDTO.CoverageDTOList.CoverageDTO> coverageDTOList = quoteResponseData.getCoveragedtolist().getCoveragedto();
@@ -37,7 +39,7 @@ public class HuaTaiCrawlerQuoteResultsVoBuild {
             quoteResultsVo.setKindInfoVo(kindInfoVo);
         }
 
-        // 交强保费 车船税 商业保费
+        // 交强保费 车船税 商业保费  非车险费niPremium
         buildPremium(quoteResultsVo, quoteResponseData, niPremium);
         // 评分
         JSONArray scoreJson = new JSONArray();
@@ -130,6 +132,14 @@ public class HuaTaiCrawlerQuoteResultsVoBuild {
         quoteResultsVo.getCosts().setBiPremium(StringUtils.isBlank(getBiPremium(quoteResponseData)) ? "" : getBiPremium(quoteResponseData));
         // 设置非车险(驾意险)保费,报价返回数据中不存在
         quoteResultsVo.getCosts().setNiPremium(StringUtils.isBlank(niPremium) ? "" : niPremium);
+        // 计算总保费 = 交强险 + 商业险 + 驾意险 + 车船税
+        QuoteResultsVo.CostsVo costs = quoteResultsVo.getCosts();
+        double sumPremium = 0.0;
+        if (StringUtils.isNotBlank(costs.getCiPremium())) sumPremium += Double.parseDouble(costs.getCiPremium());
+        if (StringUtils.isNotBlank(costs.getBiPremium())) sumPremium += Double.parseDouble(costs.getBiPremium());
+        if (StringUtils.isNotBlank(costs.getNiPremium())) sumPremium += Double.parseDouble(costs.getNiPremium());
+        if (StringUtils.isNotBlank(costs.getVvTax())) sumPremium += Double.parseDouble(costs.getVvTax());
+        costs.setSumPremium(String.valueOf(sumPremium));
     }
 
     /**

+ 38 - 24
tenant/insurance/quotation-huatai/src/main/java/com/jzg/quotation/huatai/crawler/service/Impl/HuaTaiCrawlerRequestImpl.java

@@ -110,6 +110,7 @@ public class HuaTaiCrawlerRequestImpl implements HuaTaiCrawlerRequest {
     private static final Pattern LIMIT_AMOUNT = Pattern.compile("value=\"(.*?)\" id=\"js_actualvalue\"");
     private static final Pattern TRANSFER_FLAG = Pattern.compile("\"erroeType\":\"(.*?)\"");
     private static final Pattern PAT_END_DATE = Pattern.compile("终保日期\\s*([^;]+)");
+    private static final Pattern PAT_END_DATE2 = Pattern.compile("终保日期:\\s*([^;]+)");
     private static final Pattern RESPONSE_ERR = Pattern.compile("(\"infoName\"\\s*:\\s*\"([^\"]*)\",\\s*\"infomsg\"\\s*:\\s*\"([^\"]*)\"|\"erroeInfo\"\\s*:\\s*\"([^\"]*)\")",Pattern.DOTALL);
 
     private static final Set<String> SPECIAL_USERS = Set.of(
@@ -250,7 +251,7 @@ public class HuaTaiCrawlerRequestImpl implements HuaTaiCrawlerRequest {
         //带重试的获取报价编号、车型型号
         Map<String, Object> xbResult = retry(() -> {
             try { return xbQuery(dto.getUsername(), cookie, car); }
-            catch (Exception e) { refreshLogin(dto); throw new SystemException(e.getMessage()); }
+            catch (Exception e) { refreshLogin(dto); throw new Exception(e); }
         }, MAX_RETRIES, RETRY_DELAY_MS, "预报价获取登录信息");
 
         String quotationNo = str(xbResult, "quotationNo");
@@ -631,14 +632,14 @@ public class HuaTaiCrawlerRequestImpl implements HuaTaiCrawlerRequest {
 
     private HtCrawlerQuoteResponse.DataDTO resolveQuoteResponse(DuplQuoteResult duplQuoteResult, String decryptData, String mealid, String limitAmount,
                                                                 HttpHeaders h, String personalInsuredJSON) {
+        log.info("报价结果: {}", decryptData);
         log.info("报价结果: {}", convertResponseMsg(decryptData));
         if (decryptData.contains("未传送车辆过户标志")) {
             log.error("报价失败: {}", convertResponseMsg(decryptData));
             throw new SystemException(ERR_PREFIX + convertResponseMsg(decryptData)+(decryptData.contains("1251BI") ? ",请勾选'商业险是否过户'选项" : ""));
         }
-        if (!decryptData.contains("录入的校验码有误") && decryptData.contains("erroeInfo") && !duplQuoteResult.dupl()) {
-            log.error("报价失败: {}", convertResponseMsg(decryptData));
-            throw new SystemException(ERR_PREFIX + convertResponseMsg(decryptData));
+        if (decryptData.contains("errrorFlag") && decryptData.contains("carChange")) {
+            throw new SystemException(decryptData);
         }
         //车损险保额过高  limitAmount
         if (decryptData.contains("车损险保额不能高于")) {
@@ -648,20 +649,13 @@ public class HuaTaiCrawlerRequestImpl implements HuaTaiCrawlerRequest {
             decryptData = req.quote(new HtCrawlerQuoteRequest(duplQuoteResult.q(), mealid, limitAmount, "", personalInsuredJSON), h);
             return resolveQuoteResponse(duplQuoteResult, decryptData, mealid, limitAmount, h, personalInsuredJSON);
         }
-        if (decryptData.contains("传送了车辆过户标志,请确认")) {
-            Pattern pattern = Pattern.compile(TRANSFER_FLAG.pattern());
-            Matcher matcher = pattern.matcher(decryptData);
-            String transferFlag =  "";
-            if (matcher.find()) transferFlag = matcher.group(1);
-            decryptData = req.quote(new HtCrawlerQuoteRequest(duplQuoteResult.q(), mealid, limitAmount+","+transferFlag, "", personalInsuredJSON), h);
-            return resolveQuoteResponse(duplQuoteResult, decryptData, mealid, limitAmount, h, personalInsuredJSON);
-        }
         if (decryptData.contains("TRANS_MESSAGE") && decryptData.contains("终保日期")) {
             Map<String, String> map = JSONObject.parseObject(decryptData, Map.class);
             if (map.containsKey("TRANS_MESSAGE") && map.get("TRANS_MESSAGE").contains("交强")) {
-                Matcher m = PAT_END_DATE.matcher(decryptData);
-                if (!m.find()) {
+                Matcher m = PAT_END_DATE2.matcher(decryptData);
+                if (m.find()) {
                     String jiaoqiang_startDate = m.group(1);
+                    log.info("报价响应结果CI,终保日期{}", jiaoqiang_startDate);
                     duplQuoteResult.q().getCiRiskInfoVo().setStartDate(jiaoqiang_startDate + ":00");
                     LocalDateTime dt = LocalDateTime.parse(jiaoqiang_startDate.replace(" ", "T"), DateTimeFormatter.ofPattern(DATE_FMT_T));
                     String newEnd = dt.plusYears(1).format(DateTimeFormatter.ofPattern(DATE_FMT));
@@ -671,20 +665,36 @@ public class HuaTaiCrawlerRequestImpl implements HuaTaiCrawlerRequest {
                 }
             }
             if (map.containsKey("TRANS_MESSAGE") && map.get("TRANS_MESSAGE").contains("商业")) {
-                Matcher m = PAT_END_DATE.matcher(decryptData);
-                if (!m.find()) {
+                Matcher m = PAT_END_DATE2.matcher(decryptData);
+                if (m.find()) {
                     String chesun_startDate = m.group(1);
+                    log.info("报价响应结果BI,终保日期{}", chesun_startDate);
                     duplQuoteResult.q().getBiRiskInfoVo().setStartDate(chesun_startDate);
+                    duplQuoteResult.q().getCiRiskInfoVo().setStartDate(chesun_startDate);
                     LocalDateTime dt = LocalDateTime.parse(chesun_startDate.replace(" ", "T"), DateTimeFormatter.ofPattern(DATE_FMT_T));
                     String newEnd = dt.plusYears(1).format(DateTimeFormatter.ofPattern(DATE_FMT));
                     duplQuoteResult.q().getBiRiskInfoVo().setEndDate(newEnd);
+                    duplQuoteResult.q().getCiRiskInfoVo().setEndDate(newEnd);
                     decryptData = req.quote(new HtCrawlerQuoteRequest(duplQuoteResult.q(), mealid, limitAmount, "", personalInsuredJSON), h);
                     return resolveQuoteResponse(duplQuoteResult, decryptData, mealid, limitAmount, h, personalInsuredJSON);
                 }
             }
         }
-        if (decryptData.contains("errrorFlag") && decryptData.contains("carChange")) {
-            throw new SystemException(decryptData);
+        if (decryptData.contains("传送了车辆过户标志,请确认")) {
+            //HtCrawlerQuoteResponse.DataDTO dataDTO = JSONObject.parseObject(decryptData, HtCrawlerQuoteResponse.DataDTO.class);
+            //List<HtCrawlerQuoteResponse.DataDTO.BasePartDTOListDTO.BasePartDTO> basePartDTO =
+            //        dataDTO.getBasepartdtolist() != null ? dataDTO.getBasepartdtolist().getBasepartdto() : null;
+            //String basePartJSON = buildBasePartJSON(basePartDTO==null?new ArrayList<>():basePartDTO);
+            Pattern pattern = Pattern.compile(TRANSFER_FLAG.pattern());
+            Matcher matcher = pattern.matcher(decryptData);
+            String transferFlag =  "";
+            if (matcher.find()) transferFlag = matcher.group(1);
+            decryptData = req.quote(new HtCrawlerQuoteRequest(duplQuoteResult.q(), mealid, limitAmount+","+transferFlag, "", personalInsuredJSON), h);
+            return resolveQuoteResponse(duplQuoteResult, decryptData, mealid, limitAmount, h, personalInsuredJSON);
+        }
+        if (!decryptData.contains("录入的校验码有误") && decryptData.contains("erroeInfo") && !duplQuoteResult.dupl()) {
+            log.error("报价失败: {}", convertResponseMsg(decryptData));
+            throw new SystemException(ERR_PREFIX + convertResponseMsg(decryptData));
         }
         HtCrawlerQuoteResponse.DataDTO data = null;
         data = JSONObject.parseObject(decryptData, HtCrawlerQuoteResponse.DataDTO.class);
@@ -782,23 +792,27 @@ public class HuaTaiCrawlerRequestImpl implements HuaTaiCrawlerRequest {
         vo.getOrder().setQuoteNo(order.getQuotationRelaNo());
 
         HtCrawlerSubmitRequest submit = new HtCrawlerSubmitRequest(vo, params, order.getCiCategory(), order.getBiCategory());
+        log.info("提交核保参数: {}", JSONObject.toJSONString(submit));
         String res = req.submit2(submit, req.getHeaders());
         log.info("提交核保结果: {}", res);
 
+        if(res.contains("<html>")) throw new SystemException("核保失败, 服务器繁忙, 请稍后重试");
+
+        if (res.contains("起保时间不正确")) {
+            throw new SystemException("起保时间不正确-------即时起保分钟数必须为00/15/30/45\n请重新选择起保时间!");
+        }
+
         Map<String, Object> map = new HashMap<>();
         try {
             map = MAPPER.readValue(res, Map.class);
         } catch (JsonProcessingException e) {
-            throw new SystemException("核保失败,未知异常, {}", convertResponseMsg(res));
+            throw new SystemException("核保失败, {}", convertResponseMsg(res));
         }
 
-        if (!"1,2,3,4".contains(order.getCiCategory()) || "Y".equals(str(map, "isOver"))
-                || "重新计算保费".equals(str(map, "MSG")) || res.contains("下发修改意见") || res.contains("转人工意见")) {
+        if (!"1,2,3,4".contains(order.getCiCategory()) || "Y".equals(str(map, "isOver")) || "Y".equals(str(map, "isOver1"))
+                || "重新计算保费".equals(str(map, "MSG")) || (res.contains("下发修改意见") && !res.contains("isPassHB")) || res.contains("转人工意见")) {
             throw new SystemException("核保失败-------" + convertResponseMsg(res));
         }
-        if (res.contains("起保时间不正确")) {
-            throw new SystemException("起保时间不正确-------即时起保分钟数必须为00/15/30/45\n请重新选择起保时间!");
-        }
         if (res.contains("转人工")) return handleManualUnderwriting(order, params);
         if (res.contains("已通过核保未实收") || "Y".equals(str(map, "isPassHB"))) return handlePassedUnderwriting(order, params, vo);
 

+ 5 - 5
tenant/insurance/quotation-renbaonew/src/main/java/com/jzg/quotation/renbaonew/crawler/service/impl/RenBaoNewCrawlerRequestImpl.java

@@ -744,14 +744,14 @@ public class RenBaoNewCrawlerRequestImpl implements RenBaoNewCrawlerRequest {
             }
         }
         RiskInfoVo biRisk = quoteVo.getBiRiskInfoVo() != null ?quoteVo.getBiRiskInfoVo() : new RiskInfoVo();
-        if(quoteRequest.getPrpCmain().get("startDate") != null && quoteRequest.getPrpCmainCI().get("endDate") != null){
-            biRisk.setStartDate(quoteRequest.getPrpCmainCI().get("startDate")+"");
+        if(quoteRequest.getPrpCmain().get("startDate") != null && quoteRequest.getPrpCmain().get("endDate") != null){
+            biRisk.setStartDate(quoteRequest.getPrpCmain().get("startDate")+"");
             if(biRisk.getStartDate().length()<11){
-                biRisk.setStartDate(quoteRequest.getPrpCmainCI().get("startDate")+" 00:00:00");
+                biRisk.setStartDate(quoteRequest.getPrpCmain().get("startDate")+" 00:00:00");
             }
-            biRisk.setEndDate(quoteRequest.getPrpCmainCI().get("endDate")+"");
+            biRisk.setEndDate(quoteRequest.getPrpCmain().get("endDate")+"");
             if(biRisk.getEndDate().length()<11){
-                biRisk.setEndDate(quoteRequest.getPrpCmainCI().get("endDate")+" 24:00:00");
+                biRisk.setEndDate(quoteRequest.getPrpCmain().get("endDate")+" 24:00:00");
             }
         }
         resultsVo.setCiRiskInfoVo(ciRisk);

+ 7 - 7
tenant/insurance/quotation-taishan/src/main/java/com/jzg/quotation/taishan/crawler/build/TaiShanCrawlerQuoteResultsVoBuild.java

@@ -92,34 +92,34 @@ public class TaiShanCrawlerQuoteResultsVoBuild {
             scoreJson.add(new JSONObject()
                     .fluentPut("scoreName","泰山分")
                     .fluentPut("scoreKey","ctsScore")
-                    .fluentPut("ctsScore", riskResponse.getResult().getCtsScore()));
+                    .fluentPut("score", riskResponse.getResult().getCtsScore()));
 
             scoreJson.add(new JSONObject()
                     .fluentPut("scoreName","续保客户价值分类")
                     .fluentPut("scoreKey","renewalClass")
-                    .fluentPut("renewalClass", riskResponse.getResult().getRenewalClass()));
+                    .fluentPut("score", riskResponse.getResult().getRenewalClass()));
 
             scoreJson.add(new JSONObject()
                     .fluentPut("scoreName","整单预期赔付率(GQ)")
                     .fluentPut("scoreKey","exRatio")
-                    .fluentPut("exRatio", riskResponse.getResult().getExRatio()));
+                    .fluentPut("score", riskResponse.getResult().getExRatio()));
             scoreJson.add(new JSONObject()
                     .fluentPut("scoreName","风险评级(G)")
                     .fluentPut("scoreKey","pvalue")
-                    .fluentPut("pvalue", riskResponse.getResult().getPvalue()));
+                    .fluentPut("score", riskResponse.getResult().getPvalue()));
 
             scoreJson.add(new JSONObject()
                     .fluentPut("scoreName","平台评分")
                     .fluentPut("scoreKey","ptScore")
-                    .fluentPut("ptScore", riskResponse.getResult().getPtScore()));
+                    .fluentPut("score", riskResponse.getResult().getPtScore()));
             scoreJson.add(new JSONObject()
                     .fluentPut("scoreName","商业综合评分")
                     .fluentPut("scoreKey","comPoints")
-                    .fluentPut("comPoints", riskResponse.getResult().getComPoints()));
+                    .fluentPut("score", riskResponse.getResult().getComPoints()));
             scoreJson.add(new JSONObject()
                     .fluentPut("scoreName","整体精算折扣")
                     .fluentPut("scoreKey","entireActuaryDiscount")
-                    .fluentPut("entireActuaryDiscount", riskResponse.getResult().getEntireActuaryDiscount()));
+                    .fluentPut("score", riskResponse.getResult().getEntireActuaryDiscount()));
         }
 
         quoteResultsVo.getScoreVo().setScoreJson(scoreJson);

+ 6 - 0
tenant/insurance/quotation-taishan/src/main/java/com/jzg/quotation/taishan/crawler/service/impl/TaiShanCrawlerQuoteProcessServiceImpl.java

@@ -300,6 +300,12 @@ public class TaiShanCrawlerQuoteProcessServiceImpl implements TaiShanCrawlerQuot
         //String authorization = "Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiI1ODI0MjEiLCJhdXRoIjoiUk9MRV9CVVNJTkVTUyIsInBhc3N3b3JkX2V4cGlyZSI6MTIsImV4cCI6MTc4MTk0MDMyMX0.rsR8yMmSsB5iOstJSToswargqTCFB5He37UydrlK_lKFsHVqtBL-EOAgls4YL4nKWvRtbSxxY6HZRczHFG0iRw";
         String authorization = "Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiI1ODI0MjEiLCJhdXRoIjoiUk9MRV9CVVNJTkVTUyIsInBhc3N3b3JkX2V4cGlyZSI6NjIsImV4cCI6MTc4NDc2NzY0N30.6JLD1Cc4_Vhuh5qSJ-lnEQ5MsNskbn6MzFbgUXRyCwSZzVHCI7-jpU04Mo7kLq2rc8E2LVhWHgmjyYD0rYCIiQ";
 
+        // 修复后:从缓存获取
+        String token = taiShanCrawlerCacheComponent.getAuthorization(username);
+//        String authorization = "Bearer " + token;
+        log.info("TaiShan-token:{}", token);
+        log.info("TaiShan-authorization:{}", authorization);
+
         HttpHeaders httpHeaders = new HttpHeaders();
         
         httpHeaders.set("Accept", "application/json, text/plain, */*");

+ 7 - 18
tenant/insurance/quotation-yangguang/src/main/java/com/jzg/quotation/yangguang/api/build/YangGuangApiQuoteResultsVoBuild.java

@@ -8,6 +8,7 @@ import com.jzg.commons.entity.quote.vo.RiskInfoVo;
 import com.jzg.commons.constants.quote.enums.quote.KindCode;
 import com.jzg.commons.entity.quote.vo.aggregated.QuoteResultsVo;
 import com.jzg.commons.entity.quote.vo.QuoteVo;
+import com.jzg.quotation.commons.constant.enums.quote.RenewalEnum;
 import com.jzg.quotation.yangguang.api.entity.response.YangGuangAccuracyCalculateResponse;
 
 import java.math.BigDecimal;
@@ -185,28 +186,16 @@ public final class YangGuangApiQuoteResultsVoBuild {
 
         if (yangGuangAccuracyCalculateResponse.getNewAndRenewalFlagCI() != null) {
             switch (yangGuangAccuracyCalculateResponse.getNewAndRenewalFlagCI()) {
-                case "1":
-                case "3":
-                    scoreVo.setJqRenewal("0");
-                    break;
-                case "2":
-                case "4":
-                case "5":
-                    scoreVo.setJqRenewal("1");
-                    break;
+                case "1" -> scoreVo.setJqRenewal(String.valueOf(RenewalEnum.New.getCode()));
+                case "2", "4", "5" -> scoreVo.setJqRenewal(String.valueOf(RenewalEnum.Renewal.getCode()));
+                case "3" -> scoreVo.setJqRenewal(String.valueOf(RenewalEnum.Transfer.getCode()));
             }
         }
         if (yangGuangAccuracyCalculateResponse.getNewAndRenewalFlagBI() != null) {
             switch (yangGuangAccuracyCalculateResponse.getNewAndRenewalFlagBI()) {
-                case "1":
-                case "3":
-                    scoreVo.setSyRenewal("0");
-                    break;
-                case "2":
-                case "4":
-                case "5":
-                    scoreVo.setSyRenewal("1");
-                    break;
+                case "1" -> scoreVo.setSyRenewal(String.valueOf(RenewalEnum.New.getCode()));
+                case "2", "4", "5" -> scoreVo.setSyRenewal(String.valueOf(RenewalEnum.Renewal.getCode()));
+                case "3" -> scoreVo.setSyRenewal(String.valueOf(RenewalEnum.Transfer.getCode()));
             }
         }
         return scoreVo;

+ 11 - 2
tenant/insurance/quotation-zhongan/src/main/java/com/jzg/quotation/zhongan/crawler/build/ZhongAnCrawlerQuoteResultsVoBuild.java

@@ -9,6 +9,7 @@ import com.jzg.commons.entity.quote.vo.RiskInfoVo;
 import com.jzg.commons.entity.quote.vo.aggregated.QuoteResultsVo;
 import com.jzg.commons.entity.quote.vo.QuoteVo;
 import com.jzg.commons.entity.quote.vo.base.OrderBase;
+import com.jzg.quotation.commons.constant.enums.quote.RenewalEnum;
 import com.jzg.quotation.zhongan.crawler.entity.response.ZhongAnCrawlerQuoteResponse;
 import com.jzg.quotation.zhongan.crawler.entity.response.ZhongAnCrawlerUploadInitDateResponse;
 
@@ -98,8 +99,16 @@ public class ZhongAnCrawlerQuoteResultsVoBuild {
         QuoteResultsVo.ScoreVo scoreVo = new QuoteResultsVo.ScoreVo();
         scoreVo.setJqAdjustRate(dataDTO.getCompelDiscount());
         scoreVo.setSyAdjustRate(dataDTO.getBusinessDiscount());
-        scoreVo.setJqRenewal("ZA".equals(dataDTO.getForceRenewalFlag()) ? "1" : "0");
-        scoreVo.setSyRenewal("ZA".equals(dataDTO.getBizRenewalFlag()) ? "1" : "0");
+        switch (dataDTO.getForceRenewalFlag()) {
+            case "PA": scoreVo.setJqRenewal(String.valueOf(RenewalEnum.Transfer.getCode()));
+            case "ZA": scoreVo.setJqRenewal(String.valueOf(RenewalEnum.Renewal.getCode()));
+            default: scoreVo.setJqRenewal(String.valueOf(RenewalEnum.New.getCode()));
+        }
+        switch (dataDTO.getBizRenewalFlag()) {
+            case "PA": scoreVo.setSyRenewal(String.valueOf(RenewalEnum.Transfer.getCode()));
+            case "ZA": scoreVo.setSyRenewal(String.valueOf(RenewalEnum.Renewal.getCode()));
+            default: scoreVo.setSyRenewal(String.valueOf(RenewalEnum.New.getCode()));
+        }
         JSONArray scoreJson = new JSONArray();
         scoreJson.add(new JSONObject()
                 .fluentPut("scoreName", "评分")