From 97c668bfeb07420baccadaf43abfbbb2b34fa467 Mon Sep 17 00:00:00 2001
From: CZT <czt18638530771@163.com>
Date: 星期三, 11 十月 2023 08:46:53 +0800
Subject: [PATCH] 优化库存数据同步
---
src/main/java/com/fzzy/push/whhpjl/WhjlApiRemoteService.java | 63 +++++++++++++++++++++++--------
1 files changed, 47 insertions(+), 16 deletions(-)
diff --git a/src/main/java/com/fzzy/push/whhpjl/WhjlApiRemoteService.java b/src/main/java/com/fzzy/push/whhpjl/WhjlApiRemoteService.java
index c571da6..d5b1b13 100644
--- a/src/main/java/com/fzzy/push/whhpjl/WhjlApiRemoteService.java
+++ b/src/main/java/com/fzzy/push/whhpjl/WhjlApiRemoteService.java
@@ -8,19 +8,17 @@
import com.fzzy.api.service.ApiCommonService;
import com.fzzy.api.service.ApiRemoteService;
import com.fzzy.api.service.ApiTriggerService;
-import com.fzzy.api.utils.ContextUtil;
-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;
-import com.fzzy.whjl.WhjlConstant;
+import com.fzzy.otherview.whhpjl.WhjlConstant;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Map;
+import java.util.*;
/**
* 姝︽眽鍐涚伯鐪佸钩鍙�-涓婁紶鏁版嵁鏈嶅姟绫�
@@ -56,22 +54,21 @@
public ResponseDto pushData(ApiParam param, ApiConfs conf, Object data) {
String inteId = param.getInteId();
String kqdm = param.getKqdm();
- String bizId = param.getBizId();
try {
if (null == conf) {
conf = apiCommonService.getConf(kqdm);
}
- //娣诲姞LOGO
+ //娣诲姞鏃ュ織
ApiLog apiLog = new ApiLog();
apiLog.setId(ContextUtil.getUUID());
apiLog.setInteId(inteId);
- String jsonData = getJsonData(inteId, data, conf.getApiUrl());
- log.info("鎶ユ枃淇℃伅=" + jsonData);
+ String jsonData = getJsonData(inteId, data);
+ log.info("鎺ュ彛鏁版嵁淇℃伅=" + jsonData);
inteId = getInteId(inteId);
if (StringUtils.isEmpty(inteId)) {
- ResponseDto responseDto = new ResponseDto(99, "娌℃湁鑾峰彇鍒版帴鍙�", bizId);
+ ResponseDto responseDto = new ResponseDto(99, "娌℃湁鑾峰彇鍒版帴鍙�");
apiLog.setStatus(99);
apiLog.setResult("娌℃湁鑾峰彇鍒版帴鍙�");
apiLogRep.save(apiLog);
@@ -82,22 +79,56 @@
apiLog.setUploadTime(new Date());
if (conf == null) {
- ResponseDto responseDto = new ResponseDto(99, "娌℃湁鑾峰彇鍒颁笂浼犻厤缃�", bizId);
+ ResponseDto responseDto = new ResponseDto(99, "娌℃湁鑾峰彇鍒颁笂浼犻厤缃�");
apiLog.setStatus(99);
apiLog.setResult("娌℃湁鑾峰彇鍒颁笂浼犻厤缃�");
apiLogRep.save(apiLog);
return responseDto;
}
- Map<String, Object> map = new HashMap<>();
- WhjlRespDto responseDto = Whjl2023HttpClientUtil.postPushData(conf.getApiUrl() + inteId, jsonData, conf, null);
+ //鑾峰彇鎸囦护id
+ String key = RedisConst.buildKey(RedisConst.KYE_ORDER, conf.getKqdm());
+ String orderId = (String)redisUtil.get(key);
+ if(StringUtils.isEmpty(orderId)){
+ ResponseDto responseDto = new ResponseDto(99, "鎸囦护id澶辨晥");
+ apiLog.setStatus(99);
+ apiLog.setResult("鎸囦护id澶辨晥");
+ apiLogRep.save(apiLog);
+ return responseDto;
+ }
+
+ //灏佽鎺ㄩ�佹暟鎹�
+ WhjlReqDto reqData = new WhjlReqDto();
+ reqData.setId(ContextUtil.getUUID());
+ reqData.setUid(conf.getKqdm());
+ //鎸囦护ID
+ reqData.setOrderid(orderId);
+ 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_鏃堕棿鎴宠繘琛孧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()));
+
+ WhjlRespDto responseDto = Whjl2023HttpClientUtil.postPushData(conf.getApiUrl() + inteId, reqData, conf);
apiLog.setStatus(responseDto.getCode() == 200 ? 0 : responseDto.getCode());
apiLog.setResult(responseDto.getResult());
apiLogRep.save(apiLog);
ResponseDto resd = new ResponseDto();
resd.setSuccess(responseDto.getCode() == 200 ? 0 : responseDto.getCode());
resd.setMsg(responseDto.getResult());
- //updateGD2022AuthToken(responseDto,conf, token);
+
return resd;
} catch (Exception e) {
log.error(e.getMessage(), e);
@@ -113,7 +144,7 @@
* @return
* @throws Exception
*/
- private String getJsonData(String inteId, Object data, String url) {
+ private String getJsonData(String inteId, Object data) {
return JSON.toJSONString(data);
}
--
Gitblit v1.9.3