diff --git a/src/main/java/com/supervision/police/dto/user/LoginResVO.java b/src/main/java/com/supervision/police/dto/user/LoginResVO.java index ea47a8f..a731c22 100644 --- a/src/main/java/com/supervision/police/dto/user/LoginResVO.java +++ b/src/main/java/com/supervision/police/dto/user/LoginResVO.java @@ -3,8 +3,8 @@ package com.supervision.police.dto.user; import cn.hutool.core.collection.CollUtil; import cn.hutool.json.JSONUtil; +import com.supervision.constant.RoleEnum; import com.supervision.police.domain.SystemUser; -import com.supervision.police.dto.RoleDTO; import com.supervision.utils.TokenUtil; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -52,8 +52,12 @@ public class LoginResVO { if (Objects.isNull(userInfoDTO)){ return; } - if (CollUtil.isNotEmpty(this.roleList)){ + if (CollUtil.isNotEmpty(this.roleList)) { userInfoDTO.setUserRoleList(this.roleList); + userInfoDTO.setAdminFlag(this.roleList.stream() + .anyMatch(userRoleDTO -> + RoleEnum.ADMIN.getCode().equals(userRoleDTO.getRoleId())) ? "1" : "0" + ); } if (CollUtil.isNotEmpty(this.permission)){ userInfoDTO.setPermission(this.permission); diff --git a/src/main/java/com/supervision/police/service/impl/SystemUserServiceImpl.java b/src/main/java/com/supervision/police/service/impl/SystemUserServiceImpl.java index 8c6d235..cc9c384 100644 --- a/src/main/java/com/supervision/police/service/impl/SystemUserServiceImpl.java +++ b/src/main/java/com/supervision/police/service/impl/SystemUserServiceImpl.java @@ -184,17 +184,15 @@ public class SystemUserServiceImpl extends ServiceImpl<SystemUserMapper, SystemU @Override public boolean changePassWord(String account, String password) { - UserInfoDTO user = UserUtil.getUser(); - // 账号不为空,且当前操作不是账号归属人出发 (需要管理员权限) + Assert.notEmpty(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("您没有权限修改用户密码!"); - } + boolean isAdmin = user.getUserRoleList().stream().anyMatch(userRoleDTO -> StrUtil.equals(userRoleDTO.getRoleId(), RoleEnum.ADMIN.getCode())); + Assert.isTrue(isAdmin, "您没有权限修改用户密码!"); } - Assert.notEmpty(password, "密码不能为空"); String userCount = StrUtil.isEmpty(account) ? user.getAccount() : account; SystemUser systemUser = super.lambdaQuery().eq(SystemUser::getAccount, userCount).one();