RuoYi
2026-03-21 0025941824828944cd28a9b24d38af61db62fc7e
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
@@ -3,7 +3,7 @@
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
import javax.validation.Validator;
import jakarta.validation.Validator;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -28,6 +28,7 @@
import com.ruoyi.system.mapper.SysUserPostMapper;
import com.ruoyi.system.mapper.SysUserRoleMapper;
import com.ruoyi.system.service.ISysConfigService;
import com.ruoyi.system.service.ISysDeptService;
import com.ruoyi.system.service.ISysUserService;
/**
@@ -57,6 +58,9 @@
    @Autowired
    private ISysConfigService configService;
    @Autowired
    private ISysDeptService deptService;
    @Autowired
    protected Validator validator;
@@ -234,7 +238,7 @@
    @Override
    public void checkUserDataScope(Long userId)
    {
        if (!SysUser.isAdmin(SecurityUtils.getUserId()))
        if (!SecurityUtils.isAdmin())
        {
            SysUser user = new SysUser();
            user.setUserId(userId);
@@ -322,7 +326,7 @@
    @Override
    public int updateUserStatus(SysUser user)
    {
        return userMapper.updateUser(user);
        return userMapper.updateUserStatus(user.getUserId(), user.getStatus());
    }
    /**
@@ -332,22 +336,33 @@
     * @return 结果
     */
    @Override
    public int updateUserProfile(SysUser user)
    public boolean updateUserProfile(SysUser user)
    {
        return userMapper.updateUser(user);
        return userMapper.updateUser(user) > 0;
    }
    /**
     * 修改用户头像
     * 
     * @param userName 用户名
     * @param userId 用户ID
     * @param avatar 头像地址
     * @return 结果
     */
    @Override
    public boolean updateUserAvatar(String userName, String avatar)
    public boolean updateUserAvatar(Long userId, String avatar)
    {
        return userMapper.updateUserAvatar(userName, avatar) > 0;
        return userMapper.updateUserAvatar(userId, avatar) > 0;
    }
    /**
     * 更新用户登录信息(IP和登录时间)
     *
     * @param user 用户信息
     * @return 结果
     */
    public boolean updateLoginInfo(SysUser user)
    {
        return userMapper.updateLoginInfo(user) > 0;
    }
    /**
@@ -359,20 +374,20 @@
    @Override
    public int resetPwd(SysUser user)
    {
        return userMapper.updateUser(user);
        return userMapper.resetUserPwd(user.getUserId(), user.getPassword());
    }
    /**
     * 重置用户密码
     * 
     * @param userName 用户名
     * @param userId 用户ID
     * @param password 密码
     * @return 结果
     */
    @Override
    public int resetUserPwd(String userName, String password)
    public int resetUserPwd(Long userId, String password)
    {
        return userMapper.resetUserPwd(userName, password);
        return userMapper.resetUserPwd(userId, password);
    }
    /**
@@ -489,7 +504,6 @@
        int failureNum = 0;
        StringBuilder successMsg = new StringBuilder();
        StringBuilder failureMsg = new StringBuilder();
        String password = configService.selectConfigByKey("sys.user.initPassword");
        for (SysUser user : userList)
        {
            try
@@ -499,19 +513,24 @@
                if (StringUtils.isNull(u))
                {
                    BeanValidators.validateWithException(validator, user);
                    deptService.checkDeptDataScope(user.getDeptId());
                    String password = configService.selectConfigByKey("sys.user.initPassword");
                    user.setPassword(SecurityUtils.encryptPassword(password));
                    user.setCreateBy(operName);
                    this.insertUser(user);
                    userMapper.insertUser(user);
                    successNum++;
                    successMsg.append("<br/>" + successNum + "、账号 " + user.getUserName() + " 导入成功");
                }
                else if (isUpdateSupport)
                {
                    BeanValidators.validateWithException(validator, user);
                    checkUserAllowed(user);
                    checkUserDataScope(user.getUserId());
                    checkUserAllowed(u);
                    checkUserDataScope(u.getUserId());
                    deptService.checkDeptDataScope(user.getDeptId());
                    user.setUserId(u.getUserId());
                    user.setDeptId(u.getDeptId());
                    user.setUpdateBy(operName);
                    this.updateUser(user);
                    userMapper.updateUser(user);
                    successNum++;
                    successMsg.append("<br/>" + successNum + "、账号 " + user.getUserName() + " 更新成功");
                }