Administrator
2025-12-11 eb57c7469fdf513c152b2782b04003647b54ba1e
feat(okx): 优化账户状态处理逻辑

- 调整状态获取时机,提前读取并记录到日志中
- 移除重复的状态获取代码段
- 增强日志信息,便于追踪执行状态
2 files modified
10 ■■■■ changed files
src/main/java/com/xcong/excoin/modules/okxNewPrice/celue/CaoZuoServiceImpl.java 4 ●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/okxNewPrice/okxWs/AccountWs.java 6 ●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/okxNewPrice/celue/CaoZuoServiceImpl.java
@@ -54,10 +54,10 @@
     */
    @Override
    public String caoZuo() {
        log.info("开始执行操作CaoZuoServiceImpl......");
        String state = (String) redisUtils.get(instrumentsStateKey);
        log.info("开始执行操作CaoZuoServiceImpl......{}",state);
        // 获取合约执行操作状态
        String state = (String) redisUtils.get(instrumentsStateKey);
        String outStr = (String) redisUtils.get(instrumentsOutKey);
        if (OrderParamEnums.OUT_YES.getValue().equals(outStr) && OrderParamEnums.STATE_3.getValue().equals(state)){
            log.error("止损过了......冷静一下,等待下次入场......");
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,8 +115,6 @@
                        // 可用余额 / 现金余额 比例判断是否允许开仓
                        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();