Kaynağa Gözat

阳光投保时间处理

Qchen 1 yıl önce
ebeveyn
işleme
c7c84c6295

+ 2 - 2
src/main/java/com/ydtech/modules/order/components/yangguang/YangGuangEncryption.java

@@ -345,10 +345,10 @@ public class YangGuangEncryption {
             return authcode(source, key, Decode, 0);
         }
 
-    public String encryptRequestBody(Object request, String key) {
+    public String encryptRequestBody(Object request, String key,String url) {
         try {
             String s = JSON.toJSONString(request);
-            InsuranceLog.infoLog(InsuranceEnum.YGBX.getPinyin(), "\n\t---------> URl: {} \n---------> 请求参数:{}", "", s);
+            InsuranceLog.infoLog(InsuranceEnum.YGBX.getPinyin(), "\n\t---------> URl: {} \n---------> 请求参数:{}", "", url,s);
 
             return authcodeEncode(s, key);
         } catch (Exception e) {

+ 1 - 1
src/main/java/com/ydtech/modules/order/components/yangguang/YangGuangRequestApiComponents.java

@@ -70,7 +70,7 @@ public class YangGuangRequestApiComponents {
         // 发送请求
         String url = yangGuangApiConfigurationProperties.getUrl();
         String encryptRequestBody = yangGuangEncryption.encryptRequestBody
-                (q, yangGuangApiConfigurationProperties.getKey());
+                (q, yangGuangApiConfigurationProperties.getKey(),url);
         //设置请求头类型
         HttpHeaders headers = new HttpHeaders();
         HttpEntity<String> entity = new HttpEntity<>(encryptRequestBody, headers);

+ 15 - 8
src/main/java/com/ydtech/modules/order/entity/api/yangguang/request/YangGuangAccuracyCalculateRequest.java

@@ -243,14 +243,21 @@ public class YangGuangAccuracyCalculateRequest extends YangGuangBaseRequest{
                 LocalDateTime biEndTime = biStartTime.plusYears(1).with(LocalTime.MIDNIGHT).minusSeconds(1);
                 this.BiStartDate = biStartTime.format(formatter);
                 this.BiEndDate = biEndTime.format(formatter);
-                // 重复投保
-                if (isRepeat) {
-                    if (remarkBi != null && !remarkBi.equals("")) {
-                        Pattern pattern = Pattern.compile("终保日期:(\\d{12})");
-                        Matcher matcher = pattern.matcher(remarkBi);
-                        if (matcher.find()) {
-                            DateTimeFormatter inputFormatter = DateTimeFormatter.ofPattern("yyyyMMddHHmm");
-                            String endDateStr = matcher.group(1);
+                // 商业重复投保
+                if (remarkBi != null && !remarkBi.equals("")) {
+                    Pattern pattern = Pattern.compile("终保日期:(\\d{12})",Pattern.DOTALL);
+                    Matcher matcher = pattern.matcher(remarkBi);
+                    if (matcher.find()) {
+                        DateTimeFormatter inputFormatter = DateTimeFormatter.ofPattern("yyyyMMddHHmm");
+                        String endDateStr = matcher.group(1);
+                        if (endDateStr.endsWith("0000")) {
+                            // 处理终保时间为0点
+                            LocalDateTime biStartTime1 = LocalDateTime.parse(endDateStr, inputFormatter);
+                            LocalDateTime biEndTime1 = biStartTime1.plusYears(1).minusSeconds(1);
+                            this.BiStartDate = biStartTime1.format(formatter);
+                            this.BiEndDate = biEndTime1.format(formatter);
+                        } else {
+                            // 处理终保时间非0点
                             LocalDateTime biStartTime1 = LocalDateTime.parse(endDateStr, inputFormatter);
                             LocalDateTime biEndTime1 = biStartTime1.plusYears(1).minusDays(1).minusSeconds(1);
                             this.BiStartDate = biStartTime1.format(formatter);

+ 4 - 3
src/main/java/com/ydtech/modules/order/service/impl/YangGuangOrderApiServiceImpl.java

@@ -114,9 +114,9 @@ public class YangGuangOrderApiServiceImpl implements YangGuangOrderApiService {
         // 查询车型
         YangGuangQueryVehicleModelRequest yangGuangQueryVehicleModelRequest = new YangGuangQueryVehicleModelRequest(quoteInfoVo.getCarInfo(), ygConfigureParameters);
         if (quoteInfoVo.getCarInfo().isNoLicenseFlag()) {
-            yangGuangQueryVehicleModelRequest.setIsNewCar("1");
-        } else {
             yangGuangQueryVehicleModelRequest.setIsNewCar("0");
+        } else {
+            yangGuangQueryVehicleModelRequest.setIsNewCar("1");
         }
         YangGuangQueryVehicleModelResponse yangGuangQueryVehicleModelResponse = yangGuangRequestApiComponents.queryVehicleModel(yangGuangQueryVehicleModelRequest);
         List<YangGuangQueryVehicleModelResponse.carmodellist> carModelList = yangGuangQueryVehicleModelResponse.getCarmodellist();
@@ -284,7 +284,8 @@ public class YangGuangOrderApiServiceImpl implements YangGuangOrderApiService {
             if (yangGuangAccuracyCalculateResponse.getErrorCode().equals("0")) {
                 YangGuangAccuracyCalculateResponse.itemcar itemcar = yangGuangAccuracyCalculateResponse.getItemcar();
                 String actualValue = itemcar.getActualValue();
-                YangGuangAccuracyCalculateRequest yangGuangAccuracyCalculateRequest1 = new YangGuangAccuracyCalculateRequest(quoteInfoVo, actualValue, carModelList1, riskList.get(0),startDate,ygConfigureParameters,quoteVo,false,null,null);
+                String remarkBI = yangGuangAccuracyCalculateResponse.getRemarkBi();
+                YangGuangAccuracyCalculateRequest yangGuangAccuracyCalculateRequest1 = new YangGuangAccuracyCalculateRequest(quoteInfoVo, actualValue, carModelList1, riskList.get(0),startDate,ygConfigureParameters,quoteVo,false,null,remarkBI);
                 yangGuangAccuracyCalculateRequest1.setInfotransNo(yangGuangQueryVehicleModelResponse.getInfotransNo());
                 YangGuangAccuracyCalculateResponse yangGuangAccuracyCalculateResponse1 = yangGuangRequestApiComponents.accuracyCalculaye(yangGuangAccuracyCalculateRequest1);
                 boolean isEnergy = carInfo.isNewEnergy();