|
|
|
@ -2,12 +2,15 @@ package com.supervision.police.service.impl;
|
|
|
|
|
|
|
|
|
|
import cn.hutool.core.collection.CollUtil;
|
|
|
|
|
import cn.hutool.core.lang.Assert;
|
|
|
|
|
import cn.hutool.core.util.ObjUtil;
|
|
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
|
|
import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
|
|
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
|
|
import com.supervision.config.BusinessException;
|
|
|
|
|
import com.supervision.constant.RoleEnum;
|
|
|
|
|
import com.supervision.police.domain.SystemUser;
|
|
|
|
|
import com.supervision.police.dto.MenuDTO;
|
|
|
|
|
import com.supervision.police.dto.user.*;
|
|
|
|
@ -182,16 +185,26 @@ public class SystemUserServiceImpl extends ServiceImpl<SystemUserMapper, SystemU
|
|
|
|
|
@Override
|
|
|
|
|
public boolean changePassWord(String account, String password) {
|
|
|
|
|
UserInfoDTO user = UserUtil.getUser();
|
|
|
|
|
|
|
|
|
|
// 账号不为空,且当前操作不是账号归属人出发 (需要管理员权限)
|
|
|
|
|
if (StrUtil.isNotEmpty(account) && !StrUtil.equals(user.getAccount(), account)){
|
|
|
|
|
long count = user.getUserRoleList().stream().filter(userRoleDTO -> StrUtil.equals(userRoleDTO.getRoleId(), RoleEnum.ADMIN.getCode())).count();
|
|
|
|
|
if (count == 0){
|
|
|
|
|
log.info("账号:{}不是管理员,不能修改其他账号密码", user.getAccount());
|
|
|
|
|
throw new BusinessException("您没有权限修改用户密码!");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
Assert.notEmpty(password, "密码不能为空");
|
|
|
|
|
|
|
|
|
|
Long count = super.lambdaQuery().eq(SystemUser::getId, user.getId()).count();
|
|
|
|
|
if (count == 0){
|
|
|
|
|
String userCount = StrUtil.isEmpty(account) ? user.getAccount() : account;
|
|
|
|
|
SystemUser systemUser = super.lambdaQuery().eq(SystemUser::getAccount, userCount).one();
|
|
|
|
|
if (ObjUtil.isNull(systemUser)){
|
|
|
|
|
log.info("账号:{}不存在", account);
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return super.lambdaUpdate().set(SystemUser::getUserPd, UserUtil.signPassword(password))
|
|
|
|
|
.eq(SystemUser::getId, user.getId()).update();
|
|
|
|
|
.eq(SystemUser::getId, systemUser.getId()).update();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|