wlq 1 год назад
Родитель
Сommit
2654923b8d
12 измененных файлов с 434 добавлено и 171 удалено
  1. 18 0
      tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/client/HttpService.java
  2. 4 168
      tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/model/api/EntranceResult.java
  3. 42 0
      tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/model/api/TKEntranceFor000038Param.java
  4. 146 0
      tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/model/api/TKEntranceFor000038Result.java
  5. 19 0
      tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/model/entity/TKCarAccident.java
  6. 113 0
      tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/model/entity/TKOrderData.java
  7. 33 0
      tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/model/entity/TKOrderGwNoValidateCarinfo.java
  8. 28 0
      tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/model/entity/TKOrderGwNonAutoCheckInfo.java
  9. 11 1
      tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/service/TKQuotationBaseServiceImpl.java
  10. 8 2
      tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/service/TKSimpleService.java
  11. 0 0
      tenant/insurance/quotation-taikang/src/test/java/com/jzg/quotation/taikang/AESDecryptorTest.java
  12. 12 0
      tenant/insurance/quotation-taikang/src/test/java/com/jzg/quotation/taikang/model/api/TKEntranceFor000038ResultTest.java

+ 18 - 0
tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/client/HttpService.java

@@ -874,6 +874,24 @@ public class HttpService {
         return response.getData();
     }
 
+    /**
+     *
+     * entrance 返回的数据是 json 的情况
+     * @return
+     */
+    public TKEntranceFor000038Result entranceFor000038(String tplatformId, String fromId, String orderId) {
+        TKEntranceFor000038Param param = new TKEntranceFor000038Param();
+        param.setChannelCode("OffWeb");
+        param.setTplatformId(tplatformId);
+        param.setFromID(fromId);
+        param.setOrderID(orderId);
+        param.setIdcardOcrFlag("0"); // todo
+
+        TKEntranceFor000038Result.Response response = entranceForJson(param, "000038", TKEntranceFor000038Result.Response.class);
+
+        return response.getData();
+    }
+
     /**
      *
      *

+ 4 - 168
tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/model/api/EntranceResult.java

@@ -2,6 +2,8 @@ package com.jzg.quotation.taikang.model.api;
 
 import com.jzg.quotation.taikang.client.BaseResponse;
 import com.jzg.quotation.taikang.client.UnknownFieldEntity;
+import com.jzg.quotation.taikang.model.entity.TKCarAccident;
+import com.jzg.quotation.taikang.model.entity.TKOrderData;
 import lombok.Getter;
 import lombok.Setter;
 
@@ -76,7 +78,7 @@ public class EntranceResult extends UnknownFieldEntity {
     /**
      * 车辆事故信息
      */
-    private CarAccident carAccident;
+    private TKCarAccident carAccident;
 
     /**
      * 公司代码
@@ -148,11 +150,10 @@ public class EntranceResult extends UnknownFieldEntity {
      */
     private String messageCode;
 
-
     /**
      * 内嵌的数据对象
      */
-    private InnerData data;
+    private TKOrderData data;
 
     /**
      * 申请人性质(加密或编码)
@@ -260,170 +261,5 @@ public class EntranceResult extends UnknownFieldEntity {
          */
         private String imageClassifyName;
     }
