From 5483fa32808d5fe1cbdc10f3df40316708d73c04 Mon Sep 17 00:00:00 2001
From: dd <gitluke@outlook.com>
Date: Thu, 23 Oct 2025 22:21:56 +0800
Subject: [PATCH] 1

---
 src/main/java/com/nq/service/impl/AgentUserServiceImpl.java |   54 ++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 42 insertions(+), 12 deletions(-)

diff --git a/src/main/java/com/nq/service/impl/AgentUserServiceImpl.java b/src/main/java/com/nq/service/impl/AgentUserServiceImpl.java
index 1ebdb94..27ac06c 100644
--- a/src/main/java/com/nq/service/impl/AgentUserServiceImpl.java
+++ b/src/main/java/com/nq/service/impl/AgentUserServiceImpl.java
@@ -1,16 +1,15 @@
 package com.nq.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.github.pagehelper.Page;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 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;
@@ -24,6 +23,7 @@
 import java.math.BigDecimal;
 import java.util.Date;
 import java.util.List;
+import java.util.Objects;
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 
@@ -65,6 +65,9 @@
 
     @Resource
     UserMapper userMapper;
+
+    @Autowired
+    IStockConfigServices iStockConfigServices;
 
 
     public AgentUser getCurrentAgent(HttpServletRequest request) {
@@ -197,12 +200,16 @@
         AgentUser parentAgent = this.agentUserMapper.selectByPrimaryKey(parentId);
         if (parentId != null && parentId>0) {
             if (parentAgent != null) {
-                if(parentAgent.getAgentLevel()>=6){
-                    return ServerResponse.createByErrorMsg("六级代理不能添加下级");
-                }
                 agentUser.setParentId(parentAgent.getId());
                 agentUser.setParentName(parentAgent.getAgentName());
                 agentUser.setAgentLevel(parentAgent.getAgentLevel()+1);
+                //判断代理等级
+                StockConfig stockConfig = iStockConfigServices.queryByKey(EConfigKey.AGENT_MAX_GRADE.getCode());
+                Integer configLevel = Integer.parseInt(stockConfig.getCValue());
+                if(agentUser.getAgentLevel() > configLevel){
+                    return ServerResponse.createByErrorMsg("代理最大等级为"+stockConfig.getCValue());
+                }
+
             } else {
                 //总代理默认0级
                 agentUser.setAgentLevel(Integer.valueOf(0));
@@ -305,7 +312,10 @@
         if (pAgent != null) {
             return ServerResponse.createByErrorMsg("手机号已存在");
         }
-
+        AgentUser cAgent = this.agentUserMapper.findByCode(agentUser.getAgentCode());
+        if (cAgent != null) {
+            return ServerResponse.createByErrorMsg("代理编码已存在");
+        }
         AgentUser nameAgent = this.agentUserMapper.findByName(agentUser.getAgentName());
         if (nameAgent != null) {
             return ServerResponse.createByErrorMsg("代理名已存在");
@@ -318,7 +328,8 @@
         dbAgent.setAgentRealName(agentUser.getAgentRealName());
         dbAgent.setAddTime(new Date());
         dbAgent.setIsLock(Integer.valueOf(0));
-        dbAgent.setAgentCode(KeyUtils.getAgentUniqueKey());
+//        dbAgent.setAgentCode(KeyUtils.getAgentUniqueKey());
+        dbAgent.setAgentCode(agentUser.getAgentCode());
         dbAgent.setOnLineServices(agentUser.getOnLineServices());
 
         if (agentUser.getParentId() != null) {
@@ -327,6 +338,12 @@
                 dbAgent.setParentId(parentAgent.getId());
                 dbAgent.setParentName(parentAgent.getAgentName());
                 dbAgent.setAgentLevel(parentAgent.getAgentLevel()+1);
+                //判断代理等级
+                StockConfig stockConfig = iStockConfigServices.queryByKey(EConfigKey.AGENT_MAX_GRADE.getCode());
+                if(dbAgent.getAgentLevel() > Integer.parseInt(stockConfig.getCValue())){
+                    return ServerResponse.createByErrorMsg("代理最大等级为"+stockConfig.getCValue());
+                }
+
             } else {
                 //总代理默认0级
                 dbAgent.setAgentLevel(Integer.valueOf(0));
@@ -349,7 +366,13 @@
             return ServerResponse.createByErrorMsg("代理名不能变更");
         }
 
+        AgentUser cAgent = this.agentUserMapper.findByCodeAndNeid(agentUser.getAgentCode(),agentUser.getId());
+        if (cAgent != null) {
+            return ServerResponse.createByErrorMsg("代理编码已存在");
+        }
+
         dbAgent.setId(agentUser.getId());
+        dbAgent.setAgentCode(agentUser.getAgentCode());
         if (StringUtils.isNotBlank(agentUser.getAgentPwd())) {
             dbAgent.setAgentPwd(SymmetricCryptoUtil.encryptPassword(agentUser.getAgentPwd()));
         }
@@ -361,9 +384,11 @@
             dbAgent.setSiteLever(agentUser.getSiteLever());
         }
         if (StringUtils.isNotBlank(agentUser.getAgentPhone())) {
-            AgentUser phoneAgent = this.agentUserMapper.findByPhone(agentUser.getAgentPhone());
-
-            if (phoneAgent == null || phoneAgent.getId() == agentUser.getId()) {
+            Long count = agentUserMapper.selectCount(new LambdaQueryWrapper<AgentUser>()
+                    .eq(AgentUser::getAgentPhone, agentUser.getAgentPhone())
+                    .ne(AgentUser::getId, agentUser.getId())
+            );
+            if (count == 0) {
                 dbAgent.setAgentPhone(agentUser.getAgentPhone());
             } else {
                 return ServerResponse.createByErrorMsg("手机号已存在,请更换手机");
@@ -399,6 +424,11 @@
 
     }
 
+    @Override
+    public ServerResponse<List<AgentUser>> getParensAgent() {
+        return ServerResponse.createBySuccess(agentUserMapper.getParensAgent());
+    }
+
     public int CountAgentNum() {
         return this.agentUserMapper.CountAgentNum();
     }

--
Gitblit v1.9.3