From 63c70bfc6add5979445f93201c410c44b5305f6c Mon Sep 17 00:00:00 2001
From: peternameyakj <908253177@qq.com>
Date: Mon, 15 Jul 2024 14:26:33 +0800
Subject: [PATCH] 最大代理等级的配置

---
 src/main/java/com/nq/dao/AgentUserMapper.java                     |    6 +++
 src/main/java/com/nq/controller/backend/AdminAgentController.java |    7 +++
 src/main/java/com/nq/enums/EConfigKey.java                        |    3 +
 src/main/java/com/nq/service/IAgentUserService.java               |    2 +
 src/main/java/com/nq/service/impl/StockConfigServicesImpl.java    |   12 ++++++
 src/main/java/com/nq/service/impl/AgentUserServiceImpl.java       |   19 +++++++--
 src/main/resources/mapper/AgentUserMapper.xml                     |   16 +++++++
 7 files changed, 59 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/nq/controller/backend/AdminAgentController.java b/src/main/java/com/nq/controller/backend/AdminAgentController.java
index 3f424d1..ab4ccfe 100644
--- a/src/main/java/com/nq/controller/backend/AdminAgentController.java
+++ b/src/main/java/com/nq/controller/backend/AdminAgentController.java
@@ -65,6 +65,13 @@
     }
 
     //查询指数持仓统计信息
