Jelajahi Sumber

阳光起保时间处理

Qchen 1 tahun lalu
induk
melakukan
90e7757672

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

@@ -225,7 +225,7 @@ public class YangGuangAccuracyCalculateRequest extends YangGuangBaseRequest{
                                              YangGuangQueryVehicleModelResponse.carmodellist carmodellist,
                                              RiskInfoVo riskInfoVo, String startDate,
                                              YangGuangConfigureParameters ygConfigureParameters,
-                                             BaseQuoteVo<List<YgQuoteAccidentVo>> quoteVo,boolean isRepeat) {
+                                             BaseQuoteVo<List<YgQuoteAccidentVo>> quoteVo,boolean isRepeat,String remarkCi,String remarkBi) {
         DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
         this.RequestNo = "accuracyCalculate";
         this.UnderWritingRate = quoteVo.getCoefficient();
@@ -243,23 +243,27 @@ public class YangGuangAccuracyCalculateRequest extends YangGuangBaseRequest{
                 this.BiEndDate = biEndTime.format(formatter);
                 // 重复投保
                 if (isRepeat) {
-                    LocalDateTime biStartTime1 = LocalDateTime.parse(startDate, formatter);
-                    LocalDateTime biEndTime1 = biStartTime.plusYears(1).with(LocalTime.MIDNIGHT).minusSeconds(1);
-                    this.BiStartDate = biStartTime1.format(formatter);
-                    this.BiEndDate = biEndTime1.format(formatter);
+                    if (!remarkBi.equals("")) {
+                        LocalDateTime biStartTime1 = LocalDateTime.parse(startDate, formatter);
+                        LocalDateTime biEndTime1 = biStartTime1.plusYears(1).with(LocalTime.MIDNIGHT).minusSeconds(1);
+                        this.BiStartDate = biStartTime1.format(formatter);
+                        this.BiEndDate = biEndTime1.format(formatter);
+                    }
                 }
             }
             if (InsuranceRisk.TRAFFIC_CODE.equals(riskInfo.getRiskCode())) {
                 LocalDateTime ciStartTime = LocalDateTime.parse(riskInfo.getStartDate(), formatter);
-                LocalDateTime ciEndTime = ciStartTime.plusYears(1).with(LocalTime.MIDNIGHT).minusSeconds(1);
+                LocalDateTime ciEndTime = LocalDateTime.parse(riskInfo.getEndDate(), formatter);
                 this.CiStartDate = ciStartTime.format(formatter);
                 this.CiEndDate = ciEndTime.format(formatter);
                 // 重复投保
                 if (isRepeat) {
-                    LocalDateTime ciStartTime1 = LocalDateTime.parse(startDate, formatter);
-                    LocalDateTime ciEndTime1 = ciStartTime1.plusYears(1).with(LocalTime.MIDNIGHT).minusSeconds(1);
-                    this.CiStartDate = ciStartTime1.format(formatter);
-                    this.CiEndDate = ciEndTime1.format(formatter);
+                    if (!remarkCi.equals("")) {
+                        LocalDateTime ciStartTime1 = LocalDateTime.parse(startDate, formatter);
+                        LocalDateTime ciEndTime1 = ciStartTime1.plusYears(1).with(LocalTime.MIDNIGHT).minusSeconds(1);
+                        this.CiStartDate = ciStartTime1.format(formatter);
+                        this.CiEndDate = ciEndTime1.format(formatter);
+                    }
                 }
             }
         }

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

@@ -142,7 +142,7 @@ public class YangGuangOrderApiServiceImpl implements YangGuangOrderApiService {
         InsOrders insOrders = insOrdersService.getById(quoteInfoVo.getOrderNo());
         quoteInfoVo.setProductId(insOrders.getProductid());
 
-        YangGuangAccuracyCalculateRequest yangGuangAccuracyCalculateRequest = new YangGuangAccuracyCalculateRequest(quoteInfoVo, purchasePrice, carModelList1, riskList.get(0),startDate,ygConfigureParameters,quoteVo,false);
+        YangGuangAccuracyCalculateRequest yangGuangAccuracyCalculateRequest = new YangGuangAccuracyCalculateRequest(quoteInfoVo, purchasePrice, carModelList1, riskList.get(0),startDate,ygConfigureParameters,quoteVo,false,null,null);
         yangGuangAccuracyCalculateRequest.setInfotransNo(yangGuangQueryVehicleModelResponse.getInfotransNo());
         YangGuangAccuracyCalculateResponse yangGuangAccuracyCalculateResponse = yangGuangRequestApiComponents.accuracyCalculaye(yangGuangAccuracyCalculateRequest);
         // 如果发生重复投保 将返回的终保日期带入起保日期重新报价
@@ -153,7 +153,9 @@ public class YangGuangOrderApiServiceImpl implements YangGuangOrderApiService {
 
                 LocalDateTime dateTime = LocalDateTime.parse(endDate, inputFormatter);
                 String newDateStr = dateTime.format(outputFormatter);
-                YangGuangAccuracyCalculateRequest yangGuangAccuracyCalculateRequestRe = new YangGuangAccuracyCalculateRequest(quoteInfoVo, purchasePrice, carModelList1, riskList.get(0),newDateStr,ygConfigureParameters,quoteVo,true);
+                String remarkCi = yangGuangAccuracyCalculateResponse.getRemarkCi();
+                String remarkBi = yangGuangAccuracyCalculateResponse.getRemarkBi();
+                YangGuangAccuracyCalculateRequest yangGuangAccuracyCalculateRequestRe = new YangGuangAccuracyCalculateRequest(quoteInfoVo, purchasePrice, carModelList1, riskList.get(0),newDateStr,ygConfigureParameters,quoteVo,true,remarkCi,remarkBi);
                 yangGuangAccuracyCalculateRequestRe.setInfotransNo(yangGuangQueryVehicleModelResponse.getInfotransNo());
                 maxQuoteNum--;
                 SysQuoteRecord sysQuoteRecord = new SysQuoteRecord(quoteInfoVo.getUserid(),quoteVo.getCompanyId(),quoteInfoVo.getCarInfo().getLicenseNo(),
@@ -170,7 +172,9 @@ public class YangGuangOrderApiServiceImpl implements YangGuangOrderApiService {
                     if (yangGuangAccuracyCalculateResponseRe.getErrorCode().equals("0")) {
                         YangGuangAccuracyCalculateResponse.itemcar itemcar = yangGuangAccuracyCalculateResponseRe.getItemcar();
                         String actualValue = itemcar.getActualValue();
-                        YangGuangAccuracyCalculateRequest yangGuangAccuracyCalculateRequest1 = new YangGuangAccuracyCalculateRequest(quoteInfoVo, actualValue, carModelList1, riskList.get(0),newDateStr,ygConfigureParameters,quoteVo,true);
+                        String remarkCi1 = yangGuangAccuracyCalculateResponseRe.getRemarkCi();
+                        String remarkBi1 = yangGuangAccuracyCalculateResponseRe.getRemarkBi();
+                        YangGuangAccuracyCalculateRequest yangGuangAccuracyCalculateRequest1 = new YangGuangAccuracyCalculateRequest(quoteInfoVo, actualValue, carModelList1, riskList.get(0),newDateStr,ygConfigureParameters,quoteVo,true,remarkCi1,remarkBi1);
                         yangGuangAccuracyCalculateRequest1.setInfotransNo(yangGuangQueryVehicleModelResponse.getInfotransNo());
                         maxQuoteNum--;
                         SysQuoteRecord sysQuoteRecord1 = new SysQuoteRecord(quoteInfoVo.getUserid(),quoteVo.getCompanyId(),quoteInfoVo.getCarInfo().getLicenseNo(),
@@ -280,7 +284,7 @@ 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);
+                YangGuangAccuracyCalculateRequest yangGuangAccuracyCalculateRequest1 = new YangGuangAccuracyCalculateRequest(quoteInfoVo, actualValue, carModelList1, riskList.get(0),startDate,ygConfigureParameters,quoteVo,false,null,null);
                 yangGuangAccuracyCalculateRequest1.setInfotransNo(yangGuangQueryVehicleModelResponse.getInfotransNo());
                 YangGuangAccuracyCalculateResponse yangGuangAccuracyCalculateResponse1 = yangGuangRequestApiComponents.accuracyCalculaye(yangGuangAccuracyCalculateRequest1);
                 boolean isEnergy = carInfo.isNewEnergy();