Просмотр исходного кода

添加泰康 整理字段,记录页面对应的字段,临时代码

wlq 1 год назад
Родитель
Сommit
ec9cb8ae69
14 измененных файлов с 117 добавлено и 29 удалено
  1. 3 0
      tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/client/HttpURL.java
  2. 10 2
      tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/ee/AllKind.java
  3. 14 2
      tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/ee/Car.java
  4. 1 1
      tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/ee/CarOwnerVo.java
  5. 3 4
      tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/ee/DriverAccidentVo.java
  6. 14 7
      tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/ee/OrderInfoVoCI.java
  7. 2 1
      tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/ee/Premium.java
  8. 13 1
      tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/entity/EngageEngageQueryResult.java
  9. 3 0
      tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/entity/FloatNoticeGetResult.java
  10. 7 1
      tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/entity/InitQuotationResult.java
  11. 18 1
      tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/entity/PreciseInitResult.java
  12. 24 4
      tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/service/TaiKangHttpService.java
  13. 0 0
      tenant/insurance/quotation-taikang/src/test/java/com/jzg/quotation/taikang/AESDecryptorTest.java
  14. 5 5
      tenant/insurance/quotation-taikang/src/test/java/com/jzg/quotation/taikang/service/TaiKangHttpServiceTest1.java

+ 3 - 0
tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/client/HttpURL.java