-
-    @Getter
-    @Setter
-    public static class CarAccident {
-
-        /**
-         * 投保单号
-         */
-        private String proposalNo;
-
-        /**
-         * 投保次数
-         */
-        private Integer insureCounts;
-    }
-
-
-
-    /**
-     * 内嵌的数据对象类
-     */
-    @Setter
-    @Getter
-    public static class InnerData extends UnknownFieldEntity {
-
-        /**
-         * 过去日期
-         */
-        private String pastDate;
-
-        /**
-         * 无需验车车辆信息列表
-         */
-        private List<GwNoValidateCarinfo> gwNoValidateCarinfoList;
-
-        /**
-         * 无需自动核保信息列表
-         */
-        private List<GwNonAutoCheckInfo> gwNonAutoCheckInfoList;
-
-        /**
-         * 核保标志
-         */
-        private String underWriteFlag;
-
-        /**
-         * 需求标志号(此处为空)
-         */
-        private String demandBZNo;
-
-        /**
-         * 过去标志日期(此处为空)
-         */
-        private String pastBZDate;
-
-        /**
-         * 检查列表(此处为空)
-         */
-        //private List<Object> check;
-
-        /**
-         * 交强险报价号
-         */
-        private String quotationNoBI;
-
-        /**
-         * 特殊响应消息(加密或编码)
-         */
-        private String spResMsg;
-
-        /**
-         * 提案号
-         */
-        private String proposalNo;
-
-        /**
-         * 车辆事故信息
-         */
-        private CarAccident carAccident;
-
-        /**
-         * 需求号
-         */
-        private String demandNo;
-
-        /**
-         * 结果类型
-         */
-        private String resultType;
-
-        /**
-         * 验车状态
-         */
-        private String carCheckStatus;
-
-        /**
-         * 商业险提案号
-         */
-        private String proposalNoBI;
-
-        /**
-         * 特殊响应代码
-         */
-        private String spResCode;
-
-        @Override
-        protected void addChildUnknownFields() {
-            addChildUnknownField("gwNoValidateCarinfoList", gwNoValidateCarinfoList);
-            addChildUnknownField("gwNonAutoCheckInfoList", gwNonAutoCheckInfoList);
-            addChildUnknownField("carAccident", carAccident);
-        }
-    }
-
-
-
-    /**
-     * 无需验车车辆信息类
-     */
-    @Setter
-    @Getter
-    public static class GwNoValidateCarinfo extends UnknownFieldEntity {
-
-        /**
-         * 处理状态
-         */
-        private String processing;
-
-        /**
-         * 规则名称
-         */
-        private String ruleName;
-
-        /**
-         * 规则消息
-         */
-        private String ruleMessage;
-
-        /**
-         * 核保级别
-         */
-        private Integer uwLevel;
-    }
-
-    /**
-     * 无需自动核保信息类
-     */
-    @Setter
-    @Getter
-    public static class GwNonAutoCheckInfo extends UnknownFieldEntity {
-
-        /**
-         * 规则名称
-         */
-        private String ruleName;
-
-        /**
-         * 核保级别
-         */
-        private Integer uwLevel;
-
-        /**
-         * 规则消息
-         */
-        private String ruleMessage;
-    }
 }
 

+ 42 - 0
tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/model/api/TKEntranceFor000038Param.java

@@ -0,0 +1,42 @@
+package com.jzg.quotation.taikang.model.api;
+
+import com.jzg.quotation.taikang.client.UnknownFieldEntity;
+import lombok.Getter;
+import lombok.Setter;
+
+@Setter
+@Getter
+public class TKEntranceFor000038Param extends UnknownFieldEntity {
+
+
+    private String tplatformId;
+
+    /**
+     * 渠道代码
+     */
+    private String channelCode;
+
+    /**
+     * 订单ID
+     */
+    private String orderID;
+
+    /**
+     * 来源ID
+     */
+    private String fromID;
+
+    /**
+     * 渠道特约列表(此处为空)
+     */
+    //private List<Object> channelEngages;
+
+    /**
+     * 潜在客户ID(此处为空)
+     */
+    private String leadsid;
+
+    private String idcardOcrFlag;
+
+    private String readTime;
+}

+ 146 - 0
tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/model/api/TKEntranceFor000038Result.java

