修改权限

This commit is contained in:
TinyAnts 2022-04-15 11:12:41 +08:00
parent 4cf726c993
commit a4fe623e1c
25 changed files with 211 additions and 114 deletions

View File

@ -9,6 +9,7 @@ import com.hxkj.common.core.AjaxResult;
import com.hxkj.common.enums.HttpEnum; import com.hxkj.common.enums.HttpEnum;
import com.hxkj.common.utils.RedisUtil; import com.hxkj.common.utils.RedisUtil;
import com.hxkj.common.utils.ToolsUtil; import com.hxkj.common.utils.ToolsUtil;
import com.hxkj.common.utils.YmlUtil;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.web.method.HandlerMethod; import org.springframework.web.method.HandlerMethod;
import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.HandlerInterceptor;
@ -47,9 +48,14 @@ public class LikeAdminInterceptor implements HandlerInterceptor {
return HandlerInterceptor.super.preHandle(request, response, handler); return HandlerInterceptor.super.preHandle(request, response, handler);
} }
// 路由转权限
String prefix = YmlUtil.get("server.servlet.context-path") + "/";
String route = request.getRequestURI().replaceFirst(prefix, "");
String auths = route.replace("/", ":");
// 免登录接口 // 免登录接口
List<String> notLoginUri = Arrays.asList(AdminConfig.notLoginUri); List<String> notLoginUri = Arrays.asList(AdminConfig.notLoginUri);
if (notLoginUri.contains(request.getRequestURI())) { if (notLoginUri.contains(auths)) {
return HandlerInterceptor.super.preHandle(request, response, handler); return HandlerInterceptor.super.preHandle(request, response, handler);
} }
@ -117,7 +123,7 @@ public class LikeAdminInterceptor implements HandlerInterceptor {
// 验证是否有权限操作 // 验证是否有权限操作
String menus = RedisUtil.hGet(AdminConfig.backstageRolesKey, roleId).toString(); String menus = RedisUtil.hGet(AdminConfig.backstageRolesKey, roleId).toString();
if (menus.equals("") || !Arrays.asList(menus.split(",")).contains(request.getRequestURI())) { if (menus.equals("") || !Arrays.asList(menus.split(",")).contains(auths)) {
AjaxResult result = AjaxResult.failed(HttpEnum.NO_PERMISSION.getCode(), HttpEnum.NO_PERMISSION.getMsg()); AjaxResult result = AjaxResult.failed(HttpEnum.NO_PERMISSION.getCode(), HttpEnum.NO_PERMISSION.getMsg());
response.getWriter().print(JSON.toJSONString(result)); response.getWriter().print(JSON.toJSONString(result));
return false; return false;

View File

@ -16,11 +16,13 @@ public class AdminConfig {
// 免登录验证 // 免登录验证
public static String[] notLoginUri = new String[]{ public static String[] notLoginUri = new String[]{
"/api/system/login", "system:login", // 登录接口
"/api/index/config", "index:config" // 配置接口
}; };
// 免权限验证 // 免权限验证
public static String[] notAuthUri = new String[]{}; public static String[] notAuthUri = new String[]{
"system:admin:upInfo" // 管理员更新接口
};
} }

View File

@ -18,7 +18,7 @@ import java.util.Map;
* 相册管理 * 相册管理
*/ */
@RestController @RestController
@RequestMapping("/api/album") @RequestMapping("/album")
public class AlbumController { public class AlbumController {
@Resource @Resource

View File

@ -19,7 +19,7 @@ import java.util.List;
import java.util.Map; import java.util.Map;
@RestController @RestController
@RequestMapping("/api/article") @RequestMapping("/article")
public class ArticleController { public class ArticleController {
@Resource @Resource

View File

@ -15,7 +15,7 @@ import java.util.Map;
*/ */
@Slf4j @Slf4j
@RestController @RestController
@RequestMapping("/api/index") @RequestMapping("/index")
public class IndexController { public class IndexController {
@Resource @Resource

View File

@ -22,7 +22,7 @@ import java.util.Map;
* 上传管理 * 上传管理
*/ */
@RestController @RestController
@RequestMapping("/api/upload") @RequestMapping("/upload")
public class UploadController { public class UploadController {
@Resource @Resource

View File

@ -18,7 +18,7 @@ import java.util.*;
* 缓存监控管理 * 缓存监控管理
*/ */
@RestController @RestController
@RequestMapping("/api/monitor") @RequestMapping("/monitor")
public class CacheController { public class CacheController {
@Resource @Resource

View File

@ -16,7 +16,7 @@ import java.util.Map;
* 服务监控管理 * 服务监控管理
*/ */
@RestController @RestController
@RequestMapping("/api/monitor") @RequestMapping("/monitor")
public class ServerController { public class ServerController {
/** /**
* 服务器信息 * 服务器信息

View File

@ -12,14 +12,14 @@ import java.util.Map;
* 基础设置管理 * 基础设置管理
*/ */
@RestController @RestController
@RequestMapping("/api/setting") @RequestMapping("/setting")
public class BasicsController { public class BasicsController {
@Resource @Resource
IBasicsService iBasicsService; IBasicsService iBasicsService;
/** /**
* 获取网站信息 * 获取网站信息
* *
* @author fzr * @author fzr
* @return Object * @return Object
@ -32,7 +32,7 @@ public class BasicsController {
} }
/** /**
* 修改网站信息 * 修改网站信息
* *
* @author fzr * @author fzr
* @return Object * @return Object
@ -49,7 +49,7 @@ public class BasicsController {
} }
/** /**
* 获取备案信息 * 获取备案信息
* *
* @author fzr * @author fzr
* @return Object * @return Object
@ -62,7 +62,7 @@ public class BasicsController {
} }
/** /**
* 修改备案信息 * 修改备案信息
* *
* @author fzr * @author fzr
* @return Object * @return Object

View File

@ -6,6 +6,7 @@ import com.hxkj.admin.service.ISystemAdminService;
import com.hxkj.admin.validate.PageParam; import com.hxkj.admin.validate.PageParam;
import com.hxkj.admin.validate.system.SystemAdminParam; import com.hxkj.admin.validate.system.SystemAdminParam;
import com.hxkj.admin.vo.system.SystemAdminVo; import com.hxkj.admin.vo.system.SystemAdminVo;
import com.hxkj.admin.vo.system.SystemSelfVo;
import com.hxkj.common.core.AjaxResult; import com.hxkj.common.core.AjaxResult;
import com.hxkj.common.core.PageResult; import com.hxkj.common.core.PageResult;
import com.hxkj.common.validator.annotation.IDMust; import com.hxkj.common.validator.annotation.IDMust;
@ -19,7 +20,7 @@ import java.util.Map;
* 系统管理员管理 * 系统管理员管理
*/ */
@RestController @RestController
@RequestMapping("/api/system/admin") @RequestMapping("/system/admin")
public class SystemAdminController { public class SystemAdminController {
@Resource @Resource
@ -47,7 +48,7 @@ public class SystemAdminController {
@GetMapping("/self") @GetMapping("/self")
public Object self() { public Object self() {
Integer adminId = LikeAdminThreadLocal.getAdminId(); Integer adminId = LikeAdminThreadLocal.getAdminId();
SystemAdminVo vo = iSystemAdminService.detail(adminId); SystemSelfVo vo = iSystemAdminService.self(adminId);
return AjaxResult.success(vo); return AjaxResult.success(vo);
} }
@ -65,7 +66,7 @@ public class SystemAdminController {
} }
/** /**
* 新增管理员 * 管理员新增
* *
* @author fzr * @author fzr
* @param systemAdminParam 参数 * @param systemAdminParam 参数
@ -79,7 +80,7 @@ public class SystemAdminController {
} }
/** /**
* 编辑管理员 * 管理员编辑
* *
* @author fzr * @author fzr
* @param systemAdminParam 参数 * @param systemAdminParam 参数
@ -93,7 +94,21 @@ public class SystemAdminController {
} }
/** /**
* 删除管理员 * 当前管理员更新
*
* @author fzr
* @return Object
*/
@Log(title = "管理员更新")
@PostMapping("/upInfo")
public Object upInfo(@Validated(value = SystemAdminParam.upInfo.class) @RequestBody SystemAdminParam systemAdminParam) {
Integer adminId = LikeAdminThreadLocal.getAdminId();
iSystemAdminService.upInfo(systemAdminParam, adminId);
return AjaxResult.success();
}
/**
* 管理员删除
* *
* @author fzr * @author fzr
* @return Object * @return Object

View File

@ -19,7 +19,7 @@ import java.util.Map;
* 系统日志管理 * 系统日志管理
*/ */
@RestController @RestController
@RequestMapping("/api/system/log") @RequestMapping("/system/log")
public class SystemLogController { public class SystemLogController {
@Resource @Resource

View File

@ -19,7 +19,7 @@ import java.util.Map;
* 系统登录管理 * 系统登录管理
*/ */
@RestController @RestController
@RequestMapping("/api/system") @RequestMapping("/system")
public class SystemLoginController { public class SystemLoginController {
@Resource @Resource

View File

@ -19,7 +19,7 @@ import java.util.List;
* 系统菜单管理 * 系统菜单管理
*/ */
@RestController @RestController
@RequestMapping("/api/system/menu") @RequestMapping("/system/menu")
public class SystemMenuController { public class SystemMenuController {
@Resource @Resource
@ -38,19 +38,6 @@ public class SystemMenuController {
return AjaxResult.success(lists); return AjaxResult.success(lists);
} }
/**
* 获取权限节点
*
* @author fzr
* @return Object
*/
@GetMapping("/auth")
public Object auth() {
Integer roleId = LikeAdminThreadLocal.getRoleId();
List<SystemAuthVo> lists = iSystemMenuService.selectAuthByRoleId(roleId);
return AjaxResult.success(lists);
}
/** /**
* 获取菜单列表 * 获取菜单列表
* *

View File

@ -17,7 +17,7 @@ import javax.annotation.Resource;
* 系统角色管理 * 系统角色管理
*/ */
@RestController @RestController
@RequestMapping("/api/system/role") @RequestMapping("/system/role")
public class SystemRoleController { public class SystemRoleController {
@Resource @Resource

View File

@ -3,6 +3,7 @@ package com.hxkj.admin.service;
import com.hxkj.admin.validate.PageParam; import com.hxkj.admin.validate.PageParam;
import com.hxkj.admin.validate.system.SystemAdminParam; import com.hxkj.admin.validate.system.SystemAdminParam;
import com.hxkj.admin.vo.system.SystemAdminVo; import com.hxkj.admin.vo.system.SystemAdminVo;
import com.hxkj.admin.vo.system.SystemSelfVo;
import com.hxkj.common.core.PageResult; import com.hxkj.common.core.PageResult;
import com.hxkj.common.entity.system.SystemAdmin; import com.hxkj.common.entity.system.SystemAdmin;
@ -31,6 +32,14 @@ public interface ISystemAdminService {
*/ */
PageResult<SystemAdminVo> lists(PageParam pageParam, Map<String, String> params); PageResult<SystemAdminVo> lists(PageParam pageParam, Map<String, String> params);
/**
* 当前管理员
*
* @author fzr
* @return SystemSelfVo
*/
SystemSelfVo self(Integer adminId);
/** /**
* 管理员详情 * 管理员详情
* *
@ -56,6 +65,14 @@ public interface ISystemAdminService {
*/ */
void edit(SystemAdminParam systemAdminParam); void edit(SystemAdminParam systemAdminParam);
/**
* 当前管理员更新
*
* @author fzr
* @param systemAdminParam 参数
*/
void upInfo(SystemAdminParam systemAdminParam, Integer adminId);
/** /**
* 管理员删除 * 管理员删除
* *

View File

@ -20,14 +20,6 @@ public interface ISystemMenuService {
*/ */
JSONArray selectMenuByRoleId(Integer roleId); JSONArray selectMenuByRoleId(Integer roleId);
/**
* 根据角色获取权限
*
* @author fzr
* @return JSONArray
*/
List<SystemAuthVo> selectAuthByRoleId(Integer roleId);
/** /**
* 菜单列表 * 菜单列表
* *

View File

@ -8,13 +8,19 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.hxkj.admin.LikeAdminThreadLocal; import com.hxkj.admin.LikeAdminThreadLocal;
import com.hxkj.admin.config.AdminConfig; import com.hxkj.admin.config.AdminConfig;
import com.hxkj.admin.service.ISystemAdminService; import com.hxkj.admin.service.ISystemAdminService;
import com.hxkj.admin.service.ISystemRoleMenuService;
import com.hxkj.admin.service.ISystemRoleService; import com.hxkj.admin.service.ISystemRoleService;
import com.hxkj.admin.validate.PageParam; import com.hxkj.admin.validate.PageParam;
import com.hxkj.admin.validate.system.SystemAdminParam; import com.hxkj.admin.validate.system.SystemAdminParam;
import com.hxkj.admin.vo.system.SystemAdminVo; import com.hxkj.admin.vo.system.SystemAdminVo;
import com.hxkj.admin.vo.system.SystemSelfVo;
import com.hxkj.common.core.PageResult; import com.hxkj.common.core.PageResult;
import com.hxkj.common.entity.system.SystemAdmin; import com.hxkj.common.entity.system.SystemAdmin;
import com.hxkj.common.entity.system.SystemMenu;
import com.hxkj.common.entity.system.SystemRoleMenu;
import com.hxkj.common.mapper.system.SystemAdminMapper; import com.hxkj.common.mapper.system.SystemAdminMapper;
import com.hxkj.common.mapper.system.SystemMenuMapper;
import com.hxkj.common.mapper.system.SystemRoleMenuMapper;
import com.hxkj.common.utils.*; import com.hxkj.common.utils.*;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -31,9 +37,15 @@ public class SystemAdminServiceImpl implements ISystemAdminService {
@Resource @Resource
SystemAdminMapper systemAdminMapper; SystemAdminMapper systemAdminMapper;
@Resource
SystemMenuMapper systemMenuMapper;
@Resource @Resource
ISystemRoleService iSystemRoleService; ISystemRoleService iSystemRoleService;
@Resource
ISystemRoleMenuService iSystemRoleMenuService;
/** /**
* 根据账号查找管理员 * 根据账号查找管理员
* *
@ -98,6 +110,60 @@ public class SystemAdminServiceImpl implements ISystemAdminService {
return PageResult.iPageHandle(iPage.getTotal(), iPage.getCurrent(), iPage.getSize(), adminVoArrayList); return PageResult.iPageHandle(iPage.getTotal(), iPage.getCurrent(), iPage.getSize(), adminVoArrayList);
} }
/**
* 当前管理员
*
* @author fzr
* @return SystemSelfVo
*/
@Override
public SystemSelfVo self(Integer adminId) {
// 管理员信息
SystemAdmin sysAdmin = systemAdminMapper.selectOne(new QueryWrapper<SystemAdmin>()
.select(SystemAdmin.class, info->
!info.getColumn().equals("salt") &&
!info.getColumn().equals("password") &&
!info.getColumn().equals("is_delete") &&
!info.getColumn().equals("delete_time"))
.eq("is_delete", 0)
.eq("id", adminId)
.last("limit 1"));
SystemAdminVo systemAdminVo = new SystemAdminVo();
BeanUtils.copyProperties(sysAdmin, systemAdminVo);
systemAdminVo.setRole(String.valueOf(sysAdmin.getRole()));
systemAdminVo.setAvatar(UrlUtil.toAbsoluteUrl(sysAdmin.getAvatar()));
systemAdminVo.setUpdateTime(TimeUtil.timestampToDate(sysAdmin.getUpdateTime()));
systemAdminVo.setCreateTime(TimeUtil.timestampToDate(sysAdmin.getCreateTime()));
systemAdminVo.setLastLoginTime(TimeUtil.timestampToDate(sysAdmin.getLastLoginTime()));
// 角色权限
List<String> auths = new LinkedList<>();
if (adminId > 1) {
List<Integer> menuIds = iSystemRoleMenuService.selectMenuIdsByRoleId(sysAdmin.getRole());
List<SystemMenu> systemMenus = systemMenuMapper.selectList(new QueryWrapper<SystemMenu>()
.eq("is_disable", 0)
.in("id", menuIds)
.in("menu_type", Arrays.asList("C", "A"))
.orderByAsc(Arrays.asList("menu_sort", "id")));
// 处理权限
for (SystemMenu item : systemMenus) {
if (StringUtil.isNotNull(item.getPerms()) && StringUtil.isNotEmpty(item.getPerms())) {
auths.add(item.getPerms().trim());
}
}
} else {
auths.add("*");
}
// 返回数据
SystemSelfVo vo = new SystemSelfVo();
vo.setUser(systemAdminVo);
vo.setPermissions(auths);
return vo;
}
/** /**
* 管理员详细 * 管理员详细
* *
@ -224,9 +290,42 @@ public class SystemAdminServiceImpl implements ISystemAdminService {
systemAdminMapper.updateById(model); systemAdminMapper.updateById(model);
this.cacheAdminUserByUid(systemAdminParam.getId()); this.cacheAdminUserByUid(systemAdminParam.getId());
}
/**
* 当前管理员更新
*
* @author fzr
* @param systemAdminParam 参数
*/
@Override
public void upInfo(SystemAdminParam systemAdminParam, Integer adminId) {
String[] field = {"id", "username", "nickname"};
SystemAdmin model = systemAdminMapper.selectOne(new QueryWrapper<SystemAdmin>()
.select(field)
.eq("id", adminId)
.eq("is_delete", 0)
.last("limit 1"));
Assert.notNull(model, "账号不存在了!");
model.setNickname(systemAdminParam.getNickname());
model.setAvatar( UrlUtil.toRelativeUrl(systemAdminParam.getAvatar()));
model.setUpdateTime(System.currentTimeMillis() / 1000);
if (systemAdminParam.getPassword() != null && !systemAdminParam.getPassword().equals("")) {
String salt = ToolsUtil.randomString(5);
String pwd = ToolsUtil.makeMd5( systemAdminParam.getPassword().trim() + salt);
model.setPassword(pwd);
model.setSalt(salt);
}
systemAdminMapper.updateById(model);
this.cacheAdminUserByUid(adminId);
if (systemAdminParam.getPassword() != null) { if (systemAdminParam.getPassword() != null) {
RedisUtil.del(Objects.requireNonNull(HttpUtil.obj()).getHeader("token")); String token = Objects.requireNonNull(HttpUtil.obj()).getHeader("token");
RedisUtil.del(AdminConfig.backstageTokenKey + token);
} }
} }

View File

@ -45,7 +45,7 @@ public class SystemMenuServiceImpl implements ISystemMenuService {
QueryWrapper<SystemMenu> queryWrapper = new QueryWrapper<>(); QueryWrapper<SystemMenu> queryWrapper = new QueryWrapper<>();
queryWrapper.in("menu_type", Arrays.asList("M", "C")); queryWrapper.in("menu_type", Arrays.asList("M", "C"));
queryWrapper.orderByDesc(Arrays.asList("menu_sort", "id")); queryWrapper.orderByAsc(Arrays.asList("menu_sort", "id"));
if (adminId != 1 && menuIds.size() > 0) { if (adminId != 1 && menuIds.size() > 0) {
queryWrapper.in("id", menuIds); queryWrapper.in("id", menuIds);
} }
@ -65,64 +65,6 @@ public class SystemMenuServiceImpl implements ISystemMenuService {
return ArrayUtil.listToTree(jsonArray, "id", "pid", "children"); return ArrayUtil.listToTree(jsonArray, "id", "pid", "children");
} }
/**
* 根据角色ID获取权限
*
* @param roleId 角色ID
* @return JSONArray
*/
@Override
public List<SystemAuthVo> selectAuthByRoleId(Integer roleId) {
List<Integer> menuIds = iSystemRoleMenuService.selectMenuIdsByRoleId(roleId);
QueryWrapper<SystemMenu> queryWrapper = new QueryWrapper<>();
queryWrapper.in("menu_type", Arrays.asList("C", "A"));
queryWrapper.orderByDesc(Arrays.asList("menu_sort", "id"));
if (menuIds.size() > 0) {
queryWrapper.in("id", menuIds);
}
List<SystemMenu> systemMenus = systemMenuMapper.selectList(queryWrapper);
JSONArray jsonArray = JSONArray.parseArray(JSONArray.toJSONString(systemMenus));
JSONArray menuJson = ArrayUtil.listToTree(jsonArray, "id", "pid", "children");
List<SystemAuthVo> authVos = new ArrayList<>();
for (Object object : menuJson.toArray()) {
Map<String, String> map = ToolsUtil.objectToMap(object);
SystemAuthVo systemAuthVo = new SystemAuthVo();
systemAuthVo.setPath(map.get("component"));
List<String> auths = new ArrayList<>();
if (StringUtil.isNotEmpty(map.get("children"))) {
// 第一层
for (Map<String, String> m : ToolsUtil.stringToList(map.get("children"))) {
if (!m.get("perms").equals("")) {
auths.add(m.get("perms"));
}
// 第二层
if (!m.get("children").equals("")) {
for (Map<String, String> tow : ToolsUtil.stringToList(m.get("children"))) {
if (!tow.get("perms").equals("")) {
auths.add(tow.get("perms"));
}
}
}
}
}
if (!map.get("perms").equals("")) {
auths.add(map.get("perms"));
}
systemAuthVo.setAuth(auths);
authVos.add(systemAuthVo);
}
return authVos;
}
/** /**
* 菜单列表 * 菜单列表
* *
@ -132,7 +74,7 @@ public class SystemMenuServiceImpl implements ISystemMenuService {
@Override @Override
public JSONArray lists() { public JSONArray lists() {
QueryWrapper<SystemMenu> queryWrapper = new QueryWrapper<>(); QueryWrapper<SystemMenu> queryWrapper = new QueryWrapper<>();
queryWrapper.orderByDesc(Arrays.asList("menu_sort", "id")); queryWrapper.orderByAsc(Arrays.asList("menu_sort", "id"));
List<SystemMenu> systemMenus = systemMenuMapper.selectList(queryWrapper); List<SystemMenu> systemMenus = systemMenuMapper.selectList(queryWrapper);
@ -185,6 +127,8 @@ public class SystemMenuServiceImpl implements ISystemMenuService {
model.setMenuIcon(systemMenuParam.getMenuIcon()); model.setMenuIcon(systemMenuParam.getMenuIcon());
model.setMenuSort(systemMenuParam.getMenuSort()); model.setMenuSort(systemMenuParam.getMenuSort());
model.setPerms(systemMenuParam.getPerms()); model.setPerms(systemMenuParam.getPerms());
model.setPaths(systemMenuParam.getPaths());
model.setComponent(systemMenuParam.getComponent());
model.setIsDisable(systemMenuParam.getIsDisable()); model.setIsDisable(systemMenuParam.getIsDisable());
model.setCreateTime(System.currentTimeMillis() / 1000); model.setCreateTime(System.currentTimeMillis() / 1000);
model.setUpdateTime(System.currentTimeMillis() / 1000); model.setUpdateTime(System.currentTimeMillis() / 1000);
@ -206,7 +150,9 @@ public class SystemMenuServiceImpl implements ISystemMenuService {
model.setMenuName(systemMenuParam.getMenuName()); model.setMenuName(systemMenuParam.getMenuName());
model.setMenuIcon(systemMenuParam.getMenuIcon()); model.setMenuIcon(systemMenuParam.getMenuIcon());
model.setMenuSort(systemMenuParam.getMenuSort()); model.setMenuSort(systemMenuParam.getMenuSort());
model.setPaths(systemMenuParam.getPaths());
model.setPerms(systemMenuParam.getPerms()); model.setPerms(systemMenuParam.getPerms());
model.setComponent(systemMenuParam.getComponent());
model.setPid(systemMenuParam.getPid()); model.setPid(systemMenuParam.getPid());
model.setIsDisable(systemMenuParam.getIsDisable()); model.setIsDisable(systemMenuParam.getIsDisable());
model.setUpdateTime(System.currentTimeMillis() / 1000); model.setUpdateTime(System.currentTimeMillis() / 1000);

View File

@ -9,10 +9,12 @@ import com.hxkj.common.mapper.system.SystemMenuMapper;
import com.hxkj.common.mapper.system.SystemRoleMenuMapper; import com.hxkj.common.mapper.system.SystemRoleMenuMapper;
import com.hxkj.common.utils.ArrayUtil; import com.hxkj.common.utils.ArrayUtil;
import com.hxkj.common.utils.RedisUtil; import com.hxkj.common.utils.RedisUtil;
import com.hxkj.common.utils.StringUtil;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.Arrays;
import java.util.LinkedList; import java.util.LinkedList;
import java.util.List; import java.util.List;
@ -107,11 +109,15 @@ public class SystemRoleMenuServiceImpl implements ISystemRoleMenuService {
if (menuIds.size() > 0) { if (menuIds.size() > 0) {
List<SystemMenu> systemMenus = systemMenuMapper.selectList(new QueryWrapper<SystemMenu>() List<SystemMenu> systemMenus = systemMenuMapper.selectList(new QueryWrapper<SystemMenu>()
.select("id,perms") .select("id,perms")
.eq("is_disable", 0)
.in("id", menuIds) .in("id", menuIds)
.eq("is_disable", 0)); .in("menu_type", Arrays.asList("C", "A"))
.orderByAsc(Arrays.asList("menu_sort", "id")));
for (SystemMenu systemMenu : systemMenus) { for (SystemMenu item : systemMenus) {
menuArray.add(systemMenu.getPerms().trim()); if (StringUtil.isNotNull(item.getPerms()) && StringUtil.isNotEmpty(item.getPerms())) {
menuArray.add(item.getPerms().trim());
}
} }
} }

View File

@ -22,9 +22,9 @@ public class SystemAdminParam implements Serializable {
public interface create{} public interface create{}
public interface update{} public interface update{}
public interface upInfo{}
public interface delete{} public interface delete{}
@IDMust(message = "id参数必传且需大于0", groups = {update.class, delete.class}) @IDMust(message = "id参数必传且需大于0", groups = {update.class, delete.class})
private Integer id; private Integer id;
@ -36,12 +36,12 @@ public class SystemAdminParam implements Serializable {
@Length(min = 2, max = 20, message = "账号必须在2~20个字符内", groups = {create.class, update.class}) @Length(min = 2, max = 20, message = "账号必须在2~20个字符内", groups = {create.class, update.class})
private String username; private String username;
@NotEmpty(message = "昵称不能为空", groups = {create.class, update.class}) @NotEmpty(message = "昵称不能为空", groups = {create.class, update.class, upInfo.class})
@Length(min = 2, max = 30, message = "昵称必须在2~30个字符内", groups = {create.class, update.class}) @Length(min = 2, max = 30, message = "昵称必须在2~30个字符内", groups = {create.class, update.class, upInfo.class})
private String nickname; private String nickname;
@NotEmpty(message = "密码不能为空", groups = {create.class}) @NotEmpty(message = "密码不能为空", groups = {create.class})
@Length(min = 6, max = 18, message = "密码必须在6~18个字符内", groups = {create.class, update.class}) @Length(min = 6, max = 18, message = "密码必须在6~18个字符内", groups = {create.class, update.class, upInfo.class})
private String password; private String password;
@NotNull(message = "请选择状态", groups = {create.class, update.class}) @NotNull(message = "请选择状态", groups = {create.class, update.class})

View File

@ -49,6 +49,12 @@ public class SystemMenuParam implements Serializable {
@Length(max = 100, message = "权限字符不能超过100个字符", groups = {create.class, update.class}) @Length(max = 100, message = "权限字符不能超过100个字符", groups = {create.class, update.class})
private String perms; private String perms;
@Length(max = 200, message = "路由地址不能超过200个字符", groups = {create.class, update.class})
private String paths;
@Length(max = 100, message = "前端组件不能超过200个字符", groups = {create.class, update.class})
private String component;
@NotNull(message = "请选择状态", groups = {create.class, update.class}) @NotNull(message = "请选择状态", groups = {create.class, update.class})
private Integer isDisable; private Integer isDisable;

View File

@ -19,6 +19,8 @@ public class SystemMenuVo implements Serializable {
private String menuIcon; private String menuIcon;
private Integer menuSort; private Integer menuSort;
private String perms; private String perms;
private String paths;
private String component;
private Integer isDisable; private Integer isDisable;
private String createTime; private String createTime;
private String updateTime; private String updateTime;

View File

@ -0,0 +1,14 @@
package com.hxkj.admin.vo.system;
import lombok.Data;
/**
* 当前系统管理员Vo
*/
@Data
public class SystemSelfVo {
private Object user;
private Object permissions;
}

View File

@ -1,6 +1,10 @@
# 服务配置 # 服务配置
server: server:
# 启动端口
port: 8082 port: 8082
# 路由前缀
servlet:
context-path: /api
# 框架配置 # 框架配置
spring: spring:

View File

@ -22,6 +22,7 @@ public class SystemMenu implements Serializable {
private String menuIcon; private String menuIcon;
private Integer menuSort; private Integer menuSort;
private String perms; private String perms;
private String paths;
private String component; private String component;
private Integer isDisable; private Integer isDisable;
private Long createTime; private Long createTime;