trading-order-admin/src/main/java/com/yami/trading/admin/controller/ico/AdminIcoController.java
@@ -1,5 +1,6 @@ package com.yami.trading.admin.controller.ico; import cn.hutool.core.date.DateTime; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -24,6 +25,8 @@ import org.springframework.web.bind.annotation.*; import javax.validation.Valid; import java.time.Instant; import java.util.Date; @Api(tags ="新币管理") @@ -63,6 +66,25 @@ .eq(Ico::getSymbol, ico.getSymbol()).or().eq(Ico::getSymbolData, ico.getSymbolData())); } else { Ico model = icoService.getById(ico.getId()); if (model == null) { throw new YamiShopBindException("数据不存在"); } Date now = Date.from(Instant.now()); if (model.getMarketDate() != null && model.getMarketDate().before(now)){ throw new YamiShopBindException("已上市不能修改"); } if (!model.getSymbol().equalsIgnoreCase(ico.getSymbol()) || !model.getSymbolData().equalsIgnoreCase(ico.getSymbolData())) { //修改编码判断是否有人购买 QueryWrapper<UserSubscription> queryWrapper = new QueryWrapper<>(); queryWrapper.eq("ico_project_id", ico.getId()); long uCount = userSubscriptionService.count(queryWrapper); if (uCount > 0) { throw new YamiShopBindException("已有申购,禁止修改代币符号,数据源编码"); } } count = icoService.count(new LambdaQueryWrapper<Ico>() .ne(Ico::getId, ico.getId()) .and(wrapper -> wrapper trading-order-bean/src/main/java/com/yami/trading/bean/ico/dto/UserSubscriptionDTO.java
@@ -10,11 +10,16 @@ @EqualsAndHashCode(callSuper = false) public class UserSubscriptionDTO extends UserSubscription { @ApiModelProperty("交易对名称") @ApiModelProperty("币名称") private String name; @ApiModelProperty("代码/交易对") private String symbol; @ApiModelProperty("用户名") private String userName; @ApiModelProperty("UID") private String userCode; } trading-order-service/src/main/java/com/yami/trading/service/ico/IcoService.java
@@ -154,10 +154,10 @@ if (model.getStatus() == 3) { //中签 //资金账户 Wallet wallet = walletService.saveWalletByPartyId(userId); int applyNumber = userSubscription.getSubscribeNums() - model.getBallotNumber(); BigDecimal amount = ico.getUnitAmount().multiply(new BigDecimal(applyNumber)); //已经预支付 if(ico.getIsPayDown() !=null && ico.getIsPayDown() == 1) { int applyNumber = userSubscription.getSubscribeNums() - model.getBallotNumber(); BigDecimal amount = ico.getUnitAmount().multiply(new BigDecimal(applyNumber)); if(applyNumber > 0) { //退回资金 BigDecimal refundPrice = ico.getUnitAmount().multiply(new BigDecimal(applyNumber)); @@ -177,6 +177,7 @@ moneyLogService.save(moneylog); } } else { BigDecimal amount = ico.getUnitAmount().multiply(new BigDecimal(model.getBallotNumber())); BigDecimal subtract = amount.subtract(wallet.getMoney()); if (subtract.compareTo(BigDecimal.ZERO) > 0) { //放入待补 trading-order-service/src/main/java/com/yami/trading/service/impl/WalletServiceImpl.java
@@ -296,7 +296,8 @@ if (realtimes != null && realtimes.size() > 0) { close = realtimes.get(0).getClose().doubleValue(); } else { throw new YamiShopBindException("参数错误"); close = 0; //throw new YamiShopBindException("参数错误"); } return close; } trading-order-service/src/main/java/com/yami/trading/service/item/ItemService.java
@@ -16,15 +16,12 @@ import com.yami.trading.bean.item.domain.Item; import com.yami.trading.bean.item.dto.ItemDTO; import com.yami.trading.bean.item.dto.ItemLeverageDTO; import com.yami.trading.common.exception.YamiShopBindException; import com.yami.trading.common.util.ApplicationContextUtils; import com.yami.trading.common.util.MarketOpenChecker; import com.yami.trading.common.util.StringUtils; import com.yami.trading.dao.item.ItemMapper; import lombok.extern.slf4j.Slf4j; import org.checkerframework.checker.units.qual.A; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cache.annotation.CacheEvict; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -255,6 +252,7 @@ * @return */ public boolean isContractTrading(Item item) { item = getById(item.getUuid()); //虚拟币新币才判断 if (item.getType().equals(Item.cryptos) && (item.getCurrencyType() != null && item.getCurrencyType() == 1)) { if (item.getTradeType() != null && item.getTradeType().equals("0")) { @@ -270,6 +268,7 @@ * @return */ public boolean isSuspended(Item item) { item = getById(item.getUuid()); //虚拟币新币才判断 if (item.getType().equals(Item.cryptos) && (item.getCurrencyType() != null && item.getCurrencyType() == 1)) { if (item.getStatus() != null && item.getStatus() == 0) { trading-order-service/src/main/resources/mapper/ico/UserSubscriptionMapper.xml
@@ -4,9 +4,10 @@ <select id="findList" resultType="com.yami.trading.bean.ico.dto.UserSubscriptionDTO"> SELECT u.*,t.name,t.symbol SELECT u.*,t.name,t.symbol,r.user_name,r.user_code FROM user_subscription_record u LEFT JOIN t_ico_project t ON t.id = u.ico_project_id LEFT JOIN t_ico_project t ON t.id = u.ico_project_id LEFT JOIN tz_user r ON r.user_id = u.user_id ${ew.customSqlSegment} </select>