From 41b107ba7acd40fa32ce9ec8f103dfe1061ecf4e Mon Sep 17 00:00:00 2001
From: zyy <zyy@email.com>
Date: Wed, 03 Sep 2025 16:52:33 +0800
Subject: [PATCH] 初始化修改
---
trading-order-service/src/main/java/com/yami/trading/service/impl/WalletServiceImpl.java | 3 ++-
trading-order-service/src/main/java/com/yami/trading/service/ico/IcoService.java | 5 +++--
trading-order-service/src/main/java/com/yami/trading/service/item/ItemService.java | 5 ++---
trading-order-bean/src/main/java/com/yami/trading/bean/ico/dto/UserSubscriptionDTO.java | 9 +++++++--
trading-order-admin/src/main/java/com/yami/trading/admin/controller/ico/AdminIcoController.java | 22 ++++++++++++++++++++++
trading-order-service/src/main/resources/mapper/ico/UserSubscriptionMapper.xml | 5 +++--
6 files changed, 39 insertions(+), 10 deletions(-)
diff --git a/trading-order-admin/src/main/java/com/yami/trading/admin/controller/ico/AdminIcoController.java b/trading-order-admin/src/main/java/com/yami/trading/admin/controller/ico/AdminIcoController.java
index 3a09604..b85a206 100644
--- a/trading-order-admin/src/main/java/com/yami/trading/admin/controller/ico/AdminIcoController.java
+++ b/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
diff --git a/trading-order-bean/src/main/java/com/yami/trading/bean/ico/dto/UserSubscriptionDTO.java b/trading-order-bean/src/main/java/com/yami/trading/bean/ico/dto/UserSubscriptionDTO.java
index 733ed84..99c9577 100644
--- a/trading-order-bean/src/main/java/com/yami/trading/bean/ico/dto/UserSubscriptionDTO.java
+++ b/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;
+
}
diff --git a/trading-order-service/src/main/java/com/yami/trading/service/ico/IcoService.java b/trading-order-service/src/main/java/com/yami/trading/service/ico/IcoService.java
index 6cebe22..3bb5ed7 100644
--- a/trading-order-service/src/main/java/com/yami/trading/service/ico/IcoService.java
+++ b/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) {
//放入待补
diff --git a/trading-order-service/src/main/java/com/yami/trading/service/impl/WalletServiceImpl.java b/trading-order-service/src/main/java/com/yami/trading/service/impl/WalletServiceImpl.java
index b06ca1d..aff60f2 100644
--- a/trading-order-service/src/main/java/com/yami/trading/service/impl/WalletServiceImpl.java
+++ b/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;
}
diff --git a/trading-order-service/src/main/java/com/yami/trading/service/item/ItemService.java b/trading-order-service/src/main/java/com/yami/trading/service/item/ItemService.java
index 5498355..c3230f7 100644
--- a/trading-order-service/src/main/java/com/yami/trading/service/item/ItemService.java
+++ b/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) {
diff --git a/trading-order-service/src/main/resources/mapper/ico/UserSubscriptionMapper.xml b/trading-order-service/src/main/resources/mapper/ico/UserSubscriptionMapper.xml
index 3138ae7..d6230d8 100644
--- a/trading-order-service/src/main/resources/mapper/ico/UserSubscriptionMapper.xml
+++ b/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>
--
Gitblit v1.9.3