diff --git a/server/like-admin/pom.xml b/server/like-admin/pom.xml index 1701437c..6d3564a4 100644 --- a/server/like-admin/pom.xml +++ b/server/like-admin/pom.xml @@ -49,6 +49,7 @@ org.springframework.boot spring-boot-maven-plugin + 2.6.4 diff --git a/server/like-admin/src/main/java/com/mdd/admin/LikeAdminInterceptor.java b/server/like-admin/src/main/java/com/mdd/admin/LikeAdminInterceptor.java index e9e111fa..65c08ff3 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/LikeAdminInterceptor.java +++ b/server/like-admin/src/main/java/com/mdd/admin/LikeAdminInterceptor.java @@ -94,7 +94,7 @@ public class LikeAdminInterceptor implements HandlerInterceptor { // 用户写本地线里 LikeAdminThreadLocal.put("adminId", id); - LikeAdminThreadLocal.put("roleId", userMap.get("roleId")); + LikeAdminThreadLocal.put("roleIds", userMap.get("roleIds")); LikeAdminThreadLocal.put("username", userMap.get("username")); LikeAdminThreadLocal.put("nickname", userMap.get("nickname")); diff --git a/server/like-admin/src/main/java/com/mdd/admin/LikeAdminThreadLocal.java b/server/like-admin/src/main/java/com/mdd/admin/LikeAdminThreadLocal.java index a483966e..f9029b0a 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/LikeAdminThreadLocal.java +++ b/server/like-admin/src/main/java/com/mdd/admin/LikeAdminThreadLocal.java @@ -1,6 +1,12 @@ package com.mdd.admin; +import com.mdd.common.utils.ArrayUtil; + +import java.lang.reflect.Array; +import java.util.Arrays; +import java.util.Collections; import java.util.LinkedHashMap; +import java.util.List; /** * 本地线程 @@ -51,12 +57,12 @@ public class LikeAdminThreadLocal { /** * 获取角色ID */ - public static Integer getRoleId() { - String roleId = LikeAdminThreadLocal.get("roleId").toString(); - if (roleId.equals("")) { - return 0; + public static List getRoleId() { + String roleIds = LikeAdminThreadLocal.get("roleIds").toString(); + if (roleIds.equals("") || roleIds.equals("0")) { + return Collections.emptyList(); } - return Integer.parseInt(roleId); + return ArrayUtil.stringToListAsInt(roleIds, ","); } /** diff --git a/server/like-admin/src/main/java/com/mdd/admin/config/StpInterConfig.java b/server/like-admin/src/main/java/com/mdd/admin/config/StpInterConfig.java index 79da9995..cc16e8e2 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/config/StpInterConfig.java +++ b/server/like-admin/src/main/java/com/mdd/admin/config/StpInterConfig.java @@ -3,13 +3,14 @@ package com.mdd.admin.config; import cn.dev33.satoken.stp.StpInterface; import com.mdd.admin.LikeAdminThreadLocal; import com.mdd.admin.service.ISystemAuthPermService; +import com.mdd.common.utils.ArrayUtil; import com.mdd.common.utils.RedisUtil; import com.mdd.common.utils.StringUtil; +import com.mdd.common.utils.ToolsUtil; import org.springframework.stereotype.Component; import javax.annotation.Resource; -import java.util.ArrayList; -import java.util.List; +import java.util.*; /** * Sa-Token自定义权限验证接口 @@ -29,20 +30,21 @@ public class StpInterConfig implements StpInterface { */ @Override public List getPermissionList(Object loginId, String loginType) { - Integer roleId = LikeAdminThreadLocal.getRoleId(); - Object menusObj = RedisUtil.hGet(AdminConfig.backstageRolesKey, String.valueOf(roleId)); - if (StringUtil.isNull(menusObj)) { - iSystemAuthPermService.cacheRoleMenusByRoleId(roleId); - menusObj = RedisUtil.hGet(AdminConfig.backstageRolesKey, String.valueOf(roleId)); + List roleIds = LikeAdminThreadLocal.getRoleId(); + List perms = new LinkedList<>(); + + for (Integer roleId : roleIds) { + Object menusObj = RedisUtil.hGet(AdminConfig.backstageRolesKey, String.valueOf(roleId)); + if (StringUtil.isNull(menusObj)) { + iSystemAuthPermService.cacheRoleMenusByRoleId(roleId); + menusObj = RedisUtil.hGet(AdminConfig.backstageRolesKey, String.valueOf(roleId)); + } + if (StringUtil.isNotNull(menusObj)) { + perms.addAll(ArrayUtil.stringToListAsStr(menusObj.toString(), ",")); + } } - List list = new ArrayList<>(); - String[] menus = menusObj.toString().split(","); - for (String auth : menus) { - list.add(auth.toLowerCase()); - } - - return list; + return perms; } /** diff --git a/server/like-admin/src/main/java/com/mdd/admin/controller/system/SystemAuthMenuController.java b/server/like-admin/src/main/java/com/mdd/admin/controller/system/SystemAuthMenuController.java index 296f6e28..9bdb6927 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/controller/system/SystemAuthMenuController.java +++ b/server/like-admin/src/main/java/com/mdd/admin/controller/system/SystemAuthMenuController.java @@ -14,6 +14,7 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import java.util.List; /** * 系统菜单管理 @@ -33,8 +34,8 @@ public class SystemAuthMenuController { */ @GetMapping("/route") public AjaxResult route() { - Integer roleId = LikeAdminThreadLocal.getRoleId(); - JSONArray lists = iSystemAuthMenuService.selectMenuByRoleId(roleId); + List roleIds = LikeAdminThreadLocal.getRoleId(); + JSONArray lists = iSystemAuthMenuService.selectMenuByRoleId(roleIds); return AjaxResult.success(lists); } diff --git a/server/like-admin/src/main/java/com/mdd/admin/service/ISystemAuthMenuService.java b/server/like-admin/src/main/java/com/mdd/admin/service/ISystemAuthMenuService.java index 04c48ed9..2bf81150 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/service/ISystemAuthMenuService.java +++ b/server/like-admin/src/main/java/com/mdd/admin/service/ISystemAuthMenuService.java @@ -5,6 +5,8 @@ import com.mdd.admin.validate.system.SystemMenuCreateValidate; import com.mdd.admin.validate.system.SystemMenuUpdateValidate; import com.mdd.admin.vo.system.SystemAuthMenuVo; +import java.util.List; + /** * 系统菜单服务接口类 */ @@ -16,7 +18,7 @@ public interface ISystemAuthMenuService { * @author fzr * @return JSONArray */ - JSONArray selectMenuByRoleId(Integer roleId); + JSONArray selectMenuByRoleId(List roleId); /** * 菜单列表 diff --git a/server/like-admin/src/main/java/com/mdd/admin/service/ISystemAuthPermService.java b/server/like-admin/src/main/java/com/mdd/admin/service/ISystemAuthPermService.java index 37a0ab64..c53898de 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/service/ISystemAuthPermService.java +++ b/server/like-admin/src/main/java/com/mdd/admin/service/ISystemAuthPermService.java @@ -10,10 +10,10 @@ public interface ISystemAuthPermService { /** * 根据角色ID获取菜单ID * - * @param roleId 角色ID + * @param roleIds 角色ID * @return List */ - List selectMenuIdsByRoleId(Integer roleId); + List selectMenuIdsByRoleId(List roleIds); /** * 批量写入角色菜单 diff --git a/server/like-admin/src/main/java/com/mdd/admin/service/impl/SystemAuthAdminServiceImpl.java b/server/like-admin/src/main/java/com/mdd/admin/service/impl/SystemAuthAdminServiceImpl.java index 5320d16e..e850da93 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/service/impl/SystemAuthAdminServiceImpl.java +++ b/server/like-admin/src/main/java/com/mdd/admin/service/impl/SystemAuthAdminServiceImpl.java @@ -10,20 +10,22 @@ import com.github.yulichang.query.MPJQueryWrapper; import com.mdd.admin.config.AdminConfig; import com.mdd.admin.service.ISystemAuthAdminService; import com.mdd.admin.service.ISystemAuthPermService; -import com.mdd.admin.service.ISystemAuthRoleService; import com.mdd.admin.validate.commons.PageValidate; import com.mdd.admin.validate.system.SystemAdminCreateValidate; import com.mdd.admin.validate.system.SystemAdminSearchValidate; import com.mdd.admin.validate.system.SystemAdminUpInfoValidate; import com.mdd.admin.validate.system.SystemAdminUpdateValidate; import com.mdd.admin.vo.system.*; -import com.mdd.common.config.GlobalConfig; import com.mdd.common.core.PageResult; import com.mdd.common.entity.system.SystemAuthAdmin; +import com.mdd.common.entity.system.SystemAuthDept; import com.mdd.common.entity.system.SystemAuthMenu; +import com.mdd.common.entity.system.SystemAuthRole; import com.mdd.common.exception.OperateException; import com.mdd.common.mapper.system.SystemAuthAdminMapper; +import com.mdd.common.mapper.system.SystemAuthDeptMapper; import com.mdd.common.mapper.system.SystemAuthMenuMapper; +import com.mdd.common.mapper.system.SystemAuthRoleMapper; import com.mdd.common.utils.*; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; @@ -44,7 +46,10 @@ public class SystemAuthAdminServiceImpl implements ISystemAuthAdminService { SystemAuthMenuMapper systemAuthMenuMapper; @Resource - ISystemAuthRoleService iSystemAuthRoleService; + SystemAuthDeptMapper systemAuthDeptMapper; + + @Resource + SystemAuthRoleMapper systemAuthRoleMapper; @Resource ISystemAuthPermService iSystemAuthPermService; @@ -64,11 +69,9 @@ public class SystemAuthAdminServiceImpl implements ISystemAuthAdminService { MPJQueryWrapper mpjQueryWrapper = new MPJQueryWrapper<>(); mpjQueryWrapper.select("t.id,t.username,t.nickname,t.avatar," + - "sd.name as dept,sr.name as role,t.is_multipoint,t.is_disable," + - "t.last_login_ip,t.last_login_time,t.create_time,t.update_time") + "t.role_ids as role,t.dept_ids as dept,t.is_multipoint," + + "t.is_disable,t.last_login_ip,t.last_login_time,t.create_time,t.update_time") .eq("t.is_delete", 0) - .leftJoin("?_system_auth_role sr ON sr.id=t.role".replace("?_", GlobalConfig.tablePrefix)) - .leftJoin("?_system_auth_dept sd ON sd.id=t.dept_id".replace("?_", GlobalConfig.tablePrefix)) .orderByDesc(Arrays.asList("t.id", "t.sort")); @@ -86,10 +89,31 @@ public class SystemAuthAdminServiceImpl implements ISystemAuthAdminService { for (SystemAuthAdminListedVo vo : iPage.getRecords()) { if (vo.getId().equals(1)) { vo.setRole("系统管理员"); + } else { + List role = new LinkedList<>(); + List roleIds = ArrayUtil.stringToListAsInt(vo.getRole(), ","); + List roleList = systemAuthRoleMapper.selectList(new QueryWrapper() + .select("id,name") + .in("id", roleIds)); + for (SystemAuthRole d : roleList) { + role.add(d.getName()); + } + vo.setRole(ArrayUtil.listToStringByStr(role, "/")); } - if (vo.getDept() == null) { + if (StringUtil.isNull(vo.getDept()) || vo.getDept().equals("")) { vo.setDept(""); + } else { + List dept = new LinkedList<>(); + List deptIds = ArrayUtil.stringToListAsInt(vo.getDept(), ","); + List deptList = systemAuthDeptMapper.selectList(new QueryWrapper() + .select("id,name") + .in("id", deptIds) + .eq("is_delete", 0)); + for (SystemAuthDept d : deptList) { + dept.add(d.getName()); + } + vo.setDept(ArrayUtil.listToStringByStr(dept, "/")); } vo.setAvatar(UrlUtil.toAbsoluteUrl(vo.getAvatar())); @@ -131,7 +155,8 @@ public class SystemAuthAdminServiceImpl implements ISystemAuthAdminService { // 角色权限 List auths = new LinkedList<>(); if (adminId > 1) { - List menuIds = iSystemAuthPermService.selectMenuIdsByRoleId(sysAdmin.getRole()); + List roleIds = ArrayUtil.stringToListAsInt(sysAdmin.getRoleIds(), ","); + List menuIds = iSystemAuthPermService.selectMenuIdsByRoleId(roleIds); if (menuIds.size() > 0) { List systemAuthMenus = systemAuthMenuMapper.selectList(new QueryWrapper() .eq("is_disable", 0) @@ -185,6 +210,9 @@ public class SystemAuthAdminServiceImpl implements ISystemAuthAdminService { SystemAuthAdminDetailVo vo = new SystemAuthAdminDetailVo(); BeanUtils.copyProperties(sysAdmin, vo); + vo.setRoleIds(ArrayUtil.stringToListAsInt(sysAdmin.getRoleIds(), ",")); + vo.setDeptIds(ArrayUtil.stringToListAsInt(sysAdmin.getDeptIds(), ",")); + vo.setPostIds(ArrayUtil.stringToListAsInt(sysAdmin.getPostIds(), ",")); vo.setAvatar(UrlUtil.toAbsoluteUrl(sysAdmin.getAvatar())); vo.setCreateTime(TimeUtil.timestampToDate(sysAdmin.getCreateTime())); vo.setUpdateTime(TimeUtil.timestampToDate(sysAdmin.getUpdateTime())); @@ -213,10 +241,6 @@ public class SystemAuthAdminServiceImpl implements ISystemAuthAdminService { .eq("nickname", createValidate.getNickname()) .last("limit 1")), "昵称已存在换一个吧!"); - SystemAuthRoleVo roleVo = iSystemAuthRoleService.detail(createValidate.getRole()); - Assert.notNull(roleVo, "角色不存在!"); - Assert.isTrue(roleVo.getIsDisable() <= 0, "当前角色已被禁用!"); - String salt = ToolsUtil.randomString(5); String pwd = ToolsUtil.makeMd5(createValidate.getPassword().trim() + salt); @@ -225,11 +249,11 @@ public class SystemAuthAdminServiceImpl implements ISystemAuthAdminService { String avatar = StringUtil.isNotEmpty(createValidate.getAvatar()) ? UrlUtil.toRelativeUrl(createAvatar) : defaultAvatar; SystemAuthAdmin model = new SystemAuthAdmin(); - model.setDeptId(createValidate.getDeptId()); - model.setPostId(createValidate.getPostId()); + model.setRoleIds(ArrayUtil.listToStringByInt(createValidate.getRoleIds(), ",")); + model.setDeptIds(ArrayUtil.listToStringByInt(createValidate.getDeptIds(), ",")); + model.setPostIds(ArrayUtil.listToStringByInt(createValidate.getPostIds(), ",")); model.setUsername(createValidate.getUsername()); model.setNickname(createValidate.getNickname()); - model.setRole(createValidate.getRole()); model.setAvatar(avatar); model.setPassword(pwd); model.setSalt(salt); @@ -275,17 +299,13 @@ public class SystemAuthAdminServiceImpl implements ISystemAuthAdminService { .ne("id", updateValidate.getId()) .last("limit 1")), "昵称已存在换一个吧!"); - if (updateValidate.getRole() > 0 && updateValidate.getId() != 1) { - Assert.notNull(iSystemAuthRoleService.detail(updateValidate.getRole()), "角色不存在!"); - } - SystemAuthAdmin model = new SystemAuthAdmin(); model.setId(updateValidate.getId()); - model.setDeptId(updateValidate.getDeptId()); - model.setPostId(updateValidate.getPostId()); + model.setRoleIds(ArrayUtil.listToStringByInt(updateValidate.getRoleIds(), ",")); + model.setDeptIds(ArrayUtil.listToStringByInt(updateValidate.getDeptIds(), ",")); + model.setPostIds(ArrayUtil.listToStringByInt(updateValidate.getPostIds(), ",")); model.setNickname(updateValidate.getNickname()); model.setAvatar(UrlUtil.toRelativeUrl(updateValidate.getAvatar())); - model.setRole(updateValidate.getId() == 1 ? 0 : updateValidate.getRole()); model.setSort(updateValidate.getSort()); model.setIsMultipoint(updateValidate.getIsMultipoint()); model.setIsDisable(updateValidate.getIsDisable()); @@ -416,13 +436,13 @@ public class SystemAuthAdminServiceImpl implements ISystemAuthAdminService { public void cacheAdminUserByUid(Integer id) { SystemAuthAdmin sysAdmin = systemAuthAdminMapper.selectOne( new QueryWrapper() - .select("id,role,username,nickname,is_multipoint,is_disable,is_delete") + .select("id,role_ids,username,nickname,is_multipoint,is_disable,is_delete") .eq("id", id) .last("limit 1")); Map user = new LinkedHashMap<>(); user.put("id", sysAdmin.getId()); - user.put("roleId", sysAdmin.getRole()); + user.put("roleIds", sysAdmin.getRoleIds()); user.put("username", sysAdmin.getUsername()); user.put("nickname", sysAdmin.getNickname()); user.put("isMultipoint", sysAdmin.getIsMultipoint()); diff --git a/server/like-admin/src/main/java/com/mdd/admin/service/impl/SystemAuthMenuServiceImpl.java b/server/like-admin/src/main/java/com/mdd/admin/service/impl/SystemAuthMenuServiceImpl.java index 190efee7..3d79252b 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/service/impl/SystemAuthMenuServiceImpl.java +++ b/server/like-admin/src/main/java/com/mdd/admin/service/impl/SystemAuthMenuServiceImpl.java @@ -39,13 +39,13 @@ public class SystemAuthMenuServiceImpl implements ISystemAuthMenuService { * 根据角色ID获取菜单 * * @author fzr - * @param roleId 角色ID + * @param roleIds 角色ID * @return JSONArray */ @Override - public JSONArray selectMenuByRoleId(Integer roleId) { + public JSONArray selectMenuByRoleId(List roleIds) { Integer adminId = LikeAdminThreadLocal.getAdminId(); - List menuIds = iSystemAuthPermService.selectMenuIdsByRoleId(roleId); + List menuIds = iSystemAuthPermService.selectMenuIdsByRoleId(roleIds); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.in("menu_type", Arrays.asList("M", "C")); diff --git a/server/like-admin/src/main/java/com/mdd/admin/service/impl/SystemAuthPermServiceImpl.java b/server/like-admin/src/main/java/com/mdd/admin/service/impl/SystemAuthPermServiceImpl.java index 1027f2f9..b67d946f 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/service/impl/SystemAuthPermServiceImpl.java +++ b/server/like-admin/src/main/java/com/mdd/admin/service/impl/SystemAuthPermServiceImpl.java @@ -38,15 +38,19 @@ public class SystemAuthPermServiceImpl implements ISystemAuthPermService { /** * 根据角色ID获取菜单ID * - * @param roleId 角色ID + * @param roleIds 角色ID * @return List */ @Override - public List selectMenuIdsByRoleId(Integer roleId) { + public List selectMenuIdsByRoleId(List roleIds) { List menus = new LinkedList<>(); + if (roleIds.isEmpty()) { + return menus; + } + SystemAuthRole systemAuthRole = systemAuthRoleMapper.selectOne(new QueryWrapper() - .eq("id", roleId) + .in("id", roleIds) .eq("is_disable", 0) .last("limit 1")); @@ -55,7 +59,9 @@ public class SystemAuthPermServiceImpl implements ISystemAuthPermService { } List systemAuthPerms = systemAuthPermMapper.selectList( - new QueryWrapper().eq("role_id", roleId)); + new QueryWrapper() + .in("role_id", roleIds)); + for (SystemAuthPerm systemAuthPerm : systemAuthPerms) { menus.add(systemAuthPerm.getMenuId()); } diff --git a/server/like-admin/src/main/java/com/mdd/admin/service/impl/SystemAuthRoleServiceImpl.java b/server/like-admin/src/main/java/com/mdd/admin/service/impl/SystemAuthRoleServiceImpl.java index ff363681..be5089ed 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/service/impl/SystemAuthRoleServiceImpl.java +++ b/server/like-admin/src/main/java/com/mdd/admin/service/impl/SystemAuthRoleServiceImpl.java @@ -64,7 +64,7 @@ public class SystemAuthRoleServiceImpl implements ISystemAuthRoleService { vo.setIsDisable(systemAuthRole.getIsDisable()); vo.setCreateTime(TimeUtil.timestampToDate(systemAuthRole.getCreateTime())); vo.setUpdateTime(TimeUtil.timestampToDate(systemAuthRole.getUpdateTime())); - vo.setMember(0L); + vo.setMember(0); vo.setRemark(""); vo.setMenus(Collections.EMPTY_LIST); list.add(vo); @@ -95,9 +95,8 @@ public class SystemAuthRoleServiceImpl implements ISystemAuthRoleService { SystemAuthRoleVo vo = new SystemAuthRoleVo(); BeanUtils.copyProperties(systemAuthRole, vo); - Long member = systemAuthAdminMapper.selectCount(new QueryWrapper() - .eq("is_delete", 0) - .eq("role", systemAuthRole.getId())); + List ids = systemAuthAdminMapper.selectChildrenById(systemAuthRole.getId()); + Integer member = ids.size(); vo.setMenus(new ArrayList<>()); vo.setMember(member); @@ -124,14 +123,13 @@ public class SystemAuthRoleServiceImpl implements ISystemAuthRoleService { Assert.notNull(systemAuthRole, "角色已不存在!"); - Long member = systemAuthAdminMapper.selectCount(new QueryWrapper() - .eq("is_delete", 0) - .eq("role", systemAuthRole.getId())); + List roleIds = new LinkedList<>(); + roleIds.add(systemAuthRole.getId()); SystemAuthRoleVo vo = new SystemAuthRoleVo(); BeanUtils.copyProperties(systemAuthRole, vo); - vo.setMember(member); - vo.setMenus(iSystemAuthPermService.selectMenuIdsByRoleId(systemAuthRole.getId())); + vo.setMember(0); + vo.setMenus(iSystemAuthPermService.selectMenuIdsByRoleId(roleIds)); vo.setCreateTime(TimeUtil.timestampToDate(systemAuthRole.getCreateTime())); vo.setUpdateTime(TimeUtil.timestampToDate(systemAuthRole.getUpdateTime())); diff --git a/server/like-admin/src/main/java/com/mdd/admin/validate/system/SystemAdminCreateValidate.java b/server/like-admin/src/main/java/com/mdd/admin/validate/system/SystemAdminCreateValidate.java index 73dbf0ab..342888e2 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/validate/system/SystemAdminCreateValidate.java +++ b/server/like-admin/src/main/java/com/mdd/admin/validate/system/SystemAdminCreateValidate.java @@ -9,6 +9,7 @@ import javax.validation.constraints.Min; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; import java.io.Serializable; +import java.util.List; /** * 系统管理员创建参数 @@ -18,10 +19,6 @@ public class SystemAdminCreateValidate implements Serializable { private static final long serialVersionUID = 1L; - @NotNull(message = "请选择角色") - @Min(value = 0, message = "role参数异常") - private Integer role; - @NotEmpty(message = "账号不能为空") @Length(min = 2, max = 20, message = "账号必须在2~20个字符内") private String username; @@ -46,13 +43,14 @@ public class SystemAdminCreateValidate implements Serializable { @DecimalMin(value = "0", message = "排序号值不能少于0") private Integer sort = 0; - @DecimalMin(value = "0", message = "部门ID值不能少于0") - private Integer deptId = 0; - - @DecimalMin(value = "0", message = "岗位ID值不能少于0") - private Integer postId = 0; - @Length(max = 200, message = "头像不能超出200个字符") private String avatar = ""; + @NotNull(message = "请选择角色") + private List roleIds; + + private List deptIds; + + private List postIds; + } diff --git a/server/like-admin/src/main/java/com/mdd/admin/validate/system/SystemAdminUpdateValidate.java b/server/like-admin/src/main/java/com/mdd/admin/validate/system/SystemAdminUpdateValidate.java index 9bb0c40d..1f37db08 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/validate/system/SystemAdminUpdateValidate.java +++ b/server/like-admin/src/main/java/com/mdd/admin/validate/system/SystemAdminUpdateValidate.java @@ -10,6 +10,7 @@ import javax.validation.constraints.Min; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; import java.io.Serializable; +import java.util.List; /** * 系统管理员更新参数 @@ -22,10 +23,6 @@ public class SystemAdminUpdateValidate implements Serializable { @IDMust(message = "id参数必传且需大于0") private Integer id; - @NotNull(message = "请选择角色") - @Min(value = 0, message = "role参数异常") - private Integer role; - @NotEmpty(message = "账号不能为空") @Length(min = 2, max = 20, message = "账号必须在2~20个字符内") private String username; @@ -48,13 +45,15 @@ public class SystemAdminUpdateValidate implements Serializable { @DecimalMin(value = "0", message = "排序号值不能少于0") private Integer sort = 0; - @DecimalMin(value = "0", message = "部门ID值不能少于0") - private Integer deptId = 0; - - @DecimalMin(value = "0", message = "岗位ID值不能少于0") - private Integer postId = 0; - @Length(max = 200, message = "头像不能超出200个字符") private String avatar = ""; + @NotNull(message = "请选择角色") + + private List roleIds; + + private List deptIds; + + private List postIds; + } diff --git a/server/like-admin/src/main/java/com/mdd/admin/vo/system/SystemAuthAdminDetailVo.java b/server/like-admin/src/main/java/com/mdd/admin/vo/system/SystemAuthAdminDetailVo.java index ef946c85..f0138959 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/vo/system/SystemAuthAdminDetailVo.java +++ b/server/like-admin/src/main/java/com/mdd/admin/vo/system/SystemAuthAdminDetailVo.java @@ -3,6 +3,7 @@ package com.mdd.admin.vo.system; import lombok.Data; import java.io.Serializable; +import java.util.List; /** * 管理员详情Vo @@ -13,9 +14,9 @@ public class SystemAuthAdminDetailVo implements Serializable { private static final long serialVersionUID = 1L; private Integer id; // 主键 - private Integer deptId; // 部门ID - private Integer postId; // 岗位ID - private Integer role; // 角色ID + private List roleIds; // 角色ID + private List deptIds; // 部门ID + private List postIds; // 岗位ID private String username; // 账号 private String nickname; // 昵称 private String avatar; // 头像 diff --git a/server/like-admin/src/main/java/com/mdd/admin/vo/system/SystemAuthRoleVo.java b/server/like-admin/src/main/java/com/mdd/admin/vo/system/SystemAuthRoleVo.java index bd25315f..bdd98c50 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/vo/system/SystemAuthRoleVo.java +++ b/server/like-admin/src/main/java/com/mdd/admin/vo/system/SystemAuthRoleVo.java @@ -16,7 +16,7 @@ public class SystemAuthRoleVo implements Serializable { private String name; // 角色名称 private String remark; // 角色备注 private Object menus; // 关联菜单 - private Long member; // 成员数量 + private Integer member; // 成员数量 private Integer sort; // 角色排序 private Integer isDisable; // 是否禁用: [0=否, 1=是] private String createTime; // 创建时间 diff --git a/server/like-common/pom.xml b/server/like-common/pom.xml index 0dd802ac..d1ae4a00 100644 --- a/server/like-common/pom.xml +++ b/server/like-common/pom.xml @@ -19,6 +19,7 @@ org.apache.maven.plugins maven-compiler-plugin + 3.10.0 1.8 1.8 diff --git a/server/like-common/src/main/java/com/mdd/common/entity/system/SystemAuthAdmin.java b/server/like-common/src/main/java/com/mdd/common/entity/system/SystemAuthAdmin.java index f51175bd..b969ce39 100644 --- a/server/like-common/src/main/java/com/mdd/common/entity/system/SystemAuthAdmin.java +++ b/server/like-common/src/main/java/com/mdd/common/entity/system/SystemAuthAdmin.java @@ -16,14 +16,14 @@ public class SystemAuthAdmin implements Serializable { @TableId(value="id", type=IdType.AUTO) private Integer id; // 主键 - private Integer deptId; // 部门ID - private Integer postId; // 岗位ID private String nickname; // 用户账号 private String username; // 用户昵称 private String password; // 用户密码 private String avatar; // 用户头像 private String salt; // 加密盐巴 - private Integer role; // 角色主键 + private String roleIds; // 角色主键 + private String deptIds; // 部门主键 + private String postIds; // 岗位主键 private Integer sort; // 排序编号 private Integer isMultipoint; // 多端登录: [0=否, 1=是] private Integer isDisable; // 是否禁用: [0=否, 1=是] diff --git a/server/like-common/src/main/java/com/mdd/common/mapper/system/SystemAuthAdminMapper.java b/server/like-common/src/main/java/com/mdd/common/mapper/system/SystemAuthAdminMapper.java index f5098658..328be65b 100644 --- a/server/like-common/src/main/java/com/mdd/common/mapper/system/SystemAuthAdminMapper.java +++ b/server/like-common/src/main/java/com/mdd/common/mapper/system/SystemAuthAdminMapper.java @@ -3,10 +3,24 @@ package com.mdd.common.mapper.system; import com.mdd.common.core.basics.IBaseMapper; import com.mdd.common.entity.system.SystemAuthAdmin; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +import java.util.List; /** * 系统管理员Mapper */ @Mapper public interface SystemAuthAdminMapper extends IBaseMapper { + + /** + * 获取角色管理员 + * + * @author fzr + * @param id 文件夹ID + * @return List + */ + @Select("SELECT id FROM ${prefix}system_auth_admin WHERE is_delete=0 AND FIND_IN_SET(#{id}, role_ids)") + List selectChildrenById(Integer id); + }