From dfd766139d37b0bd038288952cb24df76f4289f9 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Thu, 11 Dec 2025 17:38:56 +0800
Subject: [PATCH] feat(redis): 添加带延迟的Redis读取方法以提高数据一致性
---
src/main/java/com/xcong/excoin/modules/okxNewPrice/okxWs/AccountWs.java | 31 ++++++++++++++++---------------
1 files changed, 16 insertions(+), 15 deletions(-)
diff --git a/src/main/java/com/xcong/excoin/modules/okxNewPrice/okxWs/AccountWs.java b/src/main/java/com/xcong/excoin/modules/okxNewPrice/okxWs/AccountWs.java
index 478dd01..6d32560 100644
--- a/src/main/java/com/xcong/excoin/modules/okxNewPrice/okxWs/AccountWs.java
+++ b/src/main/java/com/xcong/excoin/modules/okxNewPrice/okxWs/AccountWs.java
@@ -73,7 +73,9 @@
public static void handleEvent(JSONObject response, RedisUtils redisUtils) {
- log.info("开始执行AccountWs......");
+ String state = (String) redisUtils.get(InstrumentsWs.INSTRUMENTSWS_CHANNEL + ":" + CoinEnums.HE_YUE.getCode() + ":state");
+
+ log.info("开始执行AccountWs......{}",state);
try {
JSONArray dataArray = response.getJSONArray(DATA_KEY);
if (dataArray == null || dataArray.isEmpty()) {
@@ -113,23 +115,22 @@
// 可用余额 / 现金余额 比例判断是否允许开仓
BigDecimal divide = availBal.divide(cashBal, 4, RoundingMode.DOWN);
-
- String state = (String) redisUtils.get(InstrumentsWs.INSTRUMENTSWS_CHANNEL + ":" + CoinEnums.HE_YUE.getCode() + ":state");
if (OrderParamEnums.STATE_4.getValue().equals(state)){
log.info(OrderParamEnums.STATE_4.getName());
state = OrderParamEnums.STATE_4.getValue();
- }else {
- if (!OrderParamEnums.STATE_3.getValue().equals(state)){
- if (divide.compareTo(KANG_CANG_THRESHOLD) > 0) {
- log.info(OrderParamEnums.STATE_1.getName());
- state = OrderParamEnums.STATE_1.getValue();
- } else if (divide.compareTo(ZHI_SUN_THRESHOLD) > 0) {
- log.warn(OrderParamEnums.STATE_2.getName());
- state = OrderParamEnums.STATE_2.getValue();
- } else {
- log.error(OrderParamEnums.STATE_3.getName());
- state = OrderParamEnums.STATE_3.getValue();
- }
+ }else if(OrderParamEnums.STATE_3.getValue().equals(state)){
+ log.info(OrderParamEnums.STATE_3.getName());
+ state = OrderParamEnums.STATE_3.getValue();
+ }else{
+ if (divide.compareTo(KANG_CANG_THRESHOLD) > 0) {
+ log.info(OrderParamEnums.STATE_1.getName());
+ state = OrderParamEnums.STATE_1.getValue();
+ } else if (divide.compareTo(ZHI_SUN_THRESHOLD) > 0) {
+ log.warn(OrderParamEnums.STATE_2.getName());
+ state = OrderParamEnums.STATE_2.getValue();
+ } else {
+ log.error(OrderParamEnums.STATE_3.getName());
+ state = OrderParamEnums.STATE_3.getValue();
}
}
--
Gitblit v1.9.1