From 57c2b6875b5f026a1432f3209471d6b4503f43fc Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Tue, 29 Oct 2024 13:35:05 +0800
Subject: [PATCH] 1

---
 src/main/java/com/nq/service/impl/UserPendingorderServiceImpl.java |   18 +++++++++++-------
 1 files changed, 11 insertions(+), 7 deletions(-)

diff --git a/src/main/java/com/nq/service/impl/UserPendingorderServiceImpl.java b/src/main/java/com/nq/service/impl/UserPendingorderServiceImpl.java
index 347b70d..452d5b9 100644
--- a/src/main/java/com/nq/service/impl/UserPendingorderServiceImpl.java
+++ b/src/main/java/com/nq/service/impl/UserPendingorderServiceImpl.java
@@ -72,7 +72,7 @@
     UserAssetsMapper userAssetsMapper;
 
     @Override
-    public ServerResponse addOrder(String stockId, Integer buyNum, Integer buyType, Integer lever, BigDecimal profitTarget, BigDecimal stopTarget, BigDecimal targetPrice, HttpServletRequest request) {
+    public ServerResponse addOrder(String stockId, Integer buyNum, Integer buyType, Integer lever, BigDecimal profitTarget, BigDecimal stopTarget, BigDecimal targetPrice,HttpServletRequest request) {
         User user = this.iUserService.getCurrentRefreshUser(request);
 
         if (user == null) {
@@ -87,17 +87,17 @@
             return ServerResponse.createByErrorMsg("The pending order failed because the purchased quantity was greater than" + siteSetting
                     .getBuyMaxNum() + "stocks",request);
         }
-
+        Stock stock = stockMapper.selectOne(new LambdaQueryWrapper<>(Stock.class).eq(Stock::getStockCode, stockId));
         UserAssets userAssets = userAssetsMapper.selectOne(new LambdaQueryWrapper<UserAssets>()
                 .eq(UserAssets::getUserId, user.getId())
-                .eq(UserAssets::getAccectType, "JP")
+                .eq(UserAssets::getAccectType, stock.getStockType())
         );
 
         BigDecimal amount = new BigDecimal(buyNum).multiply(targetPrice).setScale(5, RoundingMode.DOWN);
         if (userAssets.getAvailableBalance().compareTo(amount) < 0) {
             return ServerResponse.createByErrorMsg("订单失败,余额不足", request);
         }
-        if(buyNum<100){
+        if(buyNum<siteSetting.getBuyMinNum()){
             return ServerResponse.createByErrorMsg("最低购买数量"+siteSetting.getBuyMinNum(), request);
         }
 
@@ -118,6 +118,7 @@
         userPendingorder.setTargetPrice(targetPrice);
         userPendingorder.setAddTime(new Date());
         userPendingorder.setStatus(0);
+        userPendingorder.setAssetsType(stock.getStockType());
         int ret = userPendingorderMapper.insert(userPendingorder);
         if (ret > 0) {
             String lang = request.getHeader("lang");
@@ -133,7 +134,7 @@
     }
 
     @Override
-    public ServerResponse orderList(HttpServletRequest request) {
+    public ServerResponse orderList(String stockType,HttpServletRequest request) {
 
         String property = PropertiesUtil.getProperty("user.cookie.name");
         String header = request.getHeader(property);
@@ -143,7 +144,10 @@
             User user = (User) JsonUtil.string2Obj(userJson, User.class);
 //            log.info("user:{}",user);
             if (user != null) {
-                List<UserPendingorder> userPendingorders = userPendingorderMapper.selectList(new QueryWrapper<UserPendingorder>().eq("user_id", user.getId()).ne("status",1));
+                List<UserPendingorder> userPendingorders = userPendingorderMapper.selectList(new QueryWrapper<UserPendingorder>()
+                        .eq("user_id", user.getId())
+                        .eq("assets_type",stockType)
+                        .ne("status",1));
 
                 List UserPendingorderList = new ArrayList();
 
@@ -330,7 +334,7 @@
             if (delCount > 0) {
                 UserAssets userAssets = userAssetsMapper.selectOne(new LambdaQueryWrapper<UserAssets>()
                         .eq(UserAssets::getUserId, user.getId())
-                        .eq(UserAssets::getAccectType, "JP")
+                        .eq(UserAssets::getAccectType, userPendingorder.getAssetsType())
                 );
                 BigDecimal amount = new BigDecimal(userPendingorder.getBuyNum()).multiply(userPendingorder.getTargetPrice()).setScale(5, RoundingMode.DOWN);
                 userAssets.setAvailableBalance(userAssets.getAvailableBalance().add(amount));

--
Gitblit v1.9.3