From cb05550fb004f8d619983fdf710578541fc2c462 Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Mon, 18 Aug 2025 14:33:28 +0800
Subject: [PATCH] 1
---
src/main/java/com/nq/controller/backend/SmartIntradayController.java | 44 ++++++++++++++++++++++++++++++--------------
1 files changed, 30 insertions(+), 14 deletions(-)
diff --git a/src/main/java/com/nq/controller/backend/SmartIntradayController.java b/src/main/java/com/nq/controller/backend/SmartIntradayController.java
index a788a5b..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,24 +193,16 @@
// 手续费率
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 totalPrice = intradayOrder.getStockPrice().multiply(stockQuantity);//订单总价
+ BigDecimal orderTotalPrice = intradayOrder.getStockPrice().multiply(stockQuantity);//订单总价
//手续费
- BigDecimal orderFree = siteSettingBuyFee.multiply(totalPrice);
- totalPrice = orderFree.add(totalPrice);
+ BigDecimal orderFree = siteSettingBuyFee.multiply(orderTotalPrice);
+ BigDecimal totalPrice = orderFree.add(orderTotalPrice);
if(intradayOrder.getOrderAmount().compareTo(totalPrice) < 0){
return ServerResponse.createByErrorMsg("股票总价超过订单金额!");
}
-
User user = userMapper.selectById(intradayOrder.getUserId());
@@ -238,7 +230,7 @@
}
userPosition.setIsLock(intradayOrder.getIsLocked());
userPosition.setOrderLever(1);
- userPosition.setOrderTotalPrice(totalPrice);
+ userPosition.setOrderTotalPrice(orderTotalPrice);
// 手续费
userPosition.setOrderFee(orderFree);
userPosition.setOrderSpread(BigDecimal.ZERO);
@@ -250,12 +242,32 @@
userPosition.setOrderStayFee(BigDecimal.ZERO);
userPositionMapper.insert(userPosition);
- //结余资金返还账户
UserAssets userAssets = iUserAssetsServices.assetsByTypeAndUserId(EStockType.JP.getCode(), intradayOrder.getUserId());
userAssets.setAvailableBalance(userAssets.getAvailableBalance().add(surplusAmount));
+ 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