新版仿ok交易所-后端
zyy
2025-09-22 b50449687f292da46b821abc8905310e77bf0577
9.17优化
3 files modified
42 ■■■■■ changed files
trading-order-admin/src/main/java/com/yami/trading/admin/task/RealtimePushJob.java 7 ●●●●● patch | view | raw | blame | history
trading-order-admin/src/main/java/com/yami/trading/admin/task/TradePushJob.java 9 ●●●● patch | view | raw | blame | history
trading-order-admin/src/main/java/com/yami/trading/api/controller/RealtimeController.java 26 ●●●●● patch | view | raw | blame | history
trading-order-admin/src/main/java/com/yami/trading/admin/task/RealtimePushJob.java
@@ -10,6 +10,7 @@
import com.yami.trading.common.util.MarketOpenChecker;
import com.yami.trading.common.util.ThreadUtils;
import com.yami.trading.common.web.ResultObject;
import com.yami.trading.huobi.data.AdjustmentValueCache;
import com.yami.trading.huobi.data.DataCache;
import com.yami.trading.service.item.ItemService;
import lombok.extern.slf4j.Slf4j;
@@ -119,6 +120,12 @@
        map.put("close", realtime.getClose());
        map.put("high", realtime.getHigh());
        map.put("low", realtime.getLow());
        BigDecimal currentValue = AdjustmentValueCache.getCurrentValue().get(symbol);
        if (currentValue != null) {
            map.put("low", realtime.getLow().add(currentValue));
        }
        if( realtime.getVolume() != null){
            map.put("volume", realtime.getVolume().setScale(2, RoundingMode.HALF_UP));
        }else{
trading-order-admin/src/main/java/com/yami/trading/admin/task/TradePushJob.java
@@ -149,8 +149,13 @@
            tradeEntry_map.put("direction", direction);
            tradeEntry_map.put("ts", tradeEntry.getTs());
            tradeEntry_map.put("current_time", tradeEntry.getCurrent_time());
            double addPriceValue = getRandomValue((int)tradeEntry.getPrice().doubleValue());
            double addPriceValue;
            if ((int)tradeEntry.getPrice().doubleValue() == 0) {
                addPriceValue = 0;
            } else {
                addPriceValue = getRandomValue((int)tradeEntry.getPrice().doubleValue());
            }
            double addAmountValue = getRandomValue((int)tradeEntry.getAmount().doubleValue());
            
            double price = Arith.add(tradeEntry.getPrice(), addPriceValue);
trading-order-admin/src/main/java/com/yami/trading/api/controller/RealtimeController.java
@@ -29,6 +29,7 @@
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@@ -80,9 +81,30 @@
                    d.setAmount(d.getAmount().setScale(2, RoundingMode.HALF_UP));
                }
                d.setSymbolData(bySymbol.getSymbolData());
            });
            return Result.ok(data);
            List<Realtime> result = new ArrayList<>();
            if (!data.isEmpty()) {
                Realtime realtime = data.stream().filter(x -> x.getSymbol().equalsIgnoreCase("btcusdt")).findFirst().orElse(null);
                if (realtime != null) {
                    result.add(realtime);
                    data.remove(realtime);
                }
                Realtime realtime2 = data.stream().filter(x -> x.getSymbol().equalsIgnoreCase("ethusdt")).findFirst().orElse(null);
                if (realtime2 != null) {
                    result.add(realtime2);
                    data.remove(realtime2);
                }
                Realtime realtime3 = data.stream().filter(x -> x.getSymbol().equalsIgnoreCase("xrpusdt")).findFirst().orElse(null);
                if (realtime3 != null) {
                    result.add(realtime3);
                    data.remove(realtime3);
                }
                if (!data.isEmpty()) {
                    result.addAll(data);
                }
            }
            return Result.ok(result);
        } catch (Exception e) {
            log.error("c", e);
            throw  new YamiShopBindException("生成实时数据失败");