Procházet zdrojové kódy

添加泰康 测试

wlq před 1 rokem
rodič
revize
6750c770f4

+ 5 - 5
tenant/insurance/quotation-taikang/README.md

@@ -4,7 +4,7 @@
 ## 1、登录及获取token
 
 步骤:
-1. 先通过 `/rest/controller/identity` 接口获取一个 `初始token`,参数如下固定值即可:
+1. 先通过 `/rest/controller/identity` 接口获取一个匿名登录的 `临时token`,参数如下固定值即可:
     ```json
     { "channelCode":"OffWeb" }
     ```
@@ -12,10 +12,10 @@
     ```json
     { "userName":"Tgengchenjie", "channelCode":"OffWeb", "password":"CI3NVut7IQUhVnsef1Cp8w==" }
     ```
-    并携带上 `初始token` 的请求头:`tkcarrequesttoken: 初始token值`。
-3. 和第一步一样,调 `/rest/controller/identity` 接口申请 `正式token`,参数格式如下:
+    并携带上 `临时token` 的请求头:`tkcarrequesttoken: 临时token`。
+3. 与第一步一样,再次调 `/rest/controller/identity` 接口申请 `正式token`,参数格式如下:
     ```json
     { "channelCode":"OffWeb" }
     ```
-   还是需要携带上 `初始token` 的请求头:`tkcarrequesttoken: 初始token值`。
-4. 之后的所有请求不再使用 `初始token`,而是一直使用 `正式token`,所有的请求都要携带上 `正式token` 的请求头:`tkcarrequesttoken: 正式token`。
+   还是需要携带上 `临时token` 的请求头:`tkcarrequesttoken: 临时token`。
+4. 之后的所有请求不再使用 `临时token`,而是开始使用且一直使用 `正式token`,所有的请求都要携带上 `正式token` 的请求头:`tkcarrequesttoken: 正式token`。

+ 9 - 3
tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/service/TaiKangHttpService.java

