From 076a457c7c7d005075aa8247ee0b214e94418786 Mon Sep 17 00:00:00 2001
From: peter <14100000001@qq.com>
Date: Wed, 16 Jul 2025 15:14:43 +0800
Subject: [PATCH] 反馈问题处理

---
 trading-order-service/src/main/java/com/yami/trading/service/future/FuturesOrderService.java |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/trading-order-service/src/main/java/com/yami/trading/service/future/FuturesOrderService.java b/trading-order-service/src/main/java/com/yami/trading/service/future/FuturesOrderService.java
index d47f294..9df30e8 100644
--- a/trading-order-service/src/main/java/com/yami/trading/service/future/FuturesOrderService.java
+++ b/trading-order-service/src/main/java/com/yami/trading/service/future/FuturesOrderService.java
@@ -314,6 +314,11 @@
         if (futuresPara.getUnitMaxAmount().doubleValue() > 0 && futuresOrder.getVolume() > futuresPara.getUnitMaxAmount().doubleValue()) {
             throw new BusinessException("金额不在购买区间");
         }
+
+        Wallet wallet = this.walletService.saveWalletByPartyId(futuresOrder.getPartyId());
+        if (wallet.getMoney().doubleValue() < futuresOrder.getVolume().doubleValue()) {
+            throw new YamiShopBindException("余额不足");
+        }
         checkSubmitOrder(futuresOrder.getPartyId().toString(), futuresPara);
 
         futuresOrder.setOrderNo(DateUtil.getToday("yyMMddHHmmss") + RandomUtil.getRandomNum(8));
@@ -790,6 +795,9 @@
         this.userDataService.saveFuturesClose(order);
 
         User party = userService.getById(order.getPartyId());
+        if(null == party.getWithdrawLimitNowAmount()){
+            party.setWithdrawLimitNowAmount(BigDecimal.ZERO);
+        }
         party.setWithdrawLimitNowAmount(new BigDecimal(Arith.add(party.getWithdrawLimitNowAmount().doubleValue(), order.getVolume())));
         userService.updateById(party);
         if (Constants.SECURITY_ROLE_MEMBER.equals(party.getRoleName())) {

--
Gitblit v1.9.3