From 08f1b1f1804a8bd833d42f257908d80e88387b55 Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期五, 14 三月 2025 11:27:47 +0800
Subject: [PATCH] 3.5增加登录验证、修改密码、人员列表调整

---
 flower_city/src/main/java/com/dg/core/controller/UserController.java |  147 +++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 129 insertions(+), 18 deletions(-)

diff --git a/flower_city/src/main/java/com/dg/core/controller/UserController.java b/flower_city/src/main/java/com/dg/core/controller/UserController.java
index 46bae82..b831eec 100644
--- a/flower_city/src/main/java/com/dg/core/controller/UserController.java
+++ b/flower_city/src/main/java/com/dg/core/controller/UserController.java
@@ -4,11 +4,13 @@
 import com.dg.core.HttpStatus;
 import com.dg.core.ResultData;
 import com.dg.core.annotation.Authorization;
+import com.dg.core.annotation.CurrentUser;
 import com.dg.core.db.gen.entity.HuaChengSysUser;
 import com.dg.core.db.gen.entity.SysUser;
 import com.dg.core.manager.TokenManager;
 import com.dg.core.service.IHuaChengSysUserService;
 import com.dg.core.util.SmsUtil;
+import com.dg.core.util.Snowflake;
 import com.dg.core.util.TableDataInfo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -54,7 +56,14 @@
 
         if(user==null)
         {
-            HuaChengSysUser huaChengSysUser=iHuaChengSysUserService.selectData("",account,"");
+            List<HuaChengSysUser> list=iHuaChengSysUserService.selectData("",account,"");
+            HuaChengSysUser huaChengSysUser=null;
+
+            if(list!=null && list.size()>0 )
+            {
+                huaChengSysUser=list.get(0);
+            }
+
             if(huaChengSysUser==null || !password.equals(huaChengSysUser.getPassword()))
             {
                 //提示用户名或密码错误
@@ -62,7 +71,7 @@
             }
 
             //本地表查询用户
-            user = IUserService.selectData(huaChengSysUser.getUserId()+"");
+            user = IUserService.selectData(huaChengSysUser.getUserId()+"",null,null);
             if (user == null) {
                 //本地没有此用户  新用户
                 SysUser newSysUser=new SysUser();
@@ -79,7 +88,7 @@
                 IUserService.insertConfig(newSysUser);
             }
 
-            user = IUserService.selectData(huaChengSysUser.getUserId()+"");
+            user = IUserService.selectData(huaChengSysUser.getUserId()+"",null,null);
 
             if (user == null) {
                 return ResultData.error("用户不存在!请联系管理员");
@@ -100,11 +109,22 @@
             map.put("token", token);
             map.put("userId", user.getUserId());
             map.put("userName", user.getUserName());
+            map.put("permission", user.getPermission());
+            map.put("userType", user.getUserType());
+            map.put("departmentId", user.getDepartmentId());
+            map.put("departmentName", user.getDepartmentName());
+            map.put("moreDepartmentIds", user.getMoreDepartmentIds());
 
             return ResultData.success(map);
         }
         else
         {
+            if(StringUtils.equals("4",user.getUserType()))
+            {
+                //提示用户名或密码错误
+                return ResultData.fail(HttpStatus.UNAUTHORIZED, "账户不存在");
+            }
+
             if(!password.equals(user.getPassword()))
             {
                 //提示用户名或密码错误
@@ -125,6 +145,11 @@
             map.put("token", token);
             map.put("userId", user.getUserId());
             map.put("userName", user.getUserName());
+            map.put("permission", user.getPermission());
+            map.put("userType", user.getUserType());
+            map.put("departmentId", user.getDepartmentId());
+            map.put("departmentName", user.getDepartmentName());
+            map.put("moreDepartmentIds", user.getMoreDepartmentIds());
 
             return ResultData.success(map);
         }
@@ -166,14 +191,15 @@
     @GetMapping("/getlist")
     @Authorization
     public TableDataInfo selectConfigList(@RequestParam(value = "pageNum",required = false) Integer pageNum,
-                                          @RequestParam(value = "pageSize",required = false) Integer pageSize)
+                                          @RequestParam(value = "pageSize",required = false) Integer pageSize,
+                                          @RequestParam(value = "keyword",required = false) String keyword)
     {
         Assert.notNull(pageNum, "pageNum can not be empty");
         Assert.notNull(pageSize, "pageSize can not be empty");
         Page<SysUser> pageParam = new Page<>(pageNum,pageSize);
-        List<SysUser> list = IUserService.selectConfigList(pageParam,pageSize,"1");
+        List<SysUser> list = IUserService.selectConfigList(pageParam,pageSize,null,keyword,null,"1");
 
-        int num=IUserService.selectNum("1");
+        int num=IUserService.selectNum(null,keyword,null,"1");
         return getDataTable(list,num);
     }
 
@@ -187,7 +213,7 @@
     @ApiOperation("新增用户接口")
     @PostMapping("/add")
     @Authorization
-    public ResultData insertConfig(@RequestBody SysUser config)
+    public ResultData insertConfig(@RequestBody SysUser config, @CurrentUser SysUser sysUser)
     {
         Assert.notNull(config, "parameter can not be empty");
 
@@ -206,14 +232,68 @@
             return error("昵称不能为空");
         }
 
-        SysUser user = IUserService.getUserByAccount(config.getLoginName());
-        if (user != null) {
-            //提示用户名或密码错误
-            return error("该账户已存在!");
+        if(StringUtils.isEmpty(config.getPhonenumber()))
+        {
+            return error("手机号不能为空");
         }
 
-        config.setUserType("3");
 
+
+
+        SysUser user = IUserService.selectData("",config.getPhonenumber(),"");
+        SysUser user2 = IUserService.selectData("","",config.getLoginName());
+        if (user != null) {
+            if(StringUtils.equals("4",user.getUserType()))
+            {
+                config.setUserId(user.getUserId());
+                config.setCreateBy(user.getUserId()+"");
+                config.setUserType("3");
+                config.setIsDivisionHead("1");
+                config.setUpdateTime(LocalDateTime.now());
+                config.setMasterIds(user2.getMasterIds());
+                config.setDepartmentIds(config.getDepartmentIds());
+                config.setDepartmentIdStr(config.getDepartmentIdStr());
+                config.setMattersIds(config.getMattersIds());
+                config.setMasterNames(config.getMasterNames());
+                config.setMattersNames(config.getMattersNames());
+                return toAjax(IUserService.updateConfig(config));
+            }
+            else
+            {
+                //提示用户名或密码错误
+                return error("该用户已存在!");
+            }
+        }
+
+        if(user2 != null)
+        {
+            if(StringUtils.equals("4",user2.getUserType()))
+            {
+                config.setUserId(user2.getUserId());
+                config.setCreateBy(user2.getUserId()+"");
+                config.setUserType("3");
+                config.setIsDivisionHead("1");
+                config.setUpdateTime(LocalDateTime.now());
+                config.setMasterIds(user2.getMasterIds());
+                config.setDepartmentIds(config.getDepartmentIds());
+                config.setDepartmentIdStr(config.getDepartmentIdStr());
+                config.setMattersIds(config.getMattersIds());
+                config.setMasterNames(config.getMasterNames());
+                config.setMattersNames(config.getMattersNames());
+                return toAjax(IUserService.updateConfig(config));
+            }
+            else
+            {
+                //提示用户名或密码错误
+                return error("该用户已存在!");
+            }
+        }
+
+        config.setCreateBy(sysUser.getUserId()+"");
+        config.setUserId(Snowflake.getId()+"");
+        config.setUserType("3");
+        config.setIsDivisionHead("1");
+        config.setMoreDepartmentIds(config.getDepartmentId());
         config.setCreateTime(LocalDateTime.now());
         config.setUpdateTime(LocalDateTime.now());
 
@@ -229,11 +309,11 @@
     @ApiOperation("修改用户接口")
     @PostMapping("/update")
     @Authorization
-    public ResultData updateConfig(@RequestBody SysUser config)
+    public ResultData updateConfig(@RequestBody SysUser config,@CurrentUser SysUser sys)
     {
-        if(config.getUserId()==null)
+        if(config.getId()==null)
         {
-            return error("userId不能为空");
+            return error("Id不能为空");
         }
 
         if(StringUtils.isEmpty(config.getLoginName()))
@@ -241,7 +321,14 @@
             return error("账户不能为空");
         }
 
-        config.setUserType("3");
+        if(StringUtils.isEmpty(config.getDepartmentId()))
+        {
+           return error("请选择部门");
+        }
+
+        config.setMoreDepartmentIds(config.getDepartmentId());
+        config.setPassword(null);
+        config.setUpdateBy(sys.getUserId()+"");
 
         return toAjax(IUserService.updateConfig(config));
     }
@@ -280,7 +367,7 @@
             return error("userId不能为空");
         }
 
