Просмотр исходного кода

大家添加续保、总保额,车辆的实际价 放到 carActualValue 字段

xuqiang 1 месяц назад
Родитель
Сommit
93b5b7ecac

+ 37 - 8
tenant/insurance/quotation-dajia/src/main/java/com/jzg/quotation/dajia/crawler/build/DaJiaCrawlerQuoteResultsVoBuild.java

@@ -11,10 +11,12 @@ import com.jzg.commons.entity.quote.vo.RiskInfoVo;
 import com.jzg.commons.entity.quote.vo.aggregated.OrderStatusResultVo;
 import com.jzg.commons.entity.quote.vo.aggregated.QuoteResultsVo;
 import com.jzg.commons.util.StringUtils;
+import com.jzg.quotation.commons.constant.enums.quote.RenewalEnum;
 import com.jzg.quotation.commons.utils.TimeProcessing;
 import com.jzg.quotation.dajia.crawler.constant.enums.DaJiaCrawlerOrderState;
 import com.jzg.quotation.dajia.crawler.entity.request.quote.BusinessInsuranceDTO;
 import com.jzg.quotation.dajia.crawler.entity.request.quote.CompulsoryInsuranceDTO;
+import com.jzg.quotation.dajia.crawler.entity.response.DaJiaCrawlerActualValueResponse;
 import com.jzg.quotation.dajia.crawler.entity.response.DaJiaCrawlerOrderListRevisedResponse;
 import com.jzg.quotation.dajia.crawler.entity.response.DaJiaCrawlerSaveResponse;
 import org.apache.logging.log4j.LogManager;
@@ -24,6 +26,7 @@ import org.springframework.util.ObjectUtils;
 import java.math.BigDecimal;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 import java.util.stream.Collectors;
 
 /**
@@ -47,7 +50,7 @@ public final class DaJiaCrawlerQuoteResultsVoBuild {
      * @param daJiaCrawlerSaveResponse 大家财险保存
      * @return 报价结果
      */
-    public static QuoteResultsVo buildQuoteResultsVo(String orderNo, QuoteVo quoteVo, DaJiaCrawlerSaveResponse daJiaCrawlerSaveResponse) {
+    public static QuoteResultsVo buildQuoteResultsVo(String orderNo, QuoteVo quoteVo, DaJiaCrawlerSaveResponse daJiaCrawlerSaveResponse,DaJiaCrawlerActualValueResponse daJiaCrawlerActualValueResponse) {
         QuoteResultsVo quoteResultsVo = new QuoteResultsVo();
         buildKindInfoVo(quoteVo.getKindInfoVo(), daJiaCrawlerSaveResponse.getBusinessInsurance().getItemKinds());
         quoteResultsVo.setOrdersNo(orderNo);
@@ -67,16 +70,15 @@ public final class DaJiaCrawlerQuoteResultsVoBuild {
         quoteResultsVo.setQuoteStatusEnum(InsOrderStatusEnum.WAIT_AUDIT);
         // 评分
         quoteResultsVo.setScoreVo(buildScoreVo(daJiaCrawlerSaveResponse));
-        // 非车费用
-        quoteResultsVo.getCosts().setNiPremium(daJiaCrawlerSaveResponse.getDriveInsurance().getProductInfo().getPremium().equals("") ? "0.00" : daJiaCrawlerSaveResponse.getDriveInsurance().getProductInfo().getPremium());
         // 交强保费 车船税 商业保费
-        buildOtherInfo(quoteResultsVo, daJiaCrawlerSaveResponse.getCompulsoryInsurance(), daJiaCrawlerSaveResponse.getBusinessInsurance());
+        buildOtherInfo(quoteResultsVo, daJiaCrawlerSaveResponse);
         BusinessInsuranceDTO.ProductInfoDTO productInfo = daJiaCrawlerSaveResponse.getBusinessInsurance().getProductInfo();
         CompulsoryInsuranceDTO.ProductInfoDTO compulsoryInsuranceProductInfo = daJiaCrawlerSaveResponse.getCompulsoryInsurance().getProductInfo();
         quoteResultsVo.setCiStartDate(compulsoryInsuranceProductInfo.getStartDate());
         quoteResultsVo.setCiEndDate(compulsoryInsuranceProductInfo.getEndDate());
         quoteResultsVo.setBiStartDate(productInfo.getStartDate());
         quoteResultsVo.setBiEndDate(productInfo.getEndDate());
+        quoteResultsVo.setCarActualValue(StringUtils.isNotEmpty(daJiaCrawlerActualValueResponse.getActualValue()) ? new BigDecimal(daJiaCrawlerActualValueResponse.getActualValue()) : BigDecimal.ZERO);
         log.info("构建返回信息:{}",JSONObject.toJSONString(quoteResultsVo));
         return quoteResultsVo;
     }
@@ -121,13 +123,19 @@ public final class DaJiaCrawlerQuoteResultsVoBuild {
         return ciRiskInfoVo;
     }
 
-    private static void buildOtherInfo(QuoteResultsVo quoteResultsVo, CompulsoryInsuranceDTO compulsoryInsurance, BusinessInsuranceDTO businessInsurance) {
+    private static void buildOtherInfo(QuoteResultsVo quoteResultsVo, DaJiaCrawlerSaveResponse daJiaCrawlerSaveResponse) {
+        BusinessInsuranceDTO businessInsurance = daJiaCrawlerSaveResponse.getBusinessInsurance();
+        CompulsoryInsuranceDTO compulsoryInsurance = daJiaCrawlerSaveResponse.getCompulsoryInsurance();
         // 交强
+        BigDecimal sumPremium = BigDecimal.ZERO;
+        BigDecimal totalAmount = BigDecimal.ZERO;
         if (!ObjectUtils.isEmpty(quoteResultsVo.getCiRiskInfoVo())) {
             CompulsoryInsuranceDTO.ProductInfoDTO ciProductInfo = compulsoryInsurance.getProductInfo();
             quoteResultsVo.getCosts().setCiPremium(ciProductInfo.getPremium());
             quoteResultsVo.setCiPolicyNumber(ciProductInfo.getProposalNo());
             quoteResultsVo.getCosts().setVvTax(compulsoryInsurance.getCarShipTax().getTotalTax());
+            sumPremium = sumPremium.add(new BigDecimal(compulsoryInsurance.getCarShipTax().getTotalTax()).add(new BigDecimal(ciProductInfo.getPremium())));
+            totalAmount = totalAmount.add(new BigDecimal(ciProductInfo.getPremium()));
         }
 
         // 商业
@@ -135,8 +143,18 @@ public final class DaJiaCrawlerQuoteResultsVoBuild {
             BusinessInsuranceDTO.ProductInfoDTO biProductInfo = businessInsurance.getProductInfo();
             quoteResultsVo.getCosts().setBiPremium(biProductInfo.getPremium());
             quoteResultsVo.setBiPolicyNumber(biProductInfo.getProposalNo());
+            sumPremium = sumPremium.add(new BigDecimal(biProductInfo.getPremium()));
+            totalAmount = totalAmount.add(new BigDecimal(biProductInfo.getPremium()));
         }
-
+        if (StringUtils.isNotEmpty(daJiaCrawlerSaveResponse.getDriveInsurance().getProductInfo().getPremium())){
+            sumPremium = sumPremium.add(new BigDecimal(daJiaCrawlerSaveResponse.getDriveInsurance().getProductInfo().getPremium()));
+            totalAmount = totalAmount.add(new BigDecimal(daJiaCrawlerSaveResponse.getDriveInsurance().getProductInfo().getPremium()));
+        }
+        // 非车费用
+        String string = daJiaCrawlerSaveResponse.getDriveInsurance().getProductInfo().getPremium().equals("") ? "0.00" : daJiaCrawlerSaveResponse.getDriveInsurance().getProductInfo().getPremium();
+        quoteResultsVo.getCosts().setSumPremium(sumPremium.toString());
+        quoteResultsVo.getCosts().setTotalAmount(totalAmount.toString());
+        quoteResultsVo.getCosts().setNiPremium(string);
     }
 
     private static List<KindInfoVo> buildKindInfoVo(List<KindInfoVo> kindInfoVo, List<BusinessInsuranceDTO.ItemKindsDTO> itemKinds) {
@@ -164,13 +182,24 @@ public final class DaJiaCrawlerQuoteResultsVoBuild {
         if (!ObjectUtils.isEmpty(compulsoryInsurance)) {
             scoreVo.setJqLossRation(StringUtils.isNotEmpty(compulsoryInsurance.getCoefficientInfo().getLossRatioCi()) ? compulsoryInsurance.getCoefficientInfo().getLossRatioCi() : null);
             scoreVo.setCiClaims(String.valueOf(new BigDecimal(compulsoryInsurance.getCoefficientInfo().getLastPolicyNum()).intValue()));
-            scoreVo.setJqRenewal(compulsoryInsurance.getCoefficientInfo().getRenewalFrequency());
+            String renewalFrequency = compulsoryInsurance.getCoefficientInfo().getRenewalFrequency();
+            if (StringUtils.isNotEmpty(renewalFrequency) && Objects.equals(renewalFrequency, "0")){
+                scoreVo.setJqRenewal(String.valueOf(RenewalEnum.Transfer.getCode()));
+            }else {
+                scoreVo.setJqRenewal(String.valueOf(RenewalEnum.Renewal.getCode()));
+            }
+
         }
         boolean sy = CollectionUtil.isNotEmpty(businessInsurance.getItemKinds());
         if (sy) {
             scoreVo.setSyLossRation(StringUtils.isNotEmpty(businessInsurance.getCoefficientInfo().getLossRatioBi()) ? businessInsurance.getCoefficientInfo().getLossRatioBi() : null);
             scoreVo.setBiClaims(String.valueOf(new BigDecimal(businessInsurance.getCoefficientInfo().getLastPolicyNum()).intValue()));
-            scoreVo.setSyRenewal(businessInsurance.getCoefficientInfo().getRenewalFrequency());
+            String renewalFrequency = businessInsurance.getCoefficientInfo().getRenewalFrequency();
+            if (StringUtils.isNotEmpty(renewalFrequency) && Objects.equals(renewalFrequency, "0")){
+                scoreVo.setSyRenewal(String.valueOf(RenewalEnum.Transfer.getCode()));
+            }else {
+                scoreVo.setSyRenewal(String.valueOf(RenewalEnum.Renewal.getCode()));
+            }
         }
         // 总赔付率 违章评分 高速风险分
         String carIllegalScore;

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

@@ -202,7 +202,7 @@ public class DaJiaCrawlerRequestImpl implements DaJiaCrawlerRequest {
         // 4.1 持久化订单信息到本地数据库
         daJiaCrawlerOrderService.saveOrderInfo(quoteVo, daJiaCrawlerSaveResponse, daJiaCrawlerInitDataRequest.getBusinessNo());
         // 4.2 构建并返回报价结果
-        return DaJiaCrawlerQuoteResultsVoBuild.buildQuoteResultsVo(quoteVo.getOrder().getOrdersNo(), quoteVo, daJiaCrawlerSaveResponse);
+        return DaJiaCrawlerQuoteResultsVoBuild.buildQuoteResultsVo(quoteVo.getOrder().getOrdersNo(), quoteVo, daJiaCrawlerSaveResponse,daJiaCrawlerActualValueResponse);
     }