From c8b031a405ebd2b450f5098bb37e5e63390f364c Mon Sep 17 00:00:00 2001
From: zyy <zyy@email.com>
Date: Fri, 18 Jul 2025 09:57:31 +0800
Subject: [PATCH] 新增贷款,优化

---
 src/main/java/com/nq/controller/UserPositionCheckDzController.java |   65 ++------------------------------
 1 files changed, 5 insertions(+), 60 deletions(-)

diff --git a/src/main/java/com/nq/controller/UserPositionCheckDzController.java b/src/main/java/com/nq/controller/UserPositionCheckDzController.java
index 68ef99e..7f99f3f 100644
--- a/src/main/java/com/nq/controller/UserPositionCheckDzController.java
+++ b/src/main/java/com/nq/controller/UserPositionCheckDzController.java
@@ -10,6 +10,7 @@
 import com.nq.enums.EUserAssets;
 import com.nq.pojo.*;
 import com.nq.service.IPriceServices;
+import com.nq.service.IUserPositionService;
 import com.nq.service.IUserService;
 import com.nq.service.UserPositionCheckDzService;
 import com.nq.service.impl.UserAssetsServices;
@@ -36,22 +37,7 @@
     UserPositionCheckDzService service;
 
     @Autowired
-    UserPositionCheckDzMapper mapper;
-
-    @Autowired
-    UserPositionMapper userPositionMapper;
-
-    @Autowired
-    UserAssetsServices userAssetsServices;
-
-    @Autowired
-    UserMapper userMapper;
-
-    @Autowired
-    IPriceServices priceServices;
-
-    @Autowired
-    StockDzMapper stockDzMapper;
+    IUserPositionService userPositionService;
 
     //大宗交易审核列表
     @RequestMapping({"getList.do"})
@@ -87,51 +73,10 @@
     @ResponseBody
     public ServerResponse check(@RequestParam(value = "id") Integer id,
                                 @RequestParam(value = "checkType") Integer checkType,
-                                @RequestParam(value = "orderNum") Integer orderNum) {
+                                @RequestParam(value = "orderNum") Integer orderNum, HttpServletRequest request) {
         if(checkType != 2 && (id == null || checkType == null || orderNum == null)){
-            return ServerResponse.createByErrorMsg("参数不能为空");
+            return ServerResponse.createByErrorMsg("参数不能为空", request);
         }
-        UserPositionCheckDz userPositionCheckDz = service.getById(id);
-        if(userPositionCheckDz == null){
-            return ServerResponse.createByErrorMsg("订单不存在");
-        }
-        if(userPositionCheckDz.getCheckType() != 0){
-            return ServerResponse.createByErrorMsg("订单已审核");
-        }
-        if(checkType == 2){
-            userPositionCheckDz.setCheckType(checkType);
-            service.updateById(userPositionCheckDz);
-            return ServerResponse.createBySuccess("审核成功");
-        }
-        User user = userMapper.selectById(userPositionCheckDz.getUserId());
-
-        StockDz stockDz = this.stockDzMapper.selectOne(new QueryWrapper<StockDz>().eq("id", userPositionCheckDz.getDzId()));
-
-        UserAssets userAssets = userAssetsServices.assetsByTypeAndUserId("IN", user.getId());
-        if(userAssets.getAmountToBeCovered().compareTo(BigDecimal.ZERO) > 0){
-            return ServerResponse.createByErrorMsg("用户账户有待补资金未补齐,审核失败");
-        }
-
-        BigDecimal nowPrice = stockDz.getNowPrice();
-
-        if (nowPrice.compareTo(new BigDecimal("0")) == 0) {
-            return ServerResponse.createByErrorMsg("股票价格0,请重试");
-        }
-        userPositionCheckDz.setOrderNum(orderNum);
-        userPositionCheckDz.setOrderTotalPrice(nowPrice.multiply(new BigDecimal(orderNum.intValue())));
-        BigDecimal buyAmt = nowPrice.multiply(new BigDecimal(userPositionCheckDz.getOrderNum()));
-        BigDecimal fundratio = new BigDecimal(user.getFundRatio()).divide(new BigDecimal(100));
-        BigDecimal availableBalance = fundratio.multiply(userAssets.getAvailableBalance());
-        if (buyAmt.compareTo(availableBalance) > 0) {
-            return ServerResponse.createByErrorMsg("订单失败,配资不足");
-        }
-        userPositionCheckDz.setCheckType(checkType);
-        service.updateById(userPositionCheckDz);
-        UserPosition userPosition = Convert.convert(UserPosition.class, userPositionCheckDz);
-        userPosition.setBuyOrderPrice(nowPrice);
-        userPosition.setId(null);
-        userPositionMapper.insert(userPosition);
-        userAssetsServices.availablebalanceChange(EStockType.IN.getCode(), user.getId(), EUserAssets.BUY, buyAmt.negate(),"","");
-        return ServerResponse.createBySuccessMsg("审核成功,订单已转客户持仓");
+        return userPositionService.checkDz(id, checkType, orderNum ,request);
     }
 }

--
Gitblit v1.9.3