新版仿ok交易所-后端
a36efade6f46f7e5d54b531d1adbf67771929a3b..bb271f5d717a1231a733776c7383f750fb676d81
2026-03-07 zyy
K线
bb271f diff | tree
2026-03-07 zyy
盈亏显示
3516d5 diff | tree
4 files modified
24 ■■■■■ changed files
trading-order-admin/src/main/java/com/yami/trading/api/controller/KlineController.java 4 ●●●● patch | view | raw | blame | history
trading-order-huobi/src/main/java/com.yami.trading.huobi/data/internal/DataDBServiceImpl.java 2 ●●● patch | view | raw | blame | history
trading-order-service/src/main/java/com/yami/trading/service/contract/ContractOrderCalculationServiceImpl.java 9 ●●●●● patch | view | raw | blame | history
trading-order-service/src/main/java/com/yami/trading/service/contract/ContractOrderService.java 9 ●●●●● patch | view | raw | blame | history
trading-order-admin/src/main/java/com/yami/trading/api/controller/KlineController.java
@@ -179,7 +179,7 @@
            map.put("low", low.setScale(decimal, RoundingMode.HALF_UP));
            map.put("volume", kline.getVolume());
            if (line.equalsIgnoreCase(Kline.PERIOD_15MIN) || line.equalsIgnoreCase(Kline.PERIOD_30MIN) || line.equalsIgnoreCase(Kline.PERIOD_60MIN)) {
            //if (line.equalsIgnoreCase(Kline.PERIOD_15MIN) || line.equalsIgnoreCase(Kline.PERIOD_30MIN) || line.equalsIgnoreCase(Kline.PERIOD_60MIN)) {
                if (i == data.size() - 1) {
                    BeforeClose beforeClose = dataDBService.getBeforeClose(kline.getSymbol(), line, ts);
                    if (beforeClose != null) {
@@ -187,7 +187,7 @@
                        map.put("low", beforeClose.getMinClose().setScale(decimal, RoundingMode.HALF_UP));
                    }
                }
            }
            //}
            list.add(map);
        }
        return list;
trading-order-huobi/src/main/java/com.yami.trading.huobi/data/internal/DataDBServiceImpl.java
@@ -165,7 +165,7 @@
            }
            beforeClose.setMaxClose(convertToBigDecimal(resultMap.get("maxClose")));
            beforeClose.setMinClose(convertToBigDecimal(resultMap.get("minClose")));
            redisTemplate.opsForValue().set(RedisKeys.REAL_TIME_BEFORE_CLOSE + symbol + line, beforeClose , 5 , TimeUnit.MINUTES);
            redisTemplate.opsForValue().set(RedisKeys.REAL_TIME_BEFORE_CLOSE + symbol + line, beforeClose , 1 , TimeUnit.MINUTES);
        }
        return beforeClose;
    }
trading-order-service/src/main/java/com/yami/trading/service/contract/ContractOrderCalculationServiceImpl.java
@@ -257,9 +257,12 @@
            } else{
                order.setProfit(amount.negate());
            }
            //逐仓强平利润固定-100%
            if (order.getLocationType() == 0) {
                order.setProfit(order.getDepositOpen().add(order.getAddDepositOpen()).negate());
            //强平利润固定-100%
            order.setProfit(order.getDepositOpen().add(order.getAddDepositOpen()).negate());
            //全仓强平利润+账户余额
            if (order.getLocationType() == 1) {
                Wallet wallet = this.walletService.findByUserId(order.getPartyId());
                order.setProfit(order.getProfit().subtract(wallet.getMoney()));
            }
        }
        this.contractOrderService.updateByIdBuffer(order);
trading-order-service/src/main/java/com/yami/trading/service/contract/ContractOrderService.java
@@ -537,9 +537,12 @@
            profit = point.multiply(new BigDecimal("0.01")).multiply(order.getVolumeOpen()).setScale(4, BigDecimal.ROUND_DOWN);;
            System.out.println("------------------point-------------:"+point);
            System.out.println("------------------profit------------:"+profit);
            if (order.getLocationType() == 0) {
                profit = order.getDepositOpen().add(order.getAddDepositOpen()).negate();
                System.out.println("------------------扣除保证金------------:"+profit);
            profit = order.getDepositOpen().add(order.getAddDepositOpen()).negate();
            System.out.println("------------------扣除保证金------------:"+profit);
            if (order.getLocationType() == 1) {
                Wallet wallet = this.walletService.findByUserId(order.getPartyId());
                System.out.println("------------------扣除余额------------:"+wallet.getMoney());
                profit = profit.subtract(wallet.getMoney());
            }
            if (ContractOrder.DIRECTION_BUY.equals(order.getDirection())) {
                order.setProfit(profit);