Kaynağa Gözat

Merge remote-tracking branch 'origin/test' into test

Qchen 4 ay önce
ebeveyn
işleme
e912364651

+ 41 - 0
src/main/java/com/ydtech/modules/ins/model/guoren/RenewalReq.java

@@ -0,0 +1,41 @@
+package com.ydtech.modules.ins.model.guoren;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.ydtech.constants.enums.InsuranceRisk;
+import com.ydtech.modules.ins.model.vo.CarInfoVo;
+import com.ydtech.modules.ins.model.vo.CustomerInfoVo;
+import com.ydtech.modules.order.entity.vo.BaseQuoteInfoVo;
+import com.ydtech.modules.order.entity.vo.guoren.GuoRenSpecialAgreementVo;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * 续保查询 入参
+ */
+@NoArgsConstructor
+@Data
+public class RenewalReq {
+
+
+    @JsonProperty(value = "frameNo")
+    @JSONField(name = "frameNo")
+    private String frameNo;
+
+    @JsonProperty(value = "licenseNo")
+    @JSONField(name = "licenseNo")
+    private String licenseNo;
+
+    @JsonIgnore
+    public static RenewalReq buildParam(BaseQuoteInfoVo yaQuoteInfoVo) {
+        RenewalReq req = new RenewalReq();
+        req.frameNo = yaQuoteInfoVo.getCarInfo().getFrameNo();
+        req.licenseNo = yaQuoteInfoVo.getCarInfo().getLicenseNo();
+        return req;
+    }
+
+}

+ 54 - 0
src/main/java/com/ydtech/modules/ins/model/guoren/RenewalResp.java

@@ -0,0 +1,54 @@
+package com.ydtech.modules.ins.model.guoren;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+
+/**
+ * 续保 出参
+ */
+@Data
+public class RenewalResp {
+
+
+    @JsonProperty(value = "resultCode")
+    @JSONField(name = "resultCode")
+    private Integer resultCode;
+
+    @JsonProperty(value = "resultMsg")
+    @JSONField(name = "resultMsg")
+    private String resultMsg;
+
+    @JsonProperty(value = "data")
+    @JSONField(name = "data")
+    private DataDTO data;
+
+    @NoArgsConstructor
+    @Data
+    public static class DataDTO {
+
+        @JsonProperty(value = "flag")
+        @JSONField(name = "flag")
+        private String flag;
+
+        @JsonProperty(value = "biRenw")
+        @JSONField(name = "biRenw")
+        private String biRenw;
+
+        @JsonProperty(value = "ciRenw")
+        @JSONField(name = "ciRenw")
+        private String ciRenw;
+    }
+
+
+    public RenewalResp(){
+        if(data == null){
+            data = new DataDTO();
+            data.biRenw = "0";
+            data.ciRenw = "0";
+        }
+    }
+}

+ 8 - 0
src/main/java/com/ydtech/modules/order/components/gouren/GuorenRequestApiComponent.java

@@ -114,6 +114,14 @@ public class GuorenRequestApiComponent {
         return request(req, PlatformInterfaceCode.API_IIRBT00006, InsuranceSlipResp.class);
     }
 
+    /**
+     * 续保查询
+     */
+    public RenewalResp renewal(BaseQuoteInfoVo yaQuoteInfoVo){
+        RenewalReq req = RenewalReq.buildParam(yaQuoteInfoVo);
+        return request(req, PlatformInterfaceCode.API_IIRBT00088, RenewalResp.class);
+    }
+
 
     /**
      * 提交核保

+ 3 - 1
src/main/java/com/ydtech/modules/order/entity/api/guoren/constants/PlatformInterfaceCode.java

@@ -43,7 +43,9 @@ public enum PlatformInterfaceCode {
 
     API_IIIRBT00054("IIIRBT00054", "创建非车订单"),
 
-    API_IIRBT00089("IIRBT00089", "获取非车电子保单下载链接");
+    API_IIRBT00089("IIRBT00089", "获取非车电子保单下载链接"),
+
+    API_IIRBT00088("IIRBT00088","续保查询");
 
     private final String code;
 

+ 10 - 2
src/main/java/com/ydtech/modules/order/service/impl/GuorenOrderApiServiceImpl.java

@@ -263,6 +263,9 @@ public class GuorenOrderApiServiceImpl implements GuorenOrderApiService {
         CarPriceResp.DataDTO carPriceResult = carPriceQuery(yaQuoteInfoVo, vinQ, channelInfo);
         AssertionUtils.isEmpty(carPriceResult, "车价获取失败");
 
+        // 2.1 查询是否续保车
+        RenewalResp renewalResp = guorenRequestApiComponent.renewal(yaQuoteInfoVo);
+
         //  3、 创建非车订单
         boolean isNoCar = false;
         String jsPremium = "0";
@@ -310,7 +313,7 @@ public class GuorenOrderApiServiceImpl implements GuorenOrderApiService {
         AssertionUtils.isEmpty(premiumResult, "保费计算失败");
 
         // 5、 生成订单
-        QuoteRespVo quoteRespVo = buildQuoteRespVo(order, premiumResult, yaQuoteInfoVo, jsPremium);
+        QuoteRespVo quoteRespVo = buildQuoteRespVo(order, premiumResult, yaQuoteInfoVo, jsPremium, renewalResp);
         // 账号信息
         PtlAgreementAttribution ptlAgreementAttribution =
                 ptlAgreementAttributionService.getById(quoteVo.getAgreementId());
@@ -786,7 +789,7 @@ public class GuorenOrderApiServiceImpl implements GuorenOrderApiService {
      * @date: 2023-08-21
      */
     public static QuoteRespVo buildQuoteRespVo(InsOrders insOrder, PremiumResp.DataDTO rd,
-                                               YaQuoteInfoVo yaQuoteInfoVo, String jyPremium) {
+                                               YaQuoteInfoVo yaQuoteInfoVo, String jyPremium, RenewalResp renewalResp) {
 
         //交强保费 含税
         BigDecimal jqPremiumBig = BigDecimal.valueOf(StringUtils.toDouble(rd.getSumPremiumCI()));
@@ -865,6 +868,11 @@ public class GuorenOrderApiServiceImpl implements GuorenOrderApiService {
         quoteRespVo.setJqPremium(jqPremiumBig.doubleValue());
         quoteRespVo.setSyPremium(syPremiumBig.doubleValue());
 
+        if (renewalResp.getResultCode() == 0){
+
+            quoteRespVo.setJqRenewal(renewalResp.getData().getCiRenw() == null ? "0" : "1");
+            quoteRespVo.setSyRenewal(renewalResp.getData().getBiRenw() == null ? "0" : "1");
+        }
 
         // 出险次数
         List<PremiumResp.DataDTO.CiInsureDemandDTO> ciInsureDemandDTOS = rd.getCiInsureDemandDTOS();