+    @RequestMapping({"getParensAgent.do"})
+    @ResponseBody
+    public ServerResponse getParensAgent() {
+        return this.iAgentUserService.getParensAgent();
+    }
+
+    //查询指数持仓统计信息
     @RequestMapping({"getIndexIncome.do"})
     @ResponseBody
     public ServerResponse getIndexIncome(@RequestParam(value = "agentId", required = false) Integer agentId, @RequestParam(value = "positionType", required = false) Integer positionType, @RequestParam(value = "beginTime", required = false) String beginTime, @RequestParam(value = "endTime", required = false) String endTime, HttpServletRequest request) {
diff --git a/src/main/java/com/nq/dao/AgentUserMapper.java b/src/main/java/com/nq/dao/AgentUserMapper.java
index 09c5a2c..cf0dda2 100644
--- a/src/main/java/com/nq/dao/AgentUserMapper.java
+++ b/src/main/java/com/nq/dao/AgentUserMapper.java
@@ -22,8 +22,14 @@
   int updateTotalMoney(AgentUser paramAgentUser);
 
   AgentUser findByCode(String paramString);
+
   AgentUser findByCodeAndNeid(String agentCode,Integer id);
+
   AgentUser findByPhone(String paramString);
+
+  AgentUser findByParentId(Integer parentId);
+
+  List<AgentUser> getParensAgent();
   
   AgentUser findByName(String paramString);
   
diff --git a/src/main/java/com/nq/enums/EConfigKey.java b/src/main/java/com/nq/enums/EConfigKey.java
index 376f37a..b9a168d 100644
--- a/src/main/java/com/nq/enums/EConfigKey.java
+++ b/src/main/java/com/nq/enums/EConfigKey.java
@@ -15,7 +15,8 @@
     MIN_BUY("MIN_BUY","最小买入"),
     BUY_HANDLING_CHARGE("BUY_HANDLING_CHARGE","买入手续费"),
     SELL_HANDLING_CHARGE("SELL_HANDLING_CHARGE","平仓手续费"),
-    LIMIT_DOWN_IS_SELL("limit_down_is_sell","跌停是否可以平仓");
+    LIMIT_DOWN_IS_SELL("limit_down_is_sell","跌停是否可以平仓"),
+    AGENT_MAX_GRADE("agent_max_grade","最大代理等级");
 
     private String code;
     private String desc;
diff --git a/src/main/java/com/nq/service/IAgentUserService.java b/src/main/java/com/nq/service/IAgentUserService.java
index 4a52e6c..4a5cb2d 100644
--- a/src/main/java/com/nq/service/IAgentUserService.java
+++ b/src/main/java/com/nq/service/IAgentUserService.java
@@ -30,6 +30,8 @@
 
   ServerResponse updateOnlineServices(String paramAgentUser,int agentId);
 
+  ServerResponse<List<AgentUser>> getParensAgent();
+
   int CountAgentNum();
 
   List<AgentUser> getAgentSuperiorList(int agentId);
diff --git a/src/main/java/com/nq/service/impl/AgentUserServiceImpl.java b/src/main/java/com/nq/service/impl/AgentUserServiceImpl.java
index 21c3da1..c8337cf 100644
--- a/src/main/java/com/nq/service/impl/AgentUserServiceImpl.java
+++ b/src/main/java/com/nq/service/impl/AgentUserServiceImpl.java
@@ -6,11 +6,9 @@
 import com.google.gson.Gson;
 import com.nq.common.ServerResponse;
 import com.nq.dao.*;
+import com.nq.enums.EConfigKey;
 import com.nq.pojo.*;
-import com.nq.service.IAgentAgencyFeeService;
-import com.nq.service.IAgentDistributionUserService;
-import com.nq.service.IAgentUserService;
-import com.nq.service.ISiteInfoService;
+import com.nq.service.*;
 import com.nq.utils.KeyUtils;
 import com.nq.utils.PropertiesUtil;
 import com.nq.utils.SymmetricCryptoUtil;
@@ -65,6 +63,9 @@
 
     @Resource
     UserMapper userMapper;
+
+    @Autowired
+    IStockConfigServices iStockConfigServices;
 
 
     public AgentUser getCurrentAgent(HttpServletRequest request) {
@@ -330,6 +331,11 @@
             if (parentAgent != null) {
                 dbAgent.setParentId(parentAgent.getId());
                 dbAgent.setParentName(parentAgent.getAgentName());
+                //判断代理等级
+                StockConfig stockConfig = iStockConfigServices.queryByKey(EConfigKey.AGENT_MAX_GRADE.getCode());
+                if(null != agentUser.getAgentLevel() && agentUser.getAgentLevel() > Integer.parseInt(stockConfig.getCValue())){
+                    return ServerResponse.createByErrorMsg("代理最大等级为"+stockConfig.getCValue());
+                }
                 dbAgent.setAgentLevel(parentAgent.getAgentLevel()+1);
             } else {
                 //总代理默认0级
@@ -409,6 +415,11 @@
 
     }
 
+    @Override
+    public ServerResponse<List<AgentUser>> getParensAgent() {
+        return ServerResponse.createBySuccess(agentUserMapper.getParensAgent());
+    }
+
     public int CountAgentNum() {
         return this.agentUserMapper.CountAgentNum();
     }
diff --git a/src/main/java/com/nq/service/impl/StockConfigServicesImpl.java b/src/main/java/com/nq/service/impl/StockConfigServicesImpl.java
index 98000f9..9bf6cf0 100644
--- a/src/main/java/com/nq/service/impl/StockConfigServicesImpl.java
+++ b/src/main/java/com/nq/service/impl/StockConfigServicesImpl.java
@@ -4,8 +4,10 @@
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.nq.common.ServerResponse;
 import com.nq.dao.StockConfigMapper;
+import com.nq.enums.EConfigKey;
 import com.nq.pojo.StockConfig;
 import com.nq.service.IStockConfigServices;
+import org.apache.commons.lang3.math.NumberUtils;
 import org.apache.http.util.TextUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -19,6 +21,16 @@
     StockConfigMapper stockConfigMapper;
     @Override
     public ServerResponse updateStockConfig(StockConfig stockConfig) {
+        if(stockConfig.getCKey().equals(EConfigKey.AGENT_MAX_GRADE.getCode()) && !NumberUtils.isCreatable(stockConfig.getCValue())){
+            try {
+                int number = Integer.parseInt(stockConfig.getCValue());
+                if(number <= 0){
+                    ServerResponse.createByErrorMsg("请输入有效等级");
+                }
+            } catch (NumberFormatException e) {
+                ServerResponse.createByErrorMsg("请输入有效等级");
+            }
+        }
         int ref = stockConfigMapper.updateById(stockConfig);
         if(ref>0){
             return ServerResponse.createBySuccess();
diff --git a/src/main/resources/mapper/AgentUserMapper.xml b/src/main/resources/mapper/AgentUserMapper.xml
index f6dd862..500fa0d 100644
--- a/src/main/resources/mapper/AgentUserMapper.xml
+++ b/src/main/resources/mapper/AgentUserMapper.xml
@@ -23,7 +23,7 @@
     </constructor>
   </resultMap>
   <sql id="Base_Column_List" >
-    id, agent_name, agent_pwd, agent_real_name, agent_phone, agent_code, add_time, is_lock, 
+    id, agent_name, agent_pwd, agent_real_name, agent_phone, agent_code, add_time, is_lock,
     parent_id, parent_name, agent_level,poundage_scale,deferred_fees_scale,receive_dividends_scale,
         total_money,site_lever,on_line_services
   </sql>
@@ -202,6 +202,20 @@
     WHERE agent_code = #{agentCode} and id != #{id}
   </select>
 
+  <select id="findByParentId" resultMap="BaseResultMap" parameterType="java.lang.Integer">
+    SELECT
+    <include refid="Base_Column_List"/>
+    FROM agent_user
+    WHERE parent_id = #{parentId}
+  </select>
+
+  <select id="getParensAgent" resultMap="BaseResultMap">
+    SELECT
+    <include refid="Base_Column_List"/>
+    FROM agent_user
+    WHERE agent_level = 0 or agent_level = 1
+  </select>
+
 
   <select id="findByPhone" resultMap="BaseResultMap" parameterType="string">
     SELECT

--
Gitblit v1.9.3