From 65b9b81171843545bc17a8e7167ff06c3d80e73d Mon Sep 17 00:00:00 2001
From: CZT <czt18638530771@163.com>
Date: 星期一, 18 九月 2023 16:00:54 +0800
Subject: [PATCH] 调整上海接口加密问题

---
 src/main/java/com/fzzy/push/sh2023/SH2023ApiRemoteService.java |   54 +++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 37 insertions(+), 17 deletions(-)

diff --git a/src/main/java/com/fzzy/push/sh2023/SH2023ApiRemoteService.java b/src/main/java/com/fzzy/push/sh2023/SH2023ApiRemoteService.java
index 606d808..e1abe87 100644
--- a/src/main/java/com/fzzy/push/sh2023/SH2023ApiRemoteService.java
+++ b/src/main/java/com/fzzy/push/sh2023/SH2023ApiRemoteService.java
@@ -11,6 +11,7 @@
 import com.fzzy.api.service.ApiTriggerService;
 import com.fzzy.api.utils.*;
 import com.fzzy.api.view.repository.*;
+import com.fzzy.order.data.OrderData;
 import com.fzzy.push.sh2023.dto.*;
 import lombok.Data;
 import lombok.extern.slf4j.Slf4j;
@@ -74,7 +75,7 @@
         String inteId = param.getInteId();
         String kqdm = param.getKqdm();
         //鏌ヨ搴撳尯淇℃伅琛屾斂鍖哄垝鐮�
-        List<Api1102> api1102List = api1102Rep.findPushData(conf.getKqdm());
+        List<Api1102> api1102List = api1102Rep.findPushData(kqdm);
         try {
             if (null == conf) {
                 conf = apiCommonService.getConf(kqdm);
@@ -106,24 +107,39 @@
                 return responseDto;
             }
 
+            //鑾峰彇鎸囦护id
+            String key = RedisConst.buildKey(RedisConst.KYE_ORDER, conf.getKqdm());
+            OrderData orderData = (OrderData)redisUtil.get(key);
+            if(StringUtils.isEmpty(orderData.getOrderid())){
+                log.error("鎸囦护id澶辨晥=" + jsonData);
+                ResponseDto responseDto = new ResponseDto(99, "鎸囦护id澶辨晥");
+                apiLog.setStatus(99);
+                apiLog.setResult("鎸囦护id澶辨晥");
+                apiLogRep.save(apiLog);
+                return responseDto;
+            }
+
             //灏佽鎺ㄩ�佹暟鎹�
             SH2023ReqDto reqData = new SH2023ReqDto();
             reqData.setId(ContextUtil.getUUID());
             //鑾峰彇韬唤ID锛屽嵆琛屾斂鍖哄垝鐮�
             reqData.setUid(conf.getUserName());
             //鎸囦护id
-            reqData.setOrderid(param.getOrderid());
+            reqData.setOrderid(orderData.getOrderid());
+
             //韬唤绛惧悕锛屼娇鐢ㄨ嚜鏈塕SA绉侀挜杩涜鍔犲瘑(鍦板尯琛屾斂鍖哄垝浠g爜_褰撳ぉ鏃ユ湡)
             reqData.setAccess_token(RSAUtils.encryptData(reqData.getUid() + "_" + DateFormatUtils.format(new Date(), "yyyy-MM-dd"), conf.getPassword()));
             //鏁版嵁鎬绘潯鏁�
             List<Object> list = (List<Object>) data;
             reqData.setDatalength(list.size());
+
             //浣跨敤鍖虹骇骞冲彴鍏挜瀵规暟鎹繘琛孯SA鍔犲瘑
             reqData.setData(RSAUtils.encrypt(jsonData, conf.getPublicKey()));
             //鎽樿锛屾暟鎹富浣撶殑MD5鍊�
             reqData.setDigst(MyMD5Util.encrypt(jsonData));
 
-            SH2023RespDto responseDto = SH2023HttpClientUtil.postPushData(conf.getApiUrl() + inteId, reqData, conf);
+            SH2023RespDto responseDto = SH2023HttpClientUtil.postPushData(conf.getApiUrl() + inteId, JSON.toJSONString(reqData), conf);
+
             apiLog.setStatus(responseDto.getCode() == 200 ? 0 : responseDto.getCode());
             apiLog.setResult(responseDto.getResult());
             apiLogRep.save(apiLog);
@@ -182,31 +198,35 @@
                 return responseDto;
             }
 
