Forráskód Böngészése

华泰对接新建实体

li.pengfei 2 éve
szülő
commit
ecf4047c8c

+ 4 - 0
src/main/java/com/ydtech/config/properties/HuaTaiApiConfigurationProperties.java

@@ -23,5 +23,9 @@ public class HuaTaiApiConfigurationProperties {
     private String selfPrivateKey;
     // 华泰RSA公钥
     private String huaTaiPublicKey;
+    //合作方代码,由华泰分配
+    private String insuredCode;
+    //系统来源代码,由华泰分配
+    private String sourceCode;
 
 }

+ 13 - 11
src/main/java/com/ydtech/modules/order/components/huatai/HuaTaiRequestApiComponents.java

@@ -69,7 +69,7 @@ public class HuaTaiRequestApiComponents {
         String busReqString = JSON.toJSONString(q, SerializerFeature.WriteMapNullValue, SerializerFeature.WriteNullStringAsEmpty);
         InsuranceLog.infoLog(InsuranceEnum.HTIC.getPinyin(), "\n\t---------> URl: {} \n---------> 请求参数:{}", url, busReqString);
         // ----加密starting------------
-        //1.先获取16位随机字符串 Key
+       /* //1.先获取16位随机字符串 Key
         String key=generateRadomStr(8);
         //2.使用Base64加密请求报文
         String base64ReqJson=Base64Utils.getBase64Encode(busReqString);
@@ -83,17 +83,22 @@ public class HuaTaiRequestApiComponents {
             throw new SystemException("RSA加密获取accessToken失败!");
         }
         HuaTaiEncryptReq encryptReq=new HuaTaiEncryptReq();
+        encryptReq.setInsuredCode(properties.getInsuredCode());
+        encryptReq.setSourceCode("016");
         encryptReq.setBusiContent(busiContent);
         encryptReq.setAccessToken(accessToken);
         String jsonString = JSON.toJSONString(encryptReq, SerializerFeature.WriteMapNullValue, SerializerFeature.WriteNullStringAsEmpty);
         InsuranceLog.infoLog(InsuranceEnum.HTIC.getPinyin(), "\n\t---------> 加密后的参数:{}", jsonString);
+        HttpEntity<String> httpEntity = new HttpEntity<>(jsonString, httpHeaders);*/
         //----加密endding------------
-        HttpEntity<String> httpEntity = new HttpEntity<>(jsonString, httpHeaders);
+        //不加密
+        HttpEntity<String> httpEntity = new HttpEntity<>(busReqString, httpHeaders);
         ResponseEntity<String> response = restTemplate.postForEntity(url, httpEntity, String.class);
-        String body = response.getBody();
+        String   body = response.getBody();
+
         InsuranceLog.infoLog(InsuranceEnum.HTIC.getPinyin(), "\n\t---------> 解密前的参数:{}", body);
         // ------解密starting---------
-        HuaTaiEncryptRes encryptRes=JSON.parseObject(body,HuaTaiEncryptRes.class);
+        /*HuaTaiEncryptRes encryptRes=JSON.parseObject(body,HuaTaiEncryptRes.class);
         //1.通过自己的私钥对key进行解密
         String resAccessToken="";
         try{
@@ -105,9 +110,11 @@ public class HuaTaiRequestApiComponents {
         String aseDecryptStr=AESUtilsWithDataBase.decryptECBPK5Hex(encryptRes.getBusiContent(),resAccessToken);
         //3.使用Base64解密最终返回报文
         String text = Base64Utils.getBase64Encode(aseDecryptStr);
-        InsuranceLog.infoLog(InsuranceEnum.HTIC.getPinyin(), "\n\t---------> {}:{}", "响应参数", text);
-        S t= JSON.parseObject(text, tClass);
+        S t= JSON.parseObject(text, tClass);*/
         // ------解密ending---------
+        InsuranceLog.infoLog(InsuranceEnum.HTIC.getPinyin(), "\n\t---------> {}:{}", "响应参数", body);
+        //不加密
+        S t= JSON.parseObject(body, tClass);
         if (ObjectUtils.isEmpty(t)) {
             throw new SystemException("请求失败");
         }
@@ -124,11 +131,6 @@ public class HuaTaiRequestApiComponents {
      */
     private <Q extends HuaTaiBaseRequest, S extends HuaTaiBaseResponse> S request(Q request, Class<S> tClass, boolean verify, String domain, String urlInterface) {
         String url = domain;
-        if (StringUtils.isNotEmpty(urlInterface)) {
-            url = url + urlInterface + ".do";
-        } else {
-            url = url + request.getHead().getTransCode() + ".do";
-        }
         S response = post(request, url, tClass);
         if (verify) {
             validationResults(response);

+ 2 - 6
src/main/java/com/ydtech/modules/order/entity/api/huatai/HuaTaiBaseRequestHead.java

@@ -30,18 +30,14 @@ public class HuaTaiBaseRequestHead extends HuaTaiBastHead {
     //中介机构销售人员执业证书号 江苏、山东、广东第三方出单时必传
     private String saUserProNo;
 
-    public HuaTaiBaseRequestHead(String token, String source) {
-        super.setToken(token);
-        this.source = source;
-    }
-
     public HuaTaiBaseRequestHead(HuaTaiConfigureParameters huaTaiConfigureParameters) {
-        this.source = "";
+        this.source = huaTaiConfigureParameters.getSource();
         this.comCode = huaTaiConfigureParameters.getComCode();
         this.agentCode =huaTaiConfigureParameters.getAgentCode();
         this.userCode = huaTaiConfigureParameters.getUserCode();
         this.agreementNo = huaTaiConfigureParameters.getAgreementNo();
         this.operatorCode = huaTaiConfigureParameters.getOperatorCode();
+        super.setTransType("Req");
     }
 
 }

+ 3 - 0
src/main/java/com/ydtech/modules/order/entity/api/huatai/request/HuaTaiModelsQueryRequest.java

@@ -10,6 +10,8 @@ import com.ydtech.modules.order.entity.api.zhongmei.constants.TransCode;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
+import java.util.List;
+
 /**
  * @author CXP
  * @version 0.0.2
@@ -67,6 +69,7 @@ public class HuaTaiModelsQueryRequest extends HuaTaiBaseRequest {
         this.plateNo = carInfo.getLicenseNo();
         this.registerDate = carInfo.getRegisterDate()+ " " + TimeConstants.START_TIME;
         this.brand = carInfo.getBrandName();
+        this.riskCode = "1002";
     }
 
     @Override

+ 5 - 0
src/main/java/com/ydtech/modules/order/entity/config/HuaTaiConfigureParameters.java

@@ -45,4 +45,9 @@ public class HuaTaiConfigureParameters implements ConfigureParameters {
      */
     private String district;
 
+    /**
+     * 出单工具
+     */
+    private String source;
+
 }

+ 2 - 0
src/main/java/com/ydtech/modules/order/service/impl/HuaTaiOrderApiServiceImpl.java

@@ -96,6 +96,8 @@ public class HuaTaiOrderApiServiceImpl implements HuaTaiOrderApiService {
         // 2. 查询车型
         HuaTaiModelsQueryRequest huaTaiModelsQueryRequest = new HuaTaiModelsQueryRequest(carInfo);
         huaTaiModelsQueryRequest.setHead(baseRequestHead);
+        huaTaiModelsQueryRequest.setLoginCom(huaTaiConfigureParameters.getComCode());
+        huaTaiModelsQueryRequest.setAgentCode(huaTaiConfigureParameters.getAgentCode());
         List<HuaTaiModelsQueryResponse.CarModelDto> carModelDtos = huaTaiRequestApiComponents.modelQuery(huaTaiModelsQueryRequest, HuaTaiModelsQueryResponse.class);
 
         List<HuaTaiModelsQueryResponse.CarModelDto.FullCarDataDto> fullCarDataDtos = new ArrayList<>();

+ 2 - 0
src/main/resources/application-prod.yml

@@ -221,6 +221,8 @@ logging:
 # 华泰
 huatai:
   api:
+    insuredCode: HT27f3c417f1e241ca01
+    sourceCode: '016'
     baseUrl: https://gears.pc.ehuatai.com:9040/interFaces/common/AutoInsuranceQuotation.do
     selfPublicKey: MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDBOtXf1T/no13LOuy5ti+/d+SADHns8hAv3+LjhDFsQRbHk3tHhnUNX7I8b25576AVmgraefS7jnpyB299f58PK8WkWZN+UB6pcyEpktrtqOnKcaQSTbkQzaseCW4sCRdoea0alzSXUuXC2FN0pHAE3JkT07e5doX3IHas2GJAkwIDAQAB
     selfPrivateKey: MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAME61d/VP+ejXcs67Lm2L7935IAMeezyEC/f4uOEMWxBFseTe0eGdQ1fsjxvbnnvoBWaCtp59LuOenIHb31/nw8rxaRZk35QHqlzISmS2u2o6cpxpBJNuRDNqx4JbiwJF2h5rRqXNJdS5cLYU3SkcATcmRPTt7l2hfcgdqzYYkCTAgMBAAECgYAwAAWRDNBLInHyQjj8CR3jWk0Q4giHq7oJqnwaOIRud9zIxwIgym3ZXKRSDvxKnhQOSa3Yh+MblFEmcmJnsoQ4OedLq7FVOw1eur/nw6jMcROT6ZiP512ZGgKZI1OdkQDpjCqM9Vg1brrFuGdV2RwI9ak2bjKbi7vs6slvd4r3AQJBAOqU+5xkyuaupg9cO/7TIxMgnTQH8W7IC1uDcx3f28QdkP+udJYfU/n1dYyGuhkW66KVANSqz4dsrEiAmfhvydECQQDS304+LEvPi4j8YmNlOXrs1o8H0tPB69svC9ER2YbrTjZf49XvY9fuor11XAprXZhBp8yvJu07FuRWilrQ8FkjAkEAop1qmqzIdweE+ErxECJfQygtsd77v9cPAH5sM752Q0pXtNbD3TmUZkeBGExg/3mDGW5/Z+2M9Y0hFRWJJs6fsQJAO11mV5Z82Tb9H6BLPyoJczeMGLW/q65MjFgVSaMlmoTwRdqMVdKT7bifAbUhscwtmv40X3LkAmiVa8+TdZLUZQJACu2NgPZkw6gjKCZf5xOfvKaC3PqKlhPghq+ypyutzTih9y81+EBJ25emLWNcd5BtIZ/AXmr3UUiGg0zX4s5njA==

+ 2 - 0
src/main/resources/application-test.yml

@@ -320,6 +320,8 @@ knife4j:
 # 华泰
 huatai:
   api:
+    insuredCode: HT27f3c417f1e241ca01
+    sourceCode: '016'
     baseUrl: https://gears.pc.ehuatai.com:9040/interFaces/common/AutoInsuranceQuotation.do
     selfPublicKey: MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDBOtXf1T/no13LOuy5ti+/d+SADHns8hAv3+LjhDFsQRbHk3tHhnUNX7I8b25576AVmgraefS7jnpyB299f58PK8WkWZN+UB6pcyEpktrtqOnKcaQSTbkQzaseCW4sCRdoea0alzSXUuXC2FN0pHAE3JkT07e5doX3IHas2GJAkwIDAQAB
     selfPrivateKey: MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAME61d/VP+ejXcs67Lm2L7935IAMeezyEC/f4uOEMWxBFseTe0eGdQ1fsjxvbnnvoBWaCtp59LuOenIHb31/nw8rxaRZk35QHqlzISmS2u2o6cpxpBJNuRDNqx4JbiwJF2h5rRqXNJdS5cLYU3SkcATcmRPTt7l2hfcgdqzYYkCTAgMBAAECgYAwAAWRDNBLInHyQjj8CR3jWk0Q4giHq7oJqnwaOIRud9zIxwIgym3ZXKRSDvxKnhQOSa3Yh+MblFEmcmJnsoQ4OedLq7FVOw1eur/nw6jMcROT6ZiP512ZGgKZI1OdkQDpjCqM9Vg1brrFuGdV2RwI9ak2bjKbi7vs6slvd4r3AQJBAOqU+5xkyuaupg9cO/7TIxMgnTQH8W7IC1uDcx3f28QdkP+udJYfU/n1dYyGuhkW66KVANSqz4dsrEiAmfhvydECQQDS304+LEvPi4j8YmNlOXrs1o8H0tPB69svC9ER2YbrTjZf49XvY9fuor11XAprXZhBp8yvJu07FuRWilrQ8FkjAkEAop1qmqzIdweE+ErxECJfQygtsd77v9cPAH5sM752Q0pXtNbD3TmUZkeBGExg/3mDGW5/Z+2M9Y0hFRWJJs6fsQJAO11mV5Z82Tb9H6BLPyoJczeMGLW/q65MjFgVSaMlmoTwRdqMVdKT7bifAbUhscwtmv40X3LkAmiVa8+TdZLUZQJACu2NgPZkw6gjKCZf5xOfvKaC3PqKlhPghq+ypyutzTih9y81+EBJ25emLWNcd5BtIZ/AXmr3UUiGg0zX4s5njA==