@@ -30,8 +30,10 @@ public class TaiKangHttpService {
 
     /**
      * 01 登录
-     * @param username
-     * @param password
+     *
+     * @param username 账号
+     * @param password 密码
+     * @param token 临时 token。通过无参的 {@link #identityToken(String)} 接口获取临时 token。
      * @return
      */
     public LoginResult login(String username, String password, String token) {
@@ -80,6 +82,10 @@ public class TaiKangHttpService {
 
         if (data != null) {
             token = data.getTkCarRequestToken();
+
+            if (logger.isInfoEnabled()) {
+                logger.info("保存新 token:{}", token);
+            }
         }
 
         return data;
@@ -303,7 +309,7 @@ public class TaiKangHttpService {
         String json = AESDecryptor.decrypt(data);
 
         if (logger.isInfoEnabled()) {
-            logger.info("TaiKangHttpClient carModelinfoQuery body: {}", json);
+            logger.info("TaiKangHttpClient carModelinfoQuery decrypt body: {}", json);
         }
 
         CarModelinfoQueryResult.Response response1 = JsonUtil.readObjcet(json, CarModelinfoQueryResult.Response.class);

+ 187 - 35
tenant/insurance/quotation-taikang/src/test/java/com/jzg/quotation/taikang/service/TaiKangHttpServiceTest.java

@@ -23,6 +23,8 @@ public class TaiKangHttpServiceTest {
 
     private static String orderID;
 
+    private static LoginResult loginResult;
+
     private static AgentQueryResult agentQueryResult;
 
     private static List<AgentFuzzyResult> agentFuzzyResults;
@@ -45,16 +47,18 @@ public class TaiKangHttpServiceTest {
 
     @Test
     @Order(0)
-    @Disabled
     public void login() {
         IdentityTokenResult result1 = taiKangHttpService.identityToken(null);
 
         assertNotNull(result1);
 
+        // 先获取到一个匿名登录的 `临时token`
         String firstToken = result1.getTkCarRequestToken();
 
         assertNotNull(firstToken);
 
+        System.out.println("临时 token" + firstToken);
+
         LoginResult result = taiKangHttpService.login("Tgengchenjie", "Gcj123456#", firstToken);
 
         assertNotNull(result);
@@ -62,19 +66,35 @@ public class TaiKangHttpServiceTest {
         assertNotNull(result.getTplatLoginKey());
         assertNotNull(result.getTplatformId());
         assertNotNull(result.getUserId());
+        assertNotNull(result.getWebsysUserVo());
+        assertNotNull(result.getWebsysUserVo().getWebsysUserAreaVos());
+        assertNotNull(result.getWebsysUserVo().getFromid());
+        assertEquals(1, result.getWebsysUserVo().getWebsysUserAreaVos().size()); // todo 其它接口所需要  comCode 字段来自此处,需要检查超过 1 个时如何使用。
         assertEquals("0", result.getLoginStatus());
+        assertEquals("feda77e829d4dedbbd8b4e236bacfac5", result.getTplatformId());
+        assertEquals("5fb6bdba974e17ec0db8c8ad4faab1ba1", result.getTplatLoginKey());
+        assertEquals("67107", result.getWebsysUserVo().getFromid()); // todo 注意 fromId 在其它字段上也存在,可能需要多次甄别不同字段的区别
 
         Map<String, Object> unknownFields = result.getUnknownFields();
 
         System.out.println("unknownFields:  " + JSON.toJSONString(unknownFields));
 
         assertNull(unknownFields);
+
+        TaiKangHttpServiceTest.loginResult = result;
     }
 
     @Test
     @Order(1)
     public void identityToken() {
-        IdentityTokenResult result = taiKangHttpService.identityToken("feda77e829d4dedbbd8b4e236bacfac5");
+        // feda77e829d4dedbbd8b4e236bacfac5
+        String tplatformId = TaiKangHttpServiceTest.loginResult.getTplatformId();
+
+
+
+
+        // 通过临时 token 获取正式 token
+        IdentityTokenResult result = taiKangHttpService.identityToken(tplatformId);
 
         assertNotNull(result);
         assertNotNull(result.getTkCarRequestToken());
@@ -91,7 +111,16 @@ public class TaiKangHttpServiceTest {
     @Test
     @Order(2)
     public void identityInit() {
-        IdentityInitResult result = taiKangHttpService.identityInit("feda77e829d4dedbbd8b4e236bacfac5", "WBPC202503041553228380000", "0114");
+        // feda77e829d4dedbbd8b4e236bacfac5
+        String tplatformId = TaiKangHttpServiceTest.loginResult.getTplatformId();
+
+        // 0114
+        String comCode = TaiKangHttpServiceTest.loginResult.getWebsysUserVo().getWebsysUserAreaVos().get(0).getAreacode();
+
+
+
+
+        IdentityInitResult result = taiKangHttpService.identityInit(tplatformId, "WBPC202503041553228380000", comCode);
 
         assertNotNull(result);
 
@@ -107,7 +136,13 @@ public class TaiKangHttpServiceTest {
     @Test
     @Order(3)
     public void basicInfo() {
-        BasicInfoResult result = taiKangHttpService.basicInfo("feda77e829d4dedbbd8b4e236bacfac5", "WBPC202503051425186530000");
+        // feda77e829d4dedbbd8b4e236bacfac5
+        String tplatformId = TaiKangHttpServiceTest.loginResult.getTplatformId();
+
+
+
+
+        BasicInfoResult result = taiKangHttpService.basicInfo(tplatformId, "WBPC202503051425186530000");
 
         assertNotNull(result);
 
@@ -124,7 +159,16 @@ public class TaiKangHttpServiceTest {
     @Test
     @Order(4)
     public void carType() {
-        List<CarTypeResult> result = taiKangHttpService.carType("feda77e829d4dedbbd8b4e236bacfac5", "0114");
+        // feda77e829d4dedbbd8b4e236bacfac5
+        String tplatformId = TaiKangHttpServiceTest.loginResult.getTplatformId();
+
+        // 0114
+        String comCode = TaiKangHttpServiceTest.loginResult.getWebsysUserVo().getWebsysUserAreaVos().get(0).getAreacode();
+
+
+
+
+        List<CarTypeResult> result = taiKangHttpService.carType(tplatformId, comCode);
 
         assertNotNull(result);
 
@@ -148,7 +192,14 @@ public class TaiKangHttpServiceTest {
     @Test
     @Order(5)
     public void agentFuzzy() {
-        List<AgentFuzzyResult> result = taiKangHttpService.agentFuzzy("feda77e829d4dedbbd8b4e236bacfac5", "WBPC202503051425186530000", "泰康人寿");
+        // feda77e829d4dedbbd8b4e236bacfac5
+        String tplatformId = TaiKangHttpServiceTest.loginResult.getTplatformId();
+
+
+
+
+
+        List<AgentFuzzyResult> result = taiKangHttpService.agentFuzzy(tplatformId, "WBPC202503051425186530000", "泰康人寿");
 
         assertNotNull(result);
 
@@ -171,7 +222,14 @@ public class TaiKangHttpServiceTest {
     @Test
     @Order(6)
     public void agentQuery() {
-        AgentQueryResult result = taiKangHttpService.agentQuery("feda77e829d4dedbbd8b4e236bacfac5", "WBPC202503051401086530000", "泰康人寿(个险)(64827)", "R35016546");
+        // feda77e829d4dedbbd8b4e236bacfac5
+        String tplatformId = TaiKangHttpServiceTest.loginResult.getTplatformId();
+
+
+
+
+
+        AgentQueryResult result = taiKangHttpService.agentQuery(tplatformId, "WBPC202503051401086530000", "泰康人寿(个险)(64827)", "R35016546");
 
         assertNotNull(result);
 
@@ -191,7 +249,15 @@ public class TaiKangHttpServiceTest {
     @Test
     @Order(7)
     public void areaUser() {
-        List<AreaUserResult> result = taiKangHttpService.areaUser("feda77e829d4dedbbd8b4e236bacfac5", "WBPC202503051401086530000", "R35016546");
+        // feda77e829d4dedbbd8b4e236bacfac5
+        String tplatformId = TaiKangHttpServiceTest.loginResult.getTplatformId();
+
+
+
+
+
+
+        List<AreaUserResult> result = taiKangHttpService.areaUser(tplatformId, "WBPC202503051401086530000", "R35016546");
 
         assertNotNull(result);
 
@@ -233,8 +299,24 @@ public class TaiKangHttpServiceTest {
     @Order(9)
     @Disabled
     public void carModelinfoQuery1() {
+        // feda77e829d4dedbbd8b4e236bacfac5
+        String tplatformId = TaiKangHttpServiceTest.loginResult.getTplatformId();
+
+        // 0114
+        String comCode = TaiKangHttpServiceTest.loginResult.getWebsysUserVo().getWebsysUserAreaVos().get(0).getAreacode();
+
+        // 1e6cbb3bf08e8cb8f8c684cff0ee5e161
+        String tplatLoginKey = TaiKangHttpServiceTest.loginResult.getTplatLoginKey();
+
+        // 67107
+        String fromid = TaiKangHttpServiceTest.loginResult.getWebsysUserVo().getFromid();
+
+
+
+
+
+
         BeanCopier beanCopier1 = BeanCopier.create(AgentQueryResult.class, CarModelinfoQueryParam.Agent.class, false);
-        BeanCopier beanCopier3 = BeanCopier.create(CarTypeResult.class, CarModelinfoQueryParam.CarInfoVo.class, false);
 
         CarModelinfoQueryParam.Agent agent = new CarModelinfoQueryParam.Agent();
 
@@ -255,13 +337,13 @@ public class TaiKangHttpServiceTest {
         //areaInfoVo.setBjFlag(0);
         areaInfoVo.setCityCode("140100");
         //areaInfoVo.setCityName("太原市");
-        areaInfoVo.setComCode("0114");
-        //areaInfoVo.setFormID("67107");
+        areaInfoVo.setComCode(comCode);
+        //areaInfoVo.setFormID(fromid);
         //areaInfoVo.setIsNewCarWithoutLicense(0);
         //areaInfoVo.setOrderID("WBPC202503051627131140000");
         //areaInfoVo.setProvinceCode("140000");
         //areaInfoVo.setProvinceName("山西省");
-        areaInfoVo.setTplatformId("feda77e829d4dedbbd8b4e236bacfac5");
+        areaInfoVo.setTplatformId(tplatformId);
 
 
         CarModelinfoQueryParam.CarInfoVo carInfoVo = new CarModelinfoQueryParam.CarInfoVo();
@@ -278,10 +360,11 @@ public class TaiKangHttpServiceTest {
         carModelinfoQueryParam.setCarInfoVo(carInfoVo);
         carModelinfoQueryParam.setOrderID("WBPC202503051628538410000");
         //carModelinfoQueryParam.setOrderOldID("WBPC202503051401086530000");
-        carModelinfoQueryParam.setTplatformId("feda77e829d4dedbbd8b4e236bacfac5");
+        carModelinfoQueryParam.setTplatformId(tplatformId);
         carModelinfoQueryParam.setChannelCode("OffWeb");
-        //carModelinfoQueryParam.setFromId("67107");
-        carModelinfoQueryParam.setTplatLoginKey("1e6cbb3bf08e8cb8f8c684cff0ee5e161");
+        //carModelinfoQueryParam.setFromId(fromid);
+        //carModelinfoQueryParam.setTplatLoginKey("1e6cbb3bf08e8cb8f8c684cff0ee5e161"); // todo 检查 1e6c 是哪来的
+        carModelinfoQueryParam.setTplatLoginKey(tplatLoginKey);
 
         CarModelinfoQueryResult result = taiKangHttpService.carModelinfoQuery(carModelinfoQueryParam);
 
@@ -303,8 +386,24 @@ public class TaiKangHttpServiceTest {
     @Order(9)
     //@Disabled
     public void carModelinfoQuery2() {
+        // feda77e829d4dedbbd8b4e236bacfac5
+        String tplatformId = TaiKangHttpServiceTest.loginResult.getTplatformId();
+
+        // 0114
+        String comCode = TaiKangHttpServiceTest.loginResult.getWebsysUserVo().getWebsysUserAreaVos().get(0).getAreacode();
+
+        // 1e6cbb3bf08e8cb8f8c684cff0ee5e161
+        String tplatLoginKey = TaiKangHttpServiceTest.loginResult.getTplatLoginKey();
+
+        // 67107
+        String fromid = TaiKangHttpServiceTest.loginResult.getWebsysUserVo().getFromid();
+
+
+
+
+
+
         BeanCopier beanCopier1 = BeanCopier.create(AgentQueryResult.class, CarModelinfoQueryParam.Agent.class, false);
-        BeanCopier beanCopier3 = BeanCopier.create(CarTypeResult.class, CarModelinfoQueryParam.CarInfoVo.class, false);
 
         CarModelinfoQueryParam.Agent agent = new CarModelinfoQueryParam.Agent();
 
@@ -325,13 +424,13 @@ public class TaiKangHttpServiceTest {
         //areaInfoVo.setBjFlag(0);
         areaInfoVo.setCityCode("140100");
         //areaInfoVo.setCityName("太原市");
-        areaInfoVo.setComCode("0114");
-        //areaInfoVo.setFormID("67107");
+        areaInfoVo.setComCode(comCode);
+        //areaInfoVo.setFormID(fromid);
         //areaInfoVo.setIsNewCarWithoutLicense(0);
         //areaInfoVo.setOrderID("WBPC202503051627131140000");
         //areaInfoVo.setProvinceCode("140000");
         //areaInfoVo.setProvinceName("山西省");
-        areaInfoVo.setTplatformId("feda77e829d4dedbbd8b4e236bacfac5");
+        areaInfoVo.setTplatformId(tplatformId);
 
 
         CarModelinfoQueryParam.CarInfoVo carInfoVo = new CarModelinfoQueryParam.CarInfoVo();
@@ -355,10 +454,10 @@ public class TaiKangHttpServiceTest {
         carModelinfoQueryParam.setCarOwnerVo(carOwnerVo);
         carModelinfoQueryParam.setOrderID("WBPC202503051628538410000");
         //carModelinfoQueryParam.setOrderOldID("WBPC202503051401086530000");
-        carModelinfoQueryParam.setTplatformId("feda77e829d4dedbbd8b4e236bacfac5");
+        carModelinfoQueryParam.setTplatformId(tplatformId);
         carModelinfoQueryParam.setChannelCode("OffWeb");
-        //carModelinfoQueryParam.setFromId("67107");
-        carModelinfoQueryParam.setTplatLoginKey("1e6cbb3bf08e8cb8f8c684cff0ee5e161");
+        //carModelinfoQueryParam.setFromId(fromid);
+        carModelinfoQueryParam.setTplatLoginKey(tplatLoginKey);
 
         CarModelinfoQueryResult result = taiKangHttpService.carModelinfoQuery(carModelinfoQueryParam);
 
@@ -379,6 +478,7 @@ public class TaiKangHttpServiceTest {
     @Test
     @Order(10)
     public void carModelinfoCheckVehicleType() {
+
         CarModelinfoCheckVehicleTypeParam.VehicleJingyou vehicleJingyou = new CarModelinfoCheckVehicleTypeParam.VehicleJingyou();
         //vehicleJingyou.setBrandName("广汽本田");
         //vehicleJingyou.setDisplacement("1.498");
@@ -471,19 +571,34 @@ public class TaiKangHttpServiceTest {
 
         String carModelinfoCheckVehicleTypeResult = taiKangHttpService.carModelinfoCheckVehicleType(carModelinfoCheckVehicleTypeParam);
 
-        System.out.println();
-        System.out.println();
+        assertNotNull(carModelinfoCheckVehicleTypeResult);
+
         System.out.println(carModelinfoCheckVehicleTypeResult);
 
         assertEquals("交管车辆类型校验成功",  carModelinfoCheckVehicleTypeResult);
 
-        //System.out.println(JSON.toJSONString(carModelinfoCheckVehicleTypeResult));
     }
 
 
     @Test
     @Order(11)
     public void saveBasicInfo() {
+        // feda77e829d4dedbbd8b4e236bacfac5
+        String tplatformId = TaiKangHttpServiceTest.loginResult.getTplatformId();
+
+        // 0114
+        String comCode = TaiKangHttpServiceTest.loginResult.getWebsysUserVo().getWebsysUserAreaVos().get(0).getAreacode();
+
+        // 1e6cbb3bf08e8cb8f8c684cff0ee5e161
+        String tplatLoginKey = TaiKangHttpServiceTest.loginResult.getTplatLoginKey();
+
+        // 67107
+        String fromid = TaiKangHttpServiceTest.loginResult.getWebsysUserVo().getFromid();
+
+
+
+
+
         SaveBasicInfoParam.CarInfo carInfo = new SaveBasicInfoParam.CarInfo();
         carInfo.setFuelType("0");
         carInfo.setModelName("奥迪FV7251FBCBG轿车");
@@ -603,15 +718,15 @@ public class TaiKangHttpServiceTest {
         areaInfo.setCityName("太原市");
         areaInfo.setCityCode("140100");
         areaInfo.setAreaFlag("140100");
-        areaInfo.setComCode("0114");
+        areaInfo.setComCode(comCode);
         areaInfo.setClientType("");
         areaInfo.setFromID("67107");
         areaInfo.setFormID("67107");
-        areaInfo.setTplatformId("feda77e829d4dedbbd8b4e236bacfac5");
+        areaInfo.setTplatformId(tplatformId);
         areaInfo.setLeadsId("");
 
         SaveBasicInfoParam.Agent agent = new SaveBasicInfoParam.Agent();
-        agent.setComCode("0114");
+        agent.setComCode(comCode);
         agent.setIntermediaryName("泰康人寿(个险)(64827)");
         agent.setAgentCode("R35016546");
         agent.setAgentName("褚友爱");
@@ -629,15 +744,15 @@ public class TaiKangHttpServiceTest {
         param.setPreFilledLastPolicyFlag("");
         param.setAreaInfoVo(areaInfo);
         param.setIsJgFlag("");
-        param.setTplatLoginKey("5fb6bdba974e17ec0db8c8ad4faab1ba1");
+        param.setTplatLoginKey(tplatLoginKey);
         param.setCarInfoVo(carInfo);
         param.setCarOwnerVo(carOwner);
         param.setOtherInfo(otherInfo);
         param.setInsureInfo(insureInfo);
         param.setCarTaxVo(carTax);
-        param.setTplatformId("feda77e829d4dedbbd8b4e236bacfac5");
+        param.setTplatformId(tplatformId);
         param.setAuthFailContinueFlag("");
-        param.setFromId("67107");
+        param.setFromId(fromid);
 
 
         SaveBasicInfoResult result = taiKangHttpService.saveBasicInfo(param);
@@ -658,7 +773,14 @@ public class TaiKangHttpServiceTest {
     @Test
     @Order(12)
     public void initQuote() {
-        InitQuoteResult result = taiKangHttpService.initQuote("feda77e829d4dedbbd8b4e236bacfac5", "WBPC202503061106595800000");
+        // feda77e829d4dedbbd8b4e236bacfac5
+        String tplatformId = TaiKangHttpServiceTest.loginResult.getTplatformId();
+
+
+
+
+
+        InitQuoteResult result = taiKangHttpService.initQuote(tplatformId, "WBPC202503061106595800000");
 
         assertNotNull(result);
 
@@ -675,7 +797,14 @@ public class TaiKangHttpServiceTest {
     @Test
     @Order(13)
     public void preciseInit1() {
-        PreciseInitResult result = taiKangHttpService.preciseInit("feda77e829d4dedbbd8b4e236bacfac5", "WBPC202503061106595800000", null);
+        // feda77e829d4dedbbd8b4e236bacfac5
+        String tplatformId = TaiKangHttpServiceTest.loginResult.getTplatformId();
+
+
+
+
+
+        PreciseInitResult result = taiKangHttpService.preciseInit(tplatformId, "WBPC202503061106595800000", null);
 
         assertNotNull(result);
 
@@ -693,6 +822,13 @@ public class TaiKangHttpServiceTest {
     @Test
     @Order(13)
     public void preciseInit2() {
+        // feda77e829d4dedbbd8b4e236bacfac5
+        String tplatformId = TaiKangHttpServiceTest.loginResult.getTplatformId();
+
+
+
+
+
         PreciseInitParam.ChgOwnerInfo chgOwnerInfo = new PreciseInitParam.ChgOwnerInfo();
         chgOwnerInfo.setStartDateBZ("");
         chgOwnerInfo.setStartDateCIP("");
@@ -702,7 +838,7 @@ public class TaiKangHttpServiceTest {
         chgOwnerInfo.setInstantInureFlagBI("0");
         chgOwnerInfo.setTransferDate("2025-03-04");
 
-        PreciseInitResult result = taiKangHttpService.preciseInit("feda77e829d4dedbbd8b4e236bacfac5", "WBPC202503061106595800000", chgOwnerInfo);
+        PreciseInitResult result = taiKangHttpService.preciseInit(tplatformId, "WBPC202503061106595800000", chgOwnerInfo);
 
         assertNotNull(result);
 
@@ -719,7 +855,23 @@ public class TaiKangHttpServiceTest {
     @Test
     @Order(14)
     public void agentTax() {
-        AgentTaxResult result = taiKangHttpService.agentTax("feda77e829d4dedbbd8b4e236bacfac5", "WBPC202503061106595800000");
+        // feda77e829d4dedbbd8b4e236bacfac5
+        String tplatformId = TaiKangHttpServiceTest.loginResult.getTplatformId();
+
+        // 0114
+        String comCode = TaiKangHttpServiceTest.loginResult.getWebsysUserVo().getWebsysUserAreaVos().get(0).getAreacode();
+
+        // 1e6cbb3bf08e8cb8f8c684cff0ee5e161
+        String tplatLoginKey = TaiKangHttpServiceTest.loginResult.getTplatLoginKey();
+
+        // 67107
+        String fromid = TaiKangHttpServiceTest.loginResult.getWebsysUserVo().getFromid();
+
+
+
+
+
+        AgentTaxResult result = taiKangHttpService.agentTax(tplatformId, "WBPC202503061106595800000");
 
         assertNotNull(result);