From 62b592d65a8c84114b2240ee7ba78c6ae2fe93e6 Mon Sep 17 00:00:00 2001
From: CZT <czt18638530771@163.com>
Date: 星期二, 24 十月 2023 14:42:24 +0800
Subject: [PATCH] 武汉省平台-调整接口上报为单条集合形式上报

---
 src/main/java/com/fzzy/push/whhpjl/WhjlApiRemoteService.java |   65 ++++++++++++++++++--------------
 1 files changed, 36 insertions(+), 29 deletions(-)

diff --git a/src/main/java/com/fzzy/push/whhpjl/WhjlApiRemoteService.java b/src/main/java/com/fzzy/push/whhpjl/WhjlApiRemoteService.java
index 157f664..9db3102 100644
--- a/src/main/java/com/fzzy/push/whhpjl/WhjlApiRemoteService.java
+++ b/src/main/java/com/fzzy/push/whhpjl/WhjlApiRemoteService.java
@@ -8,10 +8,7 @@
 import com.fzzy.api.service.ApiCommonService;
 import com.fzzy.api.service.ApiRemoteService;
 import com.fzzy.api.service.ApiTriggerService;
-import com.fzzy.api.utils.AESUtils;
-import com.fzzy.api.utils.ContextUtil;
-import com.fzzy.api.utils.MyMD5Util;
-import com.fzzy.api.utils.RedisUtil;
+import com.fzzy.api.utils.*;
 import com.fzzy.api.view.repository.*;
 import com.fzzy.push.whhpjl.dto.WhjlReqDto;
 import com.fzzy.push.whhpjl.dto.WhjlRespDto;
@@ -42,6 +39,8 @@
     private ApiTriggerService apiTriggerService;
     @Autowired
     private ApiLogRep apiLogRep;
+    @Autowired
+    private Whjl2023HttpClientUtil whjl2023HttpClientUtil;
 
     @Override
     public String getProtocol() {
@@ -67,7 +66,7 @@
             ApiLog apiLog = new ApiLog();
             apiLog.setId(ContextUtil.getUUID());
             apiLog.setInteId(inteId);
-            String jsonData = getJsonData(inteId, data);
+            String jsonData = getJsonData(data);
             log.info("鎺ュ彛鏁版嵁淇℃伅=" + jsonData);
             inteId = getInteId(inteId);
             if (StringUtils.isEmpty(inteId)) {
@@ -88,31 +87,38 @@
                 apiLogRep.save(apiLog);
                 return responseDto;
             }
+
             //灏佽鎺ㄩ�佹暟鎹�
             WhjlReqDto reqData = new WhjlReqDto();
+            //鎶ユ枃鏍囪瘑ID
             reqData.setId(ContextUtil.getUUID());
-            reqData.setUid(conf.getKqdm());
-            //鎸囦护ID
-            reqData.setOrderid(param.getOrderid());
-            reqData.setAppcode(conf.getUserName());
-            reqData.setTimestamp(ContextUtil.getCurTimeMillis());
-            List<Object> list  = (List<Object>)data;
-            reqData.setDatalength(list.size());
-            //鏁版嵁杩涜SM4鍔犲瘑
-            reqData.setData(AESUtils.encrypt(jsonData, conf.getPublicKey()));
-            reqData.setOperator("insert");
-            //鎽樿锛屾暟鎹富浣撶殑MD5鍊�
-            reqData.setDigst(MyMD5Util.encrypt(jsonData));
+            //韬唤ID
+            reqData.setUid(conf.getUserName());
+            //鑾峰彇鎸囦护id
+            String key = RedisConst.buildKey(RedisConst.KYE_ORDER, conf.getKqdm());
+            String orderId = (String)redisUtil.get(key);
+            if(StringUtils.isEmpty(orderId)){
+                orderId = reqData.getId();
+            }
+            reqData.setOrderid(orderId);
+            //搴旂敤鐮�
+            reqData.setAppcode(conf.getAppCode());
+            //鏃堕棿鎴�
+            reqData.setTimestamp(Long.valueOf(ContextUtil.getCurTimeMillis()));
             //韬唤绛惧悕锛屽搴旂敤鐮乢鎺堟潈鐮乢绔欑偣缂栫爜_鎶ユ枃ID_鏃堕棿鎴宠繘琛孧D5绠楁硶绛惧悕
-            StringBuffer buffer = new StringBuffer();
-            buffer.append(reqData.getAppcode()).append("_");
-            buffer.append(conf.getPublicKey()).append("_");
-            buffer.append(conf.getKqmc()).append("_");
-            buffer.append(reqData.getId()).append("_");
-            buffer.append(reqData.getTimestamp());
-            reqData.setDigst(MyMD5Util.encrypt(buffer.toString()));
+            String accessToken = reqData.getAppcode() +"_" + conf.getPassword() +"_" + reqData.getUid() + "_" + reqData.getId() + "_" + reqData.getTimestamp();
+            log.info("韬唤绛惧悕锛�" + accessToken);
+            reqData.setAccesstoken(MyMD5Util.encrypt(accessToken));
+            //鏁版嵁鎬绘潯鏁�
+            reqData.setDatalength(1);
+            //鏁版嵁涓讳綋锛岃繘琛孲M4鍔犲瘑
+            reqData.setData(SM4Util.encryptEcb(conf.getPublicKey(), jsonData));
+            //鎽樿锛屾暟鎹富浣撶殑MD5鍊�
+            reqData.setDigest(MyMD5Util.encrypt(jsonData));
+            //鎿嶄綔绫诲瀷
+            reqData.setOperator("insert");
 
-            WhjlRespDto responseDto = Whjl2023HttpClientUtil.postPushData(conf.getApiUrl() + inteId, reqData, conf);
+            WhjlRespDto responseDto = whjl2023HttpClientUtil.postPushData(conf.getApiUrl() + inteId, reqData);
             apiLog.setStatus(responseDto.getCode() == 200 ? 0 : responseDto.getCode());
             apiLog.setResult(responseDto.getResult());
             apiLogRep.save(apiLog);
@@ -128,15 +134,16 @@
     }
 
     /**
-     * 璋冩暣鏁版嵁灏佽锛岃幏鍙杍son鏁版嵁
+     * 璋冩暣鏁版嵁灏佽鎴恖ist锛岃幏鍙杍son鏁版嵁
      *
-     * @param inteId
      * @param data
      * @return
      * @throws Exception
      */
-    private String getJsonData(String inteId, Object data) {
-        return JSON.toJSONString(data);
+    private String getJsonData(Object data) {
+        List<Object> list = new ArrayList<>();
+        list.add(data);
+        return JSON.toJSONString(list);
     }
 
     private String getInteId(String inteId) {

--
Gitblit v1.9.3