瀏覽代碼

拍卖开通绿魔卡

licailing 3 年之前
父節點
當前提交
8e16ea6564
共有 1 個文件被更改,包括 8 次插入6 次删除
  1. 8 6
      src/main/java/com/izouma/nineth/service/AuctionRecordService.java

+ 8 - 6
src/main/java/com/izouma/nineth/service/AuctionRecordService.java

@@ -145,13 +145,17 @@ public class AuctionRecordService {
     }
 
     public AuctionRecord create(Long userId, Long auctionId, BigDecimal amount) {
+        User user = userRepo.findById(userId).orElseThrow(new BusinessException("无用户"));
+
         //竞拍人绿魔卡余额限制
-        UserBalance userBalance = userBalanceRepo.findByUserId(userId).orElse(null);
         BigDecimal minAmount = sysConfigService.getBigDecimal("auction_min_amount");
-        if (userBalance == null) {
+        if (!user.isWalletEnabled()) {
             throw new BusinessException("请开通绿魔卡,并充值" + minAmount + "元");
-        } else if (minAmount.compareTo(userBalance.getBalance()) > 0) {
-            throw new BusinessException("绿魔卡余额不足" + minAmount + "元,请先充值");
+        } else {
+            UserBalance userBalance = userBalanceRepo.findByUserId(user.getId()).orElse(new UserBalance(user.getId()));
+            if (minAmount.compareTo(userBalance.getBalance()) > 0) {
+                throw new BusinessException("绿魔卡余额不足" + minAmount + "元,请先充值");
+            }
         }
 
         AuctionActivity auction = auctionActivityRepo.findById(auctionId)
@@ -172,8 +176,6 @@ public class AuctionRecordService {
 
         AuctionRecord record = auctionRecordRepo.findTopByAuctionIdAndUserIdOrderByIdDesc(auctionId, userId);
         if (ObjectUtils.isEmpty(record)) {
-            User user = userRepo.findById(userId).orElseThrow(new BusinessException("无用户"));
-
             return auctionRecordRepo.save(AuctionRecord.builder()
                     .auctionId(auctionId)
                     .userId(userId)