+            //鑾峰彇鎸囦护id
+            String key = RedisConst.buildKey(RedisConst.KYE_ORDER, conf.getKqdm());
+            OrderData orderData = (OrderData)redisUtil.get(key);
+            if(StringUtils.isEmpty(orderData.getOrderid())){
+                ResponseDto responseDto = new ResponseDto(99, "鎸囦护id澶辨晥");
+                apiLog.setStatus(99);
+                apiLog.setResult("鎸囦护id澶辨晥");
+                apiLogRep.save(apiLog);
+                return responseDto;
+            }
+
             //灏佽鎺ㄩ�佹暟鎹�
             SH2023ReqDto reqData = new SH2023ReqDto();
             reqData.setId(ContextUtil.getUUID());
             //鑾峰彇韬唤ID锛屽嵆琛屾斂鍖哄垝鐮�
-            if (null == api1102List || api1102List.isEmpty()) {
-                ResponseDto responseDto = new ResponseDto(99, "娌℃湁鑾峰彇鍒拌韩浠絀D");
-                apiLog.setStatus(99);
-                apiLog.setResult("娌℃湁鑾峰彇鍒拌韩浠絀D");
-                apiLogRep.save(apiLog);
-                return responseDto;
-            }
-            reqData.setUid(api1102List.get(0).getXzqhdm());
+            reqData.setUid(conf.getUserName());
             //鎸囦护id
-            reqData.setOrderid(param.getOrderid());
-            //韬唤绛惧悕锛屽鍦板尯琛屾斂鍖哄垝浠g爜_褰撳ぉ鏃ユ湡杩涜MD5绠楁硶绛惧悕
-            reqData.setAccess_token(RSAUtils.encryptData(reqData.getUid() + "_" + DateFormatUtils.format(new Date(), "yyyy-MM-dd"), conf.getPublicKey()));
+            reqData.setOrderid(orderData.getOrderid());
+            //韬唤绛惧悕锛屼娇鐢ㄨ嚜鏈塕SA绉侀挜杩涜鍔犲瘑(鍦板尯琛屾斂鍖哄垝浠g爜_褰撳ぉ鏃ユ湡)
+            reqData.setAccess_token(RSAUtils.encryptData(reqData.getUid() + "_" + DateFormatUtils.format(new Date(), "yyyy-MM-dd"), conf.getPassword()));
             //鏁版嵁鎬绘潯鏁�
             List<Object> list = (List<Object>) data;
             reqData.setDatalength(list.size());
-            //鏁版嵁杩涜SM4鍔犲瘑
-            reqData.setData(jsonData);
+            //浣跨敤鍖虹骇骞冲彴鍏挜瀵规暟鎹繘琛孯SA鍔犲瘑
+            reqData.setData(RSAUtils.encrypt(jsonData, conf.getPublicKey()));
             //鎽樿锛屾暟鎹富浣撶殑MD5鍊�
             reqData.setDigst(MyMD5Util.encrypt(jsonData));
 
-            SH2023RespDto responseDto = SH2023HttpClientUtil.postPushData(conf.getApiUrl() + inteId, reqData, conf);
+            SH2023RespDto responseDto = SH2023HttpClientUtil.postPushData(conf.getApiUrl() + inteId, JSON.toJSONString(reqData), conf);
             apiLog.setStatus(responseDto.getCode() == 200 ? 0 : responseDto.getCode());
             apiLog.setResult(responseDto.getResult());
             apiLogRep.save(apiLog);

--
Gitblit v1.9.3