@@ -70,6 +70,9 @@ public interface HttpURL {
 
     String floatNoticeGet = host + "/carSelfService/rest/float/notice/get";
 
+    /**
+     * 特别约定
+     */
     String engageEngageQuery = host + "/carSelfService/rest/engage/engageQuery";
 
     /**

+ 10 - 2
tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/ee/AllKind.java

@@ -113,7 +113,9 @@ public class AllKind extends UnknownFieldEntity {
     private Integer quantity;
 
     /**
-     * 免赔额
+     * 绝对免赔额(元)
+     *
+     * 比如 车辆损失保险的绝对免赔额是300元
      */
     private BigDecimal deductibleAmount;
 
@@ -123,7 +125,11 @@ public class AllKind extends UnknownFieldEntity {
     private String kindCName;
 
     /**
+     * 保额(元)
+     *
      * 报价金额中文
+     *
+     * 比如第三者责任保险,quoteAmountCN 就是 “200万”
      */
     private String quoteAmountCN;
 
@@ -148,7 +154,9 @@ public class AllKind extends UnknownFieldEntity {
     private Integer serialNo;
 
     /**
-     * 保费
+     * 保费(元)
+     *
+     * 比如:第三者责任保险	的保费是 433.29
      */
     private BigDecimal premium;
 

+ 14 - 2
tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/ee/Car.java

@@ -13,6 +13,8 @@ public class Car extends UnknownFieldEntity {
 
     /**
      * 发动机号
+     *
+     * 比如:2213415
      */
     private String engineNo;
 
@@ -23,6 +25,8 @@ public class Car extends UnknownFieldEntity {
 
     /**
      * 车牌号
+     *
+     * 比如:晋K7059T
      */
     private String licenseNo;
 
@@ -48,6 +52,8 @@ public class Car extends UnknownFieldEntity {
 
     /**
      * 使用性质代码
+     *
+     * 比如:家庭自用汽车
      */
     private String useNatureCodeCode;
 
@@ -57,7 +63,9 @@ public class Car extends UnknownFieldEntity {
     private String purchasePrice;
 
     /**
-     * 注册日期
+     * 车辆注册日期
+     *
+     * 比如:2019-03-25
      */
     private String enrollDate;
 
@@ -73,6 +81,8 @@ public class Car extends UnknownFieldEntity {
 
     /**
      * 车架号
+     *
+     * 比如:LHGTG1812K8026217
      */
     private String vinNo;
 
@@ -82,7 +92,9 @@ public class Car extends UnknownFieldEntity {
     private String licenseType;
 
     /**
-     * 车型名称
+     * 厂牌型号,车型名称
+     *
+     * 比如:本田GHA6480KAC5A多用途乘用车
      */
     private String modelName;
 

+ 1 - 1
tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/ee/CarOwnerVo.java

@@ -21,7 +21,7 @@ public class CarOwnerVo extends UnknownFieldEntity {
     private String authResult;
 
     /**
-     * 姓名
+     * 车主姓名
      */
     private String name;
 

+ 3 - 4
tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/ee/DriverAccidentVo.java

@@ -55,16 +55,15 @@ public class DriverAccidentVo extends UnknownFieldEntity {
      */
     private String kindCode;
     /**
-     * 保险期限 结束时间,24:00结束
+     * 驾意险保险期限 结束时间,24:00结束
      */
     private String nonCarEndDate;
     /**
-     * 保险期限 开始时间,0分0秒开始
+     * 驾意险保险期限 开始时间,0分0秒开始
      */
     private String nonCarStartDate;
     /**
-     * 保费
-     *
+     * 所选最终驾意险的保费
      *
      */
     private BigDecimal premium;

+ 14 - 7
tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/ee/OrderInfoVoCI.java

@@ -21,7 +21,16 @@ public class OrderInfoVoCI extends UnknownFieldEntity {
     private Integer insureYears;
 
     /**
-     * 商业险结束日期
+     * 商业险保险开始日期
+     *
+     * 2025-03-18 00:0
+     */
+    private String startDateCIP;
+
+    /**
+     * 商业险保险结束日期
+     *
+     * 2026-03-17 24:00
      */
     private String endDateCIP;
 
@@ -45,11 +54,6 @@ public class OrderInfoVoCI extends UnknownFieldEntity {
      */
     private String riskCode;
 
-    /**
-     * 商业险开始日期
-     */
-    private String startDateCIP;
-
     /**
      * 充电桩信息
      */
@@ -61,7 +65,10 @@ public class OrderInfoVoCI extends UnknownFieldEntity {
     private Integer claimTimes;
 
     /**
-     * 所有险种列表
+     * 参加了的商业险所有险种列表
+     * 比如:车辆损失保险、第三者责任保险、车上人员责任保险(司机)等
+     *
+     * 不会有未参加的险种
      */
     private List<AllKind> allKinds;
 

+ 2 - 1
tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/ee/Premium.java

@@ -15,7 +15,8 @@ import java.math.BigDecimal;
 public class Premium extends UnknownFieldEntity {
 
     /**
-     * 总保费
+     * 总保费,费用合计 = 商业险 + 交强险 + 车船税 + 驾乘意外险 = driverAccidentVo.premium
+     *
      */
     private BigDecimal countPremium;
 

+ 13 - 1
tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/entity/EngageEngageQueryResult.java

@@ -7,6 +7,11 @@ import lombok.Setter;
 
 import java.util.List;
 
+/**
+ * 特别约定
+ *
+ * 在录入投保信息时使用,同一个特别约定不能重复录入。
+ */
 @Setter
 @Getter
 public class EngageEngageQueryResult extends UnknownFieldEntity {
@@ -23,6 +28,11 @@ public class EngageEngageQueryResult extends UnknownFieldEntity {
 
     /**
      * 约定内容
+     *
+     * 比如:本人投保的LHGTG1812K8026217机动车辆,在投保前****(车身部位)存在旧损,本人确认在本次保险期间,以上损伤不在保险赔偿责任范围内。
+     *
+     *
+     * 其中“****”在前端页面上要变成输入框,允许业务人员输入内容。
      */
     private String engageContent;
 
@@ -32,7 +42,9 @@ public class EngageEngageQueryResult extends UnknownFieldEntity {
     private String engageType;
 
     /**
-     * 约定名称
+     * 特别约定的名称
+     *
+     * 比如:商业险手工特约、旧损特约
      */
     private String engageName;
 

+ 3 - 0
tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/entity/FloatNoticeGetResult.java

@@ -343,6 +343,9 @@ public class FloatNoticeGetResult extends UnknownFieldEntity {
         addChildUnknownField("driverAccidentVo", driverAccidentVo);
         addChildUnknownField("deviceList", deviceList);
     }
+
+
+    
 }
 
 

+ 7 - 1
tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/entity/InitQuotationResult.java

@@ -16,6 +16,8 @@ public class InitQuotationResult extends UnknownFieldEntity {
 
     /**
      * 报价时间
+     *
+     * 2025-03-11 11:56:57
      */
     private String quotationTime;
 
@@ -82,7 +84,7 @@ public class InitQuotationResult extends UnknownFieldEntity {
     private OrderInfoVoBZ orderInfoVoBZ;
 
     /**
-     * 总保费
+     * 总保费 = 交强+商业+驾驶意外
      */
     private String totalPremium;
 
@@ -108,6 +110,8 @@ public class InitQuotationResult extends UnknownFieldEntity {
 
     /**
      * 业务评分
+     *
+     * 比如 D20
      */
     private String businessScore;
 
@@ -138,6 +142,8 @@ public class InitQuotationResult extends UnknownFieldEntity {
 
     /**
      * 商业险折扣
+     *
+     * 比如 0.63
      */
     private BigDecimal ciDisCount;
 

+ 18 - 1
tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/entity/PreciseInitResult.java

@@ -16,7 +16,9 @@ public class PreciseInitResult extends UnknownFieldEntity {
     }
 
     /**
-     * 商业评分
+     * 商业评分,保单综合评分
+     *
+     * 比如:C20
      */
     private String businessScore;
 
@@ -30,6 +32,8 @@ public class PreciseInitResult extends UnknownFieldEntity {
     private BzKindVo bzKindVo;
     /**
      * 商业险折扣
+     *
+     * 比如:0.63
      */
     private BigDecimal ciDisCount;
     /**
@@ -115,11 +119,24 @@ public class PreciseInitResult extends UnknownFieldEntity {
 
     /**
      * 初始化标志,标识订单是否处于初始化状态
+     *
+     * 第一次时,录入完车辆和车主信息后,提交时是 init。下一步进行选择险种并计算保费。
+     * 从第二次开始,也就是选完险种后,每进行保费计算时,是 quote。
      */
     private String initFlag;
 
+    /**
+     * 商业险自主定价系数
+     *
+     * 比如:0.9
+     */
     private BigDecimal pricingRate;
 
+    /**
+     * 商业险NCD
+     *
+     * 比如 0.7
+     */
     private BigDecimal syclaimAdjust;
 
     private String insuredMemberFlag;

+ 24 - 4
tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/service/TaiKangHttpService.java

@@ -542,7 +542,7 @@ public class TaiKangHttpService {
     }
 
     /**
-     *
+     * 查看报价单
      *
      * @return
      */
@@ -550,15 +550,28 @@ public class TaiKangHttpService {
         InitQuotationParam param = new InitQuotationParam();
         param.setChannelCode("OffWeb");
         param.setOrderID(orderId);
-        // 注意:查看报价单时的 initFlag 参数为 1
+        // 注意:查看报价单时的 initFlag 参数为 1,必须传上此参数,且必须为1。
         param.setInitFlag("1");
 
         HttpHeaders httpHeaders = new HttpHeaders();
         httpHeaders.add("tkCarRequestToken", token());
 
-        InitQuotationResult.Response response = client.request(HttpURL.initQuotation, param, httpHeaders, InitQuotationResult.Response.class);
+        StringResponse response = client.request(HttpURL.initQuotation, param, httpHeaders, StringResponse.class);
 
-        return response.getData();
+        checkResponseUnknownField(response);
+
+        // 解密
+        String json = AESDecryptor.decrypt(response.getData());
+
+        if (logger.isInfoEnabled()) {
+            logger.info("TaiKangHttpClient initQuotation decrypt body: {}", json);
+        }
+
+        InitQuotationResult.Response response1 = JsonUtil.readObjcet(json, InitQuotationResult.Response.class);
+
+        checkResponseUnknownField(response1);
+
+        return response1.getData();
     }
 
     /**
@@ -582,8 +595,11 @@ public class TaiKangHttpService {
     }
 
     /**
+     * 此接口的含义大概是对上一步提交的投保的险种和计算好的保价进行保存。
      *
+     * 选择了投保险种计算了保费后,点击下一步操作的接口,进入下一个页面“录入保费信息”
      *
+     *  虽然响应 SaveQuoteResult 中有几十个字段,但只有 orderID 有值,与参数的 orderID 一样。
      * @return
      */
     public SaveQuoteResult saveQuote(String tplatformId, String fromId,  String orderId) {
@@ -656,6 +672,10 @@ public class TaiKangHttpService {
     }
 
     /**
+     * 特别约定
+     *
+     * 好像是个查询可用的特别约定。
+     *
      *
      *
      * @return

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


+ 5 - 5
tenant/insurance/quotation-taikang/src/test/java/com/jzg/quotation/taikang/service/TaiKangHttpServiceTest1.java

@@ -1062,20 +1062,20 @@ public class TaiKangHttpServiceTest1 {
     @Order(18)
     public void engageEngageQuery() {
         // feda77e829d4dedbbd8b4e236bacfac5
-        String tplatformId = TaiKangHttpServiceTest1.loginResult.getTplatformId();
+        //String tplatformId = TaiKangHttpServiceTest1.loginResult.getTplatformId();
 
         // 0114
-        String comCode = TaiKangHttpServiceTest1.loginResult.getWebsysUserVo().getWebsysUserAreaVos().get(0).getAreacode();
+        //String comCode = TaiKangHttpServiceTest1.loginResult.getWebsysUserVo().getWebsysUserAreaVos().get(0).getAreacode();
 
         // 1e6cbb3bf08e8cb8f8c684cff0ee5e161
-        String tplatLoginKey = TaiKangHttpServiceTest1.loginResult.getTplatLoginKey();
+        //String tplatLoginKey = TaiKangHttpServiceTest1.loginResult.getTplatLoginKey();
 
         // 67107
-        String fromid = TaiKangHttpServiceTest1.loginResult.getWebsysUserVo().getFromid();
+        //String fromid = TaiKangHttpServiceTest1.loginResult.getWebsysUserVo().getFromid();
 
         EngageEngageQueryParam.Privy privy = new EngageEngageQueryParam.Privy();
 
-        List<EngageEngageQueryResult> result = taiKangHttpService.engageEngageQuery(tplatformId,  fromid, "WBPC202503071419220680000", privy);
+        List<EngageEngageQueryResult> result = taiKangHttpService.engageEngageQuery(null,  "67107", "WBPC202503110940103410000", privy);
 
         assertNotNull(result);
 

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