From 2c9cdb539cbbde244eb98d5edc6377facffdd500 Mon Sep 17 00:00:00 2001
From: zyy <zyy@email.com>
Date: Fri, 26 Sep 2025 11:55:41 +0800
Subject: [PATCH] 新增股票购买设置

---
 src/main/java/com/nq/controller/backend/AdminStockBuySettingController.java |   38 ++++++++++++
 src/main/java/com/nq/ws/WebSocketClientBeanConfig.java                      |    2 
 src/main/java/com/nq/service/impl/IStockBuySettingServiceImpl.java          |   33 +++++++++++
 src/main/java/com/nq/service/IStockBuySettingServices.java                  |   14 ++++
 src/main/java/com/nq/pojo/StockBuySetting.java                              |   17 +++++
 src/main/java/com/nq/service/impl/UserPositionServiceImpl.java              |   14 ++++
 src/main/java/com/nq/dao/StockBuySettingMapper.java                         |    7 ++
 7 files changed, 124 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/nq/controller/backend/AdminStockBuySettingController.java b/src/main/java/com/nq/controller/backend/AdminStockBuySettingController.java
new file mode 100644
index 0000000..ad82b31
--- /dev/null
+++ b/src/main/java/com/nq/controller/backend/AdminStockBuySettingController.java
@@ -0,0 +1,38 @@
+package com.nq.controller.backend;
+
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.nq.common.ServerResponse;
+import com.nq.dao.StockBuySettingMapper;
+import com.nq.pojo.StockBuySetting;
+import com.nq.pojo.StockTimeSetting;
+import com.nq.service.IStockBuySettingServices;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import javax.servlet.http.HttpServletRequest;
+
+@Controller
+@RequestMapping({"/admin/stockBuySetting/"})
+public class AdminStockBuySettingController {
+
+    @Autowired
+    IStockBuySettingServices stockBuySettingServices;
+
+    @Autowired
+    StockBuySettingMapper stockBuySettingMapper;
+
+    @RequestMapping({"update.do"})
+    @ResponseBody
+    public ServerResponse update(HttpServletRequest request, StockBuySetting stockBuySetting) {
+        return stockBuySettingServices.updateStockBuySetting(stockBuySetting);
+    }
+    @RequestMapping({"queryAll.do"})
+    @ResponseBody
+    public ServerResponse queryAll(HttpServletRequest request) {
+        return stockBuySettingServices.queryStockBuySetting();
+    }
+
+}
diff --git a/src/main/java/com/nq/dao/StockBuySettingMapper.java b/src/main/java/com/nq/dao/StockBuySettingMapper.java
new file mode 100644
index 0000000..d70d3f8
--- /dev/null
+++ b/src/main/java/com/nq/dao/StockBuySettingMapper.java
@@ -0,0 +1,7 @@
+package com.nq.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.nq.pojo.StockBuySetting;
+
+public interface StockBuySettingMapper extends BaseMapper<StockBuySetting> {
+}
diff --git a/src/main/java/com/nq/pojo/StockBuySetting.java b/src/main/java/com/nq/pojo/StockBuySetting.java
new file mode 100644
index 0000000..e8a4af5
--- /dev/null
+++ b/src/main/java/com/nq/pojo/StockBuySetting.java
@@ -0,0 +1,17 @@
+package com.nq.pojo;
+
+
+import lombok.Data;
+
+@Data
+public class StockBuySetting {
+    private String id;
+    // 股票类型  可以不显示
+    private String accetsType;
+    // 股票类型 做显示
+    private String accetsDesc;
+    // 手数
+    private Integer handsNum;
+    // 股数
+    private Integer stockNum;
+}
diff --git a/src/main/java/com/nq/service/IStockBuySettingServices.java b/src/main/java/com/nq/service/IStockBuySettingServices.java
new file mode 100644
index 0000000..84ada8b
--- /dev/null
+++ b/src/main/java/com/nq/service/IStockBuySettingServices.java
@@ -0,0 +1,14 @@
+package com.nq.service;
+
+import com.nq.common.ServerResponse;
+import com.nq.pojo.StockBuySetting;
+import com.nq.pojo.StockTimeSetting;
+
+public interface IStockBuySettingServices {
+
+    ServerResponse updateStockBuySetting(StockBuySetting stockBuySetting);
+
+
+    ServerResponse queryStockBuySetting();
+
+}
diff --git a/src/main/java/com/nq/service/impl/IStockBuySettingServiceImpl.java b/src/main/java/com/nq/service/impl/IStockBuySettingServiceImpl.java
new file mode 100644
index 0000000..87f8018
--- /dev/null
+++ b/src/main/java/com/nq/service/impl/IStockBuySettingServiceImpl.java
@@ -0,0 +1,33 @@
+package com.nq.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.nq.common.ServerResponse;
+import com.nq.dao.StockBuySettingMapper;
+import com.nq.pojo.StockBuySetting;
+import com.nq.pojo.StockTimeSetting;
+import com.nq.service.IStockBuySettingServices;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+
+@Service
+public class IStockBuySettingServiceImpl implements IStockBuySettingServices {
+
+    @Resource
+    private StockBuySettingMapper stockBuySettingMapper;
+
+    @Override
+    public ServerResponse updateStockBuySetting(StockBuySetting stockBuySetting) {
+        int ref =  stockBuySettingMapper.updateById(stockBuySetting);
+        if(ref == 0){
+            return   ServerResponse.createByErrorMsg("修改失败");
+        }
+        return ServerResponse.createBySuccess();
+    }
+
+    @Override
+    public ServerResponse queryStockBuySetting() {
+        return ServerResponse.createBySuccess(stockBuySettingMapper.selectList(new QueryWrapper<StockBuySetting>()));
+    }
+}
diff --git a/src/main/java/com/nq/service/impl/UserPositionServiceImpl.java b/src/main/java/com/nq/service/impl/UserPositionServiceImpl.java
index 5533181..685f6d0 100644
--- a/src/main/java/com/nq/service/impl/UserPositionServiceImpl.java
+++ b/src/main/java/com/nq/service/impl/UserPositionServiceImpl.java
@@ -117,6 +117,9 @@
     @Autowired
     UserPositionCheckDzService userPositionCheckDzService;
 