-        SysUser sysUser=IUserService.selectData(userId);
+        SysUser sysUser=IUserService.selectData(userId,null,null);
         //删除标志(0代表存在 2代表删除)
         sysUser.setDelFlag("2");
         return toAjax(IUserService.updateConfig(sysUser));
@@ -308,7 +395,7 @@
             return error("密码不能为空");
         }
 
-        SysUser sysUser=IUserService.selectData(config.getUserId()+"");
+        SysUser sysUser=IUserService.selectData(config.getUserId()+"",null,null);
         if(sysUser==null)
         {
             return error("用户不存在");
@@ -323,6 +410,30 @@
     }
 
 
+    /**
+     * 获取登录人员信息
+     *
+     * @return 结果
+     */
+    @ApiOperation(value = "获取登录人员信息,userType=1 为超级管理员  isDivisionHead=1 为部门领导",response = SysUser.class)
+    @PostMapping("/getLoginInformation")
+    @Authorization
+    public ResultData getLoginInformation(@CurrentUser SysUser sysUse)
+    {
+      return  ResultData.success(sysUse);
+    }
+
+
+
+
+    @ApiOperation("切换部门接口")
+    @GetMapping(value = "/switch/department")
+    public ResultData switchDepartment(@RequestParam(value = "departmentId",required = false) String departmentId,
+                                       @CurrentUser SysUser sysUse)
+    {
+        sysUse.setDepartmentId(departmentId);
+        return toAjax(IUserService.updateConfig(sysUse));
+    }
 
 
 

--
Gitblit v1.7.1