@@ -0,0 +1,146 @@
+package com.jzg.quotation.taikang.model.api;
+
+import com.jzg.quotation.taikang.client.BaseResponse;
+import com.jzg.quotation.taikang.client.UnknownFieldEntity;
+import com.jzg.quotation.taikang.model.entity.TKCarAccident;
+import com.jzg.quotation.taikang.model.entity.TKOrderData;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+@Setter
+@Getter
+public class TKEntranceFor000038Result extends UnknownFieldEntity {
+    @Setter
+    @Getter
+    public static class Response extends BaseResponse<TKEntranceFor000038Result> {
+
+        /**
+         * 认证标志
+         */
+        private String authenticationFlag;
+    }
+
+    private String fromId;
+    private String seatCount;
+    private String userNatureCode;
+    private String isGetIssueCode;
+    private String payFee;
+    private List underwriteReason;
+    private String insuredNature;
+    private String comCode;
+    private String businessType;
+    private String nonCarProposalNo;
+
+    /**
+     * 申请人性质
+     */
+    private String applicantNature;
+
+    /**
+     * 是否电子投保
+     */
+    private String isElectronInsure;
+
+    /**
+     * 认证标志
+     */
+    private String authenticationFlag;
+
+    /**
+     * 验车原因
+     */
+    private String checkReason;
+
+    private String licenseNoEn;
+
+    /**
+     * 过往标识日期
+     */
+    private String pastBZDate;
+
+    /**
+     * 车险报价单号
+     */
+    private String quotationNoCI;
+
+    /**
+     * 校验列表(空数组表示无校验)
+     */
+    private List<Object> check;
+
+    /**
+     * 非车险报价单号
+     */
+    private String quotationNoBI;
+
+    /**
+     * 提案号
+     */
+    private String proposalNo;
+
+    /**
+     * 车辆事故信息
+     */
+    private TKCarAccident carAccident;
+
+    /**
+     * 需求号
+     */
+    private String demandNo;
+
+    private String demandBZNo;
+
+    /**
+     * 交强险投保单号
+     */
+    private String proposalNoCI;
+
+    /**
+     * 结果类型(如自核通过)
+     */
+    private String resultType;
+
+    /**
+     * 车辆校验状态
+     */
+    private String carCheckStatus;
+
+    /**
+     * 商业险投保单号
+     */
+    private String proposalNoBI;
+
+    /**
+     * 服务提供商响应码
+     */
+    private String spResCode;
+
+    /**
+     * 代理标志
+     */
+    private String proxyFlag;
+
+    /**
+     * 验车标志
+     */
+    private String checkCarFlag;
+
+    /**
+     * 车牌号
+     */
+    private String licenseNo;
+
+    /**
+     * 具体数据
+     */
+    private TKOrderData data;
+
+    @Override
+    protected void addChildUnknownFields() {
+        addChildUnknownField("check", check);
+        addChildUnknownField("carAccident", carAccident);
+        addChildUnknownField("data", data);
+    }
+}

+ 19 - 0
tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/model/entity/TKCarAccident.java

@@ -0,0 +1,19 @@
+package com.jzg.quotation.taikang.model.entity;
+
+import com.jzg.quotation.taikang.client.UnknownFieldEntity;
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+@Setter
+public class TKCarAccident extends UnknownFieldEntity {
+    /**
+     * 投保单号
+     */
+    private String proposalNo;
+
+    /**
+     * 投保次数
+     */
+    private Integer insureCounts;
+}

+ 113 - 0
tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/model/entity/TKOrderData.java

@@ -0,0 +1,113 @@
+package com.jzg.quotation.taikang.model.entity;
+
+import com.jzg.quotation.taikang.client.UnknownFieldEntity;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * 内嵌的数据对象类
+ */
+@Setter
+@Getter
+public class TKOrderData extends UnknownFieldEntity {
+
+    /**
+     * 过去日期
+     */
+    private String pastDate;
+
+    /**
+     * 无需验车车辆信息列表
+     */
+    private List<TKOrderGwNoValidateCarinfo> gwNoValidateCarinfoList;
+
+    /**
+     * 无需自动核保信息列表
+     */
+    private List<TKOrderGwNonAutoCheckInfo> gwNonAutoCheckInfoList;
+
+    /**
+     * 核保标志
+     */
+    private String underWriteFlag;
+
+    /**
+     * 需求标志号(此处为空)
+     */
+    private String demandBZNo;
+
+    /**
+     * 过去标志日期(此处为空)
+     */
+    private String pastBZDate;
+
+    /**
+     * 检查列表(此处为空)
+     */
+    //private List<Object> check;
+
+    /**
+     * 交强险报价号
+     */
+    private String quotationNoBI;
+
+    /** 车险报价单号 */
+    private String quotationNoCI;
+
+
+    /** 校验列表(空数组,还未知其结构) */
+    private List<Object> check;
+
+    /**
+     * 特殊响应消息(加密或编码)
+     */
+    private String spResMsg;
+
+    /**
+     * 提案号
+     */
+    private String proposalNo;
+
+    /**
+     * 车辆事故信息
+     */
+    private TKCarAccident carAccident;
+
+    /**
+     * 需求号
+     */
+    private String demandNo;
+
+    /**
+     * 结果类型
+     */
+    private String resultType;
+
+    /**
+     * 验车状态
+     */
+    private String carCheckStatus;
+
+    /**
+     * 商业险提案号
+     */
+    private String proposalNoBI;
+
+    /** 车险提案号 */
+    private String proposalNoCI;
+
+    /**
+     * 特殊响应代码
+     */
+    private String spResCode;
+
+    @Override
+    protected void addChildUnknownFields() {
+        addChildUnknownField("gwNoValidateCarinfoList", gwNoValidateCarinfoList);
+        addChildUnknownField("gwNonAutoCheckInfoList", gwNonAutoCheckInfoList);
+        addChildUnknownField("check", check);
+        addChildUnknownField("carAccident", carAccident);
+    }
+}