+    @Resource
+    StockBuySettingMapper stockBuySettingMapper;
+
 
 
     @Transactional(rollbackFor = Exception.class)
@@ -153,7 +156,7 @@
                     return ServerResponse.createByErrorMsg("最低购买数量"+mainBuyConfig.getCValue(), request);
                 }*/
                 //最低购买数量 US 10 印度100 香港台湾1000
-                Integer minBuyNum;
+                /*Integer minBuyNum;
                 if (stock.getStockType().equals(EStockType.US.getCode())) {
                     minBuyNum = 10;
                 } else if (stock.getStockType().equals(EStockType.IN.getCode())) {
@@ -163,8 +166,17 @@
                 }
                 if(buyNum < minBuyNum){
                     return ServerResponse.createByErrorMsg("最低购买数量" + minBuyNum, request);
+                }*/
+
+                StockBuySetting stockBuySetting = stockBuySettingMapper.selectOne(new QueryWrapper<StockBuySetting>().eq("accets_type", stock.getStockType()));
+                if (stockBuySetting != null && stockBuySetting.getHandsNum() != null && stockBuySetting.getStockNum() != null) {
+                    if(buyNum < stockBuySetting.getHandsNum()){
+                        return ServerResponse.createByErrorMsg("最低购买手数" + stockBuySetting.getHandsNum(), request);
+                    }
+                    buyNum = buyNum * stockBuySetting.getStockNum();
                 }
 
+
                 UserAssets userAssets = iUserAssetsServices.assetsByTypeAndUserId(stock.getStockType(), user.getId());
                 StockConfig maxBuyConfig =  iStockConfigServices.queryByKey(EConfigKey.MAX_BUY.getCode());
                 if(buyNum > Integer.parseInt(maxBuyConfig.getCValue())){
diff --git a/src/main/java/com/nq/ws/WebSocketClientBeanConfig.java b/src/main/java/com/nq/ws/WebSocketClientBeanConfig.java
index c702380..cb1ba38 100644
--- a/src/main/java/com/nq/ws/WebSocketClientBeanConfig.java
+++ b/src/main/java/com/nq/ws/WebSocketClientBeanConfig.java
@@ -1,3 +1,4 @@
+/*
 package com.nq.ws;
 
 import com.nq.enums.EStockType;
@@ -67,3 +68,4 @@
 
 
 }
+*/

--
Gitblit v1.9.3