Selaa lähdekoodia

增加交强商业评分赔付率

wks 2 vuotta sitten
vanhempi
commit
5dad67f107

+ 20 - 2
src/main/java/com/ydtech/modules/ins/model/vo/QuoteRespVo.java

@@ -26,8 +26,6 @@ public class QuoteRespVo {
     @ApiModelProperty("车船税")
     private double taxAmount;
 
-    @ApiModelProperty("评分")
-    private String iLogPreUdwMess;
 
     @ApiModelProperty("提示信息")
     private String tips;
@@ -45,10 +43,13 @@ public class QuoteRespVo {
     //add 交强商业开始结束起保日期 lig 2023-09-12
     @ApiModelProperty("开始起保日期交强")
     private String startDateJq;
+
     @ApiModelProperty("结束起保日期交强")
     private String endDateJq;
+
     @ApiModelProperty("开始起保日期交强")
     private String startDateSy;
+
     @ApiModelProperty("结束起保日期交强")
     private String endDateSy;
 
@@ -100,6 +101,23 @@ public class QuoteRespVo {
     @ApiModelProperty("商业投保单号")
     private String syApplyNo;
 
+    @ApiModelProperty("评分")
+    private String iLogPreUdwMess;
+
+    @ApiModelProperty("交强类型评分")
+    private String jqScore;
+
+    @ApiModelProperty("商业类型评分")
+    private String syScore;
+
+    @ApiModelProperty("总赔付率")
+    private double lossRation;
+
+    @ApiModelProperty("交强赔付率")
+    private double jqLossRation;
+
+    @ApiModelProperty("商业赔付率")
+    private double syLossRation;
 
     public List<AccidentResponseVo> getAccidentInfo() {
         return accident == null ? Collections.emptyList() : accident;

+ 38 - 1
src/main/java/com/ydtech/modules/order/entity/InsAreaCompany.java

@@ -52,6 +52,7 @@ public class InsAreaCompany implements Serializable {
     private Integer apiType;
     /**
      * 订单状态
+     *
      * @see com.ydtech.constants.enums.dict.InsOrderStatusEnum
      */
     @TableField(value = "orderstatus")
@@ -277,6 +278,35 @@ public class InsAreaCompany implements Serializable {
     @TableField(value = "score")
     private String score;
 
+    /**
+     * 交强类型评分
+     */
+    @TableField(value = "jq_score")
+    private String jqScore;
+
+    /**
+     * 商业类型评分
+     */
+    @TableField(value = "sy_score")
+    private String syScore;
+
+    /**
+     * 总赔付率
+     */
+    @TableField(value = "loss_ration")
+    private double lossRation;
+    /**
+     * 交强赔付率
+     */
+    @TableField(value = "jq_loss_ration")
+    private double jqLossRation;
+
+    /**
+     * 商业赔付率
+     */
+    @TableField(value = "sy_loss_ration")
+    private double syLossRation;
+
     /**
      * 业务员
      */
@@ -309,14 +339,21 @@ public class InsAreaCompany implements Serializable {
         this.kindinfo = JSON.parseArray(JSON.toJSONString(quoteRespVo.getKindList()));
         this.orderstatus = InsOrderStatusEnum.QUOTE_ING.getCode();
 
-        this.jqStartDate =  quoteRespVo.getStartDateJq();
+        this.jqStartDate = quoteRespVo.getStartDateJq();
         this.jqEndDate = quoteRespVo.getEndDateJq();
 
         this.syStartDate = quoteRespVo.getStartDateSy();
         this.syEndDate = quoteRespVo.getEndDateSy();
 
         this.accidentStrInfo = quoteRespVo.getAccidentInfoStr();
+        // 评分
         this.score = quoteRespVo.getILogPreUdwMess();
+        this.jqScore = quoteRespVo.getJqScore();
+        this.syScore = quoteRespVo.getSyScore();
+        // 赔付率
+        this.lossRation = quoteRespVo.getLossRation();
+        this.jqLossRation = quoteRespVo.getJqLossRation();
+        this.syLossRation = quoteRespVo.getSyLossRation();
 
     }
 

+ 12 - 9
src/main/java/com/ydtech/modules/order/entity/api/huatai/request/HuaTaiSubmitRequest.java

@@ -20,8 +20,6 @@ import lombok.NoArgsConstructor;
 import org.apache.commons.lang3.StringUtils;
 
 import java.io.Serializable;
-import java.time.LocalDate;
-import java.time.format.DateTimeFormatter;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
@@ -75,12 +73,16 @@ public class HuaTaiSubmitRequest extends HuaTaiBaseRequest {
                                HuaTaiConfigureParameters huaTaiConfigureParameters, List<InsHuataiContributingVo> engageList) {
             List<RiskInfoVo> riskList = yaQuoteInfoVo.getRiskList();
             CustomerInfoVo ownerInfo = yaQuoteInfoVo.getOwnerInfo();
+            // 车主名称
+            String name = ownerInfo.getName();
+
             CustomerInfoVo policyHolderInfo = yaQuoteInfoVo.getPolicyHolderInfo();
             CustomerInfoVo insuredPersonInfo = yaQuoteInfoVo.getInsuredPersonInfo();
             // 保单归属地
             this.businessMain = new BusinessMainDto(huaTaiConfigureParameters);
+
             // 保险信息
-            this.contract = new ContractDto().getContract(riskList, insAreaCompany, huaTaiConfigureParameters, engageList);
+            this.contract = new ContractDto().getContract(riskList, insAreaCompany, engageList, name);
             // 客户信息
             this.customer = new CustomerDto().getCustomers(ownerInfo, policyHolderInfo, insuredPersonInfo, huaTaiConfigureParameters);
             //销售信息
@@ -125,27 +127,28 @@ public class HuaTaiSubmitRequest extends HuaTaiBaseRequest {
         private List<EngageDto> engage;
 
         public List<ContractDto> getContract(List<RiskInfoVo> riskInfoVos, InsAreaCompany insAreaCompany,
-                                             HuaTaiConfigureParameters huaTaiConfigureParameters,
-                                             List<InsHuataiContributingVo> engageList) {
+                                             List<InsHuataiContributingVo> engageList, String name) {
             String querySequenceNos[] = insAreaCompany.getInsOrderNo().split("-");
             String jqQuerySequenceNo = querySequenceNos[0].trim();
             String syQuerySequenceNo = querySequenceNos[1].trim();
             List<ContractDto> contractDTOS = new ArrayList<>();
             for (RiskInfoVo riskInfoVo : riskInfoVos) {
                 ContractDto contractDto = new ContractDto();
-                this.contractMain = new ContractMainDto(riskInfoVo, insAreaCompany, huaTaiConfigureParameters);
+                this.contractMain = new ContractMainDto(riskInfoVo, insAreaCompany);
                 if (InsuranceRisk.TRAFFIC.getCode().equals(riskInfoVo.getRiskCode())) {
                     this.platFormMessage = new PlatFormMessage(jqQuerySequenceNo);
+                    InsHuataiContributingVo ownerContributing = InsHuataiContributingVo.getOwnerContributing(name);
+                    engageList.add(ownerContributing);
                 }
 
                 if (InsuranceRisk.BUSINESS.getCode().equals(riskInfoVo.getRiskCode())) {
                     this.platFormMessage = new PlatFormMessage(syQuerySequenceNo);
                 }
+
                 List<InsHuataiContributingVo> insHuataiContributingVos =
                         engageList.stream().filter(x -> x.getRiskCode().equals(riskInfoVo.getRiskCode())).collect(Collectors.toList());
 
                 this.engage = new EngageDto().getEngageList(insHuataiContributingVos);
-
                 contractDto.setEngage(engage);
                 contractDto.setContractMain(contractMain);
                 contractDto.setPlatFormMessage(platFormMessage);
@@ -180,13 +183,13 @@ public class HuaTaiSubmitRequest extends HuaTaiBaseRequest {
         @JSONField(name = "remark")
         private String remark;
 
-        public ContractMainDto(RiskInfoVo riskInfoVo, InsAreaCompany insAreaCompany, HuaTaiConfigureParameters huaTaiConfigureParameters) {
+        public ContractMainDto(RiskInfoVo riskInfoVo, InsAreaCompany insAreaCompany) {
             if (InsuranceRisk.TRAFFIC.getCode().equals(riskInfoVo.getRiskCode())) {
                 this.contractNo = insAreaCompany.getJqapplyno();
                 this.totalPremium = insAreaCompany.getJqpremium().doubleValue();
                 this.validDate = insAreaCompany.getJqStartDate();
                 this.expiryDate = insAreaCompany.getJqEndDate();
-            } else if(InsuranceRisk.BUSINESS.getCode().equals(riskInfoVo.getRiskCode())) {
+            } else if (InsuranceRisk.BUSINESS.getCode().equals(riskInfoVo.getRiskCode())) {
                 this.contractNo = insAreaCompany.getSyapplyno();
                 this.totalPremium = insAreaCompany.getSypremium().doubleValue();
                 this.validDate = insAreaCompany.getSyStartDate();

+ 12 - 0
src/main/java/com/ydtech/modules/order/entity/vo/huatai/InsHuataiContributingVo.java

@@ -4,12 +4,15 @@ import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import java.io.Serial;
 import java.io.Serializable;
 
 @Data
 @ApiModel("华泰特约实体")
 public class InsHuataiContributingVo implements Serializable {
 
+    private static final long serialVersionUID = 7155540538110160648L;
+
     @ApiModelProperty("险种代码")
     private String riskCode;
 
@@ -22,4 +25,13 @@ public class InsHuataiContributingVo implements Serializable {
     @ApiModelProperty("特约内容")
     private String engageDetail;
 
+    public static InsHuataiContributingVo getOwnerContributing(String owner) {
+        InsHuataiContributingVo insHuataiContributingVo = new InsHuataiContributingVo();
+        insHuataiContributingVo.setRiskCode("0507");
+        insHuataiContributingVo.setEngageCode("T0028");
+        insHuataiContributingVo.setEngageTitle("车主约定(1002)");
+        insHuataiContributingVo.setEngageDetail("本保单行驶证车主为:" + owner);
+        return insHuataiContributingVo;
+    }
+
 }