trading-order-admin/src/main/java/com/yami/trading/admin/controller/etf/KlineConfigController.java
@@ -91,8 +91,20 @@ @ApiOperation(value = "添加交易对") @PostMapping("addItem") public Result<String> addItem(@Valid @RequestBody Item item) throws Exception { if (item.getUuid() != null) { Item model = itemService.getById(item.getUuid()); if (model == null) { return Result.failed("数据不存在"); } //币类型不允许修改 if (model.getCurrencyType() != null) { item.setCurrencyType(model.getCurrencyType()); } } //新增或编辑表单保存 itemService.saveOrUpdate(item); //修改后重新缓存 itemService.reloadListAndCache(); return Result.ok("添加交易对成功"); } trading-order-admin/src/main/java/com/yami/trading/admin/task/IcoTask.java
@@ -42,17 +42,13 @@ if (icoList == null || icoList.isEmpty()) { return; } List<String> symbolList = icoList.stream().map(Ico::getSymbol).collect(Collectors.toList()); QueryWrapper<Item> iQuery = new QueryWrapper<>(); iQuery.in("SYMBOL", symbolList); iQuery.eq("currency_type", 1); List<Item> itemList = itemService.list(iQuery); List<Item> addItemList = new ArrayList<>(); for (Ico ico : icoList) { //如何不存在添加 Item item = itemList.stream().filter(x -> x.getSymbol().equals(ico.getSymbol())).findFirst().orElse(null); //是否已存在币 QueryWrapper<Item> iQuery = new QueryWrapper<>(); iQuery.eq("SYMBOL", ico.getSymbol()); iQuery.eq("SYMBOL_DATA", ico.getSymbolData()); Item item = itemService.getOne(iQuery); if (item == null) { item = new Item(); item =icoService.icoToItem(item, ico); trading-order-admin/src/main/java/com/yami/trading/api/controller/DepthController.java
@@ -50,6 +50,9 @@ resultObject.setMsg("[symbol]参数为空"); return resultObject; } if (itemService.isSuspended(symbol)) { return resultObject; } // 数据处理 Depth data = this.dataService.depth(symbol); trading-order-admin/src/main/java/com/yami/trading/api/websocket/WebSocketServer.java
@@ -1,5 +1,9 @@ package com.yami.trading.api.websocket; import cn.hutool.core.collection.CollectionUtil; import com.yami.trading.bean.item.domain.Item; import com.yami.trading.common.util.ApplicationContextUtils; import com.yami.trading.service.item.ItemService; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; @@ -8,6 +12,7 @@ import javax.websocket.server.ServerEndpoint; import java.io.IOException; import java.util.Calendar; import java.util.List; import java.util.concurrent.ConcurrentHashMap; /** @@ -35,14 +40,25 @@ public static ConcurrentHashMap<String, WebSocketSession> tradeMap = new ConcurrentHashMap<String, WebSocketSession>(); public static ConcurrentHashMap<String, WebSocketSession> depthMap = new ConcurrentHashMap<String, WebSocketSession>(); /** * 连接建立成功调用的方法 */ @OnOpen public void onOpen(@PathParam(value = "type") String type, @PathParam(value = "param") String param, Session session) { //停牌断开连接 if (WebSocketEnum.SOCKET_ENUM_DEPTH.getCode().equals(type)) { List<Item> items = ApplicationContextUtils.getApplicationContext().getBean(ItemService.class).list(); if (CollectionUtil.isNotEmpty(items)) { Item item = items.stream().filter(i -> param.equalsIgnoreCase(i.getSymbol())).findFirst().orElse(null); if (item != null) { if (item.getStatus() != null && item.getStatus() == 0) { return; } } } } WebSocketSession webSocketSession = new WebSocketSession(session, getTimeInMillis(), type, param); // 加入set中 trading-order-bean/src/main/java/com/yami/trading/bean/item/dto/ItemDTO.java
@@ -166,4 +166,14 @@ } @ApiModelProperty("币类型 0.主流币 1.新币") private Integer currencyType; @ApiModelProperty("状态(新币) 0.停牌 1.复牌") private Integer status; @ApiModelProperty("是否开放合约交易 0.否 1.是") private String tradeType; } trading-order-service/src/main/java/com/yami/trading/service/item/ItemService.java
@@ -269,8 +269,8 @@ public boolean isSuspended(String symbol) { Item item = findBySymbol(symbol); //虚拟币新币才判断 if (item.getType().equals(Item.cryptos) && (item.getCurrencyType() != null && item.getCurrencyType() == 1)) { item = getById(item.getUuid()); if (item.getType().equals(Item.cryptos) /*&& (item.getCurrencyType() != null && item.getCurrencyType() == 1)*/) { //item = getById(item.getUuid()); if (item.getStatus() != null && item.getStatus() == 0) { return true; } trading-order-service/src/main/resources/mapper/item/ItemMapper.xml
@@ -28,8 +28,11 @@ a.category AS "category", a.sorted AS "sorted", a.quote_currency AS "quoteCurrency", a.show_status AS "showStatus", a.trade_status AS "tradeStatus" a.show_status AS "showStatus", a.trade_status AS "tradeStatus", a.currency_type AS "currencyType", a.status AS "status", a.trade_type AS "tradeType" </sql>