peter
2025-07-11 19be3926c88d19645f43dd926d00615225f30802
trading-order-admin/src/main/java/com/yami/trading/api/controller/RealtimeController.java
@@ -3,6 +3,7 @@
import cn.hutool.core.collection.CollectionUtil;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.yami.trading.bean.data.domain.Kline;
import com.yami.trading.bean.data.domain.Realtime;
import com.yami.trading.bean.data.domain.TradeDetails;
import com.yami.trading.bean.item.domain.Item;
@@ -12,6 +13,8 @@
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.KlineConstant;
import com.yami.trading.huobi.data.internal.KlineService;
import com.yami.trading.service.data.DataService;
import com.yami.trading.service.item.ItemService;
import io.swagger.annotations.Api;
@@ -48,6 +51,8 @@
   private DataService dataService;
   @Autowired
   private ItemService itemService;
   @Autowired
   private KlineService klineService;
   @ApiOperation(value = "行情")
   @GetMapping(HOBI + "getRealtime.action")
@@ -73,6 +78,14 @@
            BigDecimal bigDecimal = BigDecimal.valueOf(1, decimals);
            d.setAsk(d.getClose().add(bigDecimal).setScale(decimals, RoundingMode.HALF_UP));
            d.setBid(d.getClose().subtract(bigDecimal).setScale(decimals, RoundingMode.HALF_UP));
            //涨跌幅 = (当天收盘价 - 前一日收盘价) / 前一日收盘价 * 100%
//            if(null != bySymbol.getYesterdayLastPrice() && bySymbol.getYesterdayLastPrice().compareTo(BigDecimal.ZERO) != 0){
//               BigDecimal changePercent = (d.getClose().subtract(bySymbol.getYesterdayLastPrice()))
//                     .divide(bySymbol.getYesterdayLastPrice(), 5, RoundingMode.HALF_UP) // 精确到4位小数
//                     .multiply(new BigDecimal("100").setScale(2)).setScale(4,RoundingMode.HALF_UP); // 乘以100得到百分比
//               d.setChangeRatioStr(changePercent);
//            }
            if(d.getVolume()!=null){
               d.setVolume(d.getVolume().setScale(2, RoundingMode.HALF_UP));
            }