Explorar el Código

Merge remote-tracking branch 'origin/test' into test

ligang134 hace 3 años
padre
commit
3191f0632c

+ 13 - 10
src/main/java/com/ydtech/modules/order/components/ZhongmeiRequestApiComponents.java

@@ -41,13 +41,22 @@ public class ZhongmeiRequestApiComponents {
         this.restTemplate = restTemplate;
     }
 
+
+//    /**
+//     * 加密请求
+//     * @param q      请求参数
+//     * @param url    请求url
+//     * @param tClass 响应类型
+//     * @param <Q>    Request 请求体
+//     * @param <S>    Response 响应体
+//     * @return <S>
+//     */
 //    private <Q extends BaseRequest, S extends BaseResponse> S post(Q q, String url, Class<S> tClass) {
-//        String jsonString = JSON.toJSONString(q, SerializerFeature.WriteMapNullValue, SerializerFeature.WriteNullStringAsEmpty);
-//        log.info("---------> 请求参数:{}", jsonString);
-//
 //        HttpHeaders httpHeaders = new HttpHeaders();
 //        httpHeaders.setContentType(MediaType.APPLICATION_JSON);
 //
+//        String jsonString = JSON.toJSONString(q, SerializerFeature.WriteMapNullValue, SerializerFeature.WriteNullStringAsEmpty);
+//        log.info("---------> 请求参数:{}", jsonString);
 //        // 加密
 //        String s = AESUtilsWithDataBase.encryptECBPK5Hex(jsonString);
 //        log.info("---------> 加密后的参数:{}", s);