+ 33 - 0
tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/model/entity/TKOrderGwNoValidateCarinfo.java

@@ -0,0 +1,33 @@
+package com.jzg.quotation.taikang.model.entity;
+
+import com.jzg.quotation.taikang.client.UnknownFieldEntity;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 无需验车车辆信息类
+ */
+@Setter
+@Getter
+public class TKOrderGwNoValidateCarinfo  extends UnknownFieldEntity {
+
+    /**
+     * 处理状态
+     */
+    private String processing;
+
+    /**
+     * 规则名称
+     */
+    private String ruleName;
+
+    /**
+     * 规则消息
+     */
+    private String ruleMessage;
+
+    /**
+     * 核保级别
+     */
+    private Integer uwLevel;
+}

+ 28 - 0
tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/model/entity/TKOrderGwNonAutoCheckInfo.java

@@ -0,0 +1,28 @@
+package com.jzg.quotation.taikang.model.entity;
+
+import com.jzg.quotation.taikang.client.UnknownFieldEntity;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 无需自动核保信息类
+ */
+@Setter
+@Getter
+public class TKOrderGwNonAutoCheckInfo extends UnknownFieldEntity {
+
+    /**
+     * 规则名称
+     */
+    private String ruleName;
+
+    /**
+     * 核保级别
+     */
+    private Integer uwLevel;
+
+    /**
+     * 规则消息
+     */
+    private String ruleMessage;
+}

+ 11 - 1
tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/service/TKQuotationBaseServiceImpl.java

@@ -170,8 +170,18 @@ public class TKQuotationBaseServiceImpl implements QuotationBaseService {
         TKInsureInfo insureInfo = tkSimpleService.dataCreateInsureInfo(initProposalResult, "手机号", "地址");
 
         // # 车险投保单报价
-        preciseInitResult = tkSimpleService.orderSubmit(loginInfo, preciseInitResult.getMainOrderId(), insureInfo);
+        TKEntranceFor000038Result tkEntranceFor000038Result = tkSimpleService.orderSubmit(loginInfo, preciseInitResult.getMainOrderId(), insureInfo);
 
+        // 交强险投保单号
+        String proposalNoCI = tkEntranceFor000038Result.getProposalNoCI();
+        // 商业险投保单号
+        String proposalNoBI = tkEntranceFor000038Result.getProposalNoBI();
+
+        TKCarAccident carAccident = tkEntranceFor000038Result.getCarAccident();
+        if (carAccident != null) {
+            // 意架险投保单号
+            String proposalNo = carAccident.getProposalNo();
+        }
     }
 
     @Override

+ 8 - 2
tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/service/TKSimpleService.java

@@ -863,7 +863,7 @@ public class TKSimpleService {
      * @param insureInfo
      * @return
      */
-    public PreciseInitResult orderSubmit(LoginResult loginInfo, String mainOrderId, TKInsureInfo insureInfo) {
+    public TKEntranceFor000038Result orderSubmit(LoginResult loginInfo, String mainOrderId, TKInsureInfo insureInfo) {
         // 全局固定参数
         String tplatformId = loginInfo.getTplatformId();
         String tplatLoginKey = loginInfo.getTplatLoginKey();
@@ -877,7 +877,13 @@ public class TKSimpleService {
             throw new RuntimeException("HttpService#preciseInitToQuote (报价)失败!");
         }
 
-        return preciseQuoteResult;
+        TKEntranceFor000038Result tkEntranceFor000038Result = httpService.entranceFor000038(tplatformId, tplatLoginKey, mainOrderId);
+
+        if (preciseQuoteResult == null) {
+            throw new RuntimeException("HttpService#preciseQuoteResult (报价)失败!");
+        }
+
+        return tkEntranceFor000038Result;
     }
 
     public InitProposalResult queryCarOwner(LoginResult loginInfo, String mainOrderId) {

Разница между файлами не показана из-за своего большого размера
+ 0 - 0
tenant/insurance/quotation-taikang/src/test/java/com/jzg/quotation/taikang/AESDecryptorTest.java


Разница между файлами не показана из-за своего большого размера
+ 12 - 0
tenant/insurance/quotation-taikang/src/test/java/com/jzg/quotation/taikang/model/api/TKEntranceFor000038ResultTest.java


Некоторые файлы не были показаны из-за большого количества измененных файлов