Explorar o código

平安添加保存报价系数,验证码以防后面使用

hxl13994548489 %!s(int64=2) %!d(string=hai) anos
pai
achega
4afaf74e68

+ 1 - 1
src/main/java/com/ydtech/modules/order/entity/api/pingan/request/QuoteRequest.java

@@ -833,7 +833,7 @@ public class QuoteRequest extends PingAnBaseRequest {
     }
 
     //todo
-    public QuoteRequest(PingAnConfigureParameters parameters, BaseQuoteInfoVo quoteInfo,String flowid,String accommodationFlag,List<Amount22XNYChargingPostListDTO> amount22XNYChargingPostList, List<Amount23XNYChargingPostListDTO> amount23XNYChargingPostList,Map<String,Object> jymap) {
+    public QuoteRequest(PingAnConfigureParameters parameters, BaseQuoteInfoVo quoteInfo,String flowid,String accommodationFlag,List<Amount22XNYChargingPostListDTO> amount22XNYChargingPostList, List<Amount23XNYChargingPostListDTO> amount23XNYChargingPostList,Map<String,Object> jymap,String ratioFactorF78) {
         this.setUserId(parameters.getUserId());
         this.setFlowid(flowid);
         InsOrders insOrders = new InsOrders();

+ 123 - 0
src/main/java/com/ydtech/modules/order/entity/po/PinganRecord.java

@@ -3,6 +3,7 @@ package com.ydtech.modules.order.entity.po;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.ydtech.modules.order.entity.api.pingan.response.QuoteResponse;
 import lombok.Data;
 
 import java.io.Serializable;
@@ -57,6 +58,94 @@ public class PinganRecord implements Serializable {
      */
     private Date createTime;
 
+
+    /**
+     * C	交强险 续保评分
+     */
+    private String renewalRate;
+
+    /**
+     * 	C	交强险出险次数
+     */
+    private String claimNumber;
+
+    /**
+     *   C	交强险 商用车手续费或者经纪费比例
+     */
+    private String commissionBrokerFee;
+
+    /**
+     * 	C	交强险投保查询码
+     */
+    private String queryRequestCode;
+
+    /**
+     * 	C	交强险转保业务投保查询校验码
+     * 	    {applyCheckCode}替换为接口返回内容
+     *             <img src="data:image/png;base64,{applyCheckCode}"/>
+     */
+    private String applyCheckCode;
+
+    /**
+     * C	商业险出险次数	0,20费改后不使用
+     */
+    private String bizClaimNumber;
+
+    /**
+     * 	C	商业险评分	60
+     */
+    private String bizCentile;
+    /**
+     *   	C	续保评分
+     */
+    private String bizRenewalRate;
+    /**
+     *  	C
+     *     深圳	商业险报案次数
+     */
+    private String riskWarningCount;
+
+    /**
+     *  		C	连续承保年数(车险综合改革后新增)
+     */
+    private String insureYears;
+
+    /**
+     *  	 	C	连续承保期间出险次数(车险综合改革后新增)
+     */
+    private String claimTimes;
+
+    /**
+     *  		C	无赔优系数级别(车险综合改革后新增)
+     */
+    private String claimAdjustLevel;
+    /**
+     *  		 	C	商业险投保查询码	V0101PAIC220017001491469432502
+     */
+    private String bizQueryRequestCode;
+    /**
+     *  	            {applyCheckCode}替换为接口返回内容
+     *             <img src="data:image/png;base64,{applyCheckCode}"/>
+     */
+    private String bizApplyCheckCode;
+    /***
+     * C	推荐自主定价系数(通融场景)
+     *     费计算失败,满足是平安报价规则控制导致的失败且非决策树规则拦截时返回
+     */
+    private String recommendRatioFactorF78;
+
+    /**
+     * C	推荐折扣(通融场景)费计算失败,满足是平安报价规则控制导致的失败且非决策树规则拦截时返回
+     */
+    private String  recommendDiscount;
+    /***
+      C	推荐手续费(通融场景)
+      费计算失败,满足是平安报价规则控制导致的失败且非决策树规则拦截时返回
+     */
+    private String  recommendCommissionBrokerFee;
+
+
+
     @TableField(exist = false)
     private static final long serialVersionUID = 1L;
 
@@ -128,4 +217,38 @@ public class PinganRecord implements Serializable {
         this.comPremium = comPremium;
         this.createTime = createTime;
     }
+
+
+    public void setEntity(QuoteResponse quoteResponse) {
+
+        QuoteResponse.ForceQuoteResultDTO forceQuoteResult = quoteResponse.getForceQuoteResult();
+        QuoteResponse.BizQuoteResultDTO bizQuoteResult = quoteResponse.getBizQuoteResult();
+
+        if(forceQuoteResult!=null){
+            this.setRenewalRate(forceQuoteResult.getRenewalRate());
+            this.setClaimNumber(forceQuoteResult.getClaimNumber());
+            this.setCommissionBrokerFee(forceQuoteResult.getCommissionBrokerFee());
+            this.setQueryRequestCode(forceQuoteResult.getQueryRequestCode());
+            this.setApplyCheckCode(forceQuoteResult.getApplyCheckCode());
+        }
+
+        if(bizQuoteResult!=null){
+            this.setBizClaimNumber(bizQuoteResult.getClaimNumber());
+            this.setBizCentile(bizQuoteResult.getCentile());
+            this.setBizRenewalRate(bizQuoteResult.getRenewalRate());
+            this.setRiskWarningCount(bizQuoteResult.getRiskWarningCount());
+            this.setInsureYears(bizQuoteResult.getInsureYears());
+            this.setClaimTimes(bizQuoteResult.getClaimTimes());
+            this.setClaimAdjustLevel(bizQuoteResult.getClaimAdjustLevel());
+            this.setBizQueryRequestCode(bizQuoteResult.getQueryRequestCode());
+            this.setBizApplyCheckCode(bizQuoteResult.getApplyCheckCode());
+        }
+
+
+        this.setRecommendRatioFactorF78(quoteResponse.getRecommendRatioFactorF78());
+        this.setRecommendDiscount(quoteResponse.getRecommendDiscount());
+        this.setRecommendCommissionBrokerFee(quoteResponse.getRecommendCommissionBrokerFee());
+
+
+    }
 }

+ 3 - 0
src/main/java/com/ydtech/modules/order/entity/vo/pingan/PingAnQuoteVo.java

@@ -17,6 +17,9 @@ public class PingAnQuoteVo<T> extends BaseQuoteVo<T> {
     //add by hxl  2024-04-03
     private String accommodationFlag;
 
+    @ApiModelProperty("自主定价系数")
+    private String  ratioFactorF78;
+
     @ApiModelProperty("是否投保财意险")
     //add by hxl  2024-04-03
     private String applyUnAuto;

+ 7 - 2
src/main/java/com/ydtech/modules/order/service/impl/PingAnOrderApiServiceImpl.java

@@ -313,7 +313,7 @@ public class PingAnOrderApiServiceImpl implements PingAnOrderApiService {
             }
             //4.报价  使用车辆确认返回的流程id
             pinganApiLog.setId(null);
-            QuoteRequest quoteRequest = new QuoteRequest(parameters, quoteInfo,carConfirmResponse.getFlowid(), quoteVo.getAccommodationFlag(), quoteVo.getAmount22XNYChargingPostList(), quoteVo.getAmount23XNYChargingPostList(),quoteVo.getAccidentalDrivingVo());
+            QuoteRequest quoteRequest = new QuoteRequest(parameters, quoteInfo,carConfirmResponse.getFlowid(), quoteVo.getAccommodationFlag(), quoteVo.getAmount22XNYChargingPostList(), quoteVo.getAmount23XNYChargingPostList(),quoteVo.getAccidentalDrivingVo(),quoteVo.getRatioFactorF78());
 
             quoteRequest = PingAnQuoteRequestAnnotationParser.processAnnotationsQuoteRequest(quoteRequest, quoteInfo.getKindList(), carConfirmResponse.getBizQuoteConfig(), flag);
             QuoteResponse quoteResponse = null;
@@ -563,7 +563,12 @@ public class PingAnOrderApiServiceImpl implements PingAnOrderApiService {
         PinganRecord pingAnRecord= new PinganRecord(insAreaCompany.getId(), new BigDecimal(quoteRespVo.getAhsUpcTotalPremium()), new BigDecimal(quoteRespVo.getCyPremium()),
                 new BigDecimal(quoteRespVo.getCcPremium()), new BigDecimal(quoteRespVo.getXwPremium()),
                 new BigDecimal(quoteRespVo.getZhPremium()), new Date());
-         //插入費用关联表
+        //添加商业信息
+        QuoteResponse.BizQuoteResultDTO bizQuoteResult = response.getBizQuoteResult();
+        //添加交强信息
+        QuoteResponse.ForceQuoteResultDTO forceQuoteResult = response.getForceQuoteResult();
+        pingAnRecord.setEntity(response);
+        //插入費用关联表
         pinganRecordService.save(pingAnRecord);
         quoteRespVo.setCompanyId(insAreaCompany.getId());
         return HttpResult.ok("报价成功", quoteRespVo);