@@ -55,12 +64,7 @@ public class ZhongmeiRequestApiComponents {
 //
 //        ResponseEntity<String> response = restTemplate.postForEntity(url, httpEntity, String.class);
 //        String body = response.getBody();
-//        log.info("---------> 解密前的参数:{}", body);
-//        // 解密
-//        String s1 = AESUtilsWithDataBase.decryptECBPK5Hex(body);
-//        log.info("---------> 响应参数:{}", s1);
-//
-//        S t = JSON.parseObject(s1, tClass);
+//        S t  = AESUtilsWithDataBase.decryptMessage(body, tClass, "响应参数");
 //        if (ObjectUtils.isEmpty(t)) {
 //            throw new SystemException("请求失败");
 //        }
@@ -106,7 +110,6 @@ public class ZhongmeiRequestApiComponents {
      */
     private <Q extends BaseRequest, S extends BaseResponse> S request(Q request, Class<S> tClass, boolean verify, String domain) {
         String url = domain + request.getHead().getTransCode() + ".do";
-        System.out.println(url);
         S response = post(request, url, tClass);
         if (verify) {
             validationResults(response);

+ 1 - 1
src/main/java/com/ydtech/modules/order/controller/OrderTaskImageController.java

@@ -80,7 +80,7 @@ public class OrderTaskImageController extends BaseController {
 
     @PostMapping(value = "/uploadImages")
     @ApiOperation(value = "新上传影像")
-    public HttpResult uploadImages(@RequestBody InsTaskImagesVo insTaskImagesVo, HttpServletRequest request) {
+    public HttpResult uploadImages(@RequestBody InsTaskImagesVo insTaskImagesVo) {
         return insTaskImagesService.uploadImages(insTaskImagesVo, getUserName());
     }
 

+ 6 - 13
src/main/java/com/ydtech/modules/order/controller/ZhongMeiOrderApiController.java

@@ -1,6 +1,7 @@
 package com.ydtech.modules.order.controller;
 
 
+import com.alibaba.fastjson.JSON;
 import com.ydtech.aop.request.RequestSingleParam;
 import com.ydtech.core.page.HttpResult;
 import com.ydtech.modules.ins.model.vo.QuoteRespVo;
@@ -14,6 +15,7 @@ import com.ydtech.modules.order.entity.vo.BaseQuoteInfoVo;
 import com.ydtech.modules.order.entity.vo.BaseQuoteVo;
 import com.ydtech.modules.order.entity.vo.PolicyPrintVo;
 import com.ydtech.modules.order.service.ZhongMeiOrderApiService;
+import com.ydtech.modules.order.utils.AESUtilsWithDataBase;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
@@ -80,24 +82,15 @@ public class ZhongMeiOrderApiController {
 
     @PostMapping("/underwritingCallback")
     @ApiOperation(value = "承保回调")
-    public HttpResult<Object> underwritingCallback(@RequestBody CoverageRequest coverageRequest) {
-//        log.info("---------> 解密前的参数:{}", s);
-//        // 解密
-//        String s1 = AESUtilsWithDataBase.decryptECBPK5Hex(s);
-//        log.info("---------> 承保回调:{}", s1);
-//        CoverageRequest coverageRequest = JSON.parseObject(s1, CoverageRequest.class);
+    public HttpResult<Object> underwritingCallback(@RequestBody String s) {
+        CoverageRequest coverageRequest = AESUtilsWithDataBase.decryptMessage(s, CoverageRequest.class, "承保回调");
         return this.zhongMeiOrderApiService.underwritingCallback(coverageRequest);
     }
 
     @PostMapping("/auditCallback")
     @ApiOperation(value = "审核回调")
-    public HttpResult<Object> auditCallback(@RequestBody ApprovedRequest approvedRequest) {
-//    public HttpResult<Object> auditCallback(@RequestBody String s) {
-//        log.info("---------> 解密前的参数:{}", s);
-//        // 解密
-//        String s1 = AESUtilsWithDataBase.decryptECBPK5Hex(s);
-//        log.info("---------> 审核回调:{}", s1);
-//        ApprovedRequest approvedRequest = JSON.parseObject(s1, ApprovedRequest.class);
+    public HttpResult<Object> auditCallback(@RequestBody String s) {
+        ApprovedRequest approvedRequest = AESUtilsWithDataBase.decryptMessage(s, ApprovedRequest.class, "审核回调");
         return this.zhongMeiOrderApiService.auditCallback(approvedRequest);
     }
 

+ 15 - 12
src/main/java/com/ydtech/modules/order/utils/AESUtilsWithDataBase.java

@@ -1,26 +1,20 @@
 package com.ydtech.modules.order.utils;
 
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.serializer.SerializerFeature;
+import lombok.extern.slf4j.Slf4j;
+
 import javax.crypto.Cipher;
 import javax.crypto.spec.SecretKeySpec;
 import java.net.URLDecoder;
 
+@Slf4j
 public class AESUtilsWithDataBase {
 
-    public static void main(String[] args) {
-        String a = "{\"brand\":\"上汽大众\",\"head\":{\"source\":\"323\",\"token\":\"THIRDSCOuloft2020052818346904zmCCSC\",\"transCode\":\"ModelsQuery\",\"transType\":\"Req\"},\"modelCode\":\"\",\"modelName\":\"大众汽车SVW71617MM轿车\"}";
-
-        String s = encryptECBPK5Hex(a);
-
-        System.out.println(s);
-
-
-
-    }
-
-
     private static final String ECB_PKCS5_PADDING = "AES/ECB/PKCS5Padding";
 
     private static final String AES = "AES";
+
     //编码方式
     public static final String CODE_TYPE = "UTF-8";
 
@@ -111,4 +105,13 @@ public class AESUtilsWithDataBase {
         return ret;
     }
 
+    public static <T> T decryptMessage(String s, Class<T> c, String message) {
+        log.info("---------> 解密前的参数:{}", s);
+        // 解密
+        String s1 = AESUtilsWithDataBase.decryptECBPK5Hex(s);
+        log.info("---------> {}:{}", message, s1);
+        return JSON.parseObject(s1, c);
+    }
+
+
 }

+ 1 - 1
src/main/resources/application-prod.yml

@@ -133,7 +133,7 @@ spring:
       timeBetweenEvictionRunsMillis: 60000
       validationQuery: SELECT 1 FROM DUAL
     password: Iy$@$koH@oURxyvw
-    url: jdbc:p6spy:mysql://rm-8vbaejxof1xh06o9r.mysql.zhangbei.rds.aliyuncs.com:3306/agent?serverTimezone=Asia/Shanghai&allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8
+    url: jdbc:p6spy:mysql://rm-8vbaejxof1xh06o9r.mysql.zhangbei.rds.aliyuncs.com:3306/agent?serverTimezone=Asia/Shanghai&allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&rewriteBatchedStatements=true
     username: sxzgkj
   redis:
     database: 0

+ 1 - 1
src/main/resources/application-test.yml

@@ -169,7 +169,7 @@ spring:
       timeBetweenEvictionRunsMillis: 60000
       validationQuery: SELECT 1 FROM DUAL
     ## 测试库
-    url: jdbc:p6spy:mysql://47.92.254.66:3306/zgdd?serverTimezone=Asia/Shanghai&allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8
+    url: jdbc:p6spy:mysql://47.92.254.66:3306/zgdd?serverTimezone=Asia/Shanghai&allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&rewriteBatchedStatements=true
     username: root
     password: zgdd@2020