From 7d6d02e3d501a0a5f5cbdff16bf594c77f2fc7cd Mon Sep 17 00:00:00 2001
From: YYC <1833023622@qq.com>
Date: 星期一, 18 九月 2023 18:58:44 +0800
Subject: [PATCH] 优化上海接口-手动上传时根据协议区分数据是否为集合形式

---
 src/main/java/com/fzzy/push/sh2023/SH2023ApiRemoteService.java |   77 +++++++++++++++++++++-----------------
 1 files changed, 42 insertions(+), 35 deletions(-)

diff --git a/src/main/java/com/fzzy/push/sh2023/SH2023ApiRemoteService.java b/src/main/java/com/fzzy/push/sh2023/SH2023ApiRemoteService.java
index 6b7d07f..e1abe87 100644
--- a/src/main/java/com/fzzy/push/sh2023/SH2023ApiRemoteService.java
+++ b/src/main/java/com/fzzy/push/sh2023/SH2023ApiRemoteService.java
@@ -11,10 +11,7 @@
 import com.fzzy.api.service.ApiTriggerService;
 import com.fzzy.api.utils.*;
 import com.fzzy.api.view.repository.*;
-import com.fzzy.push.gd2022.GD2022HttpClientUtil;
-import com.fzzy.push.gd2022.dto.GD2022AuthToken;
-import com.fzzy.push.gd2022.dto.GD2022ResponseDto;
-import com.fzzy.push.gd2022.dto.GDFinanceDto;
+import com.fzzy.order.data.OrderData;
 import com.fzzy.push.sh2023.dto.*;
 import lombok.Data;
 import lombok.extern.slf4j.Slf4j;
@@ -23,8 +20,6 @@
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-
-import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.HashSet;
@@ -80,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);
@@ -112,31 +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锛屽嵆琛屾斂鍖哄垝鐮�
-            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);
@@ -195,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