From 4bb0b890438349a7cfd7ab2dc30999346a5acf58 Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Wed, 30 Apr 2025 01:18:10 +0800
Subject: [PATCH] 1

---
 src/main/java/com/nq/service/impl/UserStockSubscribeServiceImpl.java |   26 +++++++++++++-------------
 1 files changed, 13 insertions(+), 13 deletions(-)

diff --git a/src/main/java/com/nq/service/impl/UserStockSubscribeServiceImpl.java b/src/main/java/com/nq/service/impl/UserStockSubscribeServiceImpl.java
index 90ddefa..5b338bf 100644
--- a/src/main/java/com/nq/service/impl/UserStockSubscribeServiceImpl.java
+++ b/src/main/java/com/nq/service/impl/UserStockSubscribeServiceImpl.java
@@ -85,7 +85,7 @@
             return ServerResponse.createByErrorMsg("参数错误",request);
         }
         User user = iUserService.getCurrentRefreshUser(request);
-        UserAssets userAssets =   iUserAssetsServices.assetsByTypeAndUserId("IN",user.getId());
+        UserAssets userAssets =   iUserAssetsServices.assetsByTypeAndUserId(EStockType.ST.getCode(),user.getId());
         if (model.getNewCode() != null) {
             StockSubscribe stockSubscribe = stockSubscribeMapper.selectOne(new QueryWrapper<StockSubscribe>()
                     .eq("newlist_id", model.getNewlistId()));
@@ -127,11 +127,11 @@
             }
 
 //            //重复申购限制
-//            UserStockSubscribe userStockSubscribe = userStockSubscribeMapper.selectOne(new QueryWrapper<UserStockSubscribe>().eq(
-//                    "new_code", model.getNewCode()).eq("user_id", user.getId()).eq("type",model.getType()));
-//            if (userStockSubscribe != null) {
-//                return ServerResponse.createByErrorMsg("请勿重复申请",request);
-//            }
+            Long count = userStockSubscribeMapper.selectCount(new QueryWrapper<UserStockSubscribe>().eq(
+                    "new_code", model.getNewCode()).eq("user_id", user.getId()).eq("type", model.getType()));
+            if (count > 0) {
+                return ServerResponse.createByErrorMsg("请勿重复申请",request);
+            }
             if (siteProduct.getRealNameDisplay() && user.getIsLock().intValue() == 1) {
                 return ServerResponse.createByErrorMsg("订单失败,帐户已被锁定",request);
             }
@@ -190,7 +190,7 @@
 //                   bound =  new BigDecimal(model.getApplyNums()).multiply(stockSubscribe.getPrice());
 //               }
 //
-               BigDecimal useEnaAmount = iUserAssetsServices.getAvailableBalance(EStockType.IN.getCode(), user.getId());
+               BigDecimal useEnaAmount = iUserAssetsServices.getAvailableBalance(EStockType.ST.getCode(), user.getId());
                if(useEnaAmount.compareTo(bound)<0){
                    return ServerResponse.createByErrorMsg("余额不足,配售失败",request);
                }
@@ -209,7 +209,7 @@
                 UserStockSubscribe userStockSubscribe = Convert.convert(UserStockSubscribe.class, model);
                 userStockSubscribe.setNewStockId(stockSubscribe.getNewlistId());
                 ret = userStockSubscribeMapper.insert(userStockSubscribe);
-                iUserAssetsServices.availablebalanceChange(EStockType.IN.getCode(), user.getId(),EUserAssets.BUY,bound.negate(),"","");
+                iUserAssetsServices.availablebalanceChange(EStockType.ST.getCode(), user.getId(),EUserAssets.BUY,bound.negate(),"","");
                 if (ret > 0) {
                     return ServerResponse.createBySuccessMsg("配售成功",request);
                 } else {
@@ -253,7 +253,7 @@
             }
 
             //客户中签直接扣除客户账户可用资金
-            UserAssets userAssets = iUserAssetsServices.assetsByTypeAndUserId("IN", userStockSubscribe.getUserId());
+            UserAssets userAssets = iUserAssetsServices.assetsByTypeAndUserId(EStockType.ST.getCode(), userStockSubscribe.getUserId());
             if (model.getStatus() == 3 && model.getApplyNumber() != null){
                 if(stockSubscribe.getType() == 1){
                     model.setBond((stockSubscribe.getMinPrice() != null ? stockSubscribe.getMinPrice() : stockSubscribe.getPrice()).multiply(BigDecimal.valueOf(model.getApplyNumber())));
@@ -268,7 +268,7 @@
                             //需要退回的资金
                             BigDecimal refundPrice = userStockSubscribe.getBuyPrice().multiply(new BigDecimal(applyNumber));
                             userAssets.setAvailableBalance(userAssets.getAvailableBalance().add(refundPrice));
-                            userAssets.setFreezeMoney(userAssets.getFreezeMoney().add(refundPrice));
+                            userAssets.setFreezeMoney(userAssets.getFreezeMoney().subtract(refundPrice));
                         }
                     }else{
                         if(applyNumber > 0){
@@ -293,7 +293,7 @@
                     }
                     BigDecimal cCount = new BigDecimal(model.getApplyNums()-model.getApplyNumber());
                     BigDecimal tMoney = ((stockSubscribe.getMinPrice() != null ? stockSubscribe.getMinPrice() : stockSubscribe.getPrice())).multiply(cCount);
-                    iUserAssetsServices.availablebalanceChange(EStockType.IN.getCode(),userStockSubscribe.getUserId(),
+                    iUserAssetsServices.availablebalanceChange(EStockType.ST.getCode(),userStockSubscribe.getUserId(),
                             EUserAssets.TOP_UP,tMoney,"","");
                     model.setBond((stockSubscribe.getMinPrice() != null ? stockSubscribe.getMinPrice() : stockSubscribe.getPrice()).multiply(BigDecimal.valueOf(model.getApplyNumber())));
                     model.setDbMoney(BigDecimal.ZERO);
@@ -497,14 +497,14 @@
                     userStockSubscribe.setSubmitTime(DateTimeUtil.getCurrentDate());
                     userStockSubscribe.setStatus(4);
                     BigDecimal bigDecimal =  iUserAssetsServices.
-                            getAvailableBalance(EStockType.IN.getCode(),
+                            getAvailableBalance(EStockType.ST.getCode(),
                                     userStockSubscribe.getUserId());
 
                     BigDecimal multiply = userStockSubscribe.getBuyPrice().multiply(new BigDecimal(userStockSubscribe.getApplyNumber()));
                     if(bigDecimal.compareTo(multiply) <= 0){
                         return ServerResponse.createByErrorMsg("余额不足",request);
                     }
-                    iUserAssetsServices.availablebalanceChange(EStockType.IN.getCode(),userStockSubscribe.getUserId(),
+                    iUserAssetsServices.availablebalanceChange(EStockType.ST.getCode(),userStockSubscribe.getUserId(),
                             EUserAssets.BUY,multiply.negate(),"","");
                     userStockSubscribe.setDbMoney(BigDecimal.ZERO);
                     userStockSubscribeMapper.update1(userStockSubscribe);

--
Gitblit v1.9.3