From 0a492b64ca1a4e40cc9ea56eddd1afe2c09a12b3 Mon Sep 17 00:00:00 2001
From: huliguo <2023611923@qq.com>
Date: 星期四, 05 六月 2025 16:27:11 +0800
Subject: [PATCH] 财务管理

---
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java |  120 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 119 insertions(+), 1 deletions(-)

diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
index 0aa82fb..ed505eb 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
@@ -2,8 +2,18 @@
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Objects;
 import java.util.stream.Collectors;
 import javax.validation.Validator;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.core.domain.entity.SysDept;
+import com.ruoyi.common.utils.sign.Md5Utils;
+import com.ruoyi.system.pojo.dto.AddSysUserDTO;
+import com.ruoyi.system.pojo.dto.EditSysUserDTO;
+import com.ruoyi.system.pojo.vo.SysUserPageListVO;
+import com.ruoyi.system.pojo.vo.SysUserVO;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -448,7 +458,7 @@
         // 删除用户与角色关联
         userRoleMapper.deleteUserRoleByUserId(userId);
         // 删除用户与岗位表
-        userPostMapper.deleteUserPostByUserId(userId);
+//        userPostMapper.deleteUserPostByUserId(userId);
         return userMapper.deleteUserById(userId);
     }
 
@@ -547,4 +557,112 @@
         }
         return successMsg.toString();
     }
+
+    @Override
+    public IPage<SysUserPageListVO> getSysUserPageList(IPage<SysUserPageListVO> page, String nickName, Integer phone, String status) {
+        return userMapper.getSysUserPageList(page,nickName,phone,status);
+    }
+
+    @Override
+    public R<SysUserVO> getInfo(Long userId) {
+        return userMapper.getSysUserVO(userId);
+    }
+
+    @Override
+    public void add(AddSysUserDTO dto) {
+        //检查手机号是否重复
+        SysUser sysUser= userMapper.selectuserByPhone(dto.getPhonenumber());
+        if (sysUser != null){
+            throw new ServiceException("手机号重复");
+        }
+        //部门是否存在
+        SysDept sysDept = deptService.selectDeptById(dto.getDeptId());
+        if (sysDept == null){
+            throw new ServiceException("部门不存在");
+        }
+        //角色是否存在
+        SysRole sysRole = roleMapper.selectRoleById(dto.getRoleId());
+        if (sysRole == null){
+            throw new ServiceException("角色不存在");
+        }
+        //手机号作为登录
+        sysUser = new SysUser();
+        sysUser.setUserName(dto.getPhonenumber());
+        sysUser.setPhonenumber(dto.getPhonenumber());
+        sysUser.setNickName(dto.getNickName());
+        //后六位为默认密码
+        sysUser.setPassword(SecurityUtils.encryptPassword(Md5Utils.hash(dto.getPhonenumber().substring(6,12))));
+        sysUser.setStatus("0");
+        sysUser.setDeptId(dto.getDeptId());  //添加用户-部门关系
+        userMapper.insertUser(sysUser);
+        //添加用户-角色关系
+        userRoleMapper.insert(sysUser.getUserId(),dto.getRoleId());
+    }
+
+    @Override
+    public void edit(EditSysUserDTO dto) {
+        //检查用户是否存在
+        SysUser sysUser = userMapper.selectUserById(dto.getUserId());
+        if (sysUser==null){
+            throw new ServiceException("该用户不存在");
+        }
+
+        if (!Objects.equals(dto.getPhonenumber(), sysUser.getPhonenumber())){
+            //修改手机号
+            //检查手机号是否重复
+            SysUser phoneUser= userMapper.selectuserByPhone(dto.getPhonenumber());
+            if (phoneUser != null){
+                throw new ServiceException("手机号重复");
+            }
+            sysUser.setPhonenumber(dto.getPhonenumber());
+            sysUser.setUserName(dto.getPhonenumber());
+        }
+
+        if (!Objects.equals(dto.getDeptId(), sysUser.getDeptId())){
+            //部门是否存在
+            SysDept sysDept = deptService.selectDeptById(dto.getDeptId());
+            if (sysDept == null){
+                throw new ServiceException("部门不存在");
+            }
+            sysUser.setDeptId(dto.getDeptId());
+        }
+
+        SysRole sysRole= userRoleMapper.selectRoleByUserId(dto.getUserId());
+        if (!Objects.equals(sysRole.getRoleId(), dto.getRoleId())){
+            //角色是否存在
+            SysRole selectRole = roleMapper.selectRoleById(dto.getRoleId());
+            if (selectRole == null){
+                throw new ServiceException("角色不存在");
+            }
+            sysUser.setRoleId(dto.getRoleId());
+            //修改用户-角色关系
+            userRoleMapper.deleteUserRoleByUserId(dto.getUserId());
+            userRoleMapper.insert(sysUser.getUserId(),dto.getRoleId());
+        }
+        sysUser.setNickName(dto.getNickName());
+        userMapper.updateUser(sysUser);
+    }
+
+    @Override
+    public void changeStatus(Long userId) {
+        //检查用户是否存在
+        SysUser sysUser = userMapper.selectUserById(userId);
+        if (sysUser==null){
+            throw new ServiceException("该用户不存在");
+        }
+        sysUser.setStatus(Objects.equals(sysUser.getStatus(), "1") ?"0":"1");
+        userMapper.updateUser(sysUser);
+    }
+
+    @Override
+    public void resetPassword(Long userId) {
+        //重置密码
+        //检查用户是否存在
+        SysUser sysUser = userMapper.selectUserById(userId);
+        if (sysUser==null){
+            throw new ServiceException("该用户不存在");
+        }
+        sysUser.setPassword(SecurityUtils.encryptPassword(Md5Utils.hash(sysUser.getPassword().substring(6,12))));
+        userMapper.updateUser(sysUser);
+    }
 }

--
Gitblit v1.7.1