diff --git a/like-framework/like-admin/src/main/java/com/hxkj/admin/LikeAdminInterceptor.java b/like-framework/like-admin/src/main/java/com/hxkj/admin/LikeAdminInterceptor.java index c1148974..04aeb325 100644 --- a/like-framework/like-admin/src/main/java/com/hxkj/admin/LikeAdminInterceptor.java +++ b/like-framework/like-admin/src/main/java/com/hxkj/admin/LikeAdminInterceptor.java @@ -9,6 +9,7 @@ import com.hxkj.common.core.AjaxResult; import com.hxkj.common.enums.HttpEnum; import com.hxkj.common.utils.RedisUtil; import com.hxkj.common.utils.ToolsUtil; +import com.hxkj.common.utils.YmlUtil; import org.springframework.stereotype.Component; import org.springframework.web.method.HandlerMethod; import org.springframework.web.servlet.HandlerInterceptor; @@ -47,9 +48,14 @@ public class LikeAdminInterceptor implements HandlerInterceptor { 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 notLoginUri = Arrays.asList(AdminConfig.notLoginUri); - if (notLoginUri.contains(request.getRequestURI())) { + if (notLoginUri.contains(auths)) { return HandlerInterceptor.super.preHandle(request, response, handler); } @@ -117,7 +123,7 @@ public class LikeAdminInterceptor implements HandlerInterceptor { // 验证是否有权限操作 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()); response.getWriter().print(JSON.toJSONString(result)); return false; diff --git a/like-framework/like-admin/src/main/java/com/hxkj/admin/config/AdminConfig.java b/like-framework/like-admin/src/main/java/com/hxkj/admin/config/AdminConfig.java index e39cc0f5..e7cdeaa0 100644 --- a/like-framework/like-admin/src/main/java/com/hxkj/admin/config/AdminConfig.java +++ b/like-framework/like-admin/src/main/java/com/hxkj/admin/config/AdminConfig.java @@ -16,11 +16,13 @@ public class AdminConfig { // 免登录验证 public static String[] notLoginUri = new String[]{ - "/api/system/login", - "/api/index/config", + "system:login", // 登录接口 + "index:config" // 配置接口 }; // 免权限验证 - public static String[] notAuthUri = new String[]{}; + public static String[] notAuthUri = new String[]{ + "system:admin:upInfo" // 管理员更新接口 + }; } diff --git a/like-framework/like-admin/src/main/java/com/hxkj/admin/controller/AlbumController.java b/like-framework/like-admin/src/main/java/com/hxkj/admin/controller/AlbumController.java index aba98e88..fb946c0a 100644 --- a/like-framework/like-admin/src/main/java/com/hxkj/admin/controller/AlbumController.java +++ b/like-framework/like-admin/src/main/java/com/hxkj/admin/controller/AlbumController.java @@ -18,7 +18,7 @@ import java.util.Map; * 相册管理 */ @RestController -@RequestMapping("/api/album") +@RequestMapping("/album") public class AlbumController { @Resource diff --git a/like-framework/like-admin/src/main/java/com/hxkj/admin/controller/ArticleController.java b/like-framework/like-admin/src/main/java/com/hxkj/admin/controller/ArticleController.java index 9f9f5686..155f6c39 100644 --- a/like-framework/like-admin/src/main/java/com/hxkj/admin/controller/ArticleController.java +++ b/like-framework/like-admin/src/main/java/com/hxkj/admin/controller/ArticleController.java @@ -19,7 +19,7 @@ import java.util.List; import java.util.Map; @RestController -@RequestMapping("/api/article") +@RequestMapping("/article") public class ArticleController { @Resource diff --git a/like-framework/like-admin/src/main/java/com/hxkj/admin/controller/IndexController.java b/like-framework/like-admin/src/main/java/com/hxkj/admin/controller/IndexController.java index 564565a8..84c9e9a1 100644 --- a/like-framework/like-admin/src/main/java/com/hxkj/admin/controller/IndexController.java +++ b/like-framework/like-admin/src/main/java/com/hxkj/admin/controller/IndexController.java @@ -15,7 +15,7 @@ import java.util.Map; */ @Slf4j @RestController -@RequestMapping("/api/index") +@RequestMapping("/index") public class IndexController { @Resource diff --git a/like-framework/like-admin/src/main/java/com/hxkj/admin/controller/UploadController.java b/like-framework/like-admin/src/main/java/com/hxkj/admin/controller/UploadController.java index 30dabf33..c5de274a 100644 --- a/like-framework/like-admin/src/main/java/com/hxkj/admin/controller/UploadController.java +++ b/like-framework/like-admin/src/main/java/com/hxkj/admin/controller/UploadController.java @@ -22,7 +22,7 @@ import java.util.Map; * 上传管理 */ @RestController -@RequestMapping("/api/upload") +@RequestMapping("/upload") public class UploadController { @Resource diff --git a/like-framework/like-admin/src/main/java/com/hxkj/admin/controller/monitor/CacheController.java b/like-framework/like-admin/src/main/java/com/hxkj/admin/controller/monitor/CacheController.java index 8f24a37a..0eb082df 100644 --- a/like-framework/like-admin/src/main/java/com/hxkj/admin/controller/monitor/CacheController.java +++ b/like-framework/like-admin/src/main/java/com/hxkj/admin/controller/monitor/CacheController.java @@ -18,7 +18,7 @@ import java.util.*; * 缓存监控管理 */ @RestController -@RequestMapping("/api/monitor") +@RequestMapping("/monitor") public class CacheController { @Resource diff --git a/like-framework/like-admin/src/main/java/com/hxkj/admin/controller/monitor/ServerController.java b/like-framework/like-admin/src/main/java/com/hxkj/admin/controller/monitor/ServerController.java index 4e45464e..835f9472 100644 --- a/like-framework/like-admin/src/main/java/com/hxkj/admin/controller/monitor/ServerController.java +++ b/like-framework/like-admin/src/main/java/com/hxkj/admin/controller/monitor/ServerController.java @@ -16,7 +16,7 @@ import java.util.Map; * 服务监控管理 */ @RestController -@RequestMapping("/api/monitor") +@RequestMapping("/monitor") public class ServerController { /** * 服务器信息 diff --git a/like-framework/like-admin/src/main/java/com/hxkj/admin/controller/setting/BasicsController.java b/like-framework/like-admin/src/main/java/com/hxkj/admin/controller/setting/BasicsController.java index 70db627f..d59a0d7b 100644 --- a/like-framework/like-admin/src/main/java/com/hxkj/admin/controller/setting/BasicsController.java +++ b/like-framework/like-admin/src/main/java/com/hxkj/admin/controller/setting/BasicsController.java @@ -12,14 +12,14 @@ import java.util.Map; * 基础设置管理 */ @RestController -@RequestMapping("/api/setting") +@RequestMapping("/setting") public class BasicsController { @Resource IBasicsService iBasicsService; /** - * 获取网站信息 + * “获取”网站信息 * * @author fzr * @return Object @@ -32,7 +32,7 @@ public class BasicsController { } /** - * 修改网站信息 + * “修改”网站信息 * * @author fzr * @return Object @@ -49,7 +49,7 @@ public class BasicsController { } /** - * 获取备案信息 + * “获取”备案信息 * * @author fzr * @return Object @@ -62,7 +62,7 @@ public class BasicsController { } /** - * 修改备案信息 + * “修改”备案信息 * * @author fzr * @return Object diff --git a/like-framework/like-admin/src/main/java/com/hxkj/admin/controller/system/SystemAdminController.java b/like-framework/like-admin/src/main/java/com/hxkj/admin/controller/system/SystemAdminController.java index 2bac97d8..b905fbaa 100644 --- a/like-framework/like-admin/src/main/java/com/hxkj/admin/controller/system/SystemAdminController.java +++ b/like-framework/like-admin/src/main/java/com/hxkj/admin/controller/system/SystemAdminController.java @@ -6,6 +6,7 @@ import com.hxkj.admin.service.ISystemAdminService; import com.hxkj.admin.validate.PageParam; import com.hxkj.admin.validate.system.SystemAdminParam; 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.PageResult; import com.hxkj.common.validator.annotation.IDMust; @@ -19,7 +20,7 @@ import java.util.Map; * 系统管理员管理 */ @RestController -@RequestMapping("/api/system/admin") +@RequestMapping("/system/admin") public class SystemAdminController { @Resource @@ -47,7 +48,7 @@ public class SystemAdminController { @GetMapping("/self") public Object self() { Integer adminId = LikeAdminThreadLocal.getAdminId(); - SystemAdminVo vo = iSystemAdminService.detail(adminId); + SystemSelfVo vo = iSystemAdminService.self(adminId); return AjaxResult.success(vo); } @@ -65,7 +66,7 @@ public class SystemAdminController { } /** - * 新增管理员 + * 管理员新增 * * @author fzr * @param systemAdminParam 参数 @@ -79,7 +80,7 @@ public class SystemAdminController { } /** - * 编辑管理员 + * 管理员编辑 * * @author fzr * @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 * @return Object diff --git a/like-framework/like-admin/src/main/java/com/hxkj/admin/controller/system/SystemLogController.java b/like-framework/like-admin/src/main/java/com/hxkj/admin/controller/system/SystemLogController.java index 8c76a474..b21e4d2d 100644 --- a/like-framework/like-admin/src/main/java/com/hxkj/admin/controller/system/SystemLogController.java +++ b/like-framework/like-admin/src/main/java/com/hxkj/admin/controller/system/SystemLogController.java @@ -19,7 +19,7 @@ import java.util.Map; * 系统日志管理 */ @RestController -@RequestMapping("/api/system/log") +@RequestMapping("/system/log") public class SystemLogController { @Resource diff --git a/like-framework/like-admin/src/main/java/com/hxkj/admin/controller/system/SystemLoginController.java b/like-framework/like-admin/src/main/java/com/hxkj/admin/controller/system/SystemLoginController.java index 0d71ef39..428c3b36 100644 --- a/like-framework/like-admin/src/main/java/com/hxkj/admin/controller/system/SystemLoginController.java +++ b/like-framework/like-admin/src/main/java/com/hxkj/admin/controller/system/SystemLoginController.java @@ -19,7 +19,7 @@ import java.util.Map; * 系统登录管理 */ @RestController -@RequestMapping("/api/system") +@RequestMapping("/system") public class SystemLoginController { @Resource diff --git a/like-framework/like-admin/src/main/java/com/hxkj/admin/controller/system/SystemMenuController.java b/like-framework/like-admin/src/main/java/com/hxkj/admin/controller/system/SystemMenuController.java index 6e9ed5b3..be2da1d7 100644 --- a/like-framework/like-admin/src/main/java/com/hxkj/admin/controller/system/SystemMenuController.java +++ b/like-framework/like-admin/src/main/java/com/hxkj/admin/controller/system/SystemMenuController.java @@ -19,7 +19,7 @@ import java.util.List; * 系统菜单管理 */ @RestController -@RequestMapping("/api/system/menu") +@RequestMapping("/system/menu") public class SystemMenuController { @Resource @@ -38,19 +38,6 @@ public class SystemMenuController { return AjaxResult.success(lists); } - /** - * 获取权限节点 - * - * @author fzr - * @return Object - */ - @GetMapping("/auth") - public Object auth() { - Integer roleId = LikeAdminThreadLocal.getRoleId(); - List lists = iSystemMenuService.selectAuthByRoleId(roleId); - return AjaxResult.success(lists); - } - /** * 获取菜单列表 * diff --git a/like-framework/like-admin/src/main/java/com/hxkj/admin/controller/system/SystemRoleController.java b/like-framework/like-admin/src/main/java/com/hxkj/admin/controller/system/SystemRoleController.java index 365f5a82..43e0374c 100644 --- a/like-framework/like-admin/src/main/java/com/hxkj/admin/controller/system/SystemRoleController.java +++ b/like-framework/like-admin/src/main/java/com/hxkj/admin/controller/system/SystemRoleController.java @@ -17,7 +17,7 @@ import javax.annotation.Resource; * 系统角色管理 */ @RestController -@RequestMapping("/api/system/role") +@RequestMapping("/system/role") public class SystemRoleController { @Resource diff --git a/like-framework/like-admin/src/main/java/com/hxkj/admin/service/ISystemAdminService.java b/like-framework/like-admin/src/main/java/com/hxkj/admin/service/ISystemAdminService.java index dd4799b4..a6514ed6 100644 --- a/like-framework/like-admin/src/main/java/com/hxkj/admin/service/ISystemAdminService.java +++ b/like-framework/like-admin/src/main/java/com/hxkj/admin/service/ISystemAdminService.java @@ -3,6 +3,7 @@ package com.hxkj.admin.service; import com.hxkj.admin.validate.PageParam; import com.hxkj.admin.validate.system.SystemAdminParam; import com.hxkj.admin.vo.system.SystemAdminVo; +import com.hxkj.admin.vo.system.SystemSelfVo; import com.hxkj.common.core.PageResult; import com.hxkj.common.entity.system.SystemAdmin; @@ -31,6 +32,14 @@ public interface ISystemAdminService { */ PageResult lists(PageParam pageParam, Map params); + /** + * 当前管理员 + * + * @author fzr + * @return SystemSelfVo + */ + SystemSelfVo self(Integer adminId); + /** * 管理员详情 * @@ -56,6 +65,14 @@ public interface ISystemAdminService { */ void edit(SystemAdminParam systemAdminParam); + /** + * 当前管理员更新 + * + * @author fzr + * @param systemAdminParam 参数 + */ + void upInfo(SystemAdminParam systemAdminParam, Integer adminId); + /** * 管理员删除 * diff --git a/like-framework/like-admin/src/main/java/com/hxkj/admin/service/ISystemMenuService.java b/like-framework/like-admin/src/main/java/com/hxkj/admin/service/ISystemMenuService.java index ef776af0..210ea680 100644 --- a/like-framework/like-admin/src/main/java/com/hxkj/admin/service/ISystemMenuService.java +++ b/like-framework/like-admin/src/main/java/com/hxkj/admin/service/ISystemMenuService.java @@ -20,14 +20,6 @@ public interface ISystemMenuService { */ JSONArray selectMenuByRoleId(Integer roleId); - /** - * 根据角色获取权限 - * - * @author fzr - * @return JSONArray - */ - List selectAuthByRoleId(Integer roleId); - /** * 菜单列表 * diff --git a/like-framework/like-admin/src/main/java/com/hxkj/admin/service/impl/SystemAdminServiceImpl.java b/like-framework/like-admin/src/main/java/com/hxkj/admin/service/impl/SystemAdminServiceImpl.java index 694a49a9..d5e2dd98 100644 --- a/like-framework/like-admin/src/main/java/com/hxkj/admin/service/impl/SystemAdminServiceImpl.java +++ b/like-framework/like-admin/src/main/java/com/hxkj/admin/service/impl/SystemAdminServiceImpl.java @@ -8,13 +8,19 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.hxkj.admin.LikeAdminThreadLocal; import com.hxkj.admin.config.AdminConfig; import com.hxkj.admin.service.ISystemAdminService; +import com.hxkj.admin.service.ISystemRoleMenuService; import com.hxkj.admin.service.ISystemRoleService; import com.hxkj.admin.validate.PageParam; import com.hxkj.admin.validate.system.SystemAdminParam; import com.hxkj.admin.vo.system.SystemAdminVo; +import com.hxkj.admin.vo.system.SystemSelfVo; import com.hxkj.common.core.PageResult; 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.SystemMenuMapper; +import com.hxkj.common.mapper.system.SystemRoleMenuMapper; import com.hxkj.common.utils.*; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; @@ -31,9 +37,15 @@ public class SystemAdminServiceImpl implements ISystemAdminService { @Resource SystemAdminMapper systemAdminMapper; + @Resource + SystemMenuMapper systemMenuMapper; + @Resource ISystemRoleService iSystemRoleService; + @Resource + ISystemRoleMenuService iSystemRoleMenuService; + /** * 根据账号查找管理员 * @@ -98,6 +110,60 @@ public class SystemAdminServiceImpl implements ISystemAdminService { 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() + .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 auths = new LinkedList<>(); + if (adminId > 1) { + List menuIds = iSystemRoleMenuService.selectMenuIdsByRoleId(sysAdmin.getRole()); + List systemMenus = systemMenuMapper.selectList(new QueryWrapper() + .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); 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() + .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) { - RedisUtil.del(Objects.requireNonNull(HttpUtil.obj()).getHeader("token")); + String token = Objects.requireNonNull(HttpUtil.obj()).getHeader("token"); + RedisUtil.del(AdminConfig.backstageTokenKey + token); } } diff --git a/like-framework/like-admin/src/main/java/com/hxkj/admin/service/impl/SystemMenuServiceImpl.java b/like-framework/like-admin/src/main/java/com/hxkj/admin/service/impl/SystemMenuServiceImpl.java index e2bd0795..8d3b1851 100644 --- a/like-framework/like-admin/src/main/java/com/hxkj/admin/service/impl/SystemMenuServiceImpl.java +++ b/like-framework/like-admin/src/main/java/com/hxkj/admin/service/impl/SystemMenuServiceImpl.java @@ -45,7 +45,7 @@ public class SystemMenuServiceImpl implements ISystemMenuService { QueryWrapper queryWrapper = new QueryWrapper<>(); 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) { queryWrapper.in("id", menuIds); } @@ -65,64 +65,6 @@ public class SystemMenuServiceImpl implements ISystemMenuService { return ArrayUtil.listToTree(jsonArray, "id", "pid", "children"); } - /** - * 根据角色ID获取权限 - * - * @param roleId 角色ID - * @return JSONArray - */ - @Override - public List selectAuthByRoleId(Integer roleId) { - List menuIds = iSystemRoleMenuService.selectMenuIdsByRoleId(roleId); - - QueryWrapper 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 systemMenus = systemMenuMapper.selectList(queryWrapper); - JSONArray jsonArray = JSONArray.parseArray(JSONArray.toJSONString(systemMenus)); - JSONArray menuJson = ArrayUtil.listToTree(jsonArray, "id", "pid", "children"); - - List authVos = new ArrayList<>(); - for (Object object : menuJson.toArray()) { - Map map = ToolsUtil.objectToMap(object); - - SystemAuthVo systemAuthVo = new SystemAuthVo(); - systemAuthVo.setPath(map.get("component")); - - List auths = new ArrayList<>(); - if (StringUtil.isNotEmpty(map.get("children"))) { - // 第一层 - for (Map m : ToolsUtil.stringToList(map.get("children"))) { - if (!m.get("perms").equals("")) { - auths.add(m.get("perms")); - } - - // 第二层 - if (!m.get("children").equals("")) { - for (Map 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 public JSONArray lists() { QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.orderByDesc(Arrays.asList("menu_sort", "id")); + queryWrapper.orderByAsc(Arrays.asList("menu_sort", "id")); List systemMenus = systemMenuMapper.selectList(queryWrapper); @@ -185,6 +127,8 @@ public class SystemMenuServiceImpl implements ISystemMenuService { model.setMenuIcon(systemMenuParam.getMenuIcon()); model.setMenuSort(systemMenuParam.getMenuSort()); model.setPerms(systemMenuParam.getPerms()); + model.setPaths(systemMenuParam.getPaths()); + model.setComponent(systemMenuParam.getComponent()); model.setIsDisable(systemMenuParam.getIsDisable()); model.setCreateTime(System.currentTimeMillis() / 1000); model.setUpdateTime(System.currentTimeMillis() / 1000); @@ -206,7 +150,9 @@ public class SystemMenuServiceImpl implements ISystemMenuService { model.setMenuName(systemMenuParam.getMenuName()); model.setMenuIcon(systemMenuParam.getMenuIcon()); model.setMenuSort(systemMenuParam.getMenuSort()); + model.setPaths(systemMenuParam.getPaths()); model.setPerms(systemMenuParam.getPerms()); + model.setComponent(systemMenuParam.getComponent()); model.setPid(systemMenuParam.getPid()); model.setIsDisable(systemMenuParam.getIsDisable()); model.setUpdateTime(System.currentTimeMillis() / 1000); diff --git a/like-framework/like-admin/src/main/java/com/hxkj/admin/service/impl/SystemRoleMenuServiceImpl.java b/like-framework/like-admin/src/main/java/com/hxkj/admin/service/impl/SystemRoleMenuServiceImpl.java index 3a3a2b95..de55fc11 100644 --- a/like-framework/like-admin/src/main/java/com/hxkj/admin/service/impl/SystemRoleMenuServiceImpl.java +++ b/like-framework/like-admin/src/main/java/com/hxkj/admin/service/impl/SystemRoleMenuServiceImpl.java @@ -9,10 +9,12 @@ import com.hxkj.common.mapper.system.SystemMenuMapper; import com.hxkj.common.mapper.system.SystemRoleMenuMapper; import com.hxkj.common.utils.ArrayUtil; import com.hxkj.common.utils.RedisUtil; +import com.hxkj.common.utils.StringUtil; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.util.Arrays; import java.util.LinkedList; import java.util.List; @@ -107,11 +109,15 @@ public class SystemRoleMenuServiceImpl implements ISystemRoleMenuService { if (menuIds.size() > 0) { List systemMenus = systemMenuMapper.selectList(new QueryWrapper() .select("id,perms") + .eq("is_disable", 0) .in("id", menuIds) - .eq("is_disable", 0)); + .in("menu_type", Arrays.asList("C", "A")) + .orderByAsc(Arrays.asList("menu_sort", "id"))); - for (SystemMenu systemMenu : systemMenus) { - menuArray.add(systemMenu.getPerms().trim()); + for (SystemMenu item : systemMenus) { + if (StringUtil.isNotNull(item.getPerms()) && StringUtil.isNotEmpty(item.getPerms())) { + menuArray.add(item.getPerms().trim()); + } } } diff --git a/like-framework/like-admin/src/main/java/com/hxkj/admin/validate/system/SystemAdminParam.java b/like-framework/like-admin/src/main/java/com/hxkj/admin/validate/system/SystemAdminParam.java index 713a2ddd..8b65e52e 100644 --- a/like-framework/like-admin/src/main/java/com/hxkj/admin/validate/system/SystemAdminParam.java +++ b/like-framework/like-admin/src/main/java/com/hxkj/admin/validate/system/SystemAdminParam.java @@ -22,9 +22,9 @@ public class SystemAdminParam implements Serializable { public interface create{} public interface update{} + public interface upInfo{} public interface delete{} - @IDMust(message = "id参数必传且需大于0", groups = {update.class, delete.class}) 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}) private String username; - @NotEmpty(message = "昵称不能为空", groups = {create.class, update.class}) - @Length(min = 2, max = 30, message = "昵称必须在2~30个字符内", 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, upInfo.class}) private String nickname; @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; @NotNull(message = "请选择状态", groups = {create.class, update.class}) diff --git a/like-framework/like-admin/src/main/java/com/hxkj/admin/validate/system/SystemMenuParam.java b/like-framework/like-admin/src/main/java/com/hxkj/admin/validate/system/SystemMenuParam.java index c0c701e2..967e3863 100644 --- a/like-framework/like-admin/src/main/java/com/hxkj/admin/validate/system/SystemMenuParam.java +++ b/like-framework/like-admin/src/main/java/com/hxkj/admin/validate/system/SystemMenuParam.java @@ -49,6 +49,12 @@ public class SystemMenuParam implements Serializable { @Length(max = 100, message = "权限字符不能超过100个字符", groups = {create.class, update.class}) 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}) private Integer isDisable; diff --git a/like-framework/like-admin/src/main/java/com/hxkj/admin/vo/system/SystemMenuVo.java b/like-framework/like-admin/src/main/java/com/hxkj/admin/vo/system/SystemMenuVo.java index afc18072..0d3bdfe7 100644 --- a/like-framework/like-admin/src/main/java/com/hxkj/admin/vo/system/SystemMenuVo.java +++ b/like-framework/like-admin/src/main/java/com/hxkj/admin/vo/system/SystemMenuVo.java @@ -19,6 +19,8 @@ public class SystemMenuVo implements Serializable { private String menuIcon; private Integer menuSort; private String perms; + private String paths; + private String component; private Integer isDisable; private String createTime; private String updateTime; diff --git a/like-framework/like-admin/src/main/java/com/hxkj/admin/vo/system/SystemSelfVo.java b/like-framework/like-admin/src/main/java/com/hxkj/admin/vo/system/SystemSelfVo.java new file mode 100644 index 00000000..1915a32e --- /dev/null +++ b/like-framework/like-admin/src/main/java/com/hxkj/admin/vo/system/SystemSelfVo.java @@ -0,0 +1,14 @@ +package com.hxkj.admin.vo.system; + +import lombok.Data; + +/** + * 当前系统管理员Vo + */ +@Data +public class SystemSelfVo { + + private Object user; + private Object permissions; + +} diff --git a/like-framework/like-admin/src/main/resources/application.yml b/like-framework/like-admin/src/main/resources/application.yml index b7d4690e..c7c963be 100644 --- a/like-framework/like-admin/src/main/resources/application.yml +++ b/like-framework/like-admin/src/main/resources/application.yml @@ -1,6 +1,10 @@ # 服务配置 server: + # 启动端口 port: 8082 + # 路由前缀 + servlet: + context-path: /api # 框架配置 spring: diff --git a/like-framework/like-common/src/main/java/com/hxkj/common/entity/system/SystemMenu.java b/like-framework/like-common/src/main/java/com/hxkj/common/entity/system/SystemMenu.java index 59cf01eb..ab983671 100644 --- a/like-framework/like-common/src/main/java/com/hxkj/common/entity/system/SystemMenu.java +++ b/like-framework/like-common/src/main/java/com/hxkj/common/entity/system/SystemMenu.java @@ -22,6 +22,7 @@ public class SystemMenu implements Serializable { private String menuIcon; private Integer menuSort; private String perms; + private String paths; private String component; private Integer isDisable; private Long createTime;