From 68000e03cee9417da3611a8f6cb62a67420b560d Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Wed, 13 Aug 2025 18:20:41 +0800
Subject: [PATCH] 1

---
 src/main/java/com/nq/controller/backend/SmartIntradayController.java |   36 ++++++++++++++++++++++++++----------
 1 files changed, 26 insertions(+), 10 deletions(-)

diff --git a/src/main/java/com/nq/controller/backend/SmartIntradayController.java b/src/main/java/com/nq/controller/backend/SmartIntradayController.java
index c805efc..4d505c1 100644
--- a/src/main/java/com/nq/controller/backend/SmartIntradayController.java
+++ b/src/main/java/com/nq/controller/backend/SmartIntradayController.java
@@ -185,7 +185,7 @@
         intradayOrder.setStockQuantity(vo.getStockQuantity());
         intradayOrder.setPriceType(vo.getPriceType());
         intradayOrder.setStockPrice(new BigDecimal(vo.getStockPrice()));
-        intradayOrder.setAuditStatus(vo.getAuditStatus());
+        intradayOrder.setAuditStatus(1);
         intradayOrder.setOrderTime(DateUtil.parse(vo.getOrderTime(),"yyyy-MM-dd HH:mm:ss"));
         intradayOrder.setIsLocked(vo.getIsLocked());
         intradayOrder.setStockId(stock.getId());
@@ -193,13 +193,6 @@
         // 手续费率
         BigDecimal siteSettingBuyFee = new BigDecimal(iStockConfigServices.queryByKey(EConfigKey.BUY_HANDLING_CHARGE.getCode()).getCValue()) ;
 
-        if(vo.getAuditStatus() == 2){
-            UserAssets userAssets = iUserAssetsServices.assetsByTypeAndUserId(EStockType.JP.getCode(), intradayOrder.getUserId());
-            BigDecimal orderAmount = vo.getOrderAmount();
-            userAssets.setAvailableBalance(userAssets.getAvailableBalance().add(orderAmount));
-            userAssetsMapper.updateById(userAssets);
-            return ServerResponse.createBySuccessMsg("操作成功");
-        }
         BigDecimal stockQuantity = new BigDecimal(intradayOrder.getStockQuantity());//股票数量
         BigDecimal orderTotalPrice = intradayOrder.getStockPrice().multiply(stockQuantity);//订单总价
 
@@ -210,7 +203,6 @@
         if(intradayOrder.getOrderAmount().compareTo(totalPrice) < 0){
             return ServerResponse.createByErrorMsg("股票总价超过订单金额!");
         }
-
 
         User user = userMapper.selectById(intradayOrder.getUserId());
 
@@ -252,10 +244,30 @@
 
         UserAssets userAssets = iUserAssetsServices.assetsByTypeAndUserId(EStockType.JP.getCode(), intradayOrder.getUserId());
         userAssets.setAvailableBalance(userAssets.getAvailableBalance().add(surplusAmount));
-        userAssets.setFreezeMoney(userPosition.getOrderTotalPrice());
+        userAssets.setFreezeMoney(userAssets.getFreezeMoney().add(userPosition.getOrderTotalPrice()));
         userAssetsMapper.updateById(userAssets);
         intradayOrder.setPositionOrder(userPosition.getId());
         intradayOrder.setPurchaseAmount(totalPrice);
+        intradayOrderMapper.updateById(intradayOrder);
+        return ServerResponse.createBySuccessMsg("操作成功");
+    }
+
+    /**
+     * 驳回订单
+     * @return
+     */
+    @RequestMapping(value = {"rejectIntraday.do"}, method = {RequestMethod.POST})
+    @ResponseBody
+    @Transactional(rollbackFor = Exception.class) // 异常时回滚
+    public ServerResponse rejectIntraday(@RequestParam("id") Integer id) {
+        IntradayOrder intradayOrder = intradayOrderSerivce.getById(id);
+        if(intradayOrder.getAuditStatus() != 0){
+            return ServerResponse.createByErrorMsg("订单已操作");
+        }
+        UserAssets userAssets = iUserAssetsServices.assetsByTypeAndUserId(EStockType.JP.getCode(), intradayOrder.getUserId());
+        userAssets.setAvailableBalance(userAssets.getAvailableBalance().add(intradayOrder.getOrderAmount()));
+        userAssetsMapper.updateById(userAssets);
+        intradayOrder.setAuditStatus(2);
         intradayOrderMapper.updateById(intradayOrder);
         return ServerResponse.createBySuccessMsg("操作成功");
     }
@@ -288,6 +300,10 @@
     @RequestMapping(value = {"deleteIntraday.do"}, method = {RequestMethod.POST})
     @ResponseBody
     public ServerResponse deleteIntraday( @RequestParam("id") Integer id) {
+        IntradayOrder orderSerivceById = intradayOrderSerivce.getById(id);
+        if(orderSerivceById.getAuditStatus() == 0){
+            return ServerResponse.createByErrorMsg("订单状态未审核,不允许删除");
+        }
         intradayOrderSerivce.removeById(id);
         return ServerResponse.createBySuccessMsg("删除成功");
     }

--
Gitblit v1.9.3