Explorar el Código

平安财险修改

wks hace 2 años
padre
commit
163fb6815b

+ 1 - 1
src/main/java/com/ydtech/constants/InsuranceEnum.java

@@ -55,7 +55,7 @@ public enum InsuranceEnum {
     LIHI("LIHI", "利宝保险有限公司", ""),
     MACN("MACN", "亚太财产保险有限公司", ""),
     MSIC("MSIC", "三井住友海上火灾保险(中国)有限公司", ""),
-    PAIC("PAIC", "中国平安财产保险股份有限公司", ""),
+    PAIC("PAIC", "中国平安财产保险股份有限公司", "pingan"),
     PICC("PICC", "中国人民财产保险股份有限公司", ""),
     QHIC("QHIC", "新疆前海联合财产保险股份有限公司", ""),
     RSIC("RSIC", "融盛财产保险股份有限公司", ""),

+ 2 - 5
src/main/java/com/ydtech/modules/order/components/huatai/HuaTaiRequestApiComponents.java

@@ -16,6 +16,7 @@ import com.ydtech.modules.order.utils.AESUtilsWithDataBase;
 import com.ydtech.modules.order.utils.InsuranceLog;
 import com.ydtech.utils.Base64Utils;
 import com.ydtech.utils.RSA.RSAUtils;
+import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.http.HttpEntity;
@@ -38,6 +39,7 @@ import java.util.List;
  */
 @Slf4j
 @Component
+@RequiredArgsConstructor
 public class HuaTaiRequestApiComponents {
 
 
@@ -45,11 +47,6 @@ public class HuaTaiRequestApiComponents {
 
     private final RestTemplate restTemplate;
 
-    public HuaTaiRequestApiComponents(HuaTaiApiConfigurationProperties huaTaiApiConfigurationProperties, RestTemplate restTemplate) {
-        this.properties = huaTaiApiConfigurationProperties;
-        this.restTemplate = restTemplate;
-    }
-
 
     /**
      * 加密请求

+ 66 - 0
src/main/java/com/ydtech/modules/order/components/pingan/PinganRequestApiComponents.java

@@ -1,16 +1,82 @@
 package com.ydtech.modules.order.components.pingan;
 
 
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson.serializer.SerializerFeature;
+import com.ydtech.config.properties.PingAnApiConfigurationProperties;
+import com.ydtech.constants.InsuranceEnum;
+import com.ydtech.modules.order.entity.api.bohai.BoHaiEncrypted;
+import com.ydtech.modules.order.entity.api.bohai.constants.RequestType;
+import com.ydtech.modules.order.entity.api.bohai.request.BoHaiBaseRequest;
+import com.ydtech.modules.order.entity.api.bohai.response.BoHaiBaseResponse;
+import com.ydtech.modules.order.entity.api.pingan.constants.RequestUrl;
+import com.ydtech.modules.order.entity.api.pingan.request.PingAnBaseRequest;
+import com.ydtech.modules.order.entity.api.pingan.response.PingAnBaseResponse;
+import com.ydtech.modules.order.entity.config.PingAnConfigureParameters;
+import com.ydtech.modules.order.utils.InsuranceLog;
+import com.ydtech.modules.order.utils.PingAnRSAUtils;
+import com.ydtech.modules.order.utils.SignatureUtils;
 import lombok.RequiredArgsConstructor;
+import org.springframework.http.HttpEntity;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.MediaType;
+import org.springframework.http.ResponseEntity;
 import org.springframework.stereotype.Component;
 import org.springframework.web.client.RestTemplate;
 
+import java.util.Map;
+
 @Component
 @RequiredArgsConstructor
 public class PinganRequestApiComponents {
 
     private final RestTemplate restTemplate;
 
+    private final PingAnApiConfigurationProperties properties;
+
+    /**
+     * 加密请求
+     *
+     * @param q      请求参数
+     * @param url    请求url
+     * @param tClass 响应类型
+     * @param <Q>    Request 请求体
+     * @param <S>    Response 响应体
+     * @return <S>
+     */
+//    private <Q extends PingAnBaseRequest, S extends PingAnBaseResponse> S post(Q q, String url, Class<S> tClass, String sysSourceCode,
+//                                                                               RequestUrl requestUrl) throws Exception {
+//
+//        HttpHeaders httpHeaders = new HttpHeaders();
+//        httpHeaders.setContentType(MediaType.APPLICATION_JSON);
+//        String busReqString = JSON.toJSONString(q, SerializerFeature.WriteMapNullValue, SerializerFeature.WriteNullStringAsEmpty);
+//        InsuranceLog.infoLog(InsuranceEnum.PAIC.getPinyin(), "\n\t---------> {} \n\t---------> URl: {} \n\t---------> 请求参数:{}",
+//                requestUrl.getDesc(), url, busReqString);
+//
+//        JSONObject jsonObject = (JSONObject) JSON.toJSON(q);
+//
+//        // TODO
+//        String signature = PingAnRSAUtils.sortParametersWithASCII(jsonObject);
+//        String signData = PingAnRSAUtils.sign(signature, properties.getSelfPrivateKey());
+//
+//        InsuranceLog.infoLog(InsuranceEnum.PAIC.getPinyin(), "\n\t---------> {} \n\t---------> 加密后的参数:{} \n\t---------> " +
+//                "请求头内容signature:{}", requestUrl.getDesc(), signData, signature);
+//
+//        // 请求
+//        HttpEntity<String> httpEntity = new HttpEntity<>(signData, httpHeaders);
+//        ResponseEntity<String> response = restTemplate.postForEntity(url, httpEntity, String.class);
+//
+//        String body = response.getBody();
+//        InsuranceLog.infoLog(InsuranceEnum.PAIC.getPinyin(), "\n\t---------> {} \n\t---------> 解密前的参数:{}", requestUrl.getDesc(), body);
+//
+//        // 解密响应
+//        BoHaiEncrypted encrypted = JSON.parseObject(body).toJavaObject(BoHaiEncrypted.class);
+//        String info = SignatureUtils.decryptByPrivateKey(encrypted.getBizContent(), properties.getSelfPrivateKey());
+//        InsuranceLog.infoLog(InsuranceEnum.PAIC.getPinyin(), "\n\t---------> {} \n\t---------> 解密后的参数:{}", requestUrl.getDesc(), info);
+//        return JSON.parseObject(info).toJavaObject(tClass);
+//    }
+
 
 
 

+ 0 - 1
src/main/java/com/ydtech/modules/order/entity/api/pingan/request/PingAnBaseRequest.java

@@ -18,5 +18,4 @@ public class PingAnBaseRequest implements Serializable {
      */
     private String flowid;
 
-
 }

+ 3 - 1
src/main/java/com/ydtech/modules/order/service/impl/PingAnOrderApiServiceImpl.java

@@ -15,9 +15,11 @@ import java.util.List;
 @Service
 public class PingAnOrderApiServiceImpl implements PingAnOrderApiService {
 
-
     @Override
     public HttpResult<QuoteRespVo> quote(BaseQuoteInfoVo quoteInfo, BaseQuoteVo<List<BoHaiQuoteAccidentVo>> quoteVo) {
+
+
+
         return null;
     }