This commit is contained in:
caozehui
2024-11-17 15:21:04 +08:00
parent f41595b727
commit f4109275d7
4 changed files with 28 additions and 1 deletions

View File

@@ -34,6 +34,11 @@
<version>1.0.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.njcn.gather</groupId>
<artifactId>user</artifactId>
<version>1.0.0</version>
</dependency>
</dependencies>

View File

@@ -8,12 +8,12 @@ import com.njcn.common.pojo.constant.SecurityConstants;
import com.njcn.common.pojo.enums.common.LogEnum;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.JwtUtil;
import com.njcn.common.utils.LogUtil;
import com.njcn.gather.user.pojo.constant.UserValidMessage;
import com.njcn.gather.user.user.pojo.param.SysUserParam;
import com.njcn.gather.user.user.pojo.po.SysUser;
import com.njcn.gather.user.user.service.ISysUserService;
import com.njcn.gather.user.user.util.JwtUtil;
import com.njcn.web.controller.BaseController;
import com.njcn.web.utils.HttpResultUtil;
import io.swagger.annotations.Api;

View File

@@ -116,4 +116,11 @@ public interface ISysUserService extends IService<SysUser> {
*/
SysUser getUserByLoginNameAndPassword(String loginName, String password);
/**
* 根据用户ID判断是否是管理员用户
* @param userId 用户ID
* @return true表示是管理员用户false表示不是管理员用户
*/
boolean isAdmin(String userId);
}

View File

@@ -10,6 +10,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.common.utils.sm.Sm4Utils;
import com.njcn.db.mybatisplus.constant.DbConstant;
import com.njcn.gather.user.pojo.constant.RoleConst;
import com.njcn.gather.user.pojo.constant.UserState;
import com.njcn.gather.user.pojo.enums.UserResponseEnum;
import com.njcn.gather.user.user.mapper.SysUserMapper;
@@ -180,6 +181,20 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
.eq(SysUser::getPassword, password).one();
}
@Override
public boolean isAdmin(String userId) {
SysUser user = lambdaQuery().ne(SysUser::getState, UserState.DELETE).eq(SysUser::getId, userId).one();
if (ObjectUtil.isNotNull(user)) {
List<SysRole> sysRoles = sysUserRoleService.listRoleByUserId(user.getId());
for (SysRole sysRole : sysRoles) {
if (sysRole.getType().compareTo(RoleConst.TYPE_ADMINISTRATOR) <= 0) {
return true;
}
}
}
return false;
}
/**
* 校验重复
*