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 |  124 ++++++++++++++++++++++++++++++++++++-----
 1 files changed, 109 insertions(+), 15 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 d9d759b..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
@@ -56,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()))
             {
                 //提示用户名或密码错误
@@ -64,7 +71,7 @@
             }
 
             //本地表查询用户
-            user = IUserService.selectData(huaChengSysUser.getUserId()+"",null);
+            user = IUserService.selectData(huaChengSysUser.getUserId()+"",null,null);
             if (user == null) {
                 //本地没有此用户  新用户
                 SysUser newSysUser=new SysUser();
@@ -81,7 +88,7 @@
                 IUserService.insertConfig(newSysUser);
             }
 
-            user = IUserService.selectData(huaChengSysUser.getUserId()+"",null);
+            user = IUserService.selectData(huaChengSysUser.getUserId()+"",null,null);
 
             if (user == null) {
                 return ResultData.error("用户不存在!请联系管理员");
@@ -103,11 +110,21 @@
             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()))
             {
                 //提示用户名或密码错误
@@ -129,6 +146,10 @@
             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);
         }
@@ -176,9 +197,9 @@
         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,"3",keyword);
+        List<SysUser> list = IUserService.selectConfigList(pageParam,pageSize,null,keyword,null,"1");
 
-        int num=IUserService.selectNum("3",keyword);
+        int num=IUserService.selectNum(null,keyword,null,"1");
         return getDataTable(list,num);
     }
 
@@ -216,17 +237,63 @@
             return error("手机号不能为空");
         }
 
-        SysUser user = IUserService.selectData("",config.getPhonenumber());
+
+
+
+        SysUser user = IUserService.selectData("",config.getPhonenumber(),"");
+        SysUser user2 = IUserService.selectData("","",config.getLoginName());
         if (user != null) {
-            //提示用户名或密码错误
-            return error("该账户已存在!");
+            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.setUserId(Snowflake.getId()+"");
         config.setUserType("3");
-
+        config.setIsDivisionHead("1");
+        config.setMoreDepartmentIds(config.getDepartmentId());
         config.setCreateTime(LocalDateTime.now());
         config.setUpdateTime(LocalDateTime.now());
 
@@ -254,8 +321,13 @@
             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));
@@ -295,7 +367,7 @@
             return error("userId不能为空");
         }
 
-        SysUser sysUser=IUserService.selectData(userId,null);
+        SysUser sysUser=IUserService.selectData(userId,null,null);
         //删除标志(0代表存在 2代表删除)
         sysUser.setDelFlag("2");
         return toAjax(IUserService.updateConfig(sysUser));
@@ -323,7 +395,7 @@
             return error("密码不能为空");
         }
 
-        SysUser sysUser=IUserService.selectData(config.getUserId()+"",null);
+        SysUser sysUser=IUserService.selectData(config.getUserId()+"",null,null);
         if(sysUser==null)
         {
             return error("用户不存在");
@@ -334,12 +406,34 @@
             return error("输入密码与原密码不能相同!");
         }
 
-
-
         return toAjax(IUserService.updateConfig(config));
     }
 
 
+    /**
+     * 获取登录人员信息
+     *
+     * @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