Administrator
2025-12-10 2ff53e439955a6c62c6adc5e2acf6e67bd704cb7
feat(okx): 添加 WebSocket 处理日志记录

- 在 AccountWs 类中添加执行日志
- 在 BalanceAndPositionWs 类中添加执行日志
- 在 CaoZuoServiceImpl 类中调整日志输出位置
- 在 InstrumentsWs 类中添加执行日志
- 在 LoginWs 类中添加执行日志
- 在 OrderInfoWs 类中添加执行日志
- 在 PositionsWs 类中添加执行日志
- 在 TradeOrderWs 类中添加执行日志和订单方向日志
8 files modified
29 ■■■■ changed files
src/main/java/com/xcong/excoin/modules/okxNewPrice/celue/CaoZuoServiceImpl.java 13 ●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/okxNewPrice/okxWs/AccountWs.java 3 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/okxNewPrice/okxWs/BalanceAndPositionWs.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/okxNewPrice/okxWs/InstrumentsWs.java 1 ●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/okxNewPrice/okxWs/LoginWs.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/okxNewPrice/okxWs/OrderInfoWs.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/okxNewPrice/okxWs/PositionsWs.java 3 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/okxNewPrice/okxWs/TradeOrderWs.java 3 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/okxNewPrice/celue/CaoZuoServiceImpl.java
@@ -53,12 +53,7 @@
     */
    @Override
    public String caoZuo() {
        log.info("开始执行操作......");
        String pos = (String) redisUtils.get(positionsPosKey);
        if (StrUtil.isBlank(pos) || BigDecimal.ZERO.compareTo( new BigDecimal(pos)) <= 0) {
            log.error("未获取到持仓数量");
            return OrderParamEnums.INIT.getValue();
        }
        log.info("开始执行操作CaoZuoServiceImpl......");
        // 获取合约执行操作状态
        String state = (String) redisUtils.get(instrumentsStateKey);
@@ -79,6 +74,12 @@
            return OrderParamEnums.HOLDING.getValue();
        }
        String pos = (String) redisUtils.get(positionsPosKey);
        if (StrUtil.isBlank(pos) || BigDecimal.ZERO.compareTo( new BigDecimal(pos)) <= 0) {
            log.error("未获取到持仓数量");
            return OrderParamEnums.INIT.getValue();
        }
        String uplStr = (String) redisUtils.get(positionsUplKey);
        if (StrUtil.isBlank(uplStr)){
            return OrderParamEnums.INIT.getValue();
src/main/java/com/xcong/excoin/modules/okxNewPrice/okxWs/AccountWs.java
@@ -71,6 +71,9 @@
     * @param redisUtils Redis 工具类实例,用于存储账户相关信息
     */
    public static void handleEvent(JSONObject response, RedisUtils redisUtils) {
        log.info("开始执行AccountWs......");
        try {
            JSONArray dataArray = response.getJSONArray(DATA_KEY);
            if (dataArray == null || dataArray.isEmpty()) {
src/main/java/com/xcong/excoin/modules/okxNewPrice/okxWs/BalanceAndPositionWs.java
@@ -33,6 +33,8 @@
    }
    public static void handleEvent(JSONObject response) {
        log.info("开始执行BalanceAndPositionWs......");
        try {
            JSONArray dataArray = response.getJSONArray("data");
            if (dataArray == null || dataArray.isEmpty()) {
src/main/java/com/xcong/excoin/modules/okxNewPrice/okxWs/InstrumentsWs.java
@@ -14,6 +14,7 @@
    public static final String INSTRUMENTSWS_CHANNEL = "instruments";
    public static void handleEvent(RedisUtils redisUtils) {
        log.info("开始执行InstrumentsWs......");
        // 将账户数据保存到Redis中,设置过期时间为30分钟
        try {
            boolean setResult =
src/main/java/com/xcong/excoin/modules/okxNewPrice/okxWs/LoginWs.java
@@ -14,6 +14,8 @@
@Slf4j
public class LoginWs {
    public static void websocketLogin(WebSocketClient webSocketClient) {
        log.info("开始执行LoginWs......");
        try {
            JSONArray argsArray = new JSONArray();
src/main/java/com/xcong/excoin/modules/okxNewPrice/okxWs/OrderInfoWs.java
@@ -48,6 +48,8 @@
    private static final String AVGPX_KEY = "avgPx";
    private static final String STATE_KEY = "state";
    public static void handleEvent(JSONObject response, RedisUtils redisUtils) {
        log.info("开始执行OrderInfoWs......");
        try {
            JSONArray dataArray = response.getJSONArray(DATA_KEY);
            if (dataArray == null || dataArray.isEmpty()) {
src/main/java/com/xcong/excoin/modules/okxNewPrice/okxWs/PositionsWs.java
@@ -44,6 +44,9 @@
    }
    public static void handleEvent(JSONObject response, RedisUtils redisUtils) {
        log.info("开始执行PositionsWs......");
        try {
            JSONArray dataArray = response.getJSONArray("data");
            if (dataArray == null || dataArray.isEmpty()) {
src/main/java/com/xcong/excoin/modules/okxNewPrice/okxWs/TradeOrderWs.java
@@ -23,6 +23,8 @@
    public static void orderEvent(WebSocketClient webSocketClient, RedisUtils redisUtils, String side) {
        log.info("开始执行TradeOrderWs......");
        String buyCnt = null;
        String ctval = getRedisValue(redisUtils, InstrumentsWs.INSTRUMENTSWS_CHANNEL, ":ctVal");
        String buyCntNormal = getRedisValue(redisUtils, PositionsWs.POSITIONSWS_CHANNEL, ":buyCnt");
@@ -39,6 +41,7 @@
                buyCnt = ctval;
            }
        } else if (OrderParamEnums.OUT.getValue().equals(side)) {
            log.info(OrderParamEnums.getNameByValue(OrderParamEnums.OUT.getValue()));
            side = OrderParamEnums.SELL.getValue();
            buyCnt = pos;
        } else if (OrderParamEnums.BUY.getValue().equals(side)){