Browse Source

诚泰报价优化

dongxin 1 year ago
parent
commit
fcea9d2d5a

+ 3 - 0
authentication/src/main/java/com/jzg/handler/JzgAuthenticationSuccessHandler.java

@@ -74,6 +74,9 @@ public class JzgAuthenticationSuccessHandler implements AuthenticationSuccessHan
         json.put("code",200);
         json.put("msg","login success");
         json.put("data",data);
+//        json.put("code",200);
+//        json.put("msg","login success");
+//        json.put("data",token);
         // 将 Token 返回给前端
         response.getWriter().write(json.toJSONString());
 

+ 64 - 13
tenant/insurance/quotation-chengtai/src/main/java/com/jzg/quotation/chengtai/api/build/ChengTaiAPIQuoteResultsVoBuild.java

@@ -1,6 +1,7 @@
 package com.jzg.quotation.chengtai.api.build;
 
 import com.jzg.commons.constants.dict.InsOrderStatusEnum;
+import com.jzg.commons.entity.quote.vo.TaxInfoVo;
 import com.jzg.quotation.chengtai.api.entity.constants.ResponseCode;
 import com.jzg.quotation.chengtai.api.entity.response.InsurePremiumResponse;
 import com.jzg.quotation.commons.constant.enums.quote.KindCode;
@@ -9,6 +10,7 @@ import com.jzg.quotation.commons.entity.vo.aggregated.QuoteVo;
 import com.jzg.commons.entity.quote.vo.KindInfoVo;
 import com.jzg.commons.entity.quote.vo.RiskInfoVo;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 import java.util.Objects;
@@ -25,30 +27,40 @@ public final class ChengTaiAPIQuoteResultsVoBuild {
         throw new IllegalStateException("Utility class");
     }
 
-    public static QuoteResultsVo buildQuoteResultsVo(QuoteVo quoteVo, InsurePremiumResponse insurePremiumResponse) {
+    public static QuoteResultsVo buildQuoteResultsVo(String ordersNo, QuoteVo quoteVo, InsurePremiumResponse insurePremiumResponse) {
 
 
         QuoteResultsVo quoteResultsVo = new QuoteResultsVo();
         quoteResultsVo.setOrdersNo(insurePremiumResponse.getOrderId());
         // 交强险
-        quoteResultsVo.setCiRiskInfoVo(new RiskInfoVo());
+        quoteResultsVo.setCiRiskInfoVo(quoteVo.getCiRiskInfoVo());
         // 商业险
-        quoteResultsVo.setBiRiskInfoVo(new RiskInfoVo());
+        quoteResultsVo.setBiRiskInfoVo(quoteVo.getBiRiskInfoVo());
+        quoteResultsVo.setQuoteStatusEnum(InsOrderStatusEnum.WAIT_AUDIT);
+
+        if(!ResponseCode.R_000.getCode().equals(insurePremiumResponse.getCode())){
+            quoteResultsVo.setQuoteStatusEnum(InsOrderStatusEnum.QUOTE_FAIL);
+            quoteResultsVo.setErrorMessage(insurePremiumResponse.getMessage());
+            return quoteResultsVo;
+        }
+
+        // 交强保费 车船税 商业保费
+        buildPremium(quoteResultsVo, insurePremiumResponse);
+        quoteResultsVo.setCompanyOrderNo(insurePremiumResponse.getOrderId());
+        quoteResultsVo.setOrdersNo(ordersNo);
         // 商业险险种信息
         if(Objects.nonNull(insurePremiumResponse.getBiContract())){
             List<KindInfoVo> kindInfoVo = buildKindInfoVo(quoteVo.getKindInfoVo(), insurePremiumResponse.getBiContract().getCoverage());
             quoteResultsVo.setKindInfoVo(kindInfoVo);
         }
-        quoteResultsVo.setQuoteStatusEnum(InsOrderStatusEnum.WAIT_AUDIT);
+
+
         // 费用因子
 //        List<ExpenseFactor> expenseFactors = buildExpenseFactor(calculatePremiumResponse.getPriceInfoList());
 //        quoteResultsVo.setExpenseFactors(expenseFactors);
-        // 交强保费 车船税 商业保费
-        if(!ResponseCode.R_000.getCode().equals(insurePremiumResponse.getCode())){
-            quoteResultsVo.setQuoteStatusEnum(InsOrderStatusEnum.QUOTE_FAIL);
-            quoteResultsVo.setErrorMessage(insurePremiumResponse.getMessage());
-        }
-        buildPremium(quoteResultsVo, insurePremiumResponse);
+
+
+
         return quoteResultsVo;
     }
 
@@ -77,19 +89,58 @@ public final class ChengTaiAPIQuoteResultsVoBuild {
 
     private static void buildPremium(QuoteResultsVo quoteResultsVo, InsurePremiumResponse insurePremiumResponse) {
 
+        QuoteResultsVo.CostsVo costsVo = new QuoteResultsVo.CostsVo();
+
+        double jqPremium = 0;
+        double syPremium = 0;
+        double jyPremium = 0;
+        double sumTax = 0;
         // 交强
         if(Objects.nonNull(insurePremiumResponse.getCiContract())){
             InsurePremiumResponse.CiContractDTO.ContractMainDTO ciContractMain = insurePremiumResponse.getCiContract().getContractMain();
-            quoteResultsVo.setCiPremium(ciContractMain.getTotalPremium() + "");
+            jqPremium = ciContractMain.getTotalPremium();
+            costsVo.setCiPremium( jqPremium+ "");
             //车船税
             InsurePremiumResponse.CiContractDTO.TaxDTO taxDTO = insurePremiumResponse.getCiContract().getTax();
-            quoteResultsVo.setVvTax(taxDTO.getSumTax() + "");
+            sumTax = taxDTO.getSumTax();
+            costsVo.setVvTax(sumTax + "");
+
+            //起保日期
+            quoteResultsVo.setCiStartDate(ciContractMain.getValidDate());
+            quoteResultsVo.setCiEndDate(ciContractMain.getExpiryDate());
+
+            //欠税信息
+            if (null != insurePremiumResponse.getCiContract().getTax()) {
+                InsurePremiumResponse.CiContractDTO.TaxDTO tax = insurePremiumResponse.getCiContract().getTax();
+                List<TaxInfoVo> taxArrearsList = new ArrayList<>();
+                TaxInfoVo taxArrear = new TaxInfoVo();
+
+                taxArrear.setYears(tax.getLastPaidYear());
+                taxArrear.setTaxDefault(tax.getAnnualTaxDue());
+                taxArrear.setLateFee(tax.getSumOverdue());
+                taxArrearsList.add(taxArrear);
+                quoteResultsVo.setTaxVo(taxArrearsList);
+            }
         }
         //商业
         if(Objects.nonNull(insurePremiumResponse.getBiContract())){
             InsurePremiumResponse.BiContractDTO.ContractMainDTO biContractMain = insurePremiumResponse.getBiContract().getContractMain();
-            quoteResultsVo.setBiPremium(biContractMain.getTotalPremium()+"");
+            syPremium = biContractMain.getTotalPremium();
+            costsVo.setBiPremium(syPremium+"");
+
+            //起保日期
+            quoteResultsVo.setBiStartDate(biContractMain.getValidDate());
+            quoteResultsVo.setBiEndDate(biContractMain.getExpiryDate());
+        }
+        // 驾意
+        if(Objects.nonNull(insurePremiumResponse.getAccContract())){
+            InsurePremiumResponse.AccContractDTO accContract = insurePremiumResponse.getAccContract();
+            jyPremium = accContract.getContractMain().getTotalPremium();
+            costsVo.setNiPremium(syPremium+"");
         }
+        costsVo.setSumPremium(String.valueOf(jqPremium + syPremium + jyPremium + sumTax));
+
+        quoteResultsVo.setCosts(costsVo);
     }
 
 }

+ 1 - 1
tenant/insurance/quotation-chengtai/src/main/java/com/jzg/quotation/chengtai/api/service/impl/ChengTaiApiRequestImpl.java

@@ -89,7 +89,7 @@ public class ChengTaiApiRequestImpl implements ChengTaiApiRequest {
 
         chengTaiCrawlerOrderService.saveOrderInfo(quoteVo,insurePremiumResponse);
 
-        return ChengTaiAPIQuoteResultsVoBuild.buildQuoteResultsVo(quoteVo, insurePremiumResponse);
+        return ChengTaiAPIQuoteResultsVoBuild.buildQuoteResultsVo(order.getOrdersNo(), quoteVo, insurePremiumResponse);
     }
 
     /**

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

@@ -72,10 +72,10 @@ public final class HbCrawlerQuoteResultVoBuild {
         //商业险数据
         HbCrawlerProposalResponse.BusiCarInsureRiskDTO busiCarInsureRisk = proposalResponse.getBusiCarInsureRisk();
         HbCrawlerProposalResponse.CarInsureShiptaxDTO carInsureShiptax = proposalResponse.getCarInsureShiptax();
-        quoteResultsVo.setBiPremium(busiCarInsureRisk.getSumPremium());
-        quoteResultsVo.setCiPremium(forceCarInsureRisk.getSumPremium());
-        quoteResultsVo.setVvTax(carInsureShiptax.getSumtax());
+        quoteResultsVo.getCosts().setBiPremium(busiCarInsureRisk.getSumPremium());
+        quoteResultsVo.getCosts().setCiPremium(forceCarInsureRisk.getSumPremium());
+        quoteResultsVo.getCosts().setVvTax(carInsureShiptax.getSumtax());
         //设置非车保费
-        quoteResultsVo.setNiPremium(proposalResponse.getAccidentTotalPremium());
+        quoteResultsVo.getCosts().setNiPremium(proposalResponse.getAccidentTotalPremium());
     }
 }

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

@@ -235,11 +235,12 @@ public class HengBangCrawlerRequestImpl implements HengBangCrawlerRequest {
      * 恒邦订单状态代码:待提核:-1;审核通过:1,3,5;下发修改:2;拒保:4;承保确认:6;初始状态:0
      */
     @Override
-    public void queryOrderState(OrderStatusVo orderStatusVo) {
+    public OrderStatusResultVo queryOrderState(OrderStatusVo orderStatusVo) {
         AttributionInformationVo attributionInformationVo = orderStatusVo.getOrder().getAttributionInformationVo();
         HttpHeaders headers = hbCrawlerRequestComponent.getHeaders(attributionInformationVo.getUsername(), attributionInformationVo.getPassword());
         HengBangCrawlerConfigureParameters parameters = ConfigureParametersConversion.conversionEntity(HengBangCrawlerConfigureParameters.class, attributionInformationVo.getConfigInfo());
 
         HbCrawlerOrderStateResponse orderStateResponse = hbCrawlerRequestComponent.orderState(parameters.getLicenseNo(), parameters.getAppTime(), attributionInformationVo.getUsername(), headers);
+        return null;
     }
 }

+ 4 - 4
tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/build/TaiPingCrawlerQuoteResultsVoBuild.java

@@ -42,14 +42,14 @@ public class TaiPingCrawlerQuoteResultsVoBuild {
                                        TaiPingCrawlerPremiumCalculateData.PfCarShipTaxDTO pfCarShipTax,
                                        QuoteResultsVo quoteResultsVo
     ) {
-        quoteResultsVo.setCiPremium("");
-        quoteResultsVo.setBiPremium("");
-        quoteResultsVo.setNiPremium("");
+        quoteResultsVo.getCosts().setCiPremium("");
+        quoteResultsVo.getCosts().setBiPremium("");
+        quoteResultsVo.getCosts().setNiPremium("");
 
         quoteResultsVo.setCiPolicyNumber("");
         quoteResultsVo.setBiPolicyNumber("");
 
-        quoteResultsVo.setVvTax("");
+        quoteResultsVo.getCosts().setVvTax("");
     }
 
     private static List<KindInfoVo> buildKindInfoVo(List<TaiPingCrawlerPremiumCalculateData.PfItemKindDto0802ListDTO> pfItemKindDto0802List, List<KindInfoVo> kindInfoVo) {

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

@@ -116,10 +116,10 @@ public class TaipingCrawlerRequestImpl implements TaipingCrawlerRequest {
     }
 
     @Override
-    public void queryOrderState(OrderStatusVo orderStatusVo) {
+    public OrderStatusResultVo queryOrderState(OrderStatusVo orderStatusVo) {
         HttpHeaders httpHeaders = taiPingCrawlerRequestComponent.getHeaders();
         TaiPingCrawlerQueryListData.RecordsDTO recordsDTO = taiPingCrawlerRequestComponent.queryList(new TaiPingCrawlerQueryListRequest(), httpHeaders);
-
+        return null;
     }
 
 }

+ 5 - 5
tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/api/build/ZiJinAPIQuoteResultsVoBuild.java

@@ -32,9 +32,9 @@ public final class ZiJinAPIQuoteResultsVoBuild {
         QuoteResultsVo quoteResultsVo = new QuoteResultsVo();
         quoteResultsVo.setOrdersNo(orderNo);
 
-        quoteResultsVo.setQuoteStatus(InsOrderStatusEnum.WAIT_AUDIT);
+        quoteResultsVo.setQuoteStatus(InsOrderStatusEnum.WAIT_AUDIT.getCode());
         if(!calculatePremiumResponse.getRtnCode().equals(ResultEnum.C_0000)){
-            quoteResultsVo.setQuoteStatus(InsOrderStatusEnum.QUOTE_FAIL);
+            quoteResultsVo.setQuoteStatus(InsOrderStatusEnum.QUOTE_FAIL.getCode());
             quoteResultsVo.setErrorMessage(calculatePremiumResponse.getRtnMsg());
             return quoteResultsVo;
         }
@@ -81,9 +81,9 @@ public final class ZiJinAPIQuoteResultsVoBuild {
         Map<String, String> planMap = planList
                 .stream()
                 .collect(Collectors.toMap(CalculatePremiumResponse.PlanListDTO::getRiskCode, CalculatePremiumResponse.PlanListDTO::getPlanDate));
-        quoteResultsVo.setCiPremium(planMap.get(RiskCodeEnum.TRAFFIC_CODE));
-        quoteResultsVo.setBiPremium(planMap.get(RiskCodeEnum.BUSINESS_CODE));
-        quoteResultsVo.setVvTax(planMap.get(RiskCodeEnum.ACCIDENT_CODE));
+        quoteResultsVo.getCosts().setCiPremium(planMap.get(RiskCodeEnum.TRAFFIC_CODE));
+        quoteResultsVo.getCosts().setBiPremium(planMap.get(RiskCodeEnum.BUSINESS_CODE));
+        quoteResultsVo.getCosts().setVvTax(planMap.get(RiskCodeEnum.ACCIDENT_CODE));
     }
 
 

+ 2 - 2
tenant/insurance/quotation-zijin/src/main/java/com/jzg/quotation/zijin/api/service/Impl/ZiJinApiRequestImpl.java

@@ -180,7 +180,7 @@ public class ZiJinApiRequestImpl implements ZiJinApiRequest {
     }
 
     @Override
-    public void queryOrderState(OrderStatusVo orderStatusVo) {
-
+    public OrderStatusResultVo queryOrderState(OrderStatusVo orderStatusVo) {
+        return null;
     }
 }