新版仿ok交易所-后端
zyy
2025-10-11 f620192bcac7f5cb910a99e092edcee00280ce10
trading-order-admin/src/main/java/com/yami/trading/api/controller/RealtimeController.java
@@ -12,6 +12,7 @@
import com.yami.trading.common.util.StringUtils;
import com.yami.trading.common.web.ResultObject;
import com.yami.trading.huobi.data.DataCache;
import com.yami.trading.huobi.data.internal.DataDBService;
import com.yami.trading.service.data.DataService;
import com.yami.trading.service.item.ItemService;
import io.swagger.annotations.Api;
@@ -29,6 +30,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;
@@ -48,6 +50,8 @@
   private DataService dataService;
   @Autowired
   private ItemService itemService;
   @Autowired
   DataDBService dataDBService;
   @ApiOperation(value = "行情")
   @GetMapping(HOBI + "getRealtime.action")
@@ -80,11 +84,37 @@
               d.setAmount(d.getAmount().setScale(2, RoundingMode.HALF_UP));
            }
            d.setSymbolData(bySymbol.getSymbolData());
            BigDecimal open = DataCache.getLatestOpen(d.getSymbol());
            if (open != null) {
               d.setOpen(open);
            }
            d.setChangeRatio(dataDBService.getChangeRatio(d, d.getSymbol()));
         });
         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("生成实时数据失败", e);
         log.error("c", e);
         throw  new YamiShopBindException("生成实时数据失败");
      }
   }