1
dd
2026-01-06 45b1456afcdd3b103a21b573cd9a93437487efcd
1
7 files modified
38 ■■■■■ changed files
trading-order-admin/src/main/java/com/yami/trading/api/controller/ApiContractOrderController.java 4 ●●● patch | view | raw | blame | history
trading-order-admin/src/main/java/com/yami/trading/api/controller/RealtimeController.java 14 ●●●● patch | view | raw | blame | history
trading-order-admin/src/main/resources/application-dev.yml 4 ●●●● patch | view | raw | blame | history
trading-order-huobi/src/main/java/com/yami/trading/huobi/data/job/StockGetDataJob.java 6 ●●●● patch | view | raw | blame | history
trading-order-huobi/src/main/java/com/yami/trading/huobi/hobi/internal/TradingViewDataServiceImpl.java 3 ●●●● patch | view | raw | blame | history
trading-order-huobi/src/main/java/com/yami/trading/huobi/task/ActiveRealtimeBlankRepairTask.java 2 ●●● patch | view | raw | blame | history
trading-order-service/src/main/java/com/yami/trading/service/item/ItemService.java 5 ●●●●● patch | view | raw | blame | history
trading-order-admin/src/main/java/com/yami/trading/api/controller/ApiContractOrderController.java
@@ -133,7 +133,9 @@
            // 此处返回的 closeTime 是时间戳类型
            data = this.contractOrderService.getPaged(page_no, 10, partyId, symbol, type, startTime, endTime, symbolType);
        }
        if(ObjectUtils.isEmpty(data)){
            return Result.ok(new ArrayList<>());
        }
        String symbolsStr = "";
        Set<String> symbols = new HashSet<>();
        for (int i = 0; i < data.size(); i++) {
trading-order-admin/src/main/java/com/yami/trading/api/controller/RealtimeController.java
@@ -2,6 +2,7 @@
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.text.split.SplitIter;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.google.common.base.Splitter;
import com.google.common.collect.Lists;
import com.yami.trading.bean.data.domain.Realtime;
@@ -257,10 +258,10 @@
            items.addAll(itemsTop);
        } else if ("US-stocks".equals(type)) {
            // 只查询指数top6
            items = itemService.cacheGetAll().stream().filter(item -> "global".equals(item.getCategory())).limit(3).collect(Collectors.toList());
            List<Item> itemsTop = itemService.cacheGetAll().stream().filter(item -> "technology,prominent".equals(item.getCategory())).sorted(Comparator.comparing(Item::getSorted).reversed()).limit(size)
                    .collect(Collectors.toList());
            items.addAll(itemsTop);
            items = itemService.cacheGetAll().stream().filter(item -> "US-stocks".equals(item.getType())).limit(6).collect(Collectors.toList());
//            List<Item> itemsTop = itemService.cacheGetAll().stream().filter(item -> "technology,prominent".equals(item.getCategory())).sorted(Comparator.comparing(Item::getSorted).reversed()).limit(size)
//                    .collect(Collectors.toList());
//            items.addAll(itemsTop);
        }
        // 加密货币、外汇、 top4
        else {
@@ -282,7 +283,7 @@
                                                      @RequestParam(required = false) Integer pageNo,
                                                      @RequestParam(required = false) Integer pageSize) {
        try {
            pageSize = null == pageSize ? 1000 : pageSize;
            pageSize = null == pageSize ? 100 : pageSize;
            List<Item> itemsTotal;
            List<Item> items = new ArrayList<>();
            //按字符串排序
@@ -303,8 +304,7 @@
            if (null != type && null != category) {
                // 知名类 需要模糊查询
                if ("prominent".equals(category)) {
                    itemsTotal = new ArrayList<>(itemList).stream().filter(item -> item.getType().equals(type)
                            && item.getCategory().contains(category)).collect(Collectors.toList());
                    itemsTotal = itemService.list(new LambdaQueryWrapper<Item>().eq(Item::getType,type));
                } else {
                    itemsTotal = new ArrayList<>(itemList).stream().filter(item -> item.getType().equals(type)
                            && item.getCategory().equals(category)).collect(Collectors.toList());
trading-order-admin/src/main/resources/application-dev.yml
@@ -11,7 +11,7 @@
    # 东八区时区
    url: jdbc:mysql://127.0.0.1:3306/trading_order?allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&zeroDateTimeBehavior=convertToNull&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true
    username: root
    password: b451ebeac304a78c
    password: 403bacf7ba720048
    driver-class-name: com.mysql.jdbc.Driver
    type: com.alibaba.druid.pool.DruidDataSource
    druid:
@@ -117,7 +117,7 @@
images.dir: /mydata/img/
admin_url: https://localhost:8080/admin
web_url: http://localhost:8080/wap/
images_http: https://img.volcanovip.cc/
images_http: https://img.mak-web3.com/
email:
  host: smtp.gmail.com
  username: coinzne.com@gmail.com
trading-order-huobi/src/main/java/com/yami/trading/huobi/data/job/StockGetDataJob.java
@@ -94,9 +94,9 @@
                if(stockFirstFetch){
                    this.realtimeHandleXueQiu(aStockRemarks);
                    this.realtimeHandleXueQiu(hkStockRemarks);
                    this.realtimeHandleXueQiu(usStockRemarks);
//                    this.realtimeHandleXueQiu(aStockRemarks);
//                    this.realtimeHandleXueQiu(hkStockRemarks);
//                    this.realtimeHandleXueQiu(usStockRemarks);
                    //this.realtimeHandleTW(twStockRemarks);
                    //this.realtimeHandleCommon(jpStockRemarks);
                    //this.realtimeHandleCommon(indiaStockRemarks);
trading-order-huobi/src/main/java/com/yami/trading/huobi/hobi/internal/TradingViewDataServiceImpl.java
@@ -9,6 +9,7 @@
import com.yami.trading.bean.data.domain.Realtime;
import com.yami.trading.common.http.HttpHelper;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Component;
import javax.crypto.Mac;
@@ -58,7 +59,7 @@
                //封装行情缓存
                Realtime realtime = new Realtime();
                String symbol = item.getString("s");
                realtime.setSymbol(symbol);
                realtime.setSymbol(StringUtils.substringAfter(symbol, ":"));
                JSONArray data = item.getJSONArray("d");
                realtime.setName(data.get(1) != null ? (String) data.get(1) : "");
                realtime.setTs(DateTime.now().getTime());
trading-order-huobi/src/main/java/com/yami/trading/huobi/task/ActiveRealtimeBlankRepairTask.java
@@ -30,7 +30,7 @@
    @Qualifier("dataService")
    @Autowired
    private DataService dataService;
    @Scheduled(cron = "*/3 * * ? * *")
//    @Scheduled(cron = "*/3 * * ? * *")
    @Async
    public void doStockTask() throws InterruptedException {
        log.debug("ActiveRealtimeBlankRepairTask 正在对已经激活的,重新补充实时价格数据");
trading-order-service/src/main/java/com/yami/trading/service/item/ItemService.java
@@ -262,6 +262,9 @@
                remarksSymbol.put(item.getRemarks(), item.getSymbol());
                remarksSymbol.put(item.getSymbol(), item.getSymbol());
                remarksSymbol.put(item.getRemarks().replace("usdt", ""), item.getSymbol());
            }else if(item.getType().equals(Item.US_STOCKS) && item.getSymbol() != null){
                remarksSymbol.put(item.getRemarks(), item.getSymbol());
                remarksSymbol.put(item.getSymbol(), item.getSymbol());
            }
        }
        return list;
@@ -284,6 +287,8 @@
            if (item.getRemarks() != null) {
                symbolDecimal.put(item.getRemarks(), item.getDecimals());
                symbolDecimal.put(item.getRemarks().replace("usdt", ""), item.getDecimals());
            }else if(item.getType().equals(Item.US_STOCKS) && item.getSymbol() != null){
                remarksSymbol.put(item.getSymbol(), item.getSymbol());
            }
        }
        symbolItem = list.stream()