Sfoglia il codice sorgente

Merge branch 'master' into wrq_dev

wangrq 1 mese fa
parent
commit
78fc9977b2
19 ha cambiato i file con 116 aggiunte e 62 eliminazioni
  1. 2 0
      tenant/insurance/quotation-guoren/src/main/java/com/jzg/quotation/guoren/crawler/build/GuoRenCrawlerQuoteResultsVoBuild.java
  2. 0 3
      tenant/insurance/quotation-guoren/src/main/java/com/jzg/quotation/guoren/crawler/entity/dto/GuoRenBiDTO.java
  3. 0 3
      tenant/insurance/quotation-guoren/src/main/java/com/jzg/quotation/guoren/crawler/entity/dto/GuoRenCiDTO.java
  4. 36 28
      tenant/insurance/quotation-guoren/src/main/java/com/jzg/quotation/guoren/crawler/entity/dto/GuoRenPrpTmainDTO.java
  5. 2 2
      tenant/insurance/quotation-guoren/src/main/java/com/jzg/quotation/guoren/crawler/service/impl/GuoRenCrawlerQuoteProcessServiceImpl.java
  6. 15 8
      tenant/insurance/quotation-guoren/src/main/java/com/jzg/quotation/guoren/crawler/service/impl/GuoRenCrawlerRequestImpl.java
  7. 7 3
      tenant/insurance/quotation-hengbang/src/main/java/com/jzg/quotation/hengbang/crawler/build/HbCrawlerQuoteResultVoBuild.java
  8. 4 4
      tenant/insurance/quotation-hengbang/src/main/java/com/jzg/quotation/hengbang/crawler/service/Impl/HengBangCrawlerRequestImpl.java
  9. 3 1
      tenant/insurance/quotation-huanong/src/main/java/com/jzg/quotation/huanong/crawler/build/HuaNongCrawlerQuoteResultsVoBuild.java
  10. 11 2
      tenant/insurance/quotation-huanong/src/main/java/com/jzg/quotation/huanong/crawler/entity/request/HuaNongCrawlerQuotedPriceRequestRequest.java
  11. 1 1
      tenant/insurance/quotation-huanong/src/main/java/com/jzg/quotation/huanong/crawler/service/impl/HuaNongCrawlerRequestImpl.java
  12. 9 0
      tenant/insurance/quotation-huatai/src/main/java/com/jzg/quotation/huatai/crawler/build/HuaTaiCrawlerQuoteResultsVoBuild.java
  13. 2 0
      tenant/insurance/quotation-renbaonew/src/main/java/com/jzg/quotation/renbaonew/crawler/entity/request/RenBaoNewCrawlerQuoteRequest.java
  14. 6 1
      tenant/insurance/quotation-renbaonew/src/main/java/com/jzg/quotation/renbaonew/crawler/service/impl/RenBaoNewCrawlerRequestBuilder.java
  15. 2 0
      tenant/insurance/quotation-renbaonew/src/main/java/com/jzg/quotation/renbaonew/crawler/service/impl/RenBaoNewCrawlerRequestImpl.java
  16. 4 0
      tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/service/impl/InsOrdersServiceImpl.java
  17. 3 3
      tenant/insurance/quotation-summary/src/main/resources/mapper/InsOrdersMapper.xml
  18. 6 2
      tenant/insurance/quotation-taishan/src/main/java/com/jzg/quotation/taishan/crawler/service/impl/TaiShanCrawlerRequestImpl.java
  19. 3 1
      tenant/organization/src/main/java/com/jzg/organization/service/impl/PtlSchemeServiceImpl.java

+ 2 - 0
tenant/insurance/quotation-guoren/src/main/java/com/jzg/quotation/guoren/crawler/build/GuoRenCrawlerQuoteResultsVoBuild.java

@@ -11,6 +11,7 @@ import com.jzg.quotation.guoren.crawler.entity.response.GuoRenCrawlerBaseRespons
 import com.jzg.quotation.guoren.crawler.entity.response.GuoRenCrawlerCalculationPremiumData;
 import com.jzg.quotation.guoren.crawler.entity.response.GuoRenCrawlerProposalNoSaveData;
 
+import java.math.BigDecimal;
 import java.util.List;
 import java.util.Map;
 import java.util.Optional;
@@ -94,6 +95,7 @@ public final class GuoRenCrawlerQuoteResultsVoBuild {
 
         scoreVo.setScoreJson(scoreJson);
         quoteResultsVo.setScoreVo(scoreVo);
+        quoteResultsVo.setCarActualValue(BigDecimal.valueOf(calculationPremium.getBc().getPrpTitemCar().getCompromisePrice()));
 
         return quoteResultsVo;
     }

+ 0 - 3
tenant/insurance/quotation-guoren/src/main/java/com/jzg/quotation/guoren/crawler/entity/dto/GuoRenBiDTO.java

@@ -124,9 +124,6 @@ public class GuoRenBiDTO {
             this.inputRisk = 1;
             this.prpTmain = new GuoRenPrpTmainDTO(biRiskInfoVo, today);
             this.prpTmainRate = new GuoRenPrpTmainRateDTO();
-            prpTmain.setStartDate(TimeUtils.extractDate(biRiskInfoVo.getStartDate()));
-            prpTmain.setStartHour(Integer.valueOf(TimeUtils.extractHour(biRiskInfoVo.getStartDate())));
-            prpTmain.setStartMinute(Integer.valueOf(TimeUtils.extractMinute(biRiskInfoVo.getStartDate())));
             prpTmain.setEndDate(TimeUtils.extractDate(biRiskInfoVo.getEndDate()));
             prpTmain.setEndHour(24);
             prpTmain.setEndMinute(0);

+ 0 - 3
tenant/insurance/quotation-guoren/src/main/java/com/jzg/quotation/guoren/crawler/entity/dto/GuoRenCiDTO.java

@@ -126,9 +126,6 @@ public class GuoRenCiDTO {
         this.prpTmain = new GuoRenPrpTmainDTO(ciRiskInfoVo, today);
         this.prpTitemCar = prpTitemCar;
         this.prpTmainRate = new GuoRenPrpTmainRateDTO();
-        prpTmain.setStartDate(TimeUtils.extractDate(ciRiskInfoVo.getStartDate()));
-        prpTmain.setStartHour(Integer.valueOf(TimeUtils.extractHour(ciRiskInfoVo.getStartDate())));
-        prpTmain.setStartMinute(Integer.valueOf(TimeUtils.extractMinute(ciRiskInfoVo.getStartDate())));
         prpTmain.setEndDate(TimeUtils.extractDate(ciRiskInfoVo.getEndDate()));
         prpTmain.setEndHour(24);
         prpTmain.setEndMinute(0);

+ 36 - 28
tenant/insurance/quotation-guoren/src/main/java/com/jzg/quotation/guoren/crawler/entity/dto/GuoRenPrpTmainDTO.java

@@ -2,13 +2,14 @@ package com.jzg.quotation.guoren.crawler.entity.dto;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.jzg.commons.entity.quote.vo.RiskInfoVo;
+import com.jzg.quotation.commons.utils.DateUtil;
 import com.jzg.quotation.commons.utils.TimeProcessing;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 
 @NoArgsConstructor
 @Data
-public class GuoRenPrpTmainDTO  {
+public class GuoRenPrpTmainDTO {
 
     @JsonProperty("startDate")
     private String startDate;
@@ -70,12 +71,18 @@ public class GuoRenPrpTmainDTO  {
     @JsonProperty("immeValidEndDate0507t1")
     private String immeValidEndDate0507t1;
 
+    @JsonProperty("startHour0507t1")
+    private Integer startHour0507t1;
+
     @JsonProperty("startMinute0507t1")
     private Integer startMinute0507t1;
 
     @JsonProperty("endMinute0507t1")
     private Integer endMinute0507t1;
 
+    @JsonProperty("endHour0507t1")
+    private Integer endHour0507t1;
+
     @JsonProperty("startDateFlag0507t1")
     private Integer startDateFlag0507t1;
 
@@ -301,41 +308,42 @@ public class GuoRenPrpTmainDTO  {
     @JsonProperty("endMinute")
     private Integer endMinute;
 
-    public GuoRenPrpTmainDTO(RiskInfoVo biRiskInfoVo, String today) {
-        this.startDate = TimeProcessing.dateTimeToDate(biRiskInfoVo.getStartDate());
-        this.startHour = 0;
-        this.startMinute = 0;
-
-        this.endDate = TimeProcessing.dateTimeToDate(biRiskInfoVo.getEndDate());
-        this.endHour = 24;
-        this.endMinute = 0;
-
+    public GuoRenPrpTmainDTO(RiskInfoVo riskInfoVo, String today) {
+        this.startDate = TimeProcessing.dateTimeToDate(riskInfoVo.getStartDate());
+        this.endDate = TimeProcessing.dateTimeToDate(riskInfoVo.getEndDate());
         this.period0530 = 30;
 
+        this.startHour = TimeProcessing.getHour(riskInfoVo.getStartDate());
+        this.startMinute = TimeProcessing.getMinute(riskInfoVo.getStartDate());
+        this.endHour = TimeProcessing.getHour(riskInfoVo.getEndDate());
+        this.endMinute = TimeProcessing.getMinute(riskInfoVo.getEndDate());
+
         // 0507字段赋值
-        this.immeValiFlag0507 = 0;
-        this.startDate0507 = TimeProcessing.dateTimeToDate(biRiskInfoVo.getStartDate()) + "T16:00:00.000Z";
-        this.endDate0507 = TimeProcessing.dateTimeToDate(biRiskInfoVo.getEndDate()) + "T16:00:00.000Z";
-        this.immeValidStartDate0507 = this.startDate0507;
-        this.immeValidEndDate0507 = this.endDate0507;
-        this.startHour0507 = 0;
-        this.endHour0507 = 24;
-        this.startMinute0507 = 0;
-        this.endMinute0507 = 0;
+        this.immeValiFlag0507 = riskInfoVo.isInstantFlag() ? 1 : 0;
+        this.startDate0507 = TimeProcessing.dateTimeToDate(riskInfoVo.getStartDate());
+        this.endDate0507 = TimeProcessing.dateTimeToDate(riskInfoVo.getEndDate());
+        this.immeValidStartDate0507 =  DateUtil.toUtcDateTime(riskInfoVo.getStartDate());
+        this.immeValidEndDate0507 = DateUtil.toUtcDateTime(riskInfoVo.getEndDate());
+        this.startHour0507 = TimeProcessing.getHour(riskInfoVo.getStartDate());
+        this.endHour0507 = TimeProcessing.getHour(riskInfoVo.getEndDate());
+        this.startMinute0507 = TimeProcessing.getMinute(riskInfoVo.getStartDate());
+        this.endMinute0507 =  TimeProcessing.getMinute(riskInfoVo.getEndDate());
         this.startDateFlag0507 = 0;
 
         // 0507t1字段赋值
         this.immeValiFlag0507t1 = 0;
-        this.startDate0507t1 = TimeProcessing.dateTimeToDate(biRiskInfoVo.getStartDate()) + "T16:00:00.000Z";
-        this.endDate0507t1 = TimeProcessing.dateTimeToDate(biRiskInfoVo.getEndDate()) + "T16:00:00.000Z";
-        this.immeValidStartDate0507t1 = this.startDate0507t1;
-        this.immeValidEndDate0507t1 = this.endDate0507t1;
-        this.startMinute0507t1 = 0;
-        this.endMinute0507t1 = 0;
+        this.startDate0507t1 = TimeProcessing.dateTimeToDate(riskInfoVo.getStartDate());
+        this.endDate0507t1 = TimeProcessing.dateTimeToDate(riskInfoVo.getEndDate());
+        this.immeValidStartDate0507t1 = DateUtil.toUtcDateTime(riskInfoVo.getStartDate());
+        this.immeValidEndDate0507t1 = DateUtil.toUtcDateTime(riskInfoVo.getEndDate());
+        this.startHour0507t1 = TimeProcessing.getHour(riskInfoVo.getStartDate());
+        this.endHour0507t1 = TimeProcessing.getHour(riskInfoVo.getEndDate());
+        this.startMinute0507t1 = TimeProcessing.getMinute(riskInfoVo.getStartDate());
+        this.endMinute0507t1 = TimeProcessing.getMinute(riskInfoVo.getEndDate());
         this.startDateFlag0507t1 = 0;
 
-        this.immeValidStartDate = "";
-        this.immeValidEndDate = "";
+        this.immeValidStartDate = riskInfoVo.isInstantFlag() ? riskInfoVo.getStartDate() : "";
+        this.immeValidEndDate = riskInfoVo.isInstantFlag() ? riskInfoVo.getEndDate() : "";
         this.feeandDiscountFlag = "0";
         this.saleChange = "0";
         this.startDateFlag = 0;
@@ -348,7 +356,7 @@ public class GuoRenPrpTmainDTO  {
         this.sumPremium = "";
         this.inputDate = today;
         this.signDate = today;
-        this.immeValiFlag = "";
+        this.immeValiFlag = riskInfoVo.isInstantFlag() ? "1" : "0";
         this.disCount = 1.0;
         this.sumnoTaxPremium = 896.23;
 

+ 2 - 2
tenant/insurance/quotation-guoren/src/main/java/com/jzg/quotation/guoren/crawler/service/impl/GuoRenCrawlerQuoteProcessServiceImpl.java

@@ -110,8 +110,8 @@ public class GuoRenCrawlerQuoteProcessServiceImpl implements GuoRenCrawlerQuoteP
     @Override
     public HttpHeaders getHeaders(String username) {
         HttpHeaders headers = new HttpHeaders();
-        String token = guoRenCrawlerCacheComponent.getToken(username);
-//        String token = "eyJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJXMzAwMDM5OSIsInVzZXJJZCI6IjQ5NjE4MSIsIm5hbWUiOiLmnY7mmKXmooUiLCJleHAiOjE3ODQ2MjI5NzN9.ZmbT_sS1gSqbBu0vaCoZ3CPwzE7psQcSVyPDwxTtfffT5-Wr15MOJgH-vnUe1eD3in-RUWnoLXW6ZFybj2qXhm7-kZMKkIEISzaNFqHymoPQPlils2ydiVPigIWs4dhv8CLvH_OWYnOeucekHQKMMMZk26Lsi3Jy0wdgdN9X_k0";
+//        String token = guoRenCrawlerCacheComponent.getToken(username);
+        String token = "eyJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJXMzAwMDM5OSIsInVzZXJJZCI6IjQ5NjE4MSIsIm5hbWUiOiLmnY7mmKXmooUiLCJleHAiOjE3ODQ3OTMwNzR9.Jc-DOyqO7RatX9veTtF0cfVFF9EhLuP40eaEkSe_Tv8u33YFvosk50nAPdevmJ9t9WW7263S88fpfHy0gFNjTOjUk8KcOqmpJWbC9Q7Ydoq6NTRwKGIVgZI2VLVlPA99fPzTuxl-MPsyEU0_2KV4I_U7LcV5p3w0jEkPLdUFuXM";
         if (!StringUtils.hasText(token)) {
             throw new TokenExpireException("500", "国任财险账号登录过期,请重新登录");
         }

+ 15 - 8
tenant/insurance/quotation-guoren/src/main/java/com/jzg/quotation/guoren/crawler/service/impl/GuoRenCrawlerRequestImpl.java

@@ -8,6 +8,7 @@ import com.jzg.commons.entity.po.InsCompanyClause;
 import com.jzg.commons.entity.quote.vo.AccidentalDrivingVo;
 import com.jzg.commons.entity.quote.vo.AttributionInformationVo;
 import com.jzg.commons.entity.quote.vo.QuoteVo;
+import com.jzg.commons.entity.quote.vo.RiskInfoVo;
 import com.jzg.commons.entity.quote.vo.aggregated.*;
 import com.jzg.commons.entity.quote.vo.base.LoginBase;
 import com.jzg.commons.entity.quote.vo.base.OrderBase;
@@ -25,6 +26,7 @@ import com.jzg.quotation.guoren.crawler.component.GuoRenCrawlerRequestComponent;
 import com.jzg.quotation.guoren.crawler.constant.enums.RequestUrl;
 import com.jzg.quotation.guoren.crawler.entity.GuoRenCrawlerConfigureParameters;
 import com.jzg.quotation.guoren.crawler.entity.dto.GuoRenPrpTitemCarDTO;
+import com.jzg.quotation.guoren.crawler.entity.dto.GuoRenPrpTmainDTO;
 import com.jzg.quotation.guoren.crawler.entity.dto.PrpTMainDTO;
 import com.jzg.quotation.guoren.crawler.entity.dto.PrptengageListDTO;
 import com.jzg.quotation.guoren.crawler.entity.po.GuoRenCrawlerOrder;
@@ -149,23 +151,28 @@ public class GuoRenCrawlerRequestImpl implements GuoRenCrawlerRequest {
             if (startTime == null) {
                 return GuoRenCrawlerQuoteResultsVoBuild.buildFailQuoteResultsVo(quoteVo, calculationPremium);
             } else {
+                RiskInfoVo ciRiskInfoVo = new RiskInfoVo();
+
                 if (startTime != null && startTime.endsWith("00:00:00")) {
+                    ciRiskInfoVo.setInstantFlag(false);
                     endTime = TimeProcessing.minusOneSecondAfterYear(startTime);
                 } else {
+                    ciRiskInfoVo.setInstantFlag(true);
                     endTime = TimeProcessing.minusOneDayAfterYear(startTime);
                 }
                 String startDate = TimeProcessing.dateTimeToDate(startTime);
                 String endDate = TimeProcessing.dateTimeToDate(endTime);
 
+                ciRiskInfoVo.setStartDate(startTime);
+                ciRiskInfoVo.setEndDate(endTime);
+
+                GuoRenPrpTmainDTO prpTMainDTO = new GuoRenPrpTmainDTO(ciRiskInfoVo, TimeProcessing.nowDate());
+
                 // 交强
                 quoteVo.getCiRiskInfoVo().setStartDate(startTime);
                 quoteVo.getCiRiskInfoVo().setEndDate(endTime);
-                crawlerCalculationPremiumRequest.getCi().getPrpTmain().setStartDate(startDate);
-                crawlerCalculationPremiumRequest.getCi().getPrpTmain().setStartHour(TimeProcessing.getHour(startTime));
-                crawlerCalculationPremiumRequest.getCi().getPrpTmain().setStartMinute(TimeProcessing.getMinute(startTime));
-                crawlerCalculationPremiumRequest.getCi().getPrpTmain().setEndDate(endDate);
-                crawlerCalculationPremiumRequest.getCi().getPrpTmain().setEndHour(TimeProcessing.getHour(endTime));
-                crawlerCalculationPremiumRequest.getCi().getPrpTmain().setEndMinute(TimeProcessing.getMinute(endTime));
+                crawlerCalculationPremiumRequest.getCi().setPrpTmain(prpTMainDTO);
+
                 crawlerCalculationPremiumRequest.getCi().getPrptitemkindList().forEach(item -> {
                     item.setStartDate(startDate);
                     item.setEndDate(endDate);
@@ -173,7 +180,7 @@ public class GuoRenCrawlerRequestImpl implements GuoRenCrawlerRequest {
 
                 if (crawlerCalculationPremiumRequest.getBi().getPrpTmain() != null) {
                     // 商业
-                    String biStartDate = (startTime != null && startTime.endsWith("00:00:00")) ? startTime :TimeProcessing.plusDays(startDate, 1) + " 00:00:00";
+                    String biStartDate = (startTime != null && startTime.endsWith("00:00:00")) ? startTime : TimeProcessing.plusDays(startDate, 1) + " 00:00:00";
                     String biEndDate = TimeProcessing.minusOneSecondAfterYear(biStartDate);
                     quoteVo.getBiRiskInfoVo().setStartDate(biStartDate);
                     quoteVo.getBiRiskInfoVo().setEndDate(biEndDate);
@@ -200,7 +207,7 @@ public class GuoRenCrawlerRequestImpl implements GuoRenCrawlerRequest {
         GuoRenCrawlerCreateOrderRequest createOrderRequest = null;
         if (CollUtil.isNotEmpty(quoteVo.getAccidentalDrivings())) {
             // 驾意险查询:获取liabList用于订单创建
-            GuoRenCrawlerQueryQuotationRequest queryQuotationRequest = new GuoRenCrawlerQueryQuotationRequest(quoteVo,  crawlerCalculationPremiumRequest.getBc().getPrpTitemCar());
+            GuoRenCrawlerQueryQuotationRequest queryQuotationRequest = new GuoRenCrawlerQueryQuotationRequest(quoteVo, crawlerCalculationPremiumRequest.getBc().getPrpTitemCar());
             GuoRenCrawlerBaseResponse<GuoRenCrawlerQueryQuotationData> queryResponse = guoRenCrawlerRequestComponent.queryQuotation(queryQuotationRequest, headers);
             List<GuoRenCrawlerQueryQuotationData.LiabDTO> queryLiabList = null;
             if ("0000".equals(queryResponse.getCode()) && queryResponse.getData() != null) {

+ 7 - 3
tenant/insurance/quotation-hengbang/src/main/java/com/jzg/quotation/hengbang/crawler/build/HbCrawlerQuoteResultVoBuild.java

@@ -8,10 +8,12 @@ import com.jzg.commons.entity.quote.vo.KindInfoVo;
 import com.jzg.commons.entity.quote.vo.QuoteVo;
 import com.jzg.commons.entity.quote.vo.RiskInfoVo;
 import com.jzg.commons.entity.quote.vo.aggregated.QuoteResultsVo;
+import com.jzg.commons.util.StringUtils;
 import com.jzg.quotation.commons.utils.DateTimeUtil;
 import com.jzg.quotation.hengbang.crawler.entity.response.HbCrawlerProposalResponse;
 import org.apache.http.util.TextUtils;
 
+import java.math.BigDecimal;
 import java.time.LocalDateTime;
 import java.util.List;
 import java.util.Map;
@@ -28,7 +30,7 @@ public final class HbCrawlerQuoteResultVoBuild {
         throw new IllegalStateException("Utility class");
     }
 
-    public static QuoteResultsVo build(QuoteVo quoteVo, HbCrawlerProposalResponse proposalResponse, String calculationResult) {
+    public static QuoteResultsVo build(QuoteVo quoteVo, HbCrawlerProposalResponse proposalResponse, String calculationResult, String depreciationPrice) {
         QuoteResultsVo quoteResultsVo = new QuoteResultsVo();
         quoteResultsVo.setOrdersNo(quoteVo.getOrder().getOrdersNo());
         quoteResultsVo.setQuoteStatusEnum(InsOrderStatusEnum.WAIT_AUDIT);
@@ -60,7 +62,9 @@ public final class HbCrawlerQuoteResultVoBuild {
 
         scoreVo.setScoreJson(scoreJson);
         quoteResultsVo.setScoreVo(scoreVo);
-
+        if (StringUtils.isNotBlank(depreciationPrice)) {
+            quoteResultsVo.setCarActualValue(new BigDecimal(depreciationPrice));
+        }
 
         //设置保费,车船税,投保单号
         buildParams(proposalResponse, quoteResultsVo);
@@ -165,7 +169,7 @@ public final class HbCrawlerQuoteResultVoBuild {
         }
         //设置非车保费
         quoteResultsVo.getCosts().setNiPremium(proposalResponse.getAccidentTotalPremium());
-        String sumPremium = String.valueOf(Double.parseDouble(biPremium) + Double.parseDouble(ciPremium) + Double.parseDouble(vvTax)+ Double.parseDouble(niPremium));
+        String sumPremium = String.valueOf(Double.parseDouble(biPremium) + Double.parseDouble(ciPremium) + Double.parseDouble(vvTax) + Double.parseDouble(niPremium));
         quoteResultsVo.getCosts().setSumPremium(sumPremium);
 
 

+ 4 - 4
tenant/insurance/quotation-hengbang/src/main/java/com/jzg/quotation/hengbang/crawler/service/Impl/HengBangCrawlerRequestImpl.java

@@ -155,13 +155,13 @@ public class HengBangCrawlerRequestImpl implements HengBangCrawlerRequest {
         // 非车信息匹配核心
         matchingAccident(quoteVo, headers, plyappno, calculationRequest);
 
-        return executeCalculationWithRetry(calculationRequest, headers, quoteVo, plyappno);
+        return executeCalculationWithRetry(calculationRequest, headers, quoteVo, plyappno,depreciationPrice);
     }
 
     /**
      * 执行报价计算并处理重试逻辑(脱保、重复投保、转保车验证码)
      */
-    private QuoteResultsVo executeCalculationWithRetry(HbCrawlerCalculationRequest calculationRequest, HttpHeaders headers, QuoteVo quoteVo, String plyappno) {
+    private QuoteResultsVo executeCalculationWithRetry(HbCrawlerCalculationRequest calculationRequest, HttpHeaders headers, QuoteVo quoteVo, String plyappno,String depreciationPrice) {
         JSONObject resJsonObj = callCalculation(calculationRequest, headers);
         if (resJsonObj == null) {
             return buildErrorResult(quoteVo);
@@ -240,7 +240,7 @@ public class HengBangCrawlerRequestImpl implements HengBangCrawlerRequest {
             hbCrawlerOrder.setPlyappno(plyappno);
             hbCrawlerOrderService.save(hbCrawlerOrder);
         }
-        return HbCrawlerQuoteResultVoBuild.build(quoteVo, proposalResponse, errorMsg);
+        return HbCrawlerQuoteResultVoBuild.build(quoteVo, proposalResponse, errorMsg,depreciationPrice);
     }
 
     /**
@@ -263,7 +263,7 @@ public class HengBangCrawlerRequestImpl implements HengBangCrawlerRequest {
      * 构建异常返回结果
      */
     private QuoteResultsVo buildErrorResult(QuoteVo quoteVo) {
-        return HbCrawlerQuoteResultVoBuild.build(quoteVo, null, "恒邦calculation接口返回异常");
+        return HbCrawlerQuoteResultVoBuild.build(quoteVo, null, "恒邦calculation接口返回异常",null);
     }
 
     /**

+ 3 - 1
tenant/insurance/quotation-huanong/src/main/java/com/jzg/quotation/huanong/crawler/build/HuaNongCrawlerQuoteResultsVoBuild.java

@@ -14,6 +14,7 @@ import com.jzg.quotation.commons.constant.enums.quote.RenewalEnum;
 import com.jzg.quotation.huanong.enums.dictionary.Risk;
 import org.springframework.util.ObjectUtils;
 
+import java.math.BigDecimal;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
@@ -24,9 +25,10 @@ public final class HuaNongCrawlerQuoteResultsVoBuild {
         throw new IllegalStateException("Utility class");
     }
 
-    public static QuoteResultsVo buildQuoteResultsVo(String orderNo, QuoteVo quoteVo, HuaNongCrawlerQuotedPriceResponse huaNongCrawlerQuotedPriceResponse, HuaNongCrawlerSaveResponse saveResponse) {
+    public static QuoteResultsVo buildQuoteResultsVo(String orderNo, QuoteVo quoteVo, HuaNongCrawlerQuotedPriceResponse huaNongCrawlerQuotedPriceResponse, HuaNongCrawlerSaveResponse saveResponse, String actualValue) {
         QuoteResultsVo quoteResultsVo = new QuoteResultsVo();
         quoteResultsVo.setOrdersNo(orderNo);
+        quoteResultsVo.setCarActualValue(new BigDecimal(actualValue));
 
         List<HuaNongCrawlerQuotedPriceResponse.BusinessDataDTO.ContractDTO> contract = huaNongCrawlerQuotedPriceResponse.getBusinessData()
                 .getContract();

+ 11 - 2
tenant/insurance/quotation-huanong/src/main/java/com/jzg/quotation/huanong/crawler/entity/request/HuaNongCrawlerQuotedPriceRequestRequest.java

@@ -243,8 +243,17 @@ public class HuaNongCrawlerQuotedPriceRequestRequest implements HuaNongHeadReque
                     }
                 });
             }
+            // 处理机动车损失险的保额
+            if(StringUtils.isNotEmpty(actualValue)){
+                List<KindInfoVo> biRiskInfoVo = quoteVo.getKindInfoVo();
+                for(KindInfoVo kindInfoVo :biRiskInfoVo){
+                    if(kindInfoVo.getKindCode().equals("A")){
+                        kindInfoVo.setAmount(actualValue);
+                    }
+                }
+            }
 
-            this.contract = ContractDTO.build(quoteVo.getCiRiskInfoVo(), quoteVo.getBiRiskInfoVo(), quoteVo.getKindInfoVo(), quoteVo.getInsuredPersonInfo(), isNewEnergy);
+            this.contract = ContractDTO.build(quoteVo.getCiRiskInfoVo(), quoteVo.getBiRiskInfoVo(), quoteVo.getKindInfoVo(), quoteVo.getInsuredPersonInfo(), isNewEnergy,actualValue);
             // 人员
             this.customer = CustomerDTO.build(quoteVo.getPolicyHolderInfo(), quoteVo.getInsuredPersonInfo(), quoteVo.getOwnersInfo(), this.saleInfo.agentCode, this.saleInfo.comCode);
         }
@@ -2011,7 +2020,7 @@ public class HuaNongCrawlerQuotedPriceRequestRequest implements HuaNongHeadReque
             }
 
 
-            private static List<ContractDTO> build(RiskInfoVo ciRiskInfoVo, RiskInfoVo biRiskInfoVo, List<KindInfoVo> kindInfoVo, CustomerInfoVo insuredPersonInfo, boolean isNewEnergy) {
+            private static List<ContractDTO> build(RiskInfoVo ciRiskInfoVo, RiskInfoVo biRiskInfoVo, List<KindInfoVo> kindInfoVo, CustomerInfoVo insuredPersonInfo, boolean isNewEnergy,String actualValue) {
                 List<ContractDTO> contractDTOList = new ArrayList<>();
                 String isAloneCI;
                 String relatedType;

+ 1 - 1
tenant/insurance/quotation-huanong/src/main/java/com/jzg/quotation/huanong/crawler/service/impl/HuaNongCrawlerRequestImpl.java

@@ -152,7 +152,7 @@ public class HuaNongCrawlerRequestImpl implements HuaNongCrawlerRequest {
         HuaNongCrawlerSaveResponse saveResponse = huaNongCrawlerRequestComponent.save(huaNongCrawlerSaveRequest, httpHeaders);
 
         QuoteResultsVo quoteResultsVo = HuaNongCrawlerQuoteResultsVoBuild.buildQuoteResultsVo(quoteVo.getOrder()
-                .getOrdersNo(), quoteVo, huaNongCrawlerQuotedPriceResponse, saveResponse);
+                .getOrdersNo(), quoteVo, huaNongCrawlerQuotedPriceResponse, saveResponse,actualValue);
         // 7 将订单信息保存到mongodb(后续需要使用)
         huaNongCrawlerOrderService.saveOrder(quoteResultsVo.getOrdersNo(), quoteResultsVo.getCiPolicyNumber(), quoteResultsVo.getBiPolicyNumber(), quoteResultsVo.getJyPolicyNumber());
         return quoteResultsVo;

+ 9 - 0
tenant/insurance/quotation-huatai/src/main/java/com/jzg/quotation/huatai/crawler/build/HuaTaiCrawlerQuoteResultsVoBuild.java

@@ -14,6 +14,7 @@ import com.jzg.quotation.commons.constant.enums.quote.RenewalEnum;
 import com.jzg.quotation.huatai.api.constant.enums.ContractEnum;
 import com.jzg.quotation.huatai.crawler.entity.Response.HtCrawlerQuoteResponse;
 
+import java.math.BigDecimal;
 import java.time.LocalDateTime;
 import java.time.LocalTime;
 import java.time.format.DateTimeFormatter;
@@ -50,6 +51,13 @@ public class HuaTaiCrawlerQuoteResultsVoBuild {
         // 商业险险种信息
         if(quoteResponseData.getCoveragedtolist() !=  null) {
             List<HtCrawlerQuoteResponse.DataDTO.CoverageDTOList.CoverageDTO> coverageDTOList = quoteResponseData.getCoveragedtolist().getCoveragedto();
+            // 车损险保额
+            String clxAmount = coverageDTOList.stream().filter(x -> "A".equals(x.getComcoveragecode())).map(x -> String.valueOf(x.getLimitamount())).findFirst().orElse(null);
+            if(StringUtils.isNotBlank(clxAmount)) {
+                quoteResultsVo.setCarActualValue(new BigDecimal(clxAmount));
+            }else {
+                quoteResultsVo.setCarActualValue(BigDecimal.ZERO);
+            }
             List<KindInfoVo> kindInfoVo = buildKindInfoVo(quoteVo.getKindInfoVo(), coverageDTOList);
             quoteResultsVo.setKindInfoVo(kindInfoVo);
         }
@@ -73,6 +81,7 @@ public class HuaTaiCrawlerQuoteResultsVoBuild {
         if (!ProductsType.PT_0330.getCode().equals(quoteVo.getOrder().getProductId())) {
             quoteResultsVo.getScoreVo().setSyRenewal("转入".equals(quoteResponseData.getApplicationdto().getCustombusinesstype_bi()) ? String.valueOf(RenewalEnum.Transfer.getCode()) : String.valueOf(RenewalEnum.Renewal.getCode()));
         }
+
         quoteResultsVo.setQuoteStatusEnum(InsOrderStatusEnum.WAIT_AUDIT);
         return quoteResultsVo;
     }

+ 2 - 0
tenant/insurance/quotation-renbaonew/src/main/java/com/jzg/quotation/renbaonew/crawler/entity/request/RenBaoNewCrawlerQuoteRequest.java

@@ -117,6 +117,8 @@ public class RenBaoNewCrawlerQuoteRequest {
     // ===== OCR 识别列表 =====
     private List<String> ocrList = new ArrayList<>();
 
+    private String carActualValue;
+
     /**
      * 初始化固定值
      */

+ 6 - 1
tenant/insurance/quotation-renbaonew/src/main/java/com/jzg/quotation/renbaonew/crawler/service/impl/RenBaoNewCrawlerRequestBuilder.java

@@ -356,6 +356,8 @@ public class RenBaoNewCrawlerRequestBuilder {
         String actualValueStr = actualValue != null && actualValue.containsKey("data") ?
                 String.valueOf(actualValue.get("data")) : null;
 
+        request.setCarActualValue(actualValueStr);
+
         // =====================================================================
         // 步骤5:查询渠道和业务配置信息
         // =====================================================================
@@ -2234,7 +2236,6 @@ public class RenBaoNewCrawlerRequestBuilder {
                 insureds.add(buildInsuredItem(quoteVo.getInsuredPersonInfo(),insuredInfo, "010000000000000000000", "0", 2, java.util.Arrays.asList("1")));
             }
         }
-
         return insureds;
     }
 
@@ -2426,6 +2427,7 @@ public class RenBaoNewCrawlerRequestBuilder {
         item.put("custFields", new java.util.ArrayList<>());
         item.put("insGradeLsit", new java.util.ArrayList<>());
         item.put("orgIdentifyVoList", new java.util.ArrayList<>());
+        item.put("prpDpCstIdentifies", new java.util.ArrayList<>());
 
         return item;
     }
@@ -2558,6 +2560,7 @@ public class RenBaoNewCrawlerRequestBuilder {
                 // 附加车身划痕损失险
                 if (amountStr != null && !amountStr.isEmpty()) {
                     kind.put("amount", amountStr);
+                    kind.put("quantity", amountStr);
                 }
             }  else if ("SY_FJ_YBW2".equals(zgKindCode)) {
                 // 附加医保外医疗费用责任险(车上人员责任保险(乘客))
@@ -2570,6 +2573,7 @@ public class RenBaoNewCrawlerRequestBuilder {
                 // 附加增值服务特约条款(道路救援服务)
                 if (!amountStr.isEmpty()) {
                     kind.put("quantity", amountStr);
+                    kind.put("amount", amountStr);
                 }
             } else if ("TY2".equals(zgKindCode)) {
                 // 附加增值服务特约条款(车辆安全检测)
@@ -2581,6 +2585,7 @@ public class RenBaoNewCrawlerRequestBuilder {
                 // 附加增值服务特约条款(代为驾驶服务)
                 if (!amountStr.isEmpty()) {
                     kind.put("quantity", amountStr);
+                    kind.put("amount", amountStr);
                 }
             }  else if ("MJ1".equals(zgKindCode) || "MJ2".equals(zgKindCode) ||
                     "MJ3".equals(zgKindCode) || "MJ4".equals(zgKindCode)){

+ 2 - 0
tenant/insurance/quotation-renbaonew/src/main/java/com/jzg/quotation/renbaonew/crawler/service/impl/RenBaoNewCrawlerRequestImpl.java

@@ -37,6 +37,7 @@ import org.springframework.stereotype.Service;
 import javax.imageio.ImageIO;
 import java.awt.image.BufferedImage;
 import java.io.ByteArrayInputStream;
+import java.math.BigDecimal;
 import java.net.URLEncoder;
 import java.nio.charset.StandardCharsets;
 import java.util.ArrayList;
@@ -739,6 +740,7 @@ public class RenBaoNewCrawlerRequestImpl implements RenBaoNewCrawlerRequest {
                                                RenBaoNewCrawlerSaveResponse saveResponse,
                                                HttpHeaders headers, String username) {
         QuoteResultsVo resultsVo = new QuoteResultsVo();
+        resultsVo.setCarActualValue(new BigDecimal(quoteRequest.getCarActualValue()));
         resultsVo.setOrdersNo(quoteVo.getOrder().getOrdersNo());
         RiskInfoVo ciRisk = quoteVo.getCiRiskInfoVo() != null ?quoteVo.getCiRiskInfoVo() : new RiskInfoVo();
         if(quoteRequest.getPrpCmainCI().get("startDate") != null && quoteRequest.getPrpCmainCI().get("endDate") != null){

+ 4 - 0
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/service/impl/InsOrdersServiceImpl.java

@@ -286,6 +286,7 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
             ordersPolicy.setJyPolicyNo(ordersExternalPolicy.getNoPolicy());
             insOrdersPolicyService.updateByOrderNo(ordersPolicy);
 
+            insFeeAuditService.feeAuditAdd(insOrders,baseController.getSystemCode());
             // 发送订单状态变更消息
             this.orderStatusMessage(insOrders,
                     insOrdersCarInfo, insOrdersCosts,
@@ -997,6 +998,9 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
                                 kind.setPremium(new BigDecimal(kindInfoVo.getPremium()));
                             }
                         }
+                        if (kind.getKindCode().equals("A")) {
+                            kind.setAmount(new BigDecimal(String.valueOf(quoteResponse.getCarActualValue())));
+                        }
                     });
                 });
             }

+ 3 - 3
tenant/insurance/quotation-summary/src/main/resources/mapper/InsOrdersMapper.xml

@@ -1101,9 +1101,9 @@
             <if test="insOrdersParam.orderNo != null and insOrdersParam.orderNo != ''">
                 AND io.id = #{insOrdersParam.orderNo}
             </if>
-            <if test="insOrdersParam.parentId != null">
-                AND io.parent_id = #{insOrdersParam.parentId}
-            </if>
+<!--            <if test="insOrdersParam.parentId != null">-->
+<!--                AND io.parent_id = #{insOrdersParam.parentId}-->
+<!--            </if>-->
             <if test="insOrdersParam.licenseNo != null and insOrdersParam.licenseNo != ''">
                 AND ioci.license_no = #{insOrdersParam.licenseNo}
             </if>

+ 6 - 2
tenant/insurance/quotation-taishan/src/main/java/com/jzg/quotation/taishan/crawler/service/impl/TaiShanCrawlerRequestImpl.java

@@ -36,6 +36,7 @@ import lombok.extern.slf4j.Slf4j;
 import org.springframework.http.HttpHeaders;
 import org.springframework.util.StringUtils;
 
+import java.math.BigDecimal;
 import java.net.URLEncoder;
 import java.nio.charset.StandardCharsets;
 import java.util.*;
@@ -230,10 +231,13 @@ public class TaiShanCrawlerRequestImpl implements TaiShanCrawlerRequest {
             errMsg = exception != null ? exception.getMsg() : (taiShanCrawlerQuotationResponse.getMessage() != null ? taiShanCrawlerQuotationResponse.getMessage() : "报价接口返回异常");
             throw new SystemException(errMsg);
         }
-        return TaiShanCrawlerQuoteResultsVoBuild.buildQuoteResultsVo(quoteVo,
+        QuoteResultsVo quoteResultsVo = TaiShanCrawlerQuoteResultsVoBuild.buildQuoteResultsVo(quoteVo,
                 taiShanCrawlerQuotationSaveResponse,
                 taiShanCrawlerRiskManagementResponse,
-                errMsg,success);
+                errMsg, success);
+        // 车损险保额
+        quoteResultsVo.setCarActualValue(new BigDecimal(currentValue));
+        return quoteResultsVo;
     }
 
     private void resultCoverSave(QuoteVo quoteVo, TaiShanCrawlerQuotationRequest taiShanCrawlerQuotationRequest, TaiShanCrawlerQuotationResponse taiShanCrawlerQuotationResponse) {

+ 3 - 1
tenant/organization/src/main/java/com/jzg/organization/service/impl/PtlSchemeServiceImpl.java

@@ -166,7 +166,9 @@ public class PtlSchemeServiceImpl extends ServiceImpl<PtlSchemeMapper, PtlScheme
             }
         }
         //校验驾意险座位数范围不可重复
-        validateDrivingIntentionSeatRange(ptlSchemeInsuranceDrivingIntentionList);
+        if(!ptlSchemeSaveVo.getSchemeType().equals("2")) {
+            validateDrivingIntentionSeatRange(ptlSchemeInsuranceDrivingIntentionList);
+        }
         //清空驾意险信息
         cleanDrivingIntention(ptlSchemeInfoList);
         ptlSchemeInsuranceDrivingIntentionMapper.insertOrUpdate(ptlSchemeInsuranceDrivingIntentionList);