Procházet zdrojové kódy

紫金修改报价信息

wks před 2 roky
rodič
revize
627af4a05a

+ 5 - 0
src/main/java/com/ydtech/modules/order/components/zijin/ResponseMessageAbstractHandler.java

@@ -24,6 +24,10 @@ public abstract class ResponseMessageAbstractHandler {
      * @param calculatePremiumResponse 报价响应参数
      * @param httpHeaders              请求头
      * @param modelQueryRequest        车型请求体
+     * @param message                  重复投保信息
+     * @param queryActualValueRequest                  车辆实际价值
+     * @param repeatNumber             重复投保次数
+     * @param retry             重复投保次数
      * @return 报价响应参数
      */
     public abstract CalculatePremiumResponse messageHandler(
@@ -33,6 +37,7 @@ public abstract class ResponseMessageAbstractHandler {
             ModelQueryRequest modelQueryRequest,
             String message,
             QueryActualValueRequest queryActualValueRequest,
+            int repeatNumber,
             boolean retry
     );
 

+ 8 - 3
src/main/java/com/ydtech/modules/order/components/zijin/ZijinDuplicateInsuranceComponents.java

@@ -54,6 +54,7 @@ public class ZijinDuplicateInsuranceComponents extends ResponseMessageAbstractHa
                                                    ModelQueryRequest modelQueryRequest,
                                                    String message,
                                                    QueryActualValueRequest queryActualValueRequest,
+                                                   int repeatNumber,
                                                    boolean retry) {
 
 
@@ -63,6 +64,10 @@ public class ZijinDuplicateInsuranceComponents extends ResponseMessageAbstractHa
         CalculatePremiumRequest.BaseInfoDTO baseInfo = calculatePremiumRequest.getBaseInfo();
         message = rtnMsg;
 
+        if(repeatNumber < 0){
+            throw new SystemException(rtnMsg);
+        }
+
         String jqEndDate = "";
         String syEndDate = "";
 
@@ -87,7 +92,7 @@ public class ZijinDuplicateInsuranceComponents extends ResponseMessageAbstractHa
                 Date date = new Date();
                 if (date.after(parse)) {
                     syEndDate = "";
-                    if(jqEndDate.isEmpty()){
+                    if (jqEndDate.isEmpty()) {
                         return calculatePremiumResponse;
                     }
                 }
@@ -100,11 +105,11 @@ public class ZijinDuplicateInsuranceComponents extends ResponseMessageAbstractHa
         if (jqEndDate.isEmpty() && syEndDate.isEmpty()) {
             throw new SystemException(rtnMsg);
         }
-
+        repeatNumber -= 1;
         baseInfo.setTrafficTime(jqEndDate);
         baseInfo.setBusinessTime(syEndDate);
         calculatePremiumResponse = zijinRequestApiComponents.calculatePremium(calculatePremiumRequest, httpHeaders, modelQueryRequest,
-                message, queryActualValueRequest, retry);
+                message, queryActualValueRequest, repeatNumber, retry);
         return calculatePremiumResponse;
     }
 

+ 2 - 1
src/main/java/com/ydtech/modules/order/components/zijin/ZijinReinsuranceComponents.java

@@ -51,6 +51,7 @@ public class ZijinReinsuranceComponents extends ResponseMessageAbstractHandler {
                                                    ModelQueryRequest modelQueryRequest,
                                                    String message,
                                                    QueryActualValueRequest queryActualValueRequest,
+                                                   int repeatNumber,
                                                    boolean retry) {
         InsuranceLog.infoLog(InsuranceEnum.ZKIC.getPinyin(), "\n\t---------> {}\n\t---------> {}", "紫金财险转保处理", calculatePremiumResponse.getRtnMsg());
         CalculatePremiumResponse.BasePartDTO basePart = calculatePremiumResponse.getBasePart();
@@ -71,6 +72,6 @@ public class ZijinReinsuranceComponents extends ResponseMessageAbstractHandler {
         RecognitionResponse recognition = verificationCodeIdentification.recognition(recognitionRequest);
         baseInfo.setAnswerCI(recognition.getData().getJqImageCode());
         baseInfo.setAnswer(recognition.getData().getSyImageCode());
-        return zijinRequestApiComponents.calculatePremium(calculatePremiumRequest, httpHeaders, modelQueryRequest, message, queryActualValueRequest, retry);
+        return zijinRequestApiComponents.calculatePremium(calculatePremiumRequest, httpHeaders, modelQueryRequest, message, queryActualValueRequest, repeatNumber, retry);
     }
 }

+ 8 - 11
src/main/java/com/ydtech/modules/order/components/zijin/ZijinRequestApiComponents.java

@@ -45,6 +45,10 @@ public class ZijinRequestApiComponents {
 
     private static final String USER_ID = "28317480921155536850";
 
+    private static final String HOUR_RULE = "起保小时";
+
+    private static final String MINUTE_RULE = "起保分钟";
+
     private final InsCrawlerOrderComponents insCrawlerOrderComponents;
 
     private final ZijinApiConfigurationProperties zijinApiConfigurationProperties;
@@ -244,7 +248,7 @@ public class ZijinRequestApiComponents {
      */
     public CalculatePremiumResponse calculatePremium(CalculatePremiumRequest calculatePremiumRequest, HttpHeaders httpHeaders,
                                                      ModelQueryRequest modelQueryRequest, String message,
-                                                     QueryActualValueRequest queryActualValueRequest, boolean retry) {
+                                                     QueryActualValueRequest queryActualValueRequest,int repeatNumber, boolean retry) {
         CalculatePremiumResponse calculatePremiumResponse = requestQuotation(RequestUrl.CALCULATE_PREMIUM, calculatePremiumRequest,
                 CalculatePremiumResponse.class, httpHeaders);
         // 清空转保业务码
@@ -261,15 +265,9 @@ public class ZijinRequestApiComponents {
         String reinsureMessage =
                 Optional.ofNullable(calculatePremiumResponse.getBasePart()).map(CalculatePremiumResponse.BasePartDTO::getReinsureMessage).orElse("");
 
-        if (reinsureMessage.contains(ResultEnum.R_ZGD_001.getDesc())) {
+        if (reinsureMessage.contains(HOUR_RULE) && reinsureMessage.contains(MINUTE_RULE)) {
             throw new SystemException(reinsureMessage);
-        } else if (calculatePremiumResponse.getRtnMsg().contains(ResultEnum.R_ZGD_001.getDesc())) {
-            throw new SystemException(calculatePremiumResponse.getRtnMsg());
-        }
-
-        if (reinsureMessage.contains(ResultEnum.R_ZGD_002.getDesc())) {
-            throw new SystemException(reinsureMessage);
-        } else if (calculatePremiumResponse.getRtnMsg().contains(ResultEnum.R_ZGD_002.getDesc())) {
+        } else if (calculatePremiumResponse.getRtnMsg().contains(HOUR_RULE) && calculatePremiumResponse.getRtnMsg().contains(MINUTE_RULE) ) {
             throw new SystemException(calculatePremiumResponse.getRtnMsg());
         }
 
@@ -283,10 +281,9 @@ public class ZijinRequestApiComponents {
                 handlerMap.get(ResponseMessageAbstractHandler.CALCULATE_PREMIUM_COMPONENTS + calculatePremiumResponse.getRtnCode());
         if (!ObjectUtils.isEmpty(responseMessageAbstractHandler)) {
             calculatePremiumResponse = responseMessageAbstractHandler.messageHandler(calculatePremiumRequest, calculatePremiumResponse,
-                    httpHeaders, modelQueryRequest, message, queryActualValueRequest, retry);
+                    httpHeaders, modelQueryRequest, message, queryActualValueRequest, repeatNumber, retry);
         }
 
-
         return calculatePremiumResponse;
     }
 

+ 2 - 1
src/main/java/com/ydtech/modules/order/components/zijin/ZijinSystemExceptionComponents.java

@@ -43,6 +43,7 @@ public class ZijinSystemExceptionComponents extends ResponseMessageAbstractHandl
                                                    ModelQueryRequest modelQueryRequest,
                                                    String message,
                                                    QueryActualValueRequest queryActualValueRequest,
+                                                   int repeatNumber,
                                                    boolean retry) {
         InsuranceLog.infoLog(InsuranceEnum.ZKIC.getPinyin(), "\n\t---------> {}\n\t---------> {}", "紫金财险 999 异常处理",
                 calculatePremiumResponse.getRtnMsg());
@@ -54,7 +55,7 @@ public class ZijinSystemExceptionComponents extends ResponseMessageAbstractHandl
             baseInfo.setAnswer(replacingStrings(baseInfo.getAnswer()));
             retry = false;
             return zijinRequestApiComponents.calculatePremium(calculatePremiumRequest, httpHeaders, modelQueryRequest, message,
-                    queryActualValueRequest, retry);
+                    queryActualValueRequest,repeatNumber, retry);
         }
 
         throw new SystemException(calculatePremiumResponse.getRtnMsg());

+ 3 - 1
src/main/java/com/ydtech/modules/order/components/zijin/ZijinVehicleTypeErrorComponents.java

@@ -70,6 +70,7 @@ public class ZijinVehicleTypeErrorComponents extends ResponseMessageAbstractHand
                                                    ModelQueryRequest modelQueryRequest,
                                                    String message,
                                                    QueryActualValueRequest queryActualValueRequest,
+                                                   int repeatNumber,
                                                    boolean retry) {
         InsuranceLog.infoLog(InsuranceEnum.ZKIC.getPinyin(), "\n\t---------> {}\n\t---------> {}", "紫金财险转修改正确车型报价", calculatePremiumResponse.getRtnMsg());
         CarType carType = getCarInconsistentInformation(calculatePremiumResponse.getRtnMsg());
@@ -97,7 +98,8 @@ public class ZijinVehicleTypeErrorComponents extends ResponseMessageAbstractHand
         if (itemKindListDTO.size() == 1) {
             itemKindListDTO.get(0).setAmount(actualValue);
         }
-        return zijinRequestApiComponents.calculatePremium(calculatePremiumRequest, httpHeaders, modelQueryRequest, message, queryActualValueRequest, retry);
+
+        return zijinRequestApiComponents.calculatePremium(calculatePremiumRequest, httpHeaders, modelQueryRequest, message, queryActualValueRequest,repeatNumber, retry);
     }
 
 

+ 0 - 3
src/main/java/com/ydtech/modules/order/entity/api/zijin/constants/enums/ResultEnum.java

@@ -22,8 +22,6 @@ public enum ResultEnum {
     R_9980("9980", "转保标志"),
     R_1557("1557", "车型不一致"),
     R_9999("9999", "系统异常"),
-    R_ZGD_001("001", "保单状态为待支付"),
-    R_ZGD_002("002", "保单号为"),
     R_999("999", "中保信异常");
 
     private final String code;
@@ -40,7 +38,6 @@ public enum ResultEnum {
 
     public static final String C_999 = "999";
 
-
     public static void verifyQuotation(String rtnCode, String rtnMsg) {
         String[] s = new String[]{"0000", "4001", "9980", "1557", "999"};
         List<String> list = Arrays.asList(s);

+ 3 - 1
src/main/java/com/ydtech/modules/order/service/impl/ZijinOrderApiServiceImpl.java

@@ -73,6 +73,8 @@ public class ZijinOrderApiServiceImpl implements ZijinOrderApiService {
 
     private final InsImagesUploadCacheComponents insImagesUploadCacheComponents;
 
+    // 重复投保次数
+    private static final int REPEAT_NUMBER = 3;
 
     @Value("${upload.file.path}")
     private String uploadFilePath;
@@ -142,7 +144,7 @@ public class ZijinOrderApiServiceImpl implements ZijinOrderApiService {
 
         String message = "";
         CalculatePremiumResponse calculatePremiumResponse = zijinRequestApiComponents.calculatePremium(calculatePremiumRequest,
-                httpHeaders, modelQueryRequest, message, queryActualValueRequest, true);
+                httpHeaders, modelQueryRequest, message, queryActualValueRequest, REPEAT_NUMBER, true);
         // 警告信息
         QuoteRespVo quoteRespVo = getQuoteRespVo(calculatePremiumResponse, quoteInfoVo, quoteVo.getAccidentalDrivingVo(), isEnergy);
         if (!StringUtils.isEmpty(message)) {

+ 1 - 1
src/main/java/com/ydtech/modules/protocol/service/impl/PtlAgreementServiceImpl.java

@@ -857,7 +857,7 @@ public class PtlAgreementServiceImpl extends ServiceImpl<PtlAgreementMapper, Ptl
                                 String[] split = agreement.getProductsCode().split(",");
                                 return Arrays.stream(split).anyMatch(element -> productsType.getCode().equals(element));
                             }
-                            return true;
+                            return false;
                         }).collect(Collectors.toList());
                         x.setAgreement(agreementDtoList);
                     }

+ 1 - 1
src/main/java/com/ydtech/modules/protocol/service/impl/TaxSourceServiceImpl.java

@@ -216,7 +216,7 @@ public class TaxSourceServiceImpl extends ServiceImpl<TaxSourceMapper, TaxSource
                         String[] split = x.getProductsCode().split(",");
                         return Arrays.stream(split).anyMatch(element -> productsType.getCode().equals(element));
                     }
-                    return true;
+                    return false;
                 }));
 
         //查出所有协议