wanghao 4 месяцев назад
Родитель
Сommit
17d1800d3e

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

@@ -4,6 +4,7 @@ import cn.hutool.core.codec.Base64;
 import com.alibaba.fastjson2.annotation.JSONField;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.jzg.commons.entity.quote.vo.*;
+import com.jzg.commons.exception.SystemException;
 import com.jzg.quotation.commons.utils.TimeProcessing;
 import com.jzg.quotation.huanong.crawler.constant.enums.JiaYiXianProduct;
 import com.jzg.quotation.huanong.crawler.entity.HuaNongCrawlerConfigureParameters;
@@ -228,6 +229,21 @@ public class HuaNongCrawlerQuotedPriceRequestRequest implements HuaNongHeadReque
             // 险种:根据车型查询返回的 energyTypes 判断是否新能源车(0=燃油,4=其他混动,其他=新能源)
             String energyTypes = carModelDTO != null && carModelDTO.getFullCarData() != null ? carModelDTO.getFullCarData().getEnergyTypes() : null;
             boolean isNewEnergy = energyTypes != null && !"0".equals(energyTypes) && !"4".equals(energyTypes);
+            List<KindInfoVo> kindInfoVos = quoteVo.getKindInfoVo();
+            if(kindInfoVos != null && kindInfoVos.size() >0){
+                kindInfoVos.forEach(kind->{
+                    kind.setUnitAmount(kind.getAmount());
+                    if(kind.getKindCode().equals("D4")){
+                        String seatCount = quoteVo.getCarInfoVo().getSeatCount();
+                        if(seatCount.isEmpty()){
+                            throw new SystemException("未填写座位数信息");
+                        }
+                        kind.setAmount((Integer.parseInt(seatCount)-1) * Integer.parseInt(kind.getAmount())+"");
+                        kind.setQuantity(Integer.parseInt(seatCount)-1+"");
+                    }
+                });
+            }
+
             this.contract = ContractDTO.build(quoteVo.getCiRiskInfoVo(), quoteVo.getBiRiskInfoVo(), quoteVo.getKindInfoVo(), quoteVo.getInsuredPersonInfo(), isNewEnergy);
             // 人员
             this.customer = CustomerDTO.build(quoteVo.getPolicyHolderInfo(), quoteVo.getInsuredPersonInfo(), quoteVo.getOwnersInfo(), this.saleInfo.agentCode, this.saleInfo.comCode);
@@ -2896,7 +2912,7 @@ public class HuaNongCrawlerQuotedPriceRequestRequest implements HuaNongHeadReque
                     this.vat = 0;
                     this.vatChg = 0;
                     this.calculateFlag1 = "";
-                    this.choosed = false;
+                    this.choosed = true;
                     this.notDeductibleFlag = false;
                     this.optNotDeductibleFlag = 0;
                     this.ductibleRate = "";

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

@@ -331,13 +331,13 @@ public class HuaNongCrawlerRequestImpl implements HuaNongCrawlerRequest {
 
         response = processDuplicateInsurance(request, response, httpHeaders);
 
-        boolean stillDuplicate = hasDuplicateInsurance(response);
+        /*boolean stillDuplicate = hasDuplicateInsurance(response);
         if (stillDuplicate) {
             log.info("第一次重试后仍存在重复投保,日期向后推迟一天进行第二次重试");
             response = processDuplicateInsuranceWithOneMoreDay(request, response, httpHeaders);
-        }
+        }*/
 
-        return checkAndHandleRemainingDuplicate(response, false);
+        return checkAndHandleRemainingDuplicate(response, true);
     }
 
     private HuaNongCrawlerQuotedPriceResponse processDuplicateInsurance(