Explorar el Código

诚泰转保码添加

785834757 hace 3 meses
padre
commit
1ce6013619

+ 6 - 0
src/main/java/com/ydtech/modules/ins/model/vo/QuoteRespVo.java

@@ -265,6 +265,12 @@ public class QuoteRespVo {
     @ApiModelProperty("中煤新能源违章分")
     private String zmScoreLevel;
 
+    @ApiModelProperty("交强转保码")
+    private String ciQuestion;
+
+    @ApiModelProperty("商业转保码")
+    private String biQuestion;
+
     public void setJqClaims(String jqClaims) {
         this.jqClaims = StringUtils.isEmpty(jqClaims) ? null : jqClaims;
     }

+ 3 - 0
src/main/java/com/ydtech/modules/order/controller/QuoteController.java

@@ -268,6 +268,9 @@ public class QuoteController extends BaseController {
                     quoteVo1.setAccidentalDrivingVo(javaObject);
                 }
             }
+
+            quoteInfo.setCiQuestionCode(quoteVo.getCiQuestionCode());
+            quoteInfo.setBiQuestionCode(quoteVo.getBiQuestionCode());
             respVo = chengTaiOrderApiService.quote(quoteInfo, quoteVo1);
         }
         if ("YGBX1000000".equals(ptlAgreementAttribution.getInsCompanyId()) && Objects.isNull(respVo)) {

+ 6 - 0
src/main/java/com/ydtech/modules/order/entity/vo/BaseQuoteInfoVo.java

@@ -37,6 +37,12 @@ public class BaseQuoteInfoVo extends YaQuoteInfoVo {
     @ApiModelProperty("保险公司id")
     private String orderCompanyId;
 
+    @ApiModelProperty("交强转保校验码")
+    private String ciQuestionCode;
+
+    @ApiModelProperty("商业转保校验码")
+    private String biQuestionCode;
+
     public BaseQuoteInfoVo() {
     }
 

+ 6 - 0
src/main/java/com/ydtech/modules/order/entity/vo/BaseQuoteVo.java

@@ -194,4 +194,10 @@ public class BaseQuoteVo<T> {
     @ApiModelProperty("阳光商业自主定价系数")
     private String pricingCoefficient;
 
+    @ApiModelProperty("交强转保校验码")
+    private String ciQuestionCode;
+
+    @ApiModelProperty("商业转保校验码")
+    private String biQuestionCode;
+
 }

+ 45 - 42
src/main/java/com/ydtech/modules/order/service/impl/ChengTaiOrderApiServiceImpl.java

@@ -174,21 +174,21 @@ public class ChengTaiOrderApiServiceImpl implements ChengTaiOrderApiService {
             sysQuoteRedisService.refreshQuoteNum(quoteVo.getCompanyId(), quoteInfoVo.getUserid(), sysQuoteRecords);
             HttpResult<QuoteRespVo> quoteRespVoHttpResult = new HttpResult<>();
             QuoteRespVo quoteRespVo = new QuoteRespVo();
-//            //添加校验码的返回
-//            if(premiumCalculationResponse.getHead().getErrorMessage().contains("录入的校验码有误")){
-//                String ciQuestion = premiumCalculationResponse.getCompRisk() != null
-//                        ? premiumCalculationResponse.getCompRisk().getBasePart().getQuestion()
-//                        : null;
-//                String biQuestion = premiumCalculationResponse.getCommRisk() != null
-//                        ? premiumCalculationResponse.getCommRisk().getBasePart().getQuestion()
-//                        : null;
-//                quoteRespVo.setCiQuestion(ciQuestion);
-//                quoteRespVo.setBiQuestion(biQuestion);
-//                quoteRespVoHttpResult.setData(quoteRespVo);
-//                quoteRespVoHttpResult.setCode(500);
-//                quoteRespVoHttpResult.setMsg(premiumCalculationResponse.getHead().getErrorMessage());
-//                return quoteRespVoHttpResult;
-//            }
+            //添加校验码的返回
+            if(premiumCalculationResponse.getHead().getErrorMessage().contains("录入的校验码有误")){
+                String ciQuestion = premiumCalculationResponse.getCompRisk() != null
+                        ? "data:image/png;base64," + premiumCalculationResponse.getCompRisk().getBasePart().getQuestion()
+                        : null;
+                String biQuestion = premiumCalculationResponse.getCommRisk() != null
+                        ? "data:image/png;base64," + premiumCalculationResponse.getCommRisk().getBasePart().getQuestion()
+                        : null;
+                quoteRespVo.setCiQuestion(ciQuestion);
+                quoteRespVo.setBiQuestion(biQuestion);
+                quoteRespVoHttpResult.setData(quoteRespVo);
+                quoteRespVoHttpResult.setCode(500);
+                quoteRespVoHttpResult.setMsg(premiumCalculationResponse.getHead().getErrorMessage());
+                return quoteRespVoHttpResult;
+            }
 
             throw new SystemException(premiumCalculationResponse.getHead().getErrorMessage());
         }
@@ -376,14 +376,14 @@ public class ChengTaiOrderApiServiceImpl implements ChengTaiOrderApiService {
                             throw new SystemException("处理重复投保时间异常");
                         }
                         if (timeList.get(0).endsWith("00:00:00")) {
-                            jqEndDate = TimeProcessing.minusOneSecondAfterYear(startDate);
+                            jqEndDate = TimeProcessing.minusOneSecondAfterYear(timeList.get(0));
                         } else {
-                            jqEndDate = TimeProcessing.plusOneYearToString(startDate);
+                            jqEndDate = TimeProcessing.plusOneYearToString(timeList.get(0));
                         }
                         if (timeList.get(1).endsWith("00:00:00")) {
-                            syEndDate = TimeProcessing.minusOneSecondAfterYear(startDate);
+                            syEndDate = TimeProcessing.minusOneSecondAfterYear(timeList.get(1));
                         } else {
-                            syEndDate = TimeProcessing.plusOneYearToString(startDate);
+                            syEndDate = TimeProcessing.plusOneYearToString(timeList.get(1));
                         }
                         String jqFinalEndDate = jqEndDate;
                         String syFinalEndDate = syEndDate;
@@ -468,35 +468,38 @@ public class ChengTaiOrderApiServiceImpl implements ChengTaiOrderApiService {
                 String ocrStr = HttpUtil.sendPost("http://39.98.41.104:8088/getres", sendBody);
                 CheckCodeResp resp = JSONUtil.toBean(ocrStr, CheckCodeResp.class);
                 if(StringUtils.isNotEmpty(resp.getJqImageCode())){
+                    if(quoteInfoVo.getCiQuestionCode() != null && !quoteInfoVo.getCiQuestionCode().equals("")){
+                        resp.setJqImageCode(quoteInfoVo.getCiQuestionCode());
+                    }
                     quoteVo.setRenewalCodeJq(resp.getJqImageCode().replace("0", "O"));
                 }
                 if(StringUtils.isNotEmpty(resp.getSyImageCode())){
+                    if(quoteInfoVo.getBiQuestionCode() != null && !quoteInfoVo.getBiQuestionCode().equals("")){
+                        resp.setSyImageCode(quoteInfoVo.getBiQuestionCode());
+                    }
                     quoteVo.setRenewalCodeSy(resp.getSyImageCode().replace("0", "O"));
                 }
-                // 测试  直接改成错的
-//                quoteVo.setRenewalCodeJq("1111");
-//                quoteVo.setRenewalCodeSy("1111");
                 premiumCalculationRequest = new PremiumCalculationRequest(quoteInfoVo, carActualValue, parameters, vehicle, quoteVo, quoteInfoVo.getRiskList(), orderNumber);
                 premiumCalculationResponse = chengTaiRequestApiComponent.premiumCalculation(premiumCalculationRequest);
-//                if(Objects.nonNull(biQuestion)){
-//                    if(Objects.isNull(premiumCalculationResponse.getCompRisk())){
-//                        premiumCalculationResponse.setCompRisk(new PremiumCalculationResponse.compRisk());
-//                    }
-//                    if(Objects.isNull(premiumCalculationResponse.getCompRisk().getBasePart())){
-//                        premiumCalculationResponse.getCompRisk().setBasePart(new PremiumCalculationResponse.compRisk.basePart());
-//                    }
-//                    premiumCalculationResponse.getCompRisk().getBasePart().setQuestion(biQuestion);
-//                }
-//
-//                if(Objects.nonNull(ciQuestion)){
-//                    if(Objects.isNull(premiumCalculationResponse.getCommRisk())){
-//                        premiumCalculationResponse.setCommRisk(new PremiumCalculationResponse.commRisk());
-//                    }
-//                    if(Objects.isNull(premiumCalculationResponse.getCommRisk().getBasePart())){
-//                        premiumCalculationResponse.getCommRisk().setBasePart(new PremiumCalculationResponse.commRisk.basePart());
-//                    }
-//                    premiumCalculationResponse.getCommRisk().getBasePart().setQuestion(ciQuestion);
-//                }
+                if(Objects.nonNull(ciQuestion)){
+                    if(Objects.isNull(premiumCalculationResponse.getCompRisk())){
+                        premiumCalculationResponse.setCompRisk(new PremiumCalculationResponse.compRisk());
+                    }
+                    if(Objects.isNull(premiumCalculationResponse.getCompRisk().getBasePart())){
+                        premiumCalculationResponse.getCompRisk().setBasePart(new PremiumCalculationResponse.compRisk.basePart());
+                    }
+                    premiumCalculationResponse.getCompRisk().getBasePart().setQuestion(ciQuestion);
+                }
+
+                if(Objects.nonNull(biQuestion)){
+                    if(Objects.isNull(premiumCalculationResponse.getCommRisk())){
+                        premiumCalculationResponse.setCommRisk(new PremiumCalculationResponse.commRisk());
+                    }
+                    if(Objects.isNull(premiumCalculationResponse.getCommRisk().getBasePart())){
+                        premiumCalculationResponse.getCommRisk().setBasePart(new PremiumCalculationResponse.commRisk.basePart());
+                    }
+                    premiumCalculationResponse.getCommRisk().getBasePart().setQuestion(biQuestion);
+                }
 
                 maxQuoteNum--;
                 SysQuoteRecord sysQuoteRecord = new SysQuoteRecord(quoteInfoVo.getUserid(), quoteVo.getCompanyId(), quoteInfoVo.getCarInfo().getLicenseNo(),
@@ -905,7 +908,7 @@ public class ChengTaiOrderApiServiceImpl implements ChengTaiOrderApiService {
         SubmitResponse submitResponse = chengTaiRequestApiComponent.submit(submitRequest);
 
         // 人工核保
-        if (submitResponse.getHead().getRequestType().equals("00006")) {
+        if (submitResponse.getProposal().getUnderWriteInd().equals("2")) {
             insAreaCompany.setOrderstatus(InsOrderStatusEnum.WAIT_AUDIT.getCode());
             if(submitResponse.getProposal() != null) {
                 insAreaCompany.setJqapplyno(submitResponse.getProposal().getCompProposalNo());