From 539216f2dcb2db2d914568efb1201f86db89857b Mon Sep 17 00:00:00 2001 From: TinyAnts Date: Wed, 30 Mar 2022 14:58:31 +0800 Subject: [PATCH] =?UTF-8?q?=E7=99=BB=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/hxkj/admin/LikeAdminInterceptor.java | 32 ++-- .../com/hxkj/admin/LikeAdminThreadLocal.java | 20 +- .../admin/controller/IndexController.java | 4 - ...roller.java => SystemAdminController.java} | 18 +- ...roller.java => SystemLoginController.java} | 10 +- ...troller.java => SystemMenuController.java} | 33 +++- ...troller.java => SystemRoleController.java} | 25 +-- .../admin/service/ISysRoleMenuService.java | 37 ---- ...nService.java => ISystemAdminService.java} | 12 +- ...nService.java => ISystemLoginService.java} | 3 +- ...nuService.java => ISystemMenuService.java} | 17 +- .../admin/service/ISystemRoleMenuService.java | 54 ++++++ ...leService.java => ISystemRoleService.java} | 10 +- .../service/impl/ISysMenuServiceImpl.java | 134 -------------- .../service/impl/ISysRoleMenuServiceImpl.java | 89 --------- ...Impl.java => ISystemAdminServiceImpl.java} | 77 ++++---- ...Impl.java => ISystemLoginServiceImpl.java} | 20 +- .../service/impl/ISystemMenuServiceImpl.java | 175 ++++++++++++++++++ .../impl/ISystemRoleMenuServiceImpl.java | 115 ++++++++++++ ...eImpl.java => ISystemRoleServiceImpl.java} | 88 +++++---- .../com/hxkj/admin/validate/PageParam.java | 7 +- .../com/hxkj/admin/validate/SysMenuParam.java | 7 +- .../com/hxkj/admin/validate/SysRoleParam.java | 10 +- .../{SysAdminVo.java => SystemAdminVo.java} | 2 +- .../{SysMenuVo.java => SystemMenuVo.java} | 2 +- .../{SysRoleVo.java => SystemRoleVo.java} | 3 +- .../com/hxkj/common/basics/BaseService.java | 3 - .../{SysAdmin.java => SystemAdmin.java} | 2 +- .../common/entity/system/SystemConfig.java | 25 +++ .../system/{SysMenu.java => SystemMenu.java} | 2 +- .../system/{SysRole.java => SystemRole.java} | 2 +- .../{SysRoleMenu.java => SystemRoleMenu.java} | 6 +- ...dminMapper.java => SystemAdminMapper.java} | 4 +- .../mapper/system/SystemConfigMapper.java | 12 ++ ...sMenuMapper.java => SystemMenuMapper.java} | 4 +- ...sRoleMapper.java => SystemRoleMapper.java} | 4 +- ...uMapper.java => SystemRoleMenuMapper.java} | 4 +- .../com/hxkj/common/utils/ConfigUtil.java | 127 +++++++++++++ 38 files changed, 756 insertions(+), 443 deletions(-) rename like-admin/src/main/java/com/hxkj/admin/controller/system/{SysAdminController.java => SystemAdminController.java} (79%) rename like-admin/src/main/java/com/hxkj/admin/controller/system/{SysLoginController.java => SystemLoginController.java} (84%) rename like-admin/src/main/java/com/hxkj/admin/controller/system/{SysMenuController.java => SystemMenuController.java} (67%) rename like-admin/src/main/java/com/hxkj/admin/controller/system/{SysRoleController.java => SystemRoleController.java} (68%) delete mode 100644 like-admin/src/main/java/com/hxkj/admin/service/ISysRoleMenuService.java rename like-admin/src/main/java/com/hxkj/admin/service/{ISysAdminService.java => ISystemAdminService.java} (77%) rename like-admin/src/main/java/com/hxkj/admin/service/{ISysLoginService.java => ISystemLoginService.java} (83%) rename like-admin/src/main/java/com/hxkj/admin/service/{ISysMenuService.java => ISystemMenuService.java} (67%) create mode 100644 like-admin/src/main/java/com/hxkj/admin/service/ISystemRoleMenuService.java rename like-admin/src/main/java/com/hxkj/admin/service/{ISysRoleService.java => ISystemRoleService.java} (80%) delete mode 100644 like-admin/src/main/java/com/hxkj/admin/service/impl/ISysMenuServiceImpl.java delete mode 100644 like-admin/src/main/java/com/hxkj/admin/service/impl/ISysRoleMenuServiceImpl.java rename like-admin/src/main/java/com/hxkj/admin/service/impl/{ISysAdminServiceImpl.java => ISystemAdminServiceImpl.java} (77%) rename like-admin/src/main/java/com/hxkj/admin/service/impl/{ISysLoginServiceImpl.java => ISystemLoginServiceImpl.java} (80%) create mode 100644 like-admin/src/main/java/com/hxkj/admin/service/impl/ISystemMenuServiceImpl.java create mode 100644 like-admin/src/main/java/com/hxkj/admin/service/impl/ISystemRoleMenuServiceImpl.java rename like-admin/src/main/java/com/hxkj/admin/service/impl/{ISysRoleServiceImpl.java => ISystemRoleServiceImpl.java} (58%) rename like-admin/src/main/java/com/hxkj/admin/vo/system/{SysAdminVo.java => SystemAdminVo.java} (89%) rename like-admin/src/main/java/com/hxkj/admin/vo/system/{SysMenuVo.java => SystemMenuVo.java} (89%) rename like-admin/src/main/java/com/hxkj/admin/vo/system/{SysRoleVo.java => SystemRoleVo.java} (81%) rename like-common/src/main/java/com/hxkj/common/entity/system/{SysAdmin.java => SystemAdmin.java} (93%) create mode 100644 like-common/src/main/java/com/hxkj/common/entity/system/SystemConfig.java rename like-common/src/main/java/com/hxkj/common/entity/system/{SysMenu.java => SystemMenu.java} (92%) rename like-common/src/main/java/com/hxkj/common/entity/system/{SysRole.java => SystemRole.java} (91%) rename like-common/src/main/java/com/hxkj/common/entity/system/{SysRoleMenu.java => SystemRoleMenu.java} (80%) rename like-common/src/main/java/com/hxkj/common/mapper/system/{SysAdminMapper.java => SystemAdminMapper.java} (58%) create mode 100644 like-common/src/main/java/com/hxkj/common/mapper/system/SystemConfigMapper.java rename like-common/src/main/java/com/hxkj/common/mapper/system/{SysMenuMapper.java => SystemMenuMapper.java} (58%) rename like-common/src/main/java/com/hxkj/common/mapper/system/{SysRoleMapper.java => SystemRoleMapper.java} (58%) rename like-common/src/main/java/com/hxkj/common/mapper/system/{SysRoleMenuMapper.java => SystemRoleMenuMapper.java} (55%) diff --git a/like-admin/src/main/java/com/hxkj/admin/LikeAdminInterceptor.java b/like-admin/src/main/java/com/hxkj/admin/LikeAdminInterceptor.java index e219f066..5755e8cc 100644 --- a/like-admin/src/main/java/com/hxkj/admin/LikeAdminInterceptor.java +++ b/like-admin/src/main/java/com/hxkj/admin/LikeAdminInterceptor.java @@ -3,8 +3,8 @@ package com.hxkj.admin; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.hxkj.admin.config.SystemConfig; -import com.hxkj.admin.service.ISysAdminService; -import com.hxkj.admin.service.ISysRoleMenuService; +import com.hxkj.admin.service.ISystemAdminService; +import com.hxkj.admin.service.ISystemRoleMenuService; import com.hxkj.common.core.AjaxResult; import com.hxkj.common.enums.HttpEnum; import com.hxkj.common.utils.RedisUtil; @@ -27,10 +27,10 @@ import java.util.Map; public class LikeAdminInterceptor implements HandlerInterceptor { @Resource - ISysAdminService iSysAdminService; + ISystemAdminService iSystemAdminService; @Resource - ISysRoleMenuService iSysRoleMenuService; + ISystemRoleMenuService iSystemRoleMenuService; @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { @@ -65,24 +65,37 @@ public class LikeAdminInterceptor implements HandlerInterceptor { // 用户信息缓存 String uid = RedisUtil.get(token).toString(); if (!RedisUtil.hExists(SystemConfig.backstageManageKey, uid)) { - iSysAdminService.cacheAdminUserByUid(Integer.parseInt(uid)); + iSystemAdminService.cacheAdminUserByUid(Integer.parseInt(uid)); } - // 校验用户是否被删除 + // 校验用户被删除 Map map = ToolsUtil.jsonToMap(RedisUtil.hGet(SystemConfig.backstageManageKey, uid).toString()); if (map == null || map.get("isDelete").toString().equals("1")) { + RedisUtil.del(token); + RedisUtil.hDel(SystemConfig.backstageManageKey, uid); AjaxResult result = AjaxResult.failed(HttpEnum.TOKEN_INVALID.getCode(), HttpEnum.TOKEN_INVALID.getMsg()); response.getWriter().print(JSON.toJSONString(result)); return false; } - // 校验用户是否被禁用 + // 校验用户被禁用 if (map.get("isDisable").toString().equals("1")) { AjaxResult result = AjaxResult.failed(HttpEnum.LOGIN_DISABLE_ERROR.getCode(), HttpEnum.LOGIN_DISABLE_ERROR.getMsg()); response.getWriter().print(JSON.toJSONString(result)); return false; } + // 令牌剩余30分钟自动续签 + if (RedisUtil.ttl(token) < 1800) { + RedisUtil.expire(token, 7200L); + } + + // 写入本地线程 + LikeAdminThreadLocal.put("adminId", uid); + LikeAdminThreadLocal.put("roleId", map.get("role").toString()); + LikeAdminThreadLocal.put("username", map.get("username").toString()); + LikeAdminThreadLocal.put("nickname", map.get("nickname").toString()); + // 免权限验证接口 List notAuthUri = Arrays.asList(SystemConfig.notLoginUri); if (notAuthUri.contains(request.getRequestURI()) || Integer.parseInt(uid) == 1) { @@ -92,7 +105,7 @@ public class LikeAdminInterceptor implements HandlerInterceptor { // 校验角色权限是否存在 String roleId = map.get("role").toString(); if (!RedisUtil.hExists(SystemConfig.backstageRolesKey, roleId)) { - iSysRoleMenuService.cacheRoleMenusByRoleId(Integer.parseInt(roleId)); + iSystemRoleMenuService.cacheRoleMenusByRoleId(Integer.parseInt(roleId)); } // 验证是否有权限操作 @@ -103,9 +116,6 @@ public class LikeAdminInterceptor implements HandlerInterceptor { return false; } - // 写入本地线程 - LikeAdminThreadLocal.put("adminId", uid); - // 验证通过继续操作 return HandlerInterceptor.super.preHandle(request, response, handler); } diff --git a/like-admin/src/main/java/com/hxkj/admin/LikeAdminThreadLocal.java b/like-admin/src/main/java/com/hxkj/admin/LikeAdminThreadLocal.java index 7f718b3b..38c45370 100644 --- a/like-admin/src/main/java/com/hxkj/admin/LikeAdminThreadLocal.java +++ b/like-admin/src/main/java/com/hxkj/admin/LikeAdminThreadLocal.java @@ -2,6 +2,9 @@ package com.hxkj.admin; import java.util.LinkedHashMap; +/** + * 本地线程 + */ public class LikeAdminThreadLocal { /** @@ -18,8 +21,12 @@ public class LikeAdminThreadLocal { /** * 写入本地线程 */ - public static void put(String key, String val) { + public static void put(String key, Object val) { LinkedHashMap map = MY_LOCAL.get(); + if (map == null) { + map = new LinkedHashMap<>(); + } + map.put(key, val); MY_LOCAL.set(map); } @@ -42,6 +49,17 @@ public class LikeAdminThreadLocal { return Integer.parseInt(adminId); } + /** + * 获取角色ID + */ + public static Integer getRoleId() { + String roleId = LikeAdminThreadLocal.get("roleId").toString(); + if (roleId.equals("")) { + return 0; + } + return Integer.parseInt(roleId); + } + /** * 删除本地线程 */ diff --git a/like-admin/src/main/java/com/hxkj/admin/controller/IndexController.java b/like-admin/src/main/java/com/hxkj/admin/controller/IndexController.java index 34697e53..e9e6e0a6 100644 --- a/like-admin/src/main/java/com/hxkj/admin/controller/IndexController.java +++ b/like-admin/src/main/java/com/hxkj/admin/controller/IndexController.java @@ -1,11 +1,7 @@ package com.hxkj.admin.controller; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; - -import com.hxkj.common.entity.system.SysAdmin; import com.hxkj.common.utils.YmlUtil; import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController diff --git a/like-admin/src/main/java/com/hxkj/admin/controller/system/SysAdminController.java b/like-admin/src/main/java/com/hxkj/admin/controller/system/SystemAdminController.java similarity index 79% rename from like-admin/src/main/java/com/hxkj/admin/controller/system/SysAdminController.java rename to like-admin/src/main/java/com/hxkj/admin/controller/system/SystemAdminController.java index 7006e4e5..aba8ed10 100644 --- a/like-admin/src/main/java/com/hxkj/admin/controller/system/SysAdminController.java +++ b/like-admin/src/main/java/com/hxkj/admin/controller/system/SystemAdminController.java @@ -1,9 +1,9 @@ package com.hxkj.admin.controller.system; -import com.hxkj.admin.service.ISysAdminService; +import com.hxkj.admin.service.ISystemAdminService; import com.hxkj.admin.validate.PageParam; import com.hxkj.admin.validate.SysAdminParam; -import com.hxkj.admin.vo.system.SysAdminVo; +import com.hxkj.admin.vo.system.SystemAdminVo; import com.hxkj.common.core.AjaxResult; import com.hxkj.common.core.PageResult; import com.hxkj.common.validator.annotation.IDMust; @@ -15,10 +15,10 @@ import java.util.Map; @RestController @RequestMapping("/api/system/admin") -public class SysAdminController { +public class SystemAdminController { @Resource - ISysAdminService iSysAdminService; + ISystemAdminService iSystemAdminService; /** * 管理员列表 @@ -29,7 +29,7 @@ public class SysAdminController { @GetMapping("/lists") public Object lists(@Validated PageParam pageParam, @RequestParam Map params) { - PageResult list = iSysAdminService.lists(pageParam, params); + PageResult list = iSystemAdminService.lists(pageParam, params); return AjaxResult.success(list); } @@ -41,7 +41,7 @@ public class SysAdminController { */ @GetMapping("/detail") public Object detail(@Validated @IDMust() @RequestParam("id") Integer id) { - SysAdminVo vo = iSysAdminService.detail(id); + SystemAdminVo vo = iSystemAdminService.detail(id); return AjaxResult.success(vo); } @@ -54,7 +54,7 @@ public class SysAdminController { */ @PostMapping("/add") public Object add(@Validated(value = SysAdminParam.create.class) @RequestBody SysAdminParam sysAdminParam) { - iSysAdminService.add(sysAdminParam); + iSystemAdminService.add(sysAdminParam); return AjaxResult.success(); } @@ -67,7 +67,7 @@ public class SysAdminController { */ @PostMapping("/edit") public Object edit(@Validated(value = SysAdminParam.update.class) @RequestBody SysAdminParam sysAdminParam) { - iSysAdminService.edit(sysAdminParam); + iSystemAdminService.edit(sysAdminParam); return AjaxResult.success(); } @@ -79,7 +79,7 @@ public class SysAdminController { */ @PostMapping("/del") public Object del(@Validated(value = SysAdminParam.delete.class) @RequestBody SysAdminParam sysAdminParam) { - iSysAdminService.del(sysAdminParam.getId()); + iSystemAdminService.del(sysAdminParam.getId()); return AjaxResult.success(); } diff --git a/like-admin/src/main/java/com/hxkj/admin/controller/system/SysLoginController.java b/like-admin/src/main/java/com/hxkj/admin/controller/system/SystemLoginController.java similarity index 84% rename from like-admin/src/main/java/com/hxkj/admin/controller/system/SysLoginController.java rename to like-admin/src/main/java/com/hxkj/admin/controller/system/SystemLoginController.java index 1970f342..3a444d01 100644 --- a/like-admin/src/main/java/com/hxkj/admin/controller/system/SysLoginController.java +++ b/like-admin/src/main/java/com/hxkj/admin/controller/system/SystemLoginController.java @@ -1,6 +1,6 @@ package com.hxkj.admin.controller.system; -import com.hxkj.admin.service.ISysLoginService; +import com.hxkj.admin.service.ISystemLoginService; import com.hxkj.admin.validate.SysLoginParam; import com.hxkj.common.core.AjaxResult; import com.hxkj.common.exception.LoginException; @@ -17,10 +17,10 @@ import java.util.Map; @RestController @RequestMapping("/api/system") -public class SysLoginController { +public class SystemLoginController { @Resource - ISysLoginService iSysLoginService; + ISystemLoginService iSystemLoginService; /** * 登录系统 @@ -32,7 +32,7 @@ public class SysLoginController { @PostMapping("/login") public Object login(@Validated() @RequestBody SysLoginParam sysLoginParam) { try { - Map map = iSysLoginService.login(sysLoginParam); + Map map = iSystemLoginService.login(sysLoginParam); return AjaxResult.success(map); } catch (LoginException e) { return AjaxResult.failed(e.getCode(), e.getMsg()); @@ -51,7 +51,7 @@ public class SysLoginController { @PostMapping("/logout") public Object logout(HttpServletRequest request) { try { - iSysLoginService.logout(request.getHeader("token")); + iSystemLoginService.logout(request.getHeader("token")); return AjaxResult.success(); } catch (Exception e) { return AjaxResult.failed(e.getMessage()); diff --git a/like-admin/src/main/java/com/hxkj/admin/controller/system/SysMenuController.java b/like-admin/src/main/java/com/hxkj/admin/controller/system/SystemMenuController.java similarity index 67% rename from like-admin/src/main/java/com/hxkj/admin/controller/system/SysMenuController.java rename to like-admin/src/main/java/com/hxkj/admin/controller/system/SystemMenuController.java index 688aa690..1760d984 100644 --- a/like-admin/src/main/java/com/hxkj/admin/controller/system/SysMenuController.java +++ b/like-admin/src/main/java/com/hxkj/admin/controller/system/SystemMenuController.java @@ -1,11 +1,11 @@ package com.hxkj.admin.controller.system; import com.alibaba.fastjson.JSONArray; -import com.hxkj.admin.service.ISysMenuService; +import com.hxkj.admin.LikeAdminThreadLocal; +import com.hxkj.admin.service.ISystemMenuService; import com.hxkj.admin.validate.SysMenuParam; -import com.hxkj.admin.vo.system.SysMenuVo; +import com.hxkj.admin.vo.system.SystemMenuVo; import com.hxkj.common.core.AjaxResult; -import com.hxkj.common.entity.system.SysMenu; import com.hxkj.common.validator.annotation.IDMust; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -14,10 +14,23 @@ import javax.annotation.Resource; @RestController @RequestMapping("/api/system/menu") -public class SysMenuController { +public class SystemMenuController { @Resource - ISysMenuService iSysMenuService; + ISystemMenuService iSystemMenuService; + + /** + * 获取系统菜单 + * + * @author fzr + * @return Object + */ + @GetMapping("/menus") + public Object menus() { + Integer roleId = LikeAdminThreadLocal.getRoleId(); + JSONArray lists = iSystemMenuService.selectMenuByRoleId(roleId); + return AjaxResult.success(lists); + } /** * 获取菜单列表 @@ -27,7 +40,7 @@ public class SysMenuController { */ @GetMapping("/lists") public Object lists() { - JSONArray lists = iSysMenuService.lists(); + JSONArray lists = iSystemMenuService.lists(); return AjaxResult.success(lists); } @@ -39,7 +52,7 @@ public class SysMenuController { */ @GetMapping("/detail") public Object detail(@Validated @IDMust() @RequestParam("id") Integer id) { - SysMenuVo vo = iSysMenuService.detail(id); + SystemMenuVo vo = iSystemMenuService.detail(id); return AjaxResult.success(vo); } @@ -51,7 +64,7 @@ public class SysMenuController { */ @PostMapping("/add") public Object add(@Validated(value = SysMenuParam.create.class) @RequestBody SysMenuParam sysMenuParam) { - iSysMenuService.add(sysMenuParam); + iSystemMenuService.add(sysMenuParam); return AjaxResult.success(); } @@ -63,7 +76,7 @@ public class SysMenuController { */ @PostMapping("/edit") public Object edit(@Validated(value = SysMenuParam.update.class) @RequestBody SysMenuParam sysMenuParam) { - iSysMenuService.edit(sysMenuParam); + iSystemMenuService.edit(sysMenuParam); return AjaxResult.success(); } @@ -75,7 +88,7 @@ public class SysMenuController { */ @PostMapping("/del") public Object del(@Validated(value = SysMenuParam.delete.class) @RequestBody SysMenuParam sysMenuParam) { - iSysMenuService.del(sysMenuParam.getId()); + iSystemMenuService.del(sysMenuParam.getId()); return AjaxResult.success(); } diff --git a/like-admin/src/main/java/com/hxkj/admin/controller/system/SysRoleController.java b/like-admin/src/main/java/com/hxkj/admin/controller/system/SystemRoleController.java similarity index 68% rename from like-admin/src/main/java/com/hxkj/admin/controller/system/SysRoleController.java rename to like-admin/src/main/java/com/hxkj/admin/controller/system/SystemRoleController.java index d40ff3c7..96157d11 100644 --- a/like-admin/src/main/java/com/hxkj/admin/controller/system/SysRoleController.java +++ b/like-admin/src/main/java/com/hxkj/admin/controller/system/SystemRoleController.java @@ -1,9 +1,9 @@ package com.hxkj.admin.controller.system; -import com.hxkj.admin.service.ISysRoleService; +import com.hxkj.admin.service.ISystemRoleService; import com.hxkj.admin.validate.PageParam; import com.hxkj.admin.validate.SysRoleParam; -import com.hxkj.admin.vo.system.SysRoleVo; +import com.hxkj.admin.vo.system.SystemRoleVo; import com.hxkj.common.core.AjaxResult; import com.hxkj.common.core.PageResult; import com.hxkj.common.validator.annotation.IDMust; @@ -14,10 +14,10 @@ import javax.annotation.Resource; @RestController @RequestMapping("/api/system/role") -public class SysRoleController { +public class SystemRoleController { @Resource - ISysRoleService iSysRoleService; + ISystemRoleService iSystemRoleService; /** * 角色列表 @@ -28,7 +28,7 @@ public class SysRoleController { */ @GetMapping("/lists") public Object lists(@Validated PageParam pageParam) { - PageResult lists = iSysRoleService.lists(pageParam); + PageResult lists = iSystemRoleService.lists(pageParam); return AjaxResult.success(lists); } @@ -39,8 +39,9 @@ public class SysRoleController { * @return Object */ @GetMapping("/detail") - public Object detail() { - return null; + public Object detail(@Validated @IDMust() @RequestParam("id") Integer id) { + SystemRoleVo vo = iSystemRoleService.detail(id); + return AjaxResult.success(vo); } /** @@ -52,7 +53,7 @@ public class SysRoleController { */ @PostMapping("/add") public Object add(@Validated(value = SysRoleParam.create.class) @RequestBody SysRoleParam sysRoleParam) { - iSysRoleService.add(sysRoleParam); + iSystemRoleService.add(sysRoleParam); return AjaxResult.success(); } @@ -65,7 +66,7 @@ public class SysRoleController { */ @PostMapping("/edit") public Object edit(@Validated(value = SysRoleParam.create.class) @RequestBody SysRoleParam sysRoleParam) { - iSysRoleService.edit(sysRoleParam); + iSystemRoleService.edit(sysRoleParam); return AjaxResult.success(); } @@ -73,12 +74,12 @@ public class SysRoleController { * 删除角色 * * @author fzr - * @param id 角色ID + * @param sysRoleParam 角色参数 * @return Object */ @PostMapping("/del") - public Object del(@Validated @IDMust() @RequestBody Integer id) { - iSysRoleService.del(id); + public Object del(@Validated(value = SysRoleParam.delete.class) @RequestBody SysRoleParam sysRoleParam) { + iSystemRoleService.del(sysRoleParam.getId()); return AjaxResult.success(); } diff --git a/like-admin/src/main/java/com/hxkj/admin/service/ISysRoleMenuService.java b/like-admin/src/main/java/com/hxkj/admin/service/ISysRoleMenuService.java deleted file mode 100644 index f5b491c5..00000000 --- a/like-admin/src/main/java/com/hxkj/admin/service/ISysRoleMenuService.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.hxkj.admin.service; - -import com.hxkj.common.basics.BaseService; -import com.hxkj.common.entity.system.SysRoleMenu; - -/** - * 系统角色菜单服务 - */ -public interface ISysRoleMenuService extends BaseService { - - /** - * 批量写入角色菜单 - * - * @author fzr - * @param roleId 角色ID - * @param ids 菜单ID组 - */ - void batchSaveByMenuIds(Integer roleId, String ids); - - - /** - * 根据ID批量删除角色菜单 - * - * @author fzr - * @param roleId 角色ID - */ - void batchDeleteByRoleId(Integer roleId); - - /** - * 缓存角色菜单 - * - * @author fzr - * @param roleId 角色ID - */ - void cacheRoleMenusByRoleId(Integer roleId); - -} diff --git a/like-admin/src/main/java/com/hxkj/admin/service/ISysAdminService.java b/like-admin/src/main/java/com/hxkj/admin/service/ISystemAdminService.java similarity index 77% rename from like-admin/src/main/java/com/hxkj/admin/service/ISysAdminService.java rename to like-admin/src/main/java/com/hxkj/admin/service/ISystemAdminService.java index 9424d88d..f6101972 100644 --- a/like-admin/src/main/java/com/hxkj/admin/service/ISysAdminService.java +++ b/like-admin/src/main/java/com/hxkj/admin/service/ISystemAdminService.java @@ -2,17 +2,17 @@ package com.hxkj.admin.service; import com.hxkj.admin.validate.PageParam; import com.hxkj.admin.validate.SysAdminParam; -import com.hxkj.admin.vo.system.SysAdminVo; +import com.hxkj.admin.vo.system.SystemAdminVo; import com.hxkj.common.basics.BaseService; import com.hxkj.common.core.PageResult; -import com.hxkj.common.entity.system.SysAdmin; +import com.hxkj.common.entity.system.SystemAdmin; import java.util.Map; /** * 系统管理员服务 */ -public interface ISysAdminService extends BaseService { +public interface ISystemAdminService extends BaseService { /** * 根据账号查找管理员 @@ -21,7 +21,7 @@ public interface ISysAdminService extends BaseService { * @param username 主键ID * @return SysAdmin */ - SysAdmin findByUsername(String username); + SystemAdmin findByUsername(String username); /** * 管理员列表 @@ -30,7 +30,7 @@ public interface ISysAdminService extends BaseService { * @param pageParam 分页参数 * @return PageResult */ - PageResult lists(PageParam pageParam, Map params); + PageResult lists(PageParam pageParam, Map params); /** * 管理员详情 @@ -39,7 +39,7 @@ public interface ISysAdminService extends BaseService { * @param id 主键参数 * @return SysAdmin */ - SysAdminVo detail(Integer id); + SystemAdminVo detail(Integer id); /** * 新增管理员 diff --git a/like-admin/src/main/java/com/hxkj/admin/service/ISysLoginService.java b/like-admin/src/main/java/com/hxkj/admin/service/ISystemLoginService.java similarity index 83% rename from like-admin/src/main/java/com/hxkj/admin/service/ISysLoginService.java rename to like-admin/src/main/java/com/hxkj/admin/service/ISystemLoginService.java index ba24a20a..10337d8f 100644 --- a/like-admin/src/main/java/com/hxkj/admin/service/ISysLoginService.java +++ b/like-admin/src/main/java/com/hxkj/admin/service/ISystemLoginService.java @@ -2,13 +2,12 @@ package com.hxkj.admin.service; import com.hxkj.admin.validate.SysLoginParam; -import javax.servlet.http.HttpServletRequest; import java.util.Map; /** * 系统登录服务 */ -public interface ISysLoginService { +public interface ISystemLoginService { /** * 登录 diff --git a/like-admin/src/main/java/com/hxkj/admin/service/ISysMenuService.java b/like-admin/src/main/java/com/hxkj/admin/service/ISystemMenuService.java similarity index 67% rename from like-admin/src/main/java/com/hxkj/admin/service/ISysMenuService.java rename to like-admin/src/main/java/com/hxkj/admin/service/ISystemMenuService.java index 60faf649..f47aa5f4 100644 --- a/like-admin/src/main/java/com/hxkj/admin/service/ISysMenuService.java +++ b/like-admin/src/main/java/com/hxkj/admin/service/ISystemMenuService.java @@ -2,18 +2,27 @@ package com.hxkj.admin.service; import com.alibaba.fastjson.JSONArray; import com.hxkj.admin.validate.SysMenuParam; -import com.hxkj.admin.vo.system.SysMenuVo; +import com.hxkj.admin.vo.system.SystemMenuVo; import com.hxkj.common.basics.BaseService; -import com.hxkj.common.entity.system.SysMenu; +import com.hxkj.common.entity.system.SystemMenu; /** * 系统菜单服务 */ -public interface ISysMenuService extends BaseService { +public interface ISystemMenuService extends BaseService { + + /** + * 根据角色获取菜单 + * + * @author fzr + * @return JSONArray + */ + JSONArray selectMenuByRoleId(Integer roleId); /** * 菜单列表 * + * @author fzr * @return JSONArray */ JSONArray lists(); @@ -25,7 +34,7 @@ public interface ISysMenuService extends BaseService { * @param id 主键 * @return SysMenu */ - SysMenuVo detail(Integer id); + SystemMenuVo detail(Integer id); /** * 新增菜单 diff --git a/like-admin/src/main/java/com/hxkj/admin/service/ISystemRoleMenuService.java b/like-admin/src/main/java/com/hxkj/admin/service/ISystemRoleMenuService.java new file mode 100644 index 00000000..1a06241e --- /dev/null +++ b/like-admin/src/main/java/com/hxkj/admin/service/ISystemRoleMenuService.java @@ -0,0 +1,54 @@ +package com.hxkj.admin.service; + +import com.hxkj.common.basics.BaseService; +import com.hxkj.common.entity.system.SystemRoleMenu; + +import java.util.List; + +/** + * 系统角色菜单服务 + */ +public interface ISystemRoleMenuService extends BaseService { + + /** + * 根据角色ID获取菜单ID + * + * @param roleId 角色ID + * @return List + */ + List selectMenuIdsByRoleId(Integer roleId); + + /** + * 批量写入角色菜单 + * + * @author fzr + * @param roleId 角色ID + * @param menuIds 菜单ID组 + */ + void batchSaveByMenuIds(Integer roleId, String menuIds); + + /** + * 根据角色ID批量删除角色菜单 + * + * @author fzr + * @param roleId 角色ID + */ + void batchDeleteByRoleId(Integer roleId); + + /** + * 根据菜单ID批量删除角色菜单 + * + * @author fzr + * @param menuId 菜单ID + */ + void batchDeleteByMenuId(Integer menuId); + + /** + * 缓存角色菜单 + * + * @author fzr + * @param roleId 角色ID + */ + void cacheRoleMenusByRoleId(Integer roleId); + +} diff --git a/like-admin/src/main/java/com/hxkj/admin/service/ISysRoleService.java b/like-admin/src/main/java/com/hxkj/admin/service/ISystemRoleService.java similarity index 80% rename from like-admin/src/main/java/com/hxkj/admin/service/ISysRoleService.java rename to like-admin/src/main/java/com/hxkj/admin/service/ISystemRoleService.java index 65973a88..2f704a4a 100644 --- a/like-admin/src/main/java/com/hxkj/admin/service/ISysRoleService.java +++ b/like-admin/src/main/java/com/hxkj/admin/service/ISystemRoleService.java @@ -2,16 +2,16 @@ package com.hxkj.admin.service; import com.hxkj.admin.validate.PageParam; import com.hxkj.admin.validate.SysRoleParam; -import com.hxkj.admin.vo.system.SysRoleVo; +import com.hxkj.admin.vo.system.SystemRoleVo; import com.hxkj.common.basics.BaseService; import com.hxkj.common.core.PageResult; -import com.hxkj.common.entity.system.SysRole; +import com.hxkj.common.entity.system.SystemRole; import org.springframework.validation.annotation.Validated; /** * 系统角色服务 */ -public interface ISysRoleService extends BaseService { +public interface ISystemRoleService extends BaseService { /** * 根据id获取角色名称 @@ -27,7 +27,7 @@ public interface ISysRoleService extends BaseService { * @param pageParam 参数 * @return PageResult */ - PageResult lists(@Validated PageParam pageParam); + PageResult lists(@Validated PageParam pageParam); /** * 角色详情 @@ -36,7 +36,7 @@ public interface ISysRoleService extends BaseService { * @param id 主键参数 * @return SysRole */ - SysRole detail(Integer id); + SystemRoleVo detail(Integer id); /** * 新增角色 diff --git a/like-admin/src/main/java/com/hxkj/admin/service/impl/ISysMenuServiceImpl.java b/like-admin/src/main/java/com/hxkj/admin/service/impl/ISysMenuServiceImpl.java deleted file mode 100644 index 2cf1a8f9..00000000 --- a/like-admin/src/main/java/com/hxkj/admin/service/impl/ISysMenuServiceImpl.java +++ /dev/null @@ -1,134 +0,0 @@ -package com.hxkj.admin.service.impl; - -import com.alibaba.fastjson.JSONArray; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.Assert; -import com.github.yulichang.base.MPJBaseServiceImpl; -import com.hxkj.admin.config.SystemConfig; -import com.hxkj.admin.service.ISysMenuService; -import com.hxkj.admin.validate.SysMenuParam; -import com.hxkj.admin.vo.system.SysMenuVo; -import com.hxkj.common.entity.system.SysMenu; -import com.hxkj.common.mapper.system.SysMenuMapper; -import com.hxkj.common.utils.ArrayUtil; -import com.hxkj.common.utils.RedisUtil; -import com.hxkj.common.utils.TimeUtil; -import org.springframework.beans.BeanUtils; -import org.springframework.stereotype.Service; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - -@Service -public class ISysMenuServiceImpl extends MPJBaseServiceImpl implements ISysMenuService { - - /** - * 菜单列表 - * - * @author fzr - * @return JSONArray - */ - @Override - public JSONArray lists() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.orderByDesc(Arrays.asList("menu_sort", "id")); - - List sysMenus = this.list( queryWrapper); - - List lists = new ArrayList<>(); - for (SysMenu sysMenu : sysMenus) { - SysMenuVo vo = new SysMenuVo(); - BeanUtils.copyProperties(sysMenu, vo); - - vo.setCreateTime(TimeUtil.timestampToDate(sysMenu.getCreateTime())); - vo.setUpdateTime(TimeUtil.timestampToDate(sysMenu.getUpdateTime())); - lists.add(vo); - } - - JSONArray jsonArray = JSONArray.parseArray(JSONArray.toJSONString(lists)); - return ArrayUtil.listToTree(jsonArray, "id", "pid", "children"); - } - - /** - * 菜单详情 - * - * @author fzr - * @param id 主键参数 - * @return SysMenu - */ - @Override - public SysMenuVo detail(Integer id) { - SysMenu sysMenu = this.getOne(new QueryWrapper().eq("id", id)); - Assert.notNull(sysMenu, "菜单已不存在!"); - - SysMenuVo vo = new SysMenuVo(); - BeanUtils.copyProperties(sysMenu, vo); - vo.setCreateTime(TimeUtil.timestampToDate(sysMenu.getCreateTime())); - vo.setUpdateTime(TimeUtil.timestampToDate(sysMenu.getUpdateTime())); - - return vo; - } - - /** - * 新增菜单 - * - * @author fzr - * @param sysMenuParam 参数 - */ - @Override - public void add(SysMenuParam sysMenuParam) { - SysMenu model = new SysMenu(); - model.setPid(sysMenuParam.getPid()); - model.setMenuType(sysMenuParam.getMenuType()); - model.setMenuName(sysMenuParam.getMenuName()); - model.setMenuIcon(sysMenuParam.getMenuIcon()); - model.setMenuSort(sysMenuParam.getMenuSort()); - model.setPerms(sysMenuParam.getPerms()); - model.setIsDisable(sysMenuParam.getIsDisable()); - model.setCreateTime(System.currentTimeMillis() / 1000); - model.setUpdateTime(System.currentTimeMillis() / 1000); - this.save(model); - } - - /** - * 编辑菜单 - * - * @author fzr - * @param sysMenuParam 菜单 - */ - @Override - public void edit(SysMenuParam sysMenuParam) { - SysMenu model = this.getOne(new QueryWrapper().eq("id", sysMenuParam.getId())); - Assert.notNull(model, "菜单已不存在!"); - - model.setMenuType(sysMenuParam.getMenuType()); - model.setMenuName(sysMenuParam.getMenuName()); - model.setMenuIcon(sysMenuParam.getMenuIcon()); - model.setMenuSort(sysMenuParam.getMenuSort()); - model.setPerms(sysMenuParam.getPerms()); - model.setPid(sysMenuParam.getPid()); - model.setIsDisable(sysMenuParam.getIsDisable()); - model.setUpdateTime(System.currentTimeMillis() / 1000); - this.updateById(model); - - RedisUtil.del(SystemConfig.backstageRolesKey); - } - - /** - * 删除菜单 - * - * @author fzr - * @param id 主键参数 - */ - @Override - public void del(Integer id) { - SysMenu model = this.getOne(new QueryWrapper().eq("id", id)); - Assert.notNull(model, "菜单已不存在!"); - - this.removeById(id); - - RedisUtil.del(SystemConfig.backstageRolesKey); - } - -} diff --git a/like-admin/src/main/java/com/hxkj/admin/service/impl/ISysRoleMenuServiceImpl.java b/like-admin/src/main/java/com/hxkj/admin/service/impl/ISysRoleMenuServiceImpl.java deleted file mode 100644 index a1a81144..00000000 --- a/like-admin/src/main/java/com/hxkj/admin/service/impl/ISysRoleMenuServiceImpl.java +++ /dev/null @@ -1,89 +0,0 @@ -package com.hxkj.admin.service.impl; - -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.github.yulichang.base.MPJBaseServiceImpl; -import com.hxkj.admin.config.SystemConfig; -import com.hxkj.admin.service.ISysMenuService; -import com.hxkj.admin.service.ISysRoleMenuService; -import com.hxkj.common.entity.system.SysMenu; -import com.hxkj.common.entity.system.SysRoleMenu; -import com.hxkj.common.mapper.system.SysRoleMenuMapper; -import com.hxkj.common.utils.RedisUtil; -import com.hxkj.common.utils.ToolsUtil; -import org.springframework.stereotype.Service; - -import javax.annotation.Resource; -import java.util.ArrayList; -import java.util.LinkedList; -import java.util.List; - -@Service -public class ISysRoleMenuServiceImpl extends MPJBaseServiceImpl implements ISysRoleMenuService { - - @Resource - ISysMenuService iSysMenuService; - - /** - * 批量写入角色菜单 - * - * @author fzr - * @param roleId 角色ID - * @param ids 菜单ID组 - */ - @Override - public void batchSaveByMenuIds(Integer roleId, String ids) { - if (ids != null && !ids.equals("")) { - List arrayList = new ArrayList<>(); - for (String menuId : ids.split(",")) { - SysRoleMenu model = new SysRoleMenu(); - model.setRoleId(roleId); - model.setMenuId(Integer.parseInt(menuId)); - arrayList.add(model); - } - - this.saveBatch(arrayList); - } - } - - /** - * 批量删除角色菜单 - * - * @author fzr - * @param roleId 角色ID - */ - @Override - public void batchDeleteByRoleId(Integer roleId) { - this.remove(new QueryWrapper().eq("role_id", roleId)); - } - - /** - * 缓存角色菜单 - * - * @author fzr - * @param roleId 角色ID - */ - @Override - public void cacheRoleMenusByRoleId(Integer roleId) { - List menuIds = new LinkedList<>(); - List menuArray = new LinkedList<>(); - - List sysRoleMenus = this.list(new QueryWrapper().eq("role_id", roleId)); - for (SysRoleMenu sysRoleMenu : sysRoleMenus) { - menuIds.add(sysRoleMenu.getMenuId()); - } - - if (menuIds.size() > 0) { - List sysMenus = iSysMenuService.list(new QueryWrapper() - .select("id,perms") - .in("id", menuIds) - .eq("is_disable", 0)); - - for (SysMenu sysMenu : sysMenus) { - menuArray.add(sysMenu.getPerms().trim()); - } - } - - RedisUtil.hSet(SystemConfig.backstageRolesKey, String.valueOf(roleId), ToolsUtil.listStrToString(menuArray, ",")); - } - -} diff --git a/like-admin/src/main/java/com/hxkj/admin/service/impl/ISysAdminServiceImpl.java b/like-admin/src/main/java/com/hxkj/admin/service/impl/ISystemAdminServiceImpl.java similarity index 77% rename from like-admin/src/main/java/com/hxkj/admin/service/impl/ISysAdminServiceImpl.java rename to like-admin/src/main/java/com/hxkj/admin/service/impl/ISystemAdminServiceImpl.java index 23fd9c6e..327c149d 100644 --- a/like-admin/src/main/java/com/hxkj/admin/service/impl/ISysAdminServiceImpl.java +++ b/like-admin/src/main/java/com/hxkj/admin/service/impl/ISystemAdminServiceImpl.java @@ -7,18 +7,15 @@ import com.baomidou.mybatisplus.core.toolkit.Assert; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.github.yulichang.base.MPJBaseServiceImpl; import com.hxkj.admin.config.SystemConfig; -import com.hxkj.admin.service.ISysAdminService; -import com.hxkj.admin.service.ISysRoleService; +import com.hxkj.admin.service.ISystemAdminService; +import com.hxkj.admin.service.ISystemRoleService; import com.hxkj.admin.validate.PageParam; import com.hxkj.admin.validate.SysAdminParam; -import com.hxkj.admin.vo.system.SysAdminVo; +import com.hxkj.admin.vo.system.SystemAdminVo; import com.hxkj.common.core.PageResult; -import com.hxkj.common.entity.system.SysAdmin; -import com.hxkj.common.mapper.system.SysAdminMapper; -import com.hxkj.common.utils.RedisUtil; -import com.hxkj.common.utils.TimeUtil; -import com.hxkj.common.utils.ToolsUtil; -import com.hxkj.common.utils.UrlUtil; +import com.hxkj.common.entity.system.SystemAdmin; +import com.hxkj.common.mapper.system.SystemAdminMapper; +import com.hxkj.common.utils.*; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; @@ -26,10 +23,10 @@ import javax.annotation.Resource; import java.util.*; @Service -public class ISysAdminServiceImpl extends MPJBaseServiceImpl implements ISysAdminService { +public class ISystemAdminServiceImpl extends MPJBaseServiceImpl implements ISystemAdminService { @Resource - ISysRoleService iSysRoleService; + ISystemRoleService iSystemRoleService; /** * 根据账号查找管理员 @@ -39,8 +36,8 @@ public class ISysAdminServiceImpl extends MPJBaseServiceImpl() + public SystemAdmin findByUsername(String username) { + return this.getOne(new QueryWrapper() .eq("username", username) .last("limit 1")); } @@ -53,12 +50,12 @@ public class ISysAdminServiceImpl extends MPJBaseServiceImpl */ @Override - public PageResult lists(PageParam pageParam, Map params) { + public PageResult lists(PageParam pageParam, Map params) { Integer page = pageParam.getPageNo(); Integer limit = pageParam.getPageSize(); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.select(SysAdmin.class, info-> + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.select(SystemAdmin.class, info-> !info.getColumn().equals("salt") && !info.getColumn().equals("password") && !info.getColumn().equals("is_delete") && @@ -72,15 +69,15 @@ public class ISysAdminServiceImpl extends MPJBaseServiceImpl iPage = this.page(new Page<>(page, limit), queryWrapper); + IPage iPage = this.page(new Page<>(page, limit), queryWrapper); - List adminVoArrayList = new ArrayList<>(); - for (SysAdmin sysAdmin : iPage.getRecords()) { - SysAdminVo vo = new SysAdminVo(); + List adminVoArrayList = new ArrayList<>(); + for (SystemAdmin sysAdmin : iPage.getRecords()) { + SystemAdminVo vo = new SystemAdminVo(); BeanUtils.copyProperties(sysAdmin, vo); vo.setAvatar(UrlUtil.toAbsoluteUrl(sysAdmin.getAvatar())); - vo.setRole(iSysRoleService.getRoleNameById(sysAdmin.getRole())); + vo.setRole(iSystemRoleService.getRoleNameById(sysAdmin.getRole())); vo.setCreateTime(TimeUtil.timestampToDate(sysAdmin.getCreateTime())); vo.setUpdateTime(TimeUtil.timestampToDate(sysAdmin.getUpdateTime())); vo.setLastLoginTime(TimeUtil.timestampToDate(sysAdmin.getLastLoginTime())); @@ -98,9 +95,9 @@ public class ISysAdminServiceImpl extends MPJBaseServiceImpl() - .select(SysAdmin.class, info-> + public SystemAdminVo detail(Integer id) { + SystemAdmin sysAdmin = this.getOne(new QueryWrapper() + .select(SystemAdmin.class, info-> !info.getColumn().equals("salt") && !info.getColumn().equals("password") && !info.getColumn().equals("is_delete") && @@ -111,7 +108,7 @@ public class ISysAdminServiceImpl extends MPJBaseServiceImpl() + Assert.isNull(this.getOne(new QueryWrapper() .select(field) .eq("is_delete", 0) .eq("username", sysAdminParam.getUsername()) .last("limit 1")), "账号已存在换一个吧!"); - Assert.isNull(this.getOne(new QueryWrapper() + Assert.isNull(this.getOne(new QueryWrapper() .select(field) .eq("is_delete", 0) .eq("nickname", sysAdminParam.getNickname()) .last("limit 1")), "昵称已存在换一个吧!"); - Assert.notNull(iSysRoleService.getById(sysAdminParam.getRole()), "角色不存在!"); + Assert.notNull(iSystemRoleService.getById(sysAdminParam.getRole()), "角色不存在!"); String salt = ToolsUtil.randomString(5); String pwd = ToolsUtil.makeMd5(sysAdminParam.getPassword().trim() + salt); String avatar = UrlUtil.toRelativeUrl(sysAdminParam.getAvatar()); - SysAdmin model = new SysAdmin(); + SystemAdmin model = new SystemAdmin(); model.setUsername(sysAdminParam.getUsername()); model.setNickname(sysAdminParam.getNickname()); model.setRole(sysAdminParam.getRole()); @@ -173,29 +170,29 @@ public class ISysAdminServiceImpl extends MPJBaseServiceImpl() + Assert.notNull(this.getOne(new QueryWrapper() .select(field) .eq("id", sysAdminParam.getId()) .eq("is_delete", 0) .last("limit 1")), "账号不存在了!"); - Assert.isNull(this.getOne(new QueryWrapper() + Assert.isNull(this.getOne(new QueryWrapper() .select(field) .eq("is_delete", 0) .eq("username", sysAdminParam.getUsername()) .ne("id", sysAdminParam.getId()) .last("limit 1")), "账号已存在换一个吧!"); - Assert.isNull(this.getOne(new QueryWrapper() + Assert.isNull(this.getOne(new QueryWrapper() .select(field) .eq("is_delete", 0) .eq("nickname", sysAdminParam.getNickname()) .ne("id", sysAdminParam.getId()) .last("limit 1")), "昵称已存在换一个吧!"); - Assert.notNull(iSysRoleService.getById(sysAdminParam.getRole()), "角色不存在!"); + Assert.notNull(iSystemRoleService.getById(sysAdminParam.getRole()), "角色不存在!"); - SysAdmin model = new SysAdmin(); + SystemAdmin model = new SystemAdmin(); model.setId(sysAdminParam.getId()); model.setNickname(sysAdminParam.getNickname()); model.setUsername(sysAdminParam.getUsername()); @@ -205,7 +202,7 @@ public class ISysAdminServiceImpl extends MPJBaseServiceImpl() + Assert.notNull(this.getOne(new QueryWrapper() .select(field) .eq("id", id) .eq("is_delete", 0) @@ -233,7 +234,7 @@ public class ISysAdminServiceImpl extends MPJBaseServiceImpl user = new LinkedHashMap<>(); Map map = new LinkedHashMap<>(); diff --git a/like-admin/src/main/java/com/hxkj/admin/service/impl/ISysLoginServiceImpl.java b/like-admin/src/main/java/com/hxkj/admin/service/impl/ISystemLoginServiceImpl.java similarity index 80% rename from like-admin/src/main/java/com/hxkj/admin/service/impl/ISysLoginServiceImpl.java rename to like-admin/src/main/java/com/hxkj/admin/service/impl/ISystemLoginServiceImpl.java index 4f978bd0..4ca37a0f 100644 --- a/like-admin/src/main/java/com/hxkj/admin/service/impl/ISysLoginServiceImpl.java +++ b/like-admin/src/main/java/com/hxkj/admin/service/impl/ISystemLoginServiceImpl.java @@ -1,14 +1,13 @@ package com.hxkj.admin.service.impl; import com.hxkj.admin.config.SystemConfig; -import com.hxkj.admin.service.ISysAdminService; -import com.hxkj.admin.service.ISysLoginService; +import com.hxkj.admin.service.ISystemAdminService; +import com.hxkj.admin.service.ISystemLoginService; import com.hxkj.admin.validate.SysLoginParam; -import com.hxkj.common.entity.system.SysAdmin; +import com.hxkj.common.entity.system.SystemAdmin; import com.hxkj.common.enums.HttpEnum; import com.hxkj.common.exception.LoginException; import com.hxkj.common.exception.OperateException; -import com.hxkj.common.mapper.system.SysAdminMapper; import com.hxkj.common.utils.HttpUtil; import com.hxkj.common.utils.RedisUtil; import com.hxkj.common.utils.ToolsUtil; @@ -19,13 +18,10 @@ import java.util.LinkedHashMap; import java.util.Map; @Service -public class ISysLoginServiceImpl implements ISysLoginService { +public class ISystemLoginServiceImpl implements ISystemLoginService { @Resource - SysAdminMapper sysAdminMapper; - - @Resource - ISysAdminService iSysAdminService; + ISystemAdminService iSystemAdminService; /** * 登录 @@ -39,7 +35,7 @@ public class ISysLoginServiceImpl implements ISysLoginService { String username = sysLoginParam.getUsername(); String password = sysLoginParam.getPassword(); - SysAdmin sysAdmin = iSysAdminService.findByUsername(username); + SystemAdmin sysAdmin = iSystemAdminService.findByUsername(username); if (sysAdmin == null || sysAdmin.getIsDelete() == 1) { throw new LoginException(HttpEnum.LOGIN_ACCOUNT_ERROR.getCode(), HttpEnum.LOGIN_ACCOUNT_ERROR.getMsg()); } @@ -57,11 +53,11 @@ public class ISysLoginServiceImpl implements ISysLoginService { try { sysAdmin.setLastLoginIp(HttpUtil.ip()); sysAdmin.setLastLoginTime(System.currentTimeMillis() / 1000); - sysAdminMapper.updateById(sysAdmin); + iSystemAdminService.updateById(sysAdmin); String token = ToolsUtil.makeToken(); RedisUtil.set(SystemConfig.backstageTokenKey+token, sysAdmin.getId(), 7200); - iSysAdminService.cacheAdminUserByUid(sysAdmin.getId()); + iSystemAdminService.cacheAdminUserByUid(sysAdmin.getId()); Map response = new LinkedHashMap<>(); response.put("token", token); diff --git a/like-admin/src/main/java/com/hxkj/admin/service/impl/ISystemMenuServiceImpl.java b/like-admin/src/main/java/com/hxkj/admin/service/impl/ISystemMenuServiceImpl.java new file mode 100644 index 00000000..a4e88148 --- /dev/null +++ b/like-admin/src/main/java/com/hxkj/admin/service/impl/ISystemMenuServiceImpl.java @@ -0,0 +1,175 @@ +package com.hxkj.admin.service.impl; + +import com.alibaba.fastjson.JSONArray; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Assert; +import com.github.yulichang.base.MPJBaseServiceImpl; +import com.hxkj.admin.LikeAdminThreadLocal; +import com.hxkj.admin.config.SystemConfig; +import com.hxkj.admin.service.ISystemMenuService; +import com.hxkj.admin.service.ISystemRoleMenuService; +import com.hxkj.admin.validate.SysMenuParam; +import com.hxkj.admin.vo.system.SystemMenuVo; +import com.hxkj.common.entity.system.SystemMenu; +import com.hxkj.common.mapper.system.SystemMenuMapper; +import com.hxkj.common.utils.ArrayUtil; +import com.hxkj.common.utils.RedisUtil; +import com.hxkj.common.utils.TimeUtil; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +@Service +public class ISystemMenuServiceImpl extends MPJBaseServiceImpl implements ISystemMenuService { + + @Resource + ISystemRoleMenuService iSystemRoleMenuService; + + /** + * 根据角色ID获取菜单 + * + * @author fzr + * @param roleId 角色ID + * @return JSONArray + */ + @Override + public JSONArray selectMenuByRoleId(Integer roleId) { + Integer adminId = LikeAdminThreadLocal.getAdminId(); + List menuIds = iSystemRoleMenuService.selectMenuIdsByRoleId(roleId); + + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.in("menu_type", Arrays.asList("M", "C")); + queryWrapper.orderByDesc(Arrays.asList("menu_sort", "id")); + if (adminId != 1 && menuIds.size() > 0) { + queryWrapper.in("id", menuIds); + } + + List systemMenus = this.list(queryWrapper); + List lists = new ArrayList<>(); + for (SystemMenu systemMenu : systemMenus) { + SystemMenuVo vo = new SystemMenuVo(); + BeanUtils.copyProperties(systemMenu, vo); + + vo.setUpdateTime(TimeUtil.timestampToDate(systemMenu.getUpdateTime())); + vo.setCreateTime(TimeUtil.timestampToDate(systemMenu.getCreateTime())); + lists.add(vo); + } + + JSONArray jsonArray = JSONArray.parseArray(JSONArray.toJSONString(lists)); + return ArrayUtil.listToTree(jsonArray, "id", "pid", "children"); + } + + /** + * 菜单列表 + * + * @author fzr + * @return JSONArray + */ + @Override + public JSONArray lists() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.orderByDesc(Arrays.asList("menu_sort", "id")); + + List systemMenus = this.list(queryWrapper); + + List lists = new ArrayList<>(); + for (SystemMenu systemMenu : systemMenus) { + SystemMenuVo vo = new SystemMenuVo(); + BeanUtils.copyProperties(systemMenu, vo); + + vo.setCreateTime(TimeUtil.timestampToDate(systemMenu.getCreateTime())); + vo.setUpdateTime(TimeUtil.timestampToDate(systemMenu.getUpdateTime())); + lists.add(vo); + } + + JSONArray jsonArray = JSONArray.parseArray(JSONArray.toJSONString(lists)); + return ArrayUtil.listToTree(jsonArray, "id", "pid", "children"); + } + + /** + * 菜单详情 + * + * @author fzr + * @param id 主键参数 + * @return SysMenu + */ + @Override + public SystemMenuVo detail(Integer id) { + SystemMenu systemMenu = this.getOne(new QueryWrapper().eq("id", id)); + Assert.notNull(systemMenu, "菜单已不存在!"); + + SystemMenuVo vo = new SystemMenuVo(); + BeanUtils.copyProperties(systemMenu, vo); + vo.setCreateTime(TimeUtil.timestampToDate(systemMenu.getCreateTime())); + vo.setUpdateTime(TimeUtil.timestampToDate(systemMenu.getUpdateTime())); + + return vo; + } + + /** + * 新增菜单 + * + * @author fzr + * @param sysMenuParam 参数 + */ + @Override + public void add(SysMenuParam sysMenuParam) { + SystemMenu model = new SystemMenu(); + model.setPid(sysMenuParam.getPid()); + model.setMenuType(sysMenuParam.getMenuType()); + model.setMenuName(sysMenuParam.getMenuName()); + model.setMenuIcon(sysMenuParam.getMenuIcon()); + model.setMenuSort(sysMenuParam.getMenuSort()); + model.setPerms(sysMenuParam.getPerms()); + model.setIsDisable(sysMenuParam.getIsDisable()); + model.setCreateTime(System.currentTimeMillis() / 1000); + model.setUpdateTime(System.currentTimeMillis() / 1000); + this.save(model); + } + + /** + * 编辑菜单 + * + * @author fzr + * @param sysMenuParam 菜单 + */ + @Override + public void edit(SysMenuParam sysMenuParam) { + SystemMenu model = this.getOne(new QueryWrapper().eq("id", sysMenuParam.getId())); + Assert.notNull(model, "菜单已不存在!"); + + model.setMenuType(sysMenuParam.getMenuType()); + model.setMenuName(sysMenuParam.getMenuName()); + model.setMenuIcon(sysMenuParam.getMenuIcon()); + model.setMenuSort(sysMenuParam.getMenuSort()); + model.setPerms(sysMenuParam.getPerms()); + model.setPid(sysMenuParam.getPid()); + model.setIsDisable(sysMenuParam.getIsDisable()); + model.setUpdateTime(System.currentTimeMillis() / 1000); + this.updateById(model); + + RedisUtil.del(SystemConfig.backstageRolesKey); + } + + /** + * 删除菜单 + * + * @author fzr + * @param id 主键参数 + */ + @Override + public void del(Integer id) { + SystemMenu model = this.getOne(new QueryWrapper().eq("id", id)); + Assert.notNull(model, "菜单已不存在!"); + + this.removeById(id); + + iSystemRoleMenuService.batchDeleteByMenuId(id); + RedisUtil.del(SystemConfig.backstageRolesKey); + } + +} diff --git a/like-admin/src/main/java/com/hxkj/admin/service/impl/ISystemRoleMenuServiceImpl.java b/like-admin/src/main/java/com/hxkj/admin/service/impl/ISystemRoleMenuServiceImpl.java new file mode 100644 index 00000000..617739ec --- /dev/null +++ b/like-admin/src/main/java/com/hxkj/admin/service/impl/ISystemRoleMenuServiceImpl.java @@ -0,0 +1,115 @@ +package com.hxkj.admin.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.github.yulichang.base.MPJBaseServiceImpl; +import com.hxkj.admin.config.SystemConfig; +import com.hxkj.admin.service.ISystemMenuService; +import com.hxkj.admin.service.ISystemRoleMenuService; +import com.hxkj.common.entity.system.SystemMenu; +import com.hxkj.common.entity.system.SystemRoleMenu; +import com.hxkj.common.mapper.system.SystemRoleMenuMapper; +import com.hxkj.common.utils.RedisUtil; +import com.hxkj.common.utils.ToolsUtil; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.LinkedList; +import java.util.List; + +@Service +public class ISystemRoleMenuServiceImpl extends MPJBaseServiceImpl implements ISystemRoleMenuService { + + @Resource + ISystemMenuService iSystemMenuService; + + /** + * 根据角色ID获取菜单ID + * + * @param roleId 角色ID + * @return List + */ + @Override + public List selectMenuIdsByRoleId(Integer roleId) { + List menus = new LinkedList<>(); + List systemRoleMenus = this.list(new QueryWrapper().eq("role_id", roleId)); + for (SystemRoleMenu systemRoleMenu : systemRoleMenus) { + menus.add(systemRoleMenu.getMenuId()); + } + return menus; + } + + /** + * 批量写入角色菜单 + * + * @author fzr + * @param roleId 角色ID + * @param menuIds 菜单ID组 + */ + @Override + public void batchSaveByMenuIds(Integer roleId, String menuIds) { + if (menuIds != null && !menuIds.equals("")) { + List arrayList = new ArrayList<>(); + for (String menuId : menuIds.split(",")) { + SystemRoleMenu model = new SystemRoleMenu(); + model.setRoleId(roleId); + model.setMenuId(Integer.parseInt(menuId)); + arrayList.add(model); + } + this.saveBatch(arrayList); + } + } + + /** + * 批量删除角色菜单(根据角色ID) + * + * @author fzr + * @param roleId 角色ID + */ + @Override + public void batchDeleteByRoleId(Integer roleId) { + this.remove(new QueryWrapper().eq("role_id", roleId)); + } + + /** + * 批量删除角色菜单(根据菜单ID) + * + * @author fzr + * @param menuId 菜单ID + */ + @Override + public void batchDeleteByMenuId(Integer menuId) { + this.remove(new QueryWrapper().eq("menu_id", menuId)); + } + + /** + * 缓存角色菜单 + * + * @author fzr + * @param roleId 角色ID + */ + @Override + public void cacheRoleMenusByRoleId(Integer roleId) { + List menuIds = new LinkedList<>(); + List menuArray = new LinkedList<>(); + + List systemRoleMenus = this.list(new QueryWrapper().eq("role_id", roleId)); + for (SystemRoleMenu systemRoleMenu : systemRoleMenus) { + menuIds.add(systemRoleMenu.getMenuId()); + } + + if (menuIds.size() > 0) { + List systemMenus = iSystemMenuService.list(new QueryWrapper() + .select("id,perms") + .in("id", menuIds) + .eq("is_disable", 0)); + + for (SystemMenu systemMenu : systemMenus) { + menuArray.add(systemMenu.getPerms().trim()); + } + } + + RedisUtil.hSet(SystemConfig.backstageRolesKey, String.valueOf(roleId), ToolsUtil.listStrToString(menuArray, ",")); + } + +} diff --git a/like-admin/src/main/java/com/hxkj/admin/service/impl/ISysRoleServiceImpl.java b/like-admin/src/main/java/com/hxkj/admin/service/impl/ISystemRoleServiceImpl.java similarity index 58% rename from like-admin/src/main/java/com/hxkj/admin/service/impl/ISysRoleServiceImpl.java rename to like-admin/src/main/java/com/hxkj/admin/service/impl/ISystemRoleServiceImpl.java index 518317c0..a095e0fc 100644 --- a/like-admin/src/main/java/com/hxkj/admin/service/impl/ISysRoleServiceImpl.java +++ b/like-admin/src/main/java/com/hxkj/admin/service/impl/ISystemRoleServiceImpl.java @@ -6,16 +6,16 @@ import com.baomidou.mybatisplus.core.toolkit.Assert; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.github.yulichang.base.MPJBaseServiceImpl; import com.hxkj.admin.config.SystemConfig; -import com.hxkj.admin.service.ISysAdminService; -import com.hxkj.admin.service.ISysRoleMenuService; -import com.hxkj.admin.service.ISysRoleService; +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.SysRoleParam; -import com.hxkj.admin.vo.system.SysRoleVo; +import com.hxkj.admin.vo.system.SystemRoleVo; import com.hxkj.common.core.PageResult; -import com.hxkj.common.entity.system.SysAdmin; -import com.hxkj.common.entity.system.SysRole; -import com.hxkj.common.mapper.system.SysRoleMapper; +import com.hxkj.common.entity.system.SystemAdmin; +import com.hxkj.common.entity.system.SystemRole; +import com.hxkj.common.mapper.system.SystemRoleMapper; import com.hxkj.common.utils.RedisUtil; import com.hxkj.common.utils.TimeUtil; import org.springframework.beans.BeanUtils; @@ -29,13 +29,13 @@ import java.util.Arrays; import java.util.List; @Service -public class ISysRoleServiceImpl extends MPJBaseServiceImpl implements ISysRoleService { +public class ISystemRoleServiceImpl extends MPJBaseServiceImpl implements ISystemRoleService { @Resource - ISysAdminService iSysAdminService; + ISystemAdminService iSystemAdminService; @Resource - ISysRoleMenuService iSysRoleMenuService; + ISystemRoleMenuService iSystemRoleMenuService; /** @@ -47,16 +47,16 @@ public class ISysRoleServiceImpl extends MPJBaseServiceImpl queryWrapper = new QueryWrapper<>(); + QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.select("id", "name") .eq("id", id) .last("limit 1"); - SysRole sysRole = this.getOne(queryWrapper, false); - if (sysRole == null) { + SystemRole systemRole = this.getOne(queryWrapper, false); + if (systemRole == null) { return ""; } - return sysRole.getName(); + return systemRole.getName(); } /** @@ -67,22 +67,23 @@ public class ISysRoleServiceImpl extends MPJBaseServiceImpl */ @Override - public PageResult lists(@Validated PageParam pageParam) { + public PageResult lists(@Validated PageParam pageParam) { Integer page = pageParam.getPageNo(); Integer limit = pageParam.getPageSize(); - QueryWrapper queryWrapper = new QueryWrapper<>(); + QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.orderByDesc(Arrays.asList("sort", "id")); - IPage iPage = this.page(new Page<>(page, limit), queryWrapper); + IPage iPage = this.page(new Page<>(page, limit), queryWrapper); - List roleVoArrayList = new ArrayList<>(); - for (SysRole sysRole : iPage.getRecords()) { - SysRoleVo vo = new SysRoleVo(); - BeanUtils.copyProperties(sysRole, vo); + List roleVoArrayList = new ArrayList<>(); + for (SystemRole systemRole : iPage.getRecords()) { + SystemRoleVo vo = new SystemRoleVo(); + BeanUtils.copyProperties(systemRole, vo); - vo.setCreateTime(TimeUtil.timestampToDate(sysRole.getCreateTime())); - vo.setUpdateTime(TimeUtil.timestampToDate(sysRole.getUpdateTime())); + vo.setMenus(new ArrayList<>()); + vo.setCreateTime(TimeUtil.timestampToDate(systemRole.getCreateTime())); + vo.setUpdateTime(TimeUtil.timestampToDate(systemRole.getUpdateTime())); roleVoArrayList.add(vo); } @@ -97,14 +98,21 @@ public class ISysRoleServiceImpl extends MPJBaseServiceImpl() + public SystemRoleVo detail(Integer id) { + SystemRole systemRole = this.getOne(new QueryWrapper() .eq("id", id) .last("limit 1")); - Assert.notNull(sysRole, "角色已不存在!"); + Assert.notNull(systemRole, "角色已不存在!"); - return sysRole; + SystemRoleVo vo = new SystemRoleVo(); + BeanUtils.copyProperties(systemRole, vo); + + vo.setMenus(iSystemRoleMenuService.selectMenuIdsByRoleId(systemRole.getId())); + vo.setCreateTime(TimeUtil.timestampToDate(systemRole.getCreateTime())); + vo.setUpdateTime(TimeUtil.timestampToDate(systemRole.getUpdateTime())); + + return vo; } /** @@ -116,12 +124,12 @@ public class ISysRoleServiceImpl extends MPJBaseServiceImpl() + Assert.isNull(this.getOne(new QueryWrapper() .select("id,name") .eq("name", sysRoleParam.getName().trim()) .last("limit 1")), "角色名称已存在!"); - SysRole model = new SysRole(); + SystemRole model = new SystemRole(); model.setName(sysRoleParam.getName().trim()); model.setRemark(sysRoleParam.getRemark()); model.setIsDisable(sysRoleParam.getIsDisable()); @@ -129,7 +137,7 @@ public class ISysRoleServiceImpl extends MPJBaseServiceImpl() + Assert.notNull(this.getOne(new QueryWrapper() .select("id,name") .eq("id", sysRoleParam.getId()) .last("limit 1")), "角色已不存在!"); - Assert.isNull(this.getOne(new QueryWrapper() + Assert.isNull(this.getOne(new QueryWrapper() .select("id,name") .ne("id", sysRoleParam.getId()) .eq("name", sysRoleParam.getName().trim()) .last("limit 1")), "角色名称已存在!"); - SysRole model = new SysRole(); + SystemRole model = new SystemRole(); model.setId(sysRoleParam.getId()); model.setName(sysRoleParam.getName().trim()); model.setRemark(sysRoleParam.getRemark()); @@ -160,9 +168,9 @@ public class ISysRoleServiceImpl extends MPJBaseServiceImpl() + this.getOne(new QueryWrapper() .select("id", "name") .eq("id", id) .last("limit 1")), "角色已不存在!"); - Assert.isNull(iSysAdminService.getOne(new QueryWrapper() + Assert.isNull(iSystemAdminService.getOne(new QueryWrapper() .select("id", "role", "nickname") .eq("role", id) .eq("is_delete", 0)), "角色已被管理员使用,请先移除"); this.removeById(id); - iSysRoleMenuService.batchDeleteByRoleId(id); - RedisUtil.hDel(SystemConfig.backstageRolesKey, id); + iSystemRoleMenuService.batchDeleteByRoleId(id); + RedisUtil.hDel(SystemConfig.backstageRolesKey, String.valueOf(id)); } } diff --git a/like-admin/src/main/java/com/hxkj/admin/validate/PageParam.java b/like-admin/src/main/java/com/hxkj/admin/validate/PageParam.java index f2e9588b..405a2428 100644 --- a/like-admin/src/main/java/com/hxkj/admin/validate/PageParam.java +++ b/like-admin/src/main/java/com/hxkj/admin/validate/PageParam.java @@ -1,15 +1,20 @@ package com.hxkj.admin.validate; import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; import javax.validation.constraints.DecimalMax; import javax.validation.constraints.DecimalMin; +import java.io.Serializable; /** * 分页参数 */ @Data -public class PageParam { +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +public class PageParam implements Serializable { // 当前分页 @DecimalMin(value = "1", message = "pageNo参数必须大于0的数字") diff --git a/like-admin/src/main/java/com/hxkj/admin/validate/SysMenuParam.java b/like-admin/src/main/java/com/hxkj/admin/validate/SysMenuParam.java index d135bc97..4738df0e 100644 --- a/like-admin/src/main/java/com/hxkj/admin/validate/SysMenuParam.java +++ b/like-admin/src/main/java/com/hxkj/admin/validate/SysMenuParam.java @@ -3,17 +3,22 @@ package com.hxkj.admin.validate; import com.hxkj.common.validator.annotation.IDMust; import com.hxkj.common.validator.annotation.StringContains; import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; import org.hibernate.validator.constraints.Length; import javax.validation.constraints.DecimalMin; import javax.validation.constraints.Max; import javax.validation.constraints.NotNull; +import java.io.Serializable; /** * 系统菜单参数 */ @Data -public class SysMenuParam { +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +public class SysMenuParam implements Serializable { public interface create{} public interface update{} diff --git a/like-admin/src/main/java/com/hxkj/admin/validate/SysRoleParam.java b/like-admin/src/main/java/com/hxkj/admin/validate/SysRoleParam.java index dc68c4ee..96a46766 100644 --- a/like-admin/src/main/java/com/hxkj/admin/validate/SysRoleParam.java +++ b/like-admin/src/main/java/com/hxkj/admin/validate/SysRoleParam.java @@ -2,19 +2,25 @@ package com.hxkj.admin.validate; import com.hxkj.common.validator.annotation.IDMust; import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; import org.hibernate.validator.constraints.Length; import javax.validation.constraints.DecimalMin; import javax.validation.constraints.Max; import javax.validation.constraints.NotNull; +import java.io.Serializable; @Data -public class SysRoleParam { +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +public class SysRoleParam implements Serializable { public interface create{} public interface update{} + public interface delete{} - @IDMust(message = "id参数必传且需大于0", groups = {update.class}) + @IDMust(message = "id参数必传且需大于0", groups = {update.class, delete.class}) private Integer id; @NotNull(message = "缺少参数name", groups = {create.class, update.class}) diff --git a/like-admin/src/main/java/com/hxkj/admin/vo/system/SysAdminVo.java b/like-admin/src/main/java/com/hxkj/admin/vo/system/SystemAdminVo.java similarity index 89% rename from like-admin/src/main/java/com/hxkj/admin/vo/system/SysAdminVo.java rename to like-admin/src/main/java/com/hxkj/admin/vo/system/SystemAdminVo.java index 25e9cf25..664f54c2 100644 --- a/like-admin/src/main/java/com/hxkj/admin/vo/system/SysAdminVo.java +++ b/like-admin/src/main/java/com/hxkj/admin/vo/system/SystemAdminVo.java @@ -5,7 +5,7 @@ import lombok.Data; import java.io.Serializable; @Data -public class SysAdminVo implements Serializable { +public class SystemAdminVo implements Serializable { private static final long serialVersionUID = 1L; diff --git a/like-admin/src/main/java/com/hxkj/admin/vo/system/SysMenuVo.java b/like-admin/src/main/java/com/hxkj/admin/vo/system/SystemMenuVo.java similarity index 89% rename from like-admin/src/main/java/com/hxkj/admin/vo/system/SysMenuVo.java rename to like-admin/src/main/java/com/hxkj/admin/vo/system/SystemMenuVo.java index e24d72e9..c1f6d27e 100644 --- a/like-admin/src/main/java/com/hxkj/admin/vo/system/SysMenuVo.java +++ b/like-admin/src/main/java/com/hxkj/admin/vo/system/SystemMenuVo.java @@ -5,7 +5,7 @@ import lombok.Data; import java.io.Serializable; @Data -public class SysMenuVo implements Serializable { +public class SystemMenuVo implements Serializable { private static final long serialVersionUID = 1L; diff --git a/like-admin/src/main/java/com/hxkj/admin/vo/system/SysRoleVo.java b/like-admin/src/main/java/com/hxkj/admin/vo/system/SystemRoleVo.java similarity index 81% rename from like-admin/src/main/java/com/hxkj/admin/vo/system/SysRoleVo.java rename to like-admin/src/main/java/com/hxkj/admin/vo/system/SystemRoleVo.java index 3cb758de..0c6d7ad1 100644 --- a/like-admin/src/main/java/com/hxkj/admin/vo/system/SysRoleVo.java +++ b/like-admin/src/main/java/com/hxkj/admin/vo/system/SystemRoleVo.java @@ -5,13 +5,14 @@ import lombok.Data; import java.io.Serializable; @Data -public class SysRoleVo implements Serializable { +public class SystemRoleVo implements Serializable { private static final long serialVersionUID = 1L; private Integer id; private String name; private String remark; + private Object menus; private Integer sort; private Integer isDisable; private String createTime; diff --git a/like-common/src/main/java/com/hxkj/common/basics/BaseService.java b/like-common/src/main/java/com/hxkj/common/basics/BaseService.java index 5f0ba180..352c5670 100644 --- a/like-common/src/main/java/com/hxkj/common/basics/BaseService.java +++ b/like-common/src/main/java/com/hxkj/common/basics/BaseService.java @@ -1,10 +1,7 @@ package com.hxkj.common.basics; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; -import com.hxkj.common.core.PageResult; -import com.hxkj.common.entity.system.SysAdmin; import java.math.BigDecimal; import java.util.ArrayList; diff --git a/like-common/src/main/java/com/hxkj/common/entity/system/SysAdmin.java b/like-common/src/main/java/com/hxkj/common/entity/system/SystemAdmin.java similarity index 93% rename from like-common/src/main/java/com/hxkj/common/entity/system/SysAdmin.java rename to like-common/src/main/java/com/hxkj/common/entity/system/SystemAdmin.java index 112273f3..ce7d2b71 100644 --- a/like-common/src/main/java/com/hxkj/common/entity/system/SysAdmin.java +++ b/like-common/src/main/java/com/hxkj/common/entity/system/SystemAdmin.java @@ -10,7 +10,7 @@ import java.io.Serializable; * 系统管理员实体 */ @Data -public class SysAdmin implements Serializable { +public class SystemAdmin implements Serializable { private static final long serialVersionUID = 1L; diff --git a/like-common/src/main/java/com/hxkj/common/entity/system/SystemConfig.java b/like-common/src/main/java/com/hxkj/common/entity/system/SystemConfig.java new file mode 100644 index 00000000..a5872c4f --- /dev/null +++ b/like-common/src/main/java/com/hxkj/common/entity/system/SystemConfig.java @@ -0,0 +1,25 @@ +package com.hxkj.common.entity.system; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import lombok.Data; + +import java.io.Serializable; + +/** + * 系统配置实体 + */ +@Data +public class SystemConfig implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value="id", type= IdType.AUTO) + private Integer id; + private String type; + private String name; + private String value; + private Long createTime; + private Long updateTime; + +} diff --git a/like-common/src/main/java/com/hxkj/common/entity/system/SysMenu.java b/like-common/src/main/java/com/hxkj/common/entity/system/SystemMenu.java similarity index 92% rename from like-common/src/main/java/com/hxkj/common/entity/system/SysMenu.java rename to like-common/src/main/java/com/hxkj/common/entity/system/SystemMenu.java index d8b07735..672f9da0 100644 --- a/like-common/src/main/java/com/hxkj/common/entity/system/SysMenu.java +++ b/like-common/src/main/java/com/hxkj/common/entity/system/SystemMenu.java @@ -10,7 +10,7 @@ import java.io.Serializable; * 系统菜单实体 */ @Data -public class SysMenu implements Serializable { +public class SystemMenu implements Serializable { private static final long serialVersionUID = 1L; diff --git a/like-common/src/main/java/com/hxkj/common/entity/system/SysRole.java b/like-common/src/main/java/com/hxkj/common/entity/system/SystemRole.java similarity index 91% rename from like-common/src/main/java/com/hxkj/common/entity/system/SysRole.java rename to like-common/src/main/java/com/hxkj/common/entity/system/SystemRole.java index 5ce4fcc8..a8c7b391 100644 --- a/like-common/src/main/java/com/hxkj/common/entity/system/SysRole.java +++ b/like-common/src/main/java/com/hxkj/common/entity/system/SystemRole.java @@ -10,7 +10,7 @@ import java.io.Serializable; * 系统角色实体 */ @Data -public class SysRole implements Serializable { +public class SystemRole implements Serializable { private static final long serialVersionUID = 1L; diff --git a/like-common/src/main/java/com/hxkj/common/entity/system/SysRoleMenu.java b/like-common/src/main/java/com/hxkj/common/entity/system/SystemRoleMenu.java similarity index 80% rename from like-common/src/main/java/com/hxkj/common/entity/system/SysRoleMenu.java rename to like-common/src/main/java/com/hxkj/common/entity/system/SystemRoleMenu.java index b6fe0b3d..d788cd9d 100644 --- a/like-common/src/main/java/com/hxkj/common/entity/system/SysRoleMenu.java +++ b/like-common/src/main/java/com/hxkj/common/entity/system/SystemRoleMenu.java @@ -14,12 +14,12 @@ import java.io.Serializable; @Data @EqualsAndHashCode(callSuper = false) @Accessors(chain = true) -public class SysRoleMenu implements Serializable { +public class SystemRoleMenu implements Serializable { private static final long serialVersionUID = 1L; - @TableId(type = IdType.NONE) - private Integer id; + @TableId(type = IdType.ASSIGN_UUID) + private String id; private Integer roleId; private Integer menuId; diff --git a/like-common/src/main/java/com/hxkj/common/mapper/system/SysAdminMapper.java b/like-common/src/main/java/com/hxkj/common/mapper/system/SystemAdminMapper.java similarity index 58% rename from like-common/src/main/java/com/hxkj/common/mapper/system/SysAdminMapper.java rename to like-common/src/main/java/com/hxkj/common/mapper/system/SystemAdminMapper.java index e3ae3bf0..6ad5b162 100644 --- a/like-common/src/main/java/com/hxkj/common/mapper/system/SysAdminMapper.java +++ b/like-common/src/main/java/com/hxkj/common/mapper/system/SystemAdminMapper.java @@ -1,12 +1,12 @@ package com.hxkj.common.mapper.system; import com.hxkj.common.basics.BaseMapper; -import com.hxkj.common.entity.system.SysAdmin; +import com.hxkj.common.entity.system.SystemAdmin; import org.apache.ibatis.annotations.Mapper; /** * 系统管理员 */ @Mapper -public interface SysAdminMapper extends BaseMapper { +public interface SystemAdminMapper extends BaseMapper { } diff --git a/like-common/src/main/java/com/hxkj/common/mapper/system/SystemConfigMapper.java b/like-common/src/main/java/com/hxkj/common/mapper/system/SystemConfigMapper.java new file mode 100644 index 00000000..873cd5d0 --- /dev/null +++ b/like-common/src/main/java/com/hxkj/common/mapper/system/SystemConfigMapper.java @@ -0,0 +1,12 @@ +package com.hxkj.common.mapper.system; + +import com.hxkj.common.basics.BaseMapper; +import com.hxkj.common.entity.system.SystemConfig; +import org.apache.ibatis.annotations.Mapper; + +/** + * 系统配置 + */ +@Mapper +public interface SystemConfigMapper extends BaseMapper { +} diff --git a/like-common/src/main/java/com/hxkj/common/mapper/system/SysMenuMapper.java b/like-common/src/main/java/com/hxkj/common/mapper/system/SystemMenuMapper.java similarity index 58% rename from like-common/src/main/java/com/hxkj/common/mapper/system/SysMenuMapper.java rename to like-common/src/main/java/com/hxkj/common/mapper/system/SystemMenuMapper.java index 1744d416..8ab84f83 100644 --- a/like-common/src/main/java/com/hxkj/common/mapper/system/SysMenuMapper.java +++ b/like-common/src/main/java/com/hxkj/common/mapper/system/SystemMenuMapper.java @@ -1,12 +1,12 @@ package com.hxkj.common.mapper.system; import com.hxkj.common.basics.BaseMapper; -import com.hxkj.common.entity.system.SysMenu; +import com.hxkj.common.entity.system.SystemMenu; import org.apache.ibatis.annotations.Mapper; /** * 系统菜单 */ @Mapper -public interface SysMenuMapper extends BaseMapper { +public interface SystemMenuMapper extends BaseMapper { } diff --git a/like-common/src/main/java/com/hxkj/common/mapper/system/SysRoleMapper.java b/like-common/src/main/java/com/hxkj/common/mapper/system/SystemRoleMapper.java similarity index 58% rename from like-common/src/main/java/com/hxkj/common/mapper/system/SysRoleMapper.java rename to like-common/src/main/java/com/hxkj/common/mapper/system/SystemRoleMapper.java index d0914869..57a23c25 100644 --- a/like-common/src/main/java/com/hxkj/common/mapper/system/SysRoleMapper.java +++ b/like-common/src/main/java/com/hxkj/common/mapper/system/SystemRoleMapper.java @@ -1,12 +1,12 @@ package com.hxkj.common.mapper.system; import com.hxkj.common.basics.BaseMapper; -import com.hxkj.common.entity.system.SysRole; +import com.hxkj.common.entity.system.SystemRole; import org.apache.ibatis.annotations.Mapper; /** * 系统角色 */ @Mapper -public interface SysRoleMapper extends BaseMapper { +public interface SystemRoleMapper extends BaseMapper { } diff --git a/like-common/src/main/java/com/hxkj/common/mapper/system/SysRoleMenuMapper.java b/like-common/src/main/java/com/hxkj/common/mapper/system/SystemRoleMenuMapper.java similarity index 55% rename from like-common/src/main/java/com/hxkj/common/mapper/system/SysRoleMenuMapper.java rename to like-common/src/main/java/com/hxkj/common/mapper/system/SystemRoleMenuMapper.java index de6807f7..145d9204 100644 --- a/like-common/src/main/java/com/hxkj/common/mapper/system/SysRoleMenuMapper.java +++ b/like-common/src/main/java/com/hxkj/common/mapper/system/SystemRoleMenuMapper.java @@ -1,12 +1,12 @@ package com.hxkj.common.mapper.system; import com.hxkj.common.basics.BaseMapper; -import com.hxkj.common.entity.system.SysRoleMenu; +import com.hxkj.common.entity.system.SystemRoleMenu; import org.apache.ibatis.annotations.Mapper; /** * 角色菜单 */ @Mapper -public interface SysRoleMenuMapper extends BaseMapper { +public interface SystemRoleMenuMapper extends BaseMapper { } diff --git a/like-common/src/main/java/com/hxkj/common/utils/ConfigUtil.java b/like-common/src/main/java/com/hxkj/common/utils/ConfigUtil.java index 255b8c8c..efabdd14 100644 --- a/like-common/src/main/java/com/hxkj/common/utils/ConfigUtil.java +++ b/like-common/src/main/java/com/hxkj/common/utils/ConfigUtil.java @@ -1,7 +1,134 @@ package com.hxkj.common.utils; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.hxkj.common.entity.system.SystemConfig; +import com.hxkj.common.mapper.system.SystemConfigMapper; + +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; + /** * 数据库配置操作工具 */ public class ConfigUtil { + + /** + * 根据类型获取配置 + * + * @author fzr + * @param type 类型 + * @return Map + */ + public static Map get(String type) { + SystemConfigMapper model = SpringUtil.getBean(SystemConfigMapper.class); + + List configs = model.selectList( + new QueryWrapper() + .select("id", "type", "name", "value") + .eq("type", type)); + + Map map = new LinkedHashMap<>(); + for (SystemConfig config : configs) { + map.put(config.getName(), config.getValue()); + } + + return map; + } + + /** + * 根据类型和名称获取配置 + * + * @author fzr + * @param type 类型 + * @param name 名称 + * @return String + */ + public static String get(String type, String name) { + SystemConfigMapper model = SpringUtil.getBean(SystemConfigMapper.class); + + SystemConfig config = model.selectOne( + new QueryWrapper() + .select("id", "type", "name", "value") + .eq("type", type) + .eq("name", name)); + + return config.getValue(); + } + + /** + * 根据类型和名称获取配置 + * + * @author fzr + * @param type 类型 + * @param name 名称 + * @return String + */ + public static String get(String type, String name, String defaults) { + SystemConfigMapper model = SpringUtil.getBean(SystemConfigMapper.class); + + SystemConfig config = model.selectOne( + new QueryWrapper() + .select("id", "type", "name", "value") + .eq("type", type) + .eq("name", name)); + + if (config == null) { + return defaults; + } + + return config.getValue(); + } + + /** + * 根据类型和名称获取配置(JSON自定转Map) + * + * @author fzr + * @param type 类型 + * @param name 名称 + * @return String + */ + public static Map getMap(String type, String name) { + SystemConfigMapper model = SpringUtil.getBean(SystemConfigMapper.class); + + SystemConfig config = model.selectOne( + new QueryWrapper() + .select("id", "type", "name", "value") + .eq("type", type) + .eq("name", name)); + + return ToolsUtil.jsonToMap(config.getValue()); + } + + /** + * 设置配置的值 + * + * @author fzr + * @param type 类型 + * @param name 名称 + * @param val 值 + */ + public static void set(String type, String name, String val) { + SystemConfigMapper model = SpringUtil.getBean(SystemConfigMapper.class); + + SystemConfig config = model.selectOne( + new QueryWrapper() + .eq("type", type) + .eq("name", name)); + + if (config != null) { + config.setValue(val); + config.setUpdateTime(System.currentTimeMillis() / 1000); + model.updateById(config); + } else { + SystemConfig systemConfig = new SystemConfig(); + systemConfig.setType(type); + systemConfig.setName(name); + systemConfig.setValue(val); + systemConfig.setCreateTime(System.currentTimeMillis() / 1000); + systemConfig.setUpdateTime(System.currentTimeMillis() / 1000); + model.insert(systemConfig); + } + } + }