Răsfoiți Sursa

中煤爬虫修改bug

785834757 8 luni în urmă
părinte
comite
9a3c2ddb9a

+ 7 - 3
tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/crawler/entity/Request/ZmCrawlerActualValueRequest.java

@@ -1,6 +1,7 @@
 package com.jzg.quotation.zhongmei.crawler.entity.Request;
 package com.jzg.quotation.zhongmei.crawler.entity.Request;
 
 
 import com.jzg.commons.entity.quote.vo.CarInfoVo;
 import com.jzg.commons.entity.quote.vo.CarInfoVo;
+import com.jzg.commons.entity.quote.vo.RiskInfoVo;
 import com.jzg.quotation.commons.utils.DateUtil;
 import com.jzg.quotation.commons.utils.DateUtil;
 import com.jzg.quotation.zhongmei.api.entity.BaseRequestHead;
 import com.jzg.quotation.zhongmei.api.entity.BaseRequestHead;
 import com.jzg.quotation.zhongmei.api.entity.request.BaseRequest;
 import com.jzg.quotation.zhongmei.api.entity.request.BaseRequest;
@@ -11,6 +12,8 @@ import lombok.EqualsAndHashCode;
 
 
 import java.io.Serial;
 import java.io.Serial;
 import java.math.BigDecimal;
 import java.math.BigDecimal;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.Date;
 
 
 /**
 /**
@@ -89,11 +92,12 @@ public class ZmCrawlerActualValueRequest extends BaseRequest {
      */
      */
     private String modelCode;
     private String modelCode;
 
 
-    public ZmCrawlerActualValueRequest(CarInfoVo carInfoVo, ZmCrawlerModelQueryResponse.FullCarDataDTO fullCarDataDTO, BaseRequestHead head) {
+    public ZmCrawlerActualValueRequest(CarInfoVo carInfoVo, ZmCrawlerModelQueryResponse.FullCarDataDTO fullCarDataDTO, BaseRequestHead head, String startDate) throws ParseException {
         this.setHead(head);
         this.setHead(head);
         this.approvedPassengersCapacity = Integer.parseInt(carInfoVo.getSeatCount());
         this.approvedPassengersCapacity = Integer.parseInt(carInfoVo.getSeatCount());
-        this.validDate = DateUtil.getDateFormat(new Date(), DateUtil.FULL_TIME_SPLIT_PATTERN);
-        this.purchasePrice = new BigDecimal(carInfoVo.getPurchasePrice()).intValue();
+        // 校验时间  按 投保日期计算
+        this.validDate = DateUtil.getDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(startDate), DateUtil.FULL_TIME_SPLIT_PATTERN);
+        this.purchasePrice = fullCarDataDTO.getFullCarData().getPurchasePrice();
         this.motorUsageTypeCode = carInfoVo.getCarNatureCode();
         this.motorUsageTypeCode = carInfoVo.getCarNatureCode();
         if(carInfoVo.getEnergyTypeCode().equals("0")){
         if(carInfoVo.getEnergyTypeCode().equals("0")){
             this.planCode = "1379";
             this.planCode = "1379";

+ 6 - 2
tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/crawler/entity/Request/ZmCrawlerQuotedPriceRequest.java

@@ -459,6 +459,9 @@ public class ZmCrawlerQuotedPriceRequest extends BaseRequest {
                 @JsonProperty("actualValue")
                 @JsonProperty("actualValue")
                 private Double actualValue;
                 private Double actualValue;
 
 
+                @JsonProperty("actualValueCarLoss")
+                private Double actualValueCarLoss;
+
                 @JsonProperty("carCheckReason")
                 @JsonProperty("carCheckReason")
                 private String carCheckReason;
                 private String carCheckReason;
 
 
@@ -600,6 +603,7 @@ public class ZmCrawlerQuotedPriceRequest extends BaseRequest {
                 public PolicyCarDTO (CarInfoVo carInfoVo, ZmCrawlerActualValueResponse actualValueResponse, ZmCrawlerModelQueryResponse.FullCarDataDTO.FullCarData fullCarData) {
                 public PolicyCarDTO (CarInfoVo carInfoVo, ZmCrawlerActualValueResponse actualValueResponse, ZmCrawlerModelQueryResponse.FullCarDataDTO.FullCarData fullCarData) {
                     this.vIN = carInfoVo.getVinNo();
                     this.vIN = carInfoVo.getVinNo();
                     this.actualValue = actualValueResponse.getActualValue();
                     this.actualValue = actualValueResponse.getActualValue();
+                    this.actualValueCarLoss = actualValueResponse.getActualValue();
                     this.aheadRule = "1";
                     this.aheadRule = "1";
                     this.attachNature = "04";
                     this.attachNature = "04";
                     this.averageMileage = "";
                     this.averageMileage = "";
@@ -621,8 +625,8 @@ public class ZmCrawlerQuotedPriceRequest extends BaseRequest {
                         this.motorTypeCode = "21";
                         this.motorTypeCode = "21";
                     }
                     }
                     this.motorUsageTypeCode = carInfoVo.getCarNatureCode();
                     this.motorUsageTypeCode = carInfoVo.getCarNatureCode();
-                    this.newCarSign = false;
-                    this.noDamageYears = "0";
+                    this.newCarSign = true;
+                    this.noDamageYears = "";
                     this.personLiable = "";
                     this.personLiable = "";
                     this.plateColorCode = carInfoVo.getLicenseColorCode();
                     this.plateColorCode = carInfoVo.getLicenseColorCode();
                     this.plateNo = carInfoVo.getLicenseNo();
                     this.plateNo = carInfoVo.getLicenseNo();

+ 17 - 2
tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/crawler/service/Impl/ZhongMeiCrawlerRequestImpl.java

@@ -87,7 +87,7 @@ public class ZhongMeiCrawlerRequestImpl implements ZhongMeiCrawlerRequest {
             // 2.1 获取相同的车型
             // 2.1 获取相同的车型
             ZmCrawlerModelQueryResponse.FullCarDataDTO fullCarDataDTO = CarModelsFilterUtils.to(fullCarDataDTOS, quoteVo.getCarInfoVo());
             ZmCrawlerModelQueryResponse.FullCarDataDTO fullCarDataDTO = CarModelsFilterUtils.to(fullCarDataDTOS, quoteVo.getCarInfoVo());
             // 2.2 计算折旧价格
             // 2.2 计算折旧价格
-            ZmCrawlerActualValueRequest actualValueRequest = new ZmCrawlerActualValueRequest(quoteVo.getCarInfoVo(),fullCarDataDTO,head);
+            ZmCrawlerActualValueRequest actualValueRequest = new ZmCrawlerActualValueRequest(quoteVo.getCarInfoVo(),fullCarDataDTO,head,quoteVo.getCiRiskInfoVo().getStartDate());
             ZmCrawlerActualValueResponse actualValueResponse = zmCrawlerRequestComponent.getActualValue(actualValueRequest);
             ZmCrawlerActualValueResponse actualValueResponse = zmCrawlerRequestComponent.getActualValue(actualValueRequest);
             List<ZmCrawlerRideAccidentResponse.BaseInfoDTO> accident = new ArrayList<>();
             List<ZmCrawlerRideAccidentResponse.BaseInfoDTO> accident = new ArrayList<>();
             if (quoteVo.getAccidentalDrivings() != null) {
             if (quoteVo.getAccidentalDrivings() != null) {
@@ -152,7 +152,22 @@ public class ZhongMeiCrawlerRequestImpl implements ZhongMeiCrawlerRequest {
         Matcher matcher = DUPLICATE_END_TIME_PATTERN.matcher(returnMessage);
         Matcher matcher = DUPLICATE_END_TIME_PATTERN.matcher(returnMessage);
         if (matcher.find()) {
         if (matcher.find()) {
             String shortEndTime = matcher.group(1);
             String shortEndTime = matcher.group(1);
-            return shortEndTime + ":00";
+            DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+
+            shortEndTime = shortEndTime + ":00";
+            // 判断是否是及时起保的 如果是则 day + 1
+            LocalDateTime dateTime = LocalDateTime.parse(shortEndTime,formatter);
+            if(dateTime.getHour() == 0 && dateTime.getMinute() == 0){
+                return shortEndTime + ":00";
+            }else{
+                dateTime = dateTime.plusDays(1)
+                        .withHour(0)
+                        .withMinute(0)
+                        .withSecond(0);
+                return dateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
+
+            }
+
         }
         }
         return null;
         return null;
     }
     }