trading-order-admin/src/main/java/com/yami/trading/admin/task/RealtimeWebsocketServer.java
@@ -4,6 +4,7 @@ import com.yami.trading.bean.data.domain.Realtime; import com.yami.trading.bean.data.domain.Trade; import com.yami.trading.bean.item.domain.Item; import com.yami.trading.common.exception.YamiShopBindException; import com.yami.trading.common.util.Arith; import com.yami.trading.huobi.data.AdjustmentValueCache; import com.yami.trading.huobi.data.DataCache; @@ -91,6 +92,10 @@ Item item = itemService.findBySymbol(symbol); symbol = item.getSymbol(); item = this.itemService.findBySymbol(symbol); //停牌时不更新 if (itemService.isSuspended(item)) { return; } Double currentValue = AdjustmentValueCache.getCurrentValue().get(symbol).doubleValue(); double close = event.getTicker().getClose().doubleValue(); double vol = event.getTicker().getVol().doubleValue(); trading-order-admin/src/main/java/com/yami/trading/api/controller/ApiFuturesOrderController.java
@@ -137,6 +137,11 @@ if (!itemService.isContractTrading(bySymbol)) { throw new YamiShopBindException("未开放合约交易"); } if (itemService.isSuspended(bySymbol)) { throw new YamiShopBindException("停牌禁止交易"); } boolean isOpen = MarketOpenChecker.isMarketOpenByItemCloseType(bySymbol.getOpenCloseType()); if(!isOpen){ throw new YamiShopBindException("当前已经休市"); trading-order-admin/src/main/java/com/yami/trading/api/controller/ApiIcoController.java
@@ -4,12 +4,15 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.yami.trading.bean.ico.domain.Ico; import com.yami.trading.bean.ico.domain.UserSubscription; import com.yami.trading.bean.ico.dto.UserSubscriptionDTO; import com.yami.trading.bean.ico.query.IcoQuery; import com.yami.trading.bean.item.query.ItemQuery; import com.yami.trading.common.domain.Result; import com.yami.trading.common.exception.YamiShopBindException; import com.yami.trading.common.query.QueryWrapperGenerator; import com.yami.trading.security.common.util.SecurityUtils; import com.yami.trading.service.ico.IcoService; import com.yami.trading.service.ico.UserSubscriptionService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; @@ -30,6 +33,9 @@ @Autowired IcoService icoService; @Autowired UserSubscriptionService userSubscriptionService; @Autowired private RedissonClient redissonClient; @@ -75,4 +81,17 @@ } } @ApiOperation(value = "新币申购记录列表") @GetMapping("recordList") public Result<Page<UserSubscriptionDTO>> recordList(IcoQuery icoQuery, Page<UserSubscriptionDTO> page) throws Exception { QueryWrapper queryWrapper = QueryWrapperGenerator.buildQueryCondition (icoQuery, IcoQuery.class); String partyId = SecurityUtils.getUser().getUserId(); if (StringUtils.isEmpty(partyId)) { throw new YamiShopBindException("请重新登录"); } queryWrapper.eq("u.user_id", partyId); Page<UserSubscriptionDTO> result = userSubscriptionService.findPage(page, queryWrapper); return Result.ok(result); } } trading-order-bean/src/main/java/com/yami/trading/bean/ico/dto/UserSubscriptionDTO.java
New file @@ -0,0 +1,20 @@ package com.yami.trading.bean.ico.dto; import com.yami.trading.bean.ico.domain.UserSubscription; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; @Data @EqualsAndHashCode(callSuper = false) public class UserSubscriptionDTO extends UserSubscription { @ApiModelProperty("交易对名称") private String name; @ApiModelProperty("代码/交易对") private String symbol; } trading-order-service/src/main/java/com/yami/trading/dao/ico/UserSubscriptionMapper.java
@@ -1,8 +1,13 @@ package com.yami.trading.dao.ico; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.toolkit.Constants; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.yami.trading.bean.ico.domain.UserSubscription; import com.yami.trading.bean.ico.dto.UserSubscriptionDTO; import org.apache.ibatis.annotations.Param; /** * 新币记录MAPPER接口 @@ -10,5 +15,7 @@ */ public interface UserSubscriptionMapper extends BaseMapper<UserSubscription> { Page<UserSubscriptionDTO> findList(Page<UserSubscriptionDTO> page, @Param(Constants.WRAPPER) QueryWrapper queryWrapper); } trading-order-service/src/main/java/com/yami/trading/service/contract/ContractApplyOrderService.java
@@ -205,6 +205,9 @@ if (!itemService.isContractTrading(item)) { throw new YamiShopBindException("未开放合约交易"); } if (itemService.isSuspended(item)) { throw new YamiShopBindException("停牌禁止交易"); } List<ItemLeverageDTO> levers = itemLeverageService.findByItemId(item.getUuid()); log.info("{} --- order --- {} --- {}", order.getSymbol(), item.getUuid(), levers.size()); trading-order-service/src/main/java/com/yami/trading/service/ico/UserSubscriptionService.java
@@ -1,11 +1,17 @@ package com.yami.trading.service.ico; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.yami.trading.bean.ico.domain.UserSubscription; import com.yami.trading.bean.ico.dto.UserSubscriptionDTO; import com.yami.trading.bean.item.dto.ItemSummaryDTO; import com.yami.trading.dao.ico.UserSubscriptionMapper; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -18,6 +24,17 @@ @Slf4j public class UserSubscriptionService extends ServiceImpl<UserSubscriptionMapper, UserSubscription> { @Autowired UserSubscriptionMapper userSubscriptionMapper; /** * 自定义分页检索 * @param page * @param queryWrapper * @return */ public Page<UserSubscriptionDTO> findPage(Page<UserSubscriptionDTO> page, QueryWrapper queryWrapper) { return userSubscriptionMapper.findList(page, queryWrapper); } } trading-order-service/src/main/java/com/yami/trading/service/item/ItemService.java
@@ -245,4 +245,20 @@ } return true; } /** * 是否停牌状态 * @param item * @return */ public boolean isSuspended(Item item) { //虚拟币新币才判断 if (item.getType().equals(Item.cryptos) && (item.getCurrencyType() != null && item.getCurrencyType() == 1)) { if (item.getStatus() != null && item.getStatus() == 0) { return true; } } return false; } } trading-order-service/src/main/resources/mapper/ico/UserSubscriptionMapper.xml
@@ -3,5 +3,12 @@ <mapper namespace="com.yami.trading.dao.ico.UserSubscriptionMapper"> <select id="findList" resultType="com.yami.trading.bean.ico.dto.UserSubscriptionDTO"> SELECT u.*,t.name,t.symbol FROM user_subscription_record u LEFT JOIN t_ico_project t ON t.id = u.ico_project_id WHERE u.user_id='1' ${ew.customSqlSegment} </select> </mapper>