From 85e6fa7654adef9b972346dd895d3b408122be29 Mon Sep 17 00:00:00 2001 From: Odboy Date: Sat, 21 Jun 2025 17:24:13 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E5=8E=BB=E9=99=A4=E7=BC=93?= =?UTF-8?q?=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/application-dev.yml | 7 +- .../system/SystemDeptController.java | 2 +- .../system/SystemDictController.java | 8 +- .../system/SystemDictDetailController.java | 6 +- .../system/SystemEmailController.java | 10 +- .../system/SystemJobController.java | 8 +- .../system/SystemLocalStorageController.java | 6 +- .../system/SystemMenuController.java | 34 ++- .../system/SystemMonitorController.java | 4 +- .../system/SystemQiniuController.java | 10 +- .../system/SystemQuartzJobController.java | 10 +- .../system/SystemRoleController.java | 14 +- .../system/SystemUserController.java | 29 ++- .../core/handler/UserDetailsHandler.java | 14 +- .../system/SystemCaptchaServiceImpl.java | 2 +- .../{ookkoko => }/SystemDataService.java | 2 +- .../{ookkoko => }/SystemDataServiceImpl.java | 54 ++--- .../{ookkoko => }/SystemDeptService.java | 4 +- .../{ookkoko => }/SystemDeptServiceImpl.java | 96 +++----- .../core/service/system/SystemDictApi.java | 27 --- .../service/system/SystemDictApiImpl.java | 30 --- .../service/system/SystemDictDetailApi.java | 27 --- .../system/SystemDictDetailApiImpl.java | 39 ---- .../system/SystemDictDetailService.java | 22 +- .../system/SystemDictDetailServiceImpl.java | 34 ++- .../service/system/SystemDictService.java | 22 +- .../service/system/SystemDictServiceImpl.java | 36 +-- .../core/service/system/SystemEmailApi.java | 13 -- .../service/system/SystemEmailApiImpl.java | 22 -- .../service/system/SystemEmailService.java | 8 + .../system/SystemEmailServiceImpl.java | 18 +- .../core/service/system/SystemJobApi.java | 45 ---- .../core/service/system/SystemJobApiImpl.java | 55 ----- .../core/service/system/SystemJobService.java | 36 ++- .../service/system/SystemJobServiceImpl.java | 53 +++-- .../service/system/SystemLocalStorageApi.java | 28 --- .../system/SystemLocalStorageApiImpl.java | 28 --- .../system/SystemLocalStorageService.java | 22 +- .../system/SystemLocalStorageServiceImpl.java | 16 +- .../core/service/system/SystemMenuApi.java | 78 ------- .../service/system/SystemMenuApiImpl.java | 205 ---------------- .../service/system/SystemMenuService.java | 68 ++++++ .../service/system/SystemMenuServiceImpl.java | 221 +++++++++++++++--- ...itorApi.java => SystemMonitorService.java} | 2 +- ...mpl.java => SystemMonitorServiceImpl.java} | 2 +- .../service/system/SystemQiniuConfigApi.java | 13 -- .../system/SystemQiniuConfigApiImpl.java | 22 -- .../system/SystemQiniuConfigService.java | 7 + .../system/SystemQiniuConfigServiceImpl.java | 14 +- .../service/system/SystemQiniuContentApi.java | 28 --- .../system/SystemQiniuContentApiImpl.java | 30 --- .../system/SystemQiniuContentService.java | 19 ++ .../system/SystemQiniuContentServiceImpl.java | 36 ++- .../service/system/SystemQuartzJobApi.java | 45 ---- .../system/SystemQuartzJobApiImpl.java | 41 ---- .../system/SystemQuartzJobService.java | 37 +++ .../system/SystemQuartzJobServiceImpl.java | 29 ++- .../core/service/system/SystemRoleApi.java | 86 ------- .../service/system/SystemRoleApiImpl.java | 121 ---------- .../service/system/SystemRoleService.java | 75 ++++++ .../service/system/SystemRoleServiceImpl.java | 141 +++++++---- .../core/service/system/SystemUserApi.java | 45 ---- .../service/system/SystemUserApiImpl.java | 53 ----- .../service/system/SystemUserService.java | 37 +++ .../service/system/SystemUserServiceImpl.java | 133 ++++++----- 65 files changed, 995 insertions(+), 1494 deletions(-) rename cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/{ookkoko => }/SystemDataService.java (87%) rename cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/{ookkoko => }/SystemDataServiceImpl.java (56%) rename cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/{ookkoko => }/SystemDeptService.java (98%) rename cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/{ookkoko => }/SystemDeptServiceImpl.java (77%) delete mode 100644 cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemDictApi.java delete mode 100644 cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemDictApiImpl.java delete mode 100644 cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemDictDetailApi.java delete mode 100644 cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemDictDetailApiImpl.java delete mode 100644 cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemEmailApi.java delete mode 100644 cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemEmailApiImpl.java delete mode 100644 cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemJobApi.java delete mode 100644 cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemJobApiImpl.java delete mode 100644 cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemLocalStorageApi.java delete mode 100644 cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemLocalStorageApiImpl.java delete mode 100644 cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemMenuApi.java delete mode 100644 cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemMenuApiImpl.java rename cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/{SystemMonitorApi.java => SystemMonitorService.java} (84%) rename cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/{SystemMonitorApiImpl.java => SystemMonitorServiceImpl.java} (99%) delete mode 100644 cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQiniuConfigApi.java delete mode 100644 cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQiniuConfigApiImpl.java delete mode 100644 cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQiniuContentApi.java delete mode 100644 cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQiniuContentApiImpl.java delete mode 100644 cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQuartzJobApi.java delete mode 100644 cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQuartzJobApiImpl.java delete mode 100644 cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemRoleApi.java delete mode 100644 cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemRoleApiImpl.java delete mode 100644 cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemUserApi.java delete mode 100644 cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemUserApiImpl.java diff --git a/cutejava/cutejava-starter/src/main/resources/application-dev.yml b/cutejava/cutejava-starter/src/main/resources/application-dev.yml index 7152cf17..a4643c20 100644 --- a/cutejava/cutejava-starter/src/main/resources/application-dev.yml +++ b/cutejava/cutejava-starter/src/main/resources/application-dev.yml @@ -232,10 +232,9 @@ app: qiniu: # 文件大小 /M max-size: 15 - email: - captchaSetting: - # 邮箱验证码有效时间/秒 - expiration: 300 + captcha: + # 验证码有效时间/秒 + expireTime: 300 ## 启用debug #debug: true #logging: diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemDeptController.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemDeptController.java index c16660ea..4f66d8f5 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemDeptController.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemDeptController.java @@ -2,7 +2,7 @@ package cn.odboy.core.controller.system; import cn.odboy.base.CsResultVo; import cn.odboy.core.dal.dataobject.system.SystemDeptTb; -import cn.odboy.core.service.system.ookkoko.SystemDeptService; +import cn.odboy.core.service.system.SystemDeptService; import cn.odboy.core.dal.model.system.CreateSystemDeptArgs; import cn.odboy.core.dal.model.system.QuerySystemDeptArgs; import cn.odboy.util.PageUtil; diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemDictController.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemDictController.java index fc220087..0fb7d169 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemDictController.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemDictController.java @@ -1,7 +1,6 @@ package cn.odboy.core.controller.system; import cn.odboy.base.CsResultVo; -import cn.odboy.core.service.system.SystemDictApi; import cn.odboy.core.dal.dataobject.system.SystemDictTb; import cn.odboy.core.service.system.SystemDictService; import cn.odboy.core.dal.model.system.CreateSystemDictArgs; @@ -26,21 +25,20 @@ import java.util.Set; @Api(tags = "系统:字典管理") @RequestMapping("/api/dict") public class SystemDictController { - private final SystemDictApi systemDictApi; private final SystemDictService systemDictService; @ApiOperation("导出字典数据") @GetMapping(value = "/download") @PreAuthorize("@el.check('dict:list')") public void exportDict(HttpServletResponse response, QuerySystemDictArgs criteria) throws IOException { - systemDictService.downloadDictExcel(systemDictApi.describeDictList(criteria), response); + systemDictService.downloadDictExcel(systemDictService.describeDictList(criteria), response); } @ApiOperation("查询字典") @PostMapping(value = "/queryAllDict") @PreAuthorize("@el.check('dict:list')") public ResponseEntity> queryAllDict() { - return new ResponseEntity<>(systemDictApi.describeDictList(new QuerySystemDictArgs()), HttpStatus.OK); + return new ResponseEntity<>(systemDictService.describeDictList(new QuerySystemDictArgs()), HttpStatus.OK); } @ApiOperation("查询字典") @@ -48,7 +46,7 @@ public class SystemDictController { @PreAuthorize("@el.check('dict:list')") public ResponseEntity>> queryDict(QuerySystemDictArgs criteria) { Page page = new Page<>(criteria.getPage(), criteria.getSize()); - return new ResponseEntity<>(systemDictApi.describeDictPage(criteria, page), HttpStatus.OK); + return new ResponseEntity<>(systemDictService.describeDictPage(criteria, page), HttpStatus.OK); } @ApiOperation("新增字典") diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemDictDetailController.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemDictDetailController.java index 24d9d4b7..1057a2b6 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemDictDetailController.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemDictDetailController.java @@ -1,7 +1,6 @@ package cn.odboy.core.controller.system; import cn.odboy.base.CsResultVo; -import cn.odboy.core.service.system.SystemDictDetailApi; import cn.odboy.core.dal.dataobject.system.SystemDictDetailTb; import cn.odboy.core.service.system.SystemDictDetailService; import cn.odboy.core.dal.model.system.CreateSystemDictDetailArgs; @@ -26,13 +25,12 @@ import java.util.Map; @RequestMapping("/api/dictDetail") public class SystemDictDetailController { private final SystemDictDetailService systemDictDetailService; - private final SystemDictDetailApi systemDictDetailApi; @ApiOperation("查询字典详情") @GetMapping public ResponseEntity>> queryDictDetailListByArgs(QuerySystemDictDetailArgs criteria) { Page page = new Page<>(criteria.getPage(), criteria.getSize()); - return new ResponseEntity<>(systemDictDetailApi.queryDictDetailListByArgs(criteria, page), HttpStatus.OK); + return new ResponseEntity<>(systemDictDetailService.queryDictDetailListByArgs(criteria, page), HttpStatus.OK); } @ApiOperation("查询多个字典详情") @@ -41,7 +39,7 @@ public class SystemDictDetailController { String[] names = dictName.split("[,,]"); Map> dictMap = new HashMap<>(16); for (String name : names) { - dictMap.put(name, systemDictDetailApi.describeDictDetailListByName(name)); + dictMap.put(name, systemDictDetailService.describeDictDetailListByName(name)); } return new ResponseEntity<>(dictMap, HttpStatus.OK); } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemEmailController.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemEmailController.java index e0fc51f9..8e3c49ff 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemEmailController.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemEmailController.java @@ -1,7 +1,6 @@ package cn.odboy.core.controller.system; import cn.odboy.core.dal.dataobject.system.SystemEmailConfigTb; -import cn.odboy.core.service.system.SystemEmailApi; import cn.odboy.core.service.system.SystemEmailService; import cn.odboy.core.dal.model.system.SendSystemEmailArgs; import io.swagger.annotations.Api; @@ -23,26 +22,25 @@ import org.springframework.web.bind.annotation.RestController; @RequestMapping("api/email") @Api(tags = "工具:邮件管理") public class SystemEmailController { - private final SystemEmailApi emailApi; - private final SystemEmailService emailService; + private final SystemEmailService systemEmailService; @ApiOperation("查询配置") @PostMapping(value = "/describeEmailConfig") public ResponseEntity describeEmailConfig() { - return new ResponseEntity<>(emailApi.describeEmailConfig(), HttpStatus.OK); + return new ResponseEntity<>(systemEmailService.describeEmailConfig(), HttpStatus.OK); } @ApiOperation("配置邮件") @PostMapping(value = "/modifyEmailConfig") public ResponseEntity modifyEmailConfig(@Validated @RequestBody SystemEmailConfigTb emailConfig) throws Exception { - emailService.modifyEmailConfigOnPassChange(emailConfig); + systemEmailService.modifyEmailConfigOnPassChange(emailConfig); return new ResponseEntity<>(HttpStatus.OK); } @ApiOperation("发送邮件") @PostMapping(value = "/sendEmail") public ResponseEntity sendEmail(@Validated @RequestBody SendSystemEmailArgs sendEmailRequest) { - emailService.sendEmail(sendEmailRequest); + systemEmailService.sendEmail(sendEmailRequest); return new ResponseEntity<>(HttpStatus.OK); } } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemJobController.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemJobController.java index 420cd77f..ecf69120 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemJobController.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemJobController.java @@ -1,7 +1,6 @@ package cn.odboy.core.controller.system; import cn.odboy.base.CsResultVo; -import cn.odboy.core.service.system.SystemJobApi; import cn.odboy.core.dal.dataobject.system.SystemJobTb; import cn.odboy.core.service.system.SystemJobService; import cn.odboy.core.dal.model.system.CreateSystemJobArgs; @@ -27,14 +26,13 @@ import java.util.Set; @Api(tags = "系统:岗位管理") @RequestMapping("/api/job") public class SystemJobController { - private final SystemJobApi systemJobApi; private final SystemJobService systemJobService; @ApiOperation("导出岗位数据") @GetMapping(value = "/download") @PreAuthorize("@el.check('job:list')") public void exportJob(HttpServletResponse response, QuerySystemJobArgs criteria) throws IOException { - systemJobService.downloadJobExcel(systemJobApi.describeJobList(criteria), response); + systemJobService.downloadJobExcel(systemJobService.describeJobList(criteria), response); } @ApiOperation("查询岗位") @@ -42,7 +40,7 @@ public class SystemJobController { @PreAuthorize("@el.check('job:list','user:list')") public ResponseEntity>> queryJob(QuerySystemJobArgs criteria) { Page page = new Page<>(criteria.getPage(), criteria.getSize()); - return new ResponseEntity<>(systemJobApi.describeJobPage(criteria, page), HttpStatus.OK); + return new ResponseEntity<>(systemJobService.describeJobPage(criteria, page), HttpStatus.OK); } @ApiOperation("新增岗位") @@ -66,7 +64,7 @@ public class SystemJobController { @PreAuthorize("@el.check('job:del')") public ResponseEntity removeJobByIds(@RequestBody Set ids) { // 验证是否被用户关联 - systemJobApi.verifyBindRelationByIds(ids); + systemJobService.verifyBindRelationByIds(ids); systemJobService.removeJobByIds(ids); return new ResponseEntity<>(HttpStatus.OK); } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemLocalStorageController.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemLocalStorageController.java index b3397e11..abb7bc90 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemLocalStorageController.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemLocalStorageController.java @@ -3,7 +3,6 @@ package cn.odboy.core.controller.system; import cn.odboy.base.CsResultVo; import cn.odboy.constant.FileTypeEnum; import cn.odboy.core.dal.dataobject.system.SystemLocalStorageTb; -import cn.odboy.core.service.system.SystemLocalStorageApi; import cn.odboy.core.service.system.SystemLocalStorageService; import cn.odboy.core.dal.model.system.QuerySystemLocalStorageArgs; import cn.odboy.exception.BadRequestException; @@ -29,21 +28,20 @@ import java.util.List; @RequestMapping("/api/localStorage") public class SystemLocalStorageController { private final SystemLocalStorageService localStorageService; - private final SystemLocalStorageApi localStorageApi; @ApiOperation("查询文件") @GetMapping @PreAuthorize("@el.check('storage:list')") public ResponseEntity>> queryFile(QuerySystemLocalStorageArgs criteria) { Page page = new Page<>(criteria.getPage(), criteria.getSize()); - return new ResponseEntity<>(localStorageApi.describeLocalStoragePage(criteria, page), HttpStatus.OK); + return new ResponseEntity<>(localStorageService.describeLocalStoragePage(criteria, page), HttpStatus.OK); } @ApiOperation("导出数据") @GetMapping(value = "/download") @PreAuthorize("@el.check('storage:list')") public void exportFile(HttpServletResponse response, QuerySystemLocalStorageArgs criteria) throws IOException { - localStorageService.downloadExcel(localStorageApi.describeLocalStorageList(criteria), response); + localStorageService.downloadExcel(localStorageService.describeLocalStorageList(criteria), response); } @ApiOperation("上传文件") diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemMenuController.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemMenuController.java index 0c9ff4db..d63223ad 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemMenuController.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemMenuController.java @@ -2,7 +2,6 @@ package cn.odboy.core.controller.system; import cn.hutool.core.collection.CollectionUtil; import cn.odboy.base.CsResultVo; -import cn.odboy.core.service.system.SystemMenuApi; import cn.odboy.core.dal.dataobject.system.SystemMenuTb; import cn.odboy.core.dal.model.system.SystemMenuVo; import cn.odboy.core.framework.permission.core.SecurityHelper; @@ -30,29 +29,28 @@ import java.util.stream.Collectors; @RequestMapping("/api/menus") public class SystemMenuController { private static final String ENTITY_NAME = "menu"; - private final SystemMenuApi systemMenuApi; private final SystemMenuService systemMenuService; @ApiOperation("导出菜单数据") @GetMapping(value = "/download") @PreAuthorize("@el.check('menu:list')") public void exportMenu(HttpServletResponse response, QuerySystemMenuArgs criteria) throws Exception { - systemMenuService.downloadMenuExcel(systemMenuApi.describeMenuList(criteria, false), response); + systemMenuService.downloadMenuExcel(systemMenuService.describeMenuList(criteria, false), response); } @PostMapping(value = "/buildMenus") @ApiOperation("获取前端所需菜单") public ResponseEntity> buildMenus() { - List menuList = systemMenuApi.describeMenuListByUserId(SecurityHelper.getCurrentUserId()); - List menus = systemMenuApi.buildMenuTree(menuList); - return new ResponseEntity<>(systemMenuApi.buildMenuVo(menus), HttpStatus.OK); + List menuList = systemMenuService.describeMenuListByUserId(SecurityHelper.getCurrentUserId()); + List menus = systemMenuService.buildMenuTree(menuList); + return new ResponseEntity<>(systemMenuService.buildMenuVo(menus), HttpStatus.OK); } @ApiOperation("返回全部的菜单") @PostMapping(value = "/describeMenuListByPid") @PreAuthorize("@el.check('menu:list','roles:list')") public ResponseEntity> describeMenuListByPid(@RequestParam Long pid) { - return new ResponseEntity<>(systemMenuApi.describeMenuListByPid(pid), HttpStatus.OK); + return new ResponseEntity<>(systemMenuService.describeMenuListByPid(pid), HttpStatus.OK); } @ApiOperation("根据菜单ID返回所有子节点ID,包含自身ID") @@ -60,9 +58,9 @@ public class SystemMenuController { @PreAuthorize("@el.check('menu:list','roles:list')") public ResponseEntity describeChildMenuSet(@RequestParam Long id) { Set menuSet = new HashSet<>(); - List menuList = systemMenuApi.describeMenuListByPid(id); - menuSet.add(systemMenuApi.describeMenuById(id)); - menuSet = systemMenuApi.describeChildMenuSet(menuList, menuSet); + List menuList = systemMenuService.describeMenuListByPid(id); + menuSet.add(systemMenuService.describeMenuById(id)); + menuSet = systemMenuService.describeChildMenuSet(menuList, menuSet); Set ids = menuSet.stream().map(SystemMenuTb::getId).collect(Collectors.toSet()); return new ResponseEntity<>(ids, HttpStatus.OK); } @@ -71,7 +69,7 @@ public class SystemMenuController { @ApiOperation("查询菜单") @PreAuthorize("@el.check('menu:list')") public ResponseEntity>> queryMenu(QuerySystemMenuArgs criteria) throws Exception { - List menuList = systemMenuApi.describeMenuList(criteria, true); + List menuList = systemMenuService.describeMenuList(criteria, true); return new ResponseEntity<>(PageUtil.toPage(menuList), HttpStatus.OK); } @@ -82,8 +80,8 @@ public class SystemMenuController { Set menus = new LinkedHashSet<>(); if (CollectionUtil.isNotEmpty(ids)) { for (Long id : ids) { - SystemMenuTb menu = systemMenuApi.describeMenuById(id); - List menuList = systemMenuApi.describeSuperiorMenuList(menu, new ArrayList<>()); + SystemMenuTb menu = systemMenuService.describeMenuById(id); + List menuList = systemMenuService.describeSuperiorMenuList(menu, new ArrayList<>()); for (SystemMenuTb data : menuList) { if (data.getId().equals(menu.getPid())) { data.setSubCount(data.getSubCount() - 1); @@ -93,9 +91,9 @@ public class SystemMenuController { } // 编辑菜单时不显示自己以及自己下级的数据,避免出现PID数据环形问题 menus = menus.stream().filter(i -> !ids.contains(i.getId())).collect(Collectors.toSet()); - return new ResponseEntity<>(systemMenuApi.buildMenuTree(new ArrayList<>(menus)), HttpStatus.OK); + return new ResponseEntity<>(systemMenuService.buildMenuTree(new ArrayList<>(menus)), HttpStatus.OK); } - return new ResponseEntity<>(systemMenuApi.describeMenuListByPid(null), HttpStatus.OK); + return new ResponseEntity<>(systemMenuService.describeMenuListByPid(null), HttpStatus.OK); } @ApiOperation("新增菜单") @@ -123,9 +121,9 @@ public class SystemMenuController { public ResponseEntity removeMenuByIds(@RequestBody Set ids) { Set menuSet = new HashSet<>(); for (Long id : ids) { - List menuList = systemMenuApi.describeMenuListByPid(id); - menuSet.add(systemMenuApi.describeMenuById(id)); - menuSet = systemMenuApi.describeChildMenuSet(menuList, menuSet); + List menuList = systemMenuService.describeMenuListByPid(id); + menuSet.add(systemMenuService.describeMenuById(id)); + menuSet = systemMenuService.describeChildMenuSet(menuList, menuSet); } systemMenuService.removeMenuByIds(menuSet); return new ResponseEntity<>(HttpStatus.OK); diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemMonitorController.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemMonitorController.java index b70a5558..6931ff69 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemMonitorController.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemMonitorController.java @@ -1,6 +1,6 @@ package cn.odboy.core.controller.system; -import cn.odboy.core.service.system.SystemMonitorApi; +import cn.odboy.core.service.system.SystemMonitorService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; @@ -17,7 +17,7 @@ import org.springframework.web.bind.annotation.RestController; @RequestMapping("/api/monitor") public class SystemMonitorController { - private final SystemMonitorApi serverService; + private final SystemMonitorService serverService; @PostMapping(value = "/describeServerMonitorInfo") @ApiOperation("查询服务监控") diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemQiniuController.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemQiniuController.java index 1eec9975..b658e40c 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemQiniuController.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemQiniuController.java @@ -3,9 +3,7 @@ package cn.odboy.core.controller.system; import cn.odboy.base.CsResultVo; import cn.odboy.core.dal.dataobject.system.SystemQiniuConfigTb; import cn.odboy.core.dal.dataobject.system.SystemQiniuContentTb; -import cn.odboy.core.service.system.SystemQiniuConfigApi; import cn.odboy.core.service.system.SystemQiniuConfigService; -import cn.odboy.core.service.system.SystemQiniuContentApi; import cn.odboy.core.service.system.SystemQiniuContentService; import cn.odboy.core.dal.model.system.QuerySystemQiniuArgs; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -36,13 +34,11 @@ import java.util.Map; public class SystemQiniuController { private final SystemQiniuContentService qiniuContentService; private final SystemQiniuConfigService qiNiuConfigService; - private final SystemQiniuConfigApi qiniuConfigApi; - private final SystemQiniuContentApi qiniuContentApi; @ApiOperation("查询七牛云存储配置") @PostMapping(value = "/describeQiniuConfig") public ResponseEntity describeQiniuConfig() { - return new ResponseEntity<>(qiniuConfigApi.describeQiniuConfig(), HttpStatus.OK); + return new ResponseEntity<>(qiNiuConfigService.describeQiniuConfig(), HttpStatus.OK); } @ApiOperation("配置七牛云存储") @@ -56,14 +52,14 @@ public class SystemQiniuController { @ApiOperation("导出数据") @GetMapping(value = "/download") public void exportQiNiu(HttpServletResponse response, QuerySystemQiniuArgs criteria) throws IOException { - qiniuContentService.downloadExcel(qiniuContentApi.describeQiniuContentList(criteria), response); + qiniuContentService.downloadExcel(qiniuContentService.describeQiniuContentList(criteria), response); } @ApiOperation("查询文件") @GetMapping public ResponseEntity>> queryQiNiu(QuerySystemQiniuArgs criteria) { Page page = new Page<>(criteria.getPage(), criteria.getSize()); - return new ResponseEntity<>(qiniuContentApi.describeQiniuContentPage(criteria, page), HttpStatus.OK); + return new ResponseEntity<>(qiniuContentService.describeQiniuContentPage(criteria, page), HttpStatus.OK); } @ApiOperation("上传文件") diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemQuartzJobController.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemQuartzJobController.java index c22c6bda..2c101013 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemQuartzJobController.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemQuartzJobController.java @@ -4,7 +4,6 @@ import cn.odboy.base.CsResultVo; import cn.odboy.context.SpringBeanHolder; import cn.odboy.core.dal.dataobject.system.SystemQuartzJobTb; import cn.odboy.core.dal.dataobject.system.SystemQuartzLogTb; -import cn.odboy.core.service.system.SystemQuartzJobApi; import cn.odboy.core.service.system.SystemQuartzJobService; import cn.odboy.core.dal.model.system.QuerySystemQuartzJobArgs; import cn.odboy.core.dal.model.system.UpdateSystemQuartzJobArgs; @@ -34,28 +33,27 @@ import java.util.Set; public class SystemQuartzJobController { private static final String ENTITY_NAME = "quartzJob"; private final SystemQuartzJobService systemQuartzJobService; - private final SystemQuartzJobApi systemQuartzJobApi; @ApiOperation("查询定时任务") @GetMapping @PreAuthorize("@el.check('timing:list')") public ResponseEntity>> queryQuartzJob(QuerySystemQuartzJobArgs criteria) { Page page = new Page<>(criteria.getPage(), criteria.getSize()); - return new ResponseEntity<>(systemQuartzJobApi.describeQuartzJobPage(criteria, page), HttpStatus.OK); + return new ResponseEntity<>(systemQuartzJobService.describeQuartzJobPage(criteria, page), HttpStatus.OK); } @ApiOperation("导出任务数据") @GetMapping(value = "/download") @PreAuthorize("@el.check('timing:list')") public void exportQuartzJob(HttpServletResponse response, QuerySystemQuartzJobArgs criteria) throws IOException { - systemQuartzJobService.downloadQuartzJobExcel(systemQuartzJobApi.describeQuartzJobList(criteria), response); + systemQuartzJobService.downloadQuartzJobExcel(systemQuartzJobService.describeQuartzJobList(criteria), response); } @ApiOperation("导出日志数据") @GetMapping(value = "/logs/download") @PreAuthorize("@el.check('timing:list')") public void exportQuartzJobLog(HttpServletResponse response, QuerySystemQuartzJobArgs criteria) throws IOException { - systemQuartzJobService.downloadQuartzLogExcel(systemQuartzJobApi.describeQuartzLogList(criteria), response); + systemQuartzJobService.downloadQuartzLogExcel(systemQuartzJobService.describeQuartzLogList(criteria), response); } @ApiOperation("查询任务执行日志") @@ -63,7 +61,7 @@ public class SystemQuartzJobController { @PreAuthorize("@el.check('timing:list')") public ResponseEntity>> queryQuartzJobLog(QuerySystemQuartzJobArgs criteria) { Page page = new Page<>(criteria.getPage(), criteria.getSize()); - return new ResponseEntity<>(systemQuartzJobApi.describeQuartzLogPage(criteria, page), HttpStatus.OK); + return new ResponseEntity<>(systemQuartzJobService.describeQuartzLogPage(criteria, page), HttpStatus.OK); } @ApiOperation("新增定时任务") diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemRoleController.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemRoleController.java index 9e282e50..3409891b 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemRoleController.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemRoleController.java @@ -2,7 +2,6 @@ package cn.odboy.core.controller.system; import cn.hutool.core.lang.Dict; import cn.odboy.base.CsResultVo; -import cn.odboy.core.service.system.SystemRoleApi; import cn.odboy.core.dal.dataobject.system.SystemRoleTb; import cn.odboy.core.framework.permission.core.SecurityHelper; import cn.odboy.core.service.system.SystemRoleService; @@ -32,28 +31,27 @@ import java.util.stream.Collectors; @Api(tags = "系统:角色管理") @RequestMapping("/api/roles") public class SystemRoleController { - private final SystemRoleApi systemRoleApi; private final SystemRoleService systemRoleService; @ApiOperation("获取单个role") @PostMapping(value = "/describeRoleById") @PreAuthorize("@el.check('roles:list')") public ResponseEntity describeRoleById(@RequestBody SystemRoleTb args) { - return new ResponseEntity<>(systemRoleApi.describeRoleById(args.getId()), HttpStatus.OK); + return new ResponseEntity<>(systemRoleService.describeRoleById(args.getId()), HttpStatus.OK); } @ApiOperation("导出角色数据") @GetMapping(value = "/download") @PreAuthorize("@el.check('role:list')") public void exportRole(HttpServletResponse response, QuerySystemRoleArgs criteria) throws IOException { - systemRoleService.downloadRoleExcel(systemRoleApi.describeRoleList(criteria), response); + systemRoleService.downloadRoleExcel(systemRoleService.describeRoleList(criteria), response); } @ApiOperation("返回全部的角色") @PostMapping(value = "/describeRoleList") @PreAuthorize("@el.check('roles:list','user:add','user:edit')") public ResponseEntity> describeRoleList() { - return new ResponseEntity<>(systemRoleApi.describeRoleList(), HttpStatus.OK); + return new ResponseEntity<>(systemRoleService.describeRoleList(), HttpStatus.OK); } @ApiOperation("查询角色") @@ -61,7 +59,7 @@ public class SystemRoleController { @PreAuthorize("@el.check('roles:list')") public ResponseEntity>> describeRolePage(QuerySystemRoleArgs criteria) { Page page = new Page<>(criteria.getPage(), criteria.getSize()); - return new ResponseEntity<>(systemRoleApi.describeRolePage(criteria, page), HttpStatus.OK); + return new ResponseEntity<>(systemRoleService.describeRolePage(criteria, page), HttpStatus.OK); } @ApiOperation("获取用户级别") @@ -107,7 +105,7 @@ public class SystemRoleController { checkRoleLevels(role.getLevel()); } // 验证是否被用户关联 - systemRoleApi.verifyBindRelationByIds(ids); + systemRoleService.verifyBindRelationByIds(ids); systemRoleService.removeRoleByIds(ids); return new ResponseEntity<>(HttpStatus.OK); } @@ -118,7 +116,7 @@ public class SystemRoleController { * @return / */ private int checkRoleLevels(Integer level) { - List levels = systemRoleApi.describeRoleListByUsersId(SecurityHelper.getCurrentUserId()).stream().map(SystemRoleTb::getLevel).collect(Collectors.toList()); + List levels = systemRoleService.describeRoleListByUsersId(SecurityHelper.getCurrentUserId()).stream().map(SystemRoleTb::getLevel).collect(Collectors.toList()); int min = Collections.min(levels); if (level != null) { if (level < min) { diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemUserController.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemUserController.java index 50ff4879..f2301649 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemUserController.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/controller/system/SystemUserController.java @@ -4,7 +4,7 @@ import cn.hutool.core.collection.CollectionUtil; import cn.odboy.base.CsResultVo; import cn.odboy.base.CsSelectOptionItemVo; import cn.odboy.core.service.system.*; -import cn.odboy.core.service.system.ookkoko.SystemDataService; +import cn.odboy.core.service.system.SystemDataService; import cn.odboy.core.constant.system.SystemCaptchaBizEnum; import cn.odboy.core.dal.dataobject.system.SystemDeptTb; import cn.odboy.core.dal.dataobject.system.SystemRoleTb; @@ -13,7 +13,7 @@ import cn.odboy.core.dal.model.system.UpdateSystemUserPasswordArgs; import cn.odboy.core.framework.permission.core.SecurityHelper; import cn.odboy.core.framework.properties.AppProperties; import cn.odboy.core.dal.model.system.QuerySystemUserArgs; -import cn.odboy.core.service.system.ookkoko.SystemDeptService; +import cn.odboy.core.service.system.SystemDeptService; import cn.odboy.exception.BadRequestException; import cn.odboy.util.PageUtil; import cn.odboy.util.RsaEncryptUtil; @@ -46,8 +46,7 @@ public class SystemUserController { private final SystemUserService systemUserService; private final SystemDataService systemDataService; private final SystemDeptService systemDeptService; - private final SystemRoleApi systemRoleApi; - private final SystemUserApi systemUserApi; + private final SystemRoleService systemRoleService; private final SystemCaptchaService verificationCodeService; private final AppProperties properties; @@ -55,7 +54,7 @@ public class SystemUserController { @GetMapping(value = "/download") @PreAuthorize("@el.check('user:list')") public void downloadUserExcel(HttpServletResponse response, QuerySystemUserArgs criteria) throws IOException { - systemUserService.downloadUserExcel(systemUserApi.describeUserList(criteria), response); + systemUserService.downloadUserExcel(systemUserService.describeUserList(criteria), response); } @ApiOperation("查询用户") @@ -71,18 +70,18 @@ public class SystemUserController { criteria.getDeptIds().addAll(systemDeptService.describeChildDeptIdListByDeptIds(data)); } // 数据权限 - List dataScopes = systemDataService.describeDeptIdListByUserIdWithDeptId(systemUserApi.describeUserByUsername(SecurityHelper.getCurrentUsername())); + List dataScopes = systemDataService.describeDeptIdListByUserIdWithDeptId(systemUserService.describeUserByUsername(SecurityHelper.getCurrentUsername())); // criteria.getDeptIds() 不为空并且数据权限不为空则取交集 if (!CollectionUtils.isEmpty(criteria.getDeptIds()) && !CollectionUtils.isEmpty(dataScopes)) { // 取交集 criteria.getDeptIds().retainAll(dataScopes); if (!CollectionUtil.isEmpty(criteria.getDeptIds())) { - return new ResponseEntity<>(systemUserApi.describeUserPage(criteria, page), HttpStatus.OK); + return new ResponseEntity<>(systemUserService.describeUserPage(criteria, page), HttpStatus.OK); } } else { // 否则取并集 criteria.getDeptIds().addAll(dataScopes); - return new ResponseEntity<>(systemUserApi.describeUserPage(criteria, page), HttpStatus.OK); + return new ResponseEntity<>(systemUserService.describeUserPage(criteria, page), HttpStatus.OK); } return new ResponseEntity<>(PageUtil.emptyData(), HttpStatus.OK); } @@ -122,10 +121,10 @@ public class SystemUserController { @PreAuthorize("@el.check('user:del')") public ResponseEntity removeUserByIds(@RequestBody Set ids) { for (Long id : ids) { - Integer currentLevel = Collections.min(systemRoleApi.describeRoleListByUsersId(SecurityHelper.getCurrentUserId()).stream().map(SystemRoleTb::getLevel).collect(Collectors.toList())); - Integer optLevel = Collections.min(systemRoleApi.describeRoleListByUsersId(id).stream().map(SystemRoleTb::getLevel).collect(Collectors.toList())); + Integer currentLevel = Collections.min(systemRoleService.describeRoleListByUsersId(SecurityHelper.getCurrentUserId()).stream().map(SystemRoleTb::getLevel).collect(Collectors.toList())); + Integer optLevel = Collections.min(systemRoleService.describeRoleListByUsersId(id).stream().map(SystemRoleTb::getLevel).collect(Collectors.toList())); if (currentLevel > optLevel) { - throw new BadRequestException("角色权限不足,不能删除:" + systemUserApi.describeUserById(id).getUsername()); + throw new BadRequestException("角色权限不足,不能删除:" + systemUserService.describeUserById(id).getUsername()); } } systemUserService.removeUserByIds(ids); @@ -137,7 +136,7 @@ public class SystemUserController { public ResponseEntity modifyUserPasswordByUsername(@RequestBody UpdateSystemUserPasswordArgs passVo) throws Exception { String oldPass = RsaEncryptUtil.decryptByPrivateKey(properties.getRsa().getPrivateKey(), passVo.getOldPass()); String newPass = RsaEncryptUtil.decryptByPrivateKey(properties.getRsa().getPrivateKey(), passVo.getNewPass()); - SystemUserTb user = systemUserApi.describeUserByUsername(SecurityHelper.getCurrentUsername()); + SystemUserTb user = systemUserService.describeUserByUsername(SecurityHelper.getCurrentUsername()); if (!passwordEncoder.matches(oldPass, user.getPassword())) { throw new BadRequestException("修改失败,旧密码错误"); } @@ -166,7 +165,7 @@ public class SystemUserController { @PostMapping(value = "/modifyUserEmailByUsername/{code}") public ResponseEntity modifyUserEmailByUsername(@PathVariable String code, @RequestBody SystemUserTb resources) throws Exception { String password = RsaEncryptUtil.decryptByPrivateKey(properties.getRsa().getPrivateKey(), resources.getPassword()); - SystemUserTb user = systemUserApi.describeUserByUsername(SecurityHelper.getCurrentUsername()); + SystemUserTb user = systemUserService.describeUserByUsername(SecurityHelper.getCurrentUsername()); if (!passwordEncoder.matches(password, user.getPassword())) { throw new BadRequestException("密码错误"); } @@ -181,8 +180,8 @@ public class SystemUserController { * @param resources / */ private void checkLevel(SystemUserTb resources) { - Integer currentLevel = Collections.min(systemRoleApi.describeRoleListByUsersId(SecurityHelper.getCurrentUserId()).stream().map(SystemRoleTb::getLevel).collect(Collectors.toList())); - Integer optLevel = systemRoleApi.describeDeptLevelByRoles(resources.getRoles()); + Integer currentLevel = Collections.min(systemRoleService.describeRoleListByUsersId(SecurityHelper.getCurrentUserId()).stream().map(SystemRoleTb::getLevel).collect(Collectors.toList())); + Integer optLevel = systemRoleService.describeDeptLevelByRoles(resources.getRoles()); if (currentLevel > optLevel) { throw new BadRequestException("角色权限不足"); } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/permission/core/handler/UserDetailsHandler.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/permission/core/handler/UserDetailsHandler.java index 1b354988..ea6243f0 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/permission/core/handler/UserDetailsHandler.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/framework/permission/core/handler/UserDetailsHandler.java @@ -5,9 +5,9 @@ import cn.odboy.core.dal.model.system.SystemUserJwtVo; import cn.odboy.core.dal.redis.system.SystemUserJwtApi; import cn.odboy.core.dal.redis.system.SystemUserJwtService; import cn.odboy.core.dal.dataobject.system.SystemUserTb; -import cn.odboy.core.service.system.ookkoko.SystemDataService; -import cn.odboy.core.service.system.SystemRoleApi; -import cn.odboy.core.service.system.SystemUserApi; +import cn.odboy.core.service.system.SystemDataService; +import cn.odboy.core.service.system.SystemRoleService; +import cn.odboy.core.service.system.SystemUserService; import cn.odboy.exception.BadRequestException; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -20,8 +20,8 @@ import java.util.List; @RequiredArgsConstructor @Service("userDetailsService") public class UserDetailsHandler implements UserDetailsService { - private final SystemRoleApi systemRoleApi; - private final SystemUserApi systemUserApi; + private final SystemRoleService systemRoleService; + private final SystemUserService systemUserService; private final SystemDataService systemDataService; private final SystemUserJwtService systemUserJwtService; private final SystemUserJwtApi systemUserJwtApi; @@ -30,7 +30,7 @@ public class UserDetailsHandler implements UserDetailsService { public SystemUserJwtVo loadUserByUsername(String username) { SystemUserJwtVo userJwtVo = systemUserJwtApi.describeUserJwtModelByUsername(username); if (userJwtVo == null) { - SystemUserTb user = systemUserApi.describeUserByUsername(username); + SystemUserTb user = systemUserService.describeUserByUsername(username); if (user == null) { throw new BadRequestException("用户不存在"); } else { @@ -38,7 +38,7 @@ public class UserDetailsHandler implements UserDetailsService { throw new BadRequestException("账号未激活!"); } // 获取用户的权限 - List authorities = systemRoleApi.buildUserRolePermissions(user); + List authorities = systemRoleService.buildUserRolePermissions(user); // 初始化JwtUserDto userJwtVo = new SystemUserJwtVo(user, systemDataService.describeDeptIdListByUserIdWithDeptId(user), authorities); // 添加缓存数据 diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemCaptchaServiceImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemCaptchaServiceImpl.java index e98ef0bf..38827a2e 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemCaptchaServiceImpl.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemCaptchaServiceImpl.java @@ -20,7 +20,7 @@ import java.util.Collections; @RequiredArgsConstructor public class SystemCaptchaServiceImpl implements SystemCaptchaService { private final RedisHelper redisHelper; - @Value("${app.email.captchaSetting.expiration}") + @Value("${app.captcha.expireTime}") private Long expiration; @Override diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/ookkoko/SystemDataService.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemDataService.java similarity index 87% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/ookkoko/SystemDataService.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemDataService.java index bd653c2a..5d19f2a9 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/ookkoko/SystemDataService.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemDataService.java @@ -1,4 +1,4 @@ -package cn.odboy.core.service.system.ookkoko; +package cn.odboy.core.service.system; import cn.odboy.core.dal.dataobject.system.SystemUserTb; diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/ookkoko/SystemDataServiceImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemDataServiceImpl.java similarity index 56% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/ookkoko/SystemDataServiceImpl.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemDataServiceImpl.java index 311ad5b6..786c2e74 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/ookkoko/SystemDataServiceImpl.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemDataServiceImpl.java @@ -1,18 +1,18 @@ -package cn.odboy.core.service.system.ookkoko; +package cn.odboy.core.service.system; import cn.hutool.core.collection.CollUtil; import cn.odboy.core.constant.system.SystemDataScopeEnum; -import cn.odboy.core.dal.redis.system.SystemRedisKey; import cn.odboy.core.dal.dataobject.system.SystemDeptTb; import cn.odboy.core.dal.dataobject.system.SystemRoleTb; import cn.odboy.core.dal.dataobject.system.SystemUserTb; -import cn.odboy.core.service.system.SystemRoleApi; -import cn.odboy.redis.RedisHelper; +import cn.odboy.core.dal.redis.system.SystemRedisKey; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; - -import java.util.*; -import java.util.concurrent.TimeUnit; +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Objects; +import java.util.Set; /** * 数据权限服务实现 @@ -20,8 +20,7 @@ import java.util.concurrent.TimeUnit; @Service @RequiredArgsConstructor public class SystemDataServiceImpl implements SystemDataService { - private final RedisHelper redisHelper; - private final SystemRoleApi systemRoleApi; + private final SystemRoleService systemRoleService; private final SystemDeptService systemDeptService; /** @@ -33,29 +32,24 @@ public class SystemDataServiceImpl implements SystemDataService { @Override public List describeDeptIdListByUserIdWithDeptId(SystemUserTb user) { String key = SystemRedisKey.DATA_USER + user.getId(); - List ids = redisHelper.getList(key, Long.class); - if (CollUtil.isEmpty(ids)) { - Set deptIds = new HashSet<>(); - // 查询用户角色 - List roleList = systemRoleApi.describeRoleListByUsersId(user.getId()); - // 获取对应的部门ID - for (SystemRoleTb role : roleList) { - SystemDataScopeEnum dataScopeEnum = SystemDataScopeEnum.find(role.getDataScope()); - switch (Objects.requireNonNull(dataScopeEnum)) { - case THIS_LEVEL: - deptIds.add(user.getDept().getId()); - break; - case CUSTOMIZE: - deptIds.addAll(getCustomize(deptIds, role)); - break; - default: - return new ArrayList<>(); - } + Set deptIds = new HashSet<>(); + // 查询用户角色 + List roleList = systemRoleService.describeRoleListByUsersId(user.getId()); + // 获取对应的部门ID + for (SystemRoleTb role : roleList) { + SystemDataScopeEnum dataScopeEnum = SystemDataScopeEnum.find(role.getDataScope()); + switch (Objects.requireNonNull(dataScopeEnum)) { + case THIS_LEVEL: + deptIds.add(user.getDept().getId()); + break; + case CUSTOMIZE: + deptIds.addAll(getCustomize(deptIds, role)); + break; + default: + return new ArrayList<>(); } - ids = new ArrayList<>(deptIds); - redisHelper.set(key, ids, 1, TimeUnit.DAYS); } - return ids; + return new ArrayList<>(deptIds); } /** diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/ookkoko/SystemDeptService.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemDeptService.java similarity index 98% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/ookkoko/SystemDeptService.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemDeptService.java index 7d6ec6ee..6ab12965 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/ookkoko/SystemDeptService.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemDeptService.java @@ -1,4 +1,4 @@ -package cn.odboy.core.service.system.ookkoko; +package cn.odboy.core.service.system; import cn.odboy.base.CsResultVo; import cn.odboy.core.dal.dataobject.system.SystemDeptTb; @@ -123,4 +123,4 @@ public interface SystemDeptService extends IService { * @param ids / */ Set traverseDeptByIdWithPids(Set ids); -} \ No newline at end of file +} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/ookkoko/SystemDeptServiceImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemDeptServiceImpl.java similarity index 77% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/ookkoko/SystemDeptServiceImpl.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemDeptServiceImpl.java index a581f9e5..7a901c95 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/ookkoko/SystemDeptServiceImpl.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemDeptServiceImpl.java @@ -1,4 +1,4 @@ -package cn.odboy.core.service.system.ookkoko; +package cn.odboy.core.service.system; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; @@ -6,17 +6,14 @@ import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.ObjectUtil; import cn.odboy.base.CsResultVo; import cn.odboy.core.constant.system.SystemDataScopeEnum; -import cn.odboy.core.dal.model.system.QuerySystemDeptArgs; -import cn.odboy.core.dal.mysql.system.SystemRoleMapper; -import cn.odboy.core.dal.redis.system.SystemRedisKey; import cn.odboy.core.dal.dataobject.system.SystemDeptTb; -import cn.odboy.core.dal.dataobject.system.SystemUserTb; -import cn.odboy.core.dal.mysql.system.SystemDeptMapper; -import cn.odboy.core.dal.mysql.system.SystemUserMapper; import cn.odboy.core.dal.model.system.CreateSystemDeptArgs; +import cn.odboy.core.dal.model.system.QuerySystemDeptArgs; +import cn.odboy.core.dal.mysql.system.SystemDeptMapper; +import cn.odboy.core.dal.mysql.system.SystemRoleMapper; +import cn.odboy.core.dal.mysql.system.SystemUserMapper; import cn.odboy.core.framework.permission.core.SecurityHelper; import cn.odboy.exception.BadRequestException; -import cn.odboy.redis.RedisHelper; import cn.odboy.util.ClassUtil; import cn.odboy.util.FileUtil; import cn.odboy.util.StringUtil; @@ -24,21 +21,24 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; - import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.lang.reflect.Field; -import java.util.*; -import java.util.concurrent.TimeUnit; +import java.util.ArrayList; +import java.util.HashSet; +import java.util.LinkedHashMap; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; import java.util.stream.Collectors; @Service @RequiredArgsConstructor public class SystemDeptServiceImpl extends ServiceImpl implements SystemDeptService { - private final SystemDeptMapper deptMapper; - private final SystemUserMapper userMapper; - private final RedisHelper redisHelper; - private final SystemRoleMapper roleMapper; + private final SystemDeptMapper systemDeptMapper; + private final SystemUserMapper systemUserMapper; + private final SystemRoleMapper systemRoleMapper; @Override @@ -47,8 +47,6 @@ public class SystemDeptServiceImpl extends ServiceImpl deptSet) { for (SystemDeptTb dept : deptSet) { - // 清理缓存 - delCaches(dept.getId()); - deptMapper.deleteById(dept.getId()); + systemDeptMapper.deleteById(dept.getId()); updateSubCnt(dept.getPid()); } } @@ -97,24 +91,11 @@ public class SystemDeptServiceImpl extends ServiceImpl users = userMapper.queryUserListByDeptId(id); - // 删除数据权限 - redisHelper.delByKeys(SystemRedisKey.DATA_USER, users.stream().map(SystemUserTb::getId).collect(Collectors.toSet())); - redisHelper.del(SystemRedisKey.DEPT_ID + id); - } - /** * 筛选出 list 中没有父部门(即 pid 不在其他部门 id 列表中的部门)的部门列表 */ @@ -158,7 +139,7 @@ public class SystemDeptServiceImpl extends ServiceImpl list = deptMapper.queryDeptListByArgs(criteria); + List list = systemDeptMapper.queryDeptListByArgs(criteria); // 如果为空,就代表为自定义权限或者本级权限,就需要去重,不理解可以注释掉,看查询结果 if (StringUtil.isBlank(dataScopeType)) { return deduplication(list); @@ -168,30 +149,24 @@ public class SystemDeptServiceImpl extends ServiceImpl describeDeptListByPid(long pid) { - return deptMapper.queryDeptListByPid(pid); + return systemDeptMapper.queryDeptListByPid(pid); } @Override public Set describeDeptByRoleId(Long id) { - return deptMapper.queryDeptSetByRoleId(id); + return systemDeptMapper.queryDeptSetByRoleId(id); } @Override public Set describeRelationDeptSet(List menuList, Set deptSet) { for (SystemDeptTb dept : menuList) { deptSet.add(dept); - List deptList = deptMapper.queryDeptListByPid(dept.getId()); + List deptList = systemDeptMapper.queryDeptListByPid(dept.getId()); if (CollUtil.isNotEmpty(deptList)) { describeRelationDeptSet(deptList, deptSet); } @@ -202,26 +177,25 @@ public class SystemDeptServiceImpl extends ServiceImpl describeChildDeptIdListByDeptIds(List deptList) { List list = new ArrayList<>(); - deptList.forEach(dept -> { - if (dept != null && dept.getEnabled()) { - List deptList1 = deptMapper.queryDeptListByPid(dept.getId()); - if (CollUtil.isNotEmpty(deptList1)) { - list.addAll(describeChildDeptIdListByDeptIds(deptList1)); - } - list.add(dept.getId()); - } + for (SystemDeptTb systemDeptTb : deptList) { + if (systemDeptTb != null && systemDeptTb.getEnabled()) { + List deptList1 = systemDeptMapper.queryDeptListByPid(systemDeptTb.getId()); + if (CollUtil.isNotEmpty(deptList1)) { + list.addAll(describeChildDeptIdListByDeptIds(deptList1)); } - ); + list.add(systemDeptTb.getId()); + } + } return list; } @Override public List describeSuperiorDeptListByPid(SystemDeptTb dept, List deptList) { if (dept.getPid() == null) { - deptList.addAll(deptMapper.queryDeptListByPidIsNull()); + deptList.addAll(systemDeptMapper.queryDeptListByPidIsNull()); return deptList; } - deptList.addAll(deptMapper.queryDeptListByPid(dept.getPid())); + deptList.addAll(systemDeptMapper.queryDeptListByPid(dept.getPid())); return describeSuperiorDeptListByPid(describeDeptById(dept.getPid()), deptList); } @@ -263,10 +237,10 @@ public class SystemDeptServiceImpl extends ServiceImpl deptSet) { Set deptIds = deptSet.stream().map(SystemDeptTb::getId).collect(Collectors.toSet()); - if (userMapper.getUserCountByDeptIds(deptIds) > 0) { + if (systemUserMapper.getUserCountByDeptIds(deptIds) > 0) { throw new BadRequestException("所选部门存在用户关联,请解除后再试!"); } - if (roleMapper.getRoleCountByDeptIds(deptIds) > 0) { + if (systemRoleMapper.getRoleCountByDeptIds(deptIds) > 0) { throw new BadRequestException("所选部门存在角色关联,请解除后再试!"); } } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemDictApi.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemDictApi.java deleted file mode 100644 index dd1b79d6..00000000 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemDictApi.java +++ /dev/null @@ -1,27 +0,0 @@ -package cn.odboy.core.service.system; - -import cn.odboy.base.CsResultVo; -import cn.odboy.core.dal.dataobject.system.SystemDictTb; -import cn.odboy.core.dal.model.system.QuerySystemDictArgs; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; - -import java.util.List; - -public interface SystemDictApi { - /** - * 分页查询 - * - * @param criteria 条件 - * @param page 分页参数 - * @return / - */ - CsResultVo> describeDictPage(QuerySystemDictArgs criteria, Page page); - - /** - * 查询全部数据 - * - * @param criteria / - * @return / - */ - List describeDictList(QuerySystemDictArgs criteria); -} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemDictApiImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemDictApiImpl.java deleted file mode 100644 index 11e5f177..00000000 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemDictApiImpl.java +++ /dev/null @@ -1,30 +0,0 @@ -package cn.odboy.core.service.system; - -import cn.odboy.base.CsResultVo; -import cn.odboy.core.dal.dataobject.system.SystemDictTb; -import cn.odboy.core.dal.mysql.system.SystemDictMapper; -import cn.odboy.core.dal.model.system.QuerySystemDictArgs; -import cn.odboy.util.PageUtil; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Service; - -import java.util.List; - -@Service -@RequiredArgsConstructor -public class SystemDictApiImpl implements SystemDictApi { - private final SystemDictMapper dictMapper; - - @Override - public CsResultVo> describeDictPage(QuerySystemDictArgs criteria, Page page) { - IPage dicts = dictMapper.queryDictPageByArgs(criteria, page); - return PageUtil.toPage(dicts); - } - - @Override - public List describeDictList(QuerySystemDictArgs criteria) { - return dictMapper.queryDictPageByArgs(criteria, PageUtil.getCount(dictMapper)).getRecords(); - } -} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemDictDetailApi.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemDictDetailApi.java deleted file mode 100644 index 2d8d0e0e..00000000 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemDictDetailApi.java +++ /dev/null @@ -1,27 +0,0 @@ -package cn.odboy.core.service.system; - -import cn.odboy.base.CsResultVo; -import cn.odboy.core.dal.dataobject.system.SystemDictDetailTb; -import cn.odboy.core.dal.model.system.QuerySystemDictDetailArgs; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; - -import java.util.List; - -public interface SystemDictDetailApi { - /** - * 分页查询 - * - * @param criteria 条件 - * @param page 分页参数 - * @return / - */ - CsResultVo> queryDictDetailListByArgs(QuerySystemDictDetailArgs criteria, Page page); - - /** - * 根据字典名称获取字典详情 - * - * @param name 字典名称 - * @return / - */ - List describeDictDetailListByName(String name); -} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemDictDetailApiImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemDictDetailApiImpl.java deleted file mode 100644 index 9054a9ad..00000000 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemDictDetailApiImpl.java +++ /dev/null @@ -1,39 +0,0 @@ -package cn.odboy.core.service.system; - -import cn.hutool.core.collection.CollUtil; -import cn.odboy.base.CsResultVo; -import cn.odboy.core.dal.redis.system.SystemRedisKey; -import cn.odboy.core.dal.dataobject.system.SystemDictDetailTb; -import cn.odboy.core.dal.mysql.system.SystemDictDetailMapper; -import cn.odboy.core.dal.model.system.QuerySystemDictDetailArgs; -import cn.odboy.redis.RedisHelper; -import cn.odboy.util.PageUtil; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Service; - -import java.util.List; -import java.util.concurrent.TimeUnit; - -@Service -@RequiredArgsConstructor -public class SystemDictDetailApiImpl implements SystemDictDetailApi { - private final SystemDictDetailMapper dictDetailMapper; - private final RedisHelper redisHelper; - - @Override - public CsResultVo> queryDictDetailListByArgs(QuerySystemDictDetailArgs criteria, Page page) { - return PageUtil.toPage(dictDetailMapper.queryDictDetailListByArgs(criteria, page)); - } - - @Override - public List describeDictDetailListByName(String name) { - String key = SystemRedisKey.DICT_NAME + name; - List dictDetails = redisHelper.getList(key, SystemDictDetailTb.class); - if (CollUtil.isEmpty(dictDetails)) { - dictDetails = dictDetailMapper.queryDictDetailListByDictName(name); - redisHelper.set(key, dictDetails, 1, TimeUnit.DAYS); - } - return dictDetails; - } -} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemDictDetailService.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemDictDetailService.java index 3f3a377b..776b62cc 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemDictDetailService.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemDictDetailService.java @@ -1,8 +1,12 @@ package cn.odboy.core.service.system; +import cn.odboy.base.CsResultVo; import cn.odboy.core.dal.dataobject.system.SystemDictDetailTb; import cn.odboy.core.dal.model.system.CreateSystemDictDetailArgs; +import cn.odboy.core.dal.model.system.QuerySystemDictDetailArgs; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; public interface SystemDictDetailService extends IService { @@ -27,4 +31,20 @@ public interface SystemDictDetailService extends IService { * @param id / */ void removeDictDetailById(Long id); -} \ No newline at end of file + /** + * 分页查询 + * + * @param criteria 条件 + * @param page 分页参数 + * @return / + */ + CsResultVo> queryDictDetailListByArgs(QuerySystemDictDetailArgs criteria, Page page); + + /** + * 根据字典名称获取字典详情 + * + * @param name 字典名称 + * @return / + */ + List describeDictDetailListByName(String name); +} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemDictDetailServiceImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemDictDetailServiceImpl.java index 3b77ffd5..6174637b 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemDictDetailServiceImpl.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemDictDetailServiceImpl.java @@ -1,24 +1,23 @@ package cn.odboy.core.service.system; import cn.hutool.core.bean.BeanUtil; -import cn.odboy.core.dal.redis.system.SystemRedisKey; +import cn.odboy.base.CsResultVo; import cn.odboy.core.dal.dataobject.system.SystemDictDetailTb; -import cn.odboy.core.dal.dataobject.system.SystemDictTb; -import cn.odboy.core.dal.mysql.system.SystemDictDetailMapper; -import cn.odboy.core.dal.mysql.system.SystemDictMapper; import cn.odboy.core.dal.model.system.CreateSystemDictDetailArgs; -import cn.odboy.redis.RedisHelper; +import cn.odboy.core.dal.model.system.QuerySystemDictDetailArgs; +import cn.odboy.core.dal.mysql.system.SystemDictDetailMapper; +import cn.odboy.util.PageUtil; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.List; @Service @RequiredArgsConstructor public class SystemDictDetailServiceImpl extends ServiceImpl implements SystemDictDetailService { - private final SystemDictMapper dictMapper; - private final RedisHelper redisHelper; - + private final SystemDictDetailMapper systemDictDetailMapper; @Override @Transactional(rollbackFor = Exception.class) @@ -26,8 +25,6 @@ public class SystemDictDetailServiceImpl extends ServiceImpl> queryDictDetailListByArgs(QuerySystemDictDetailArgs criteria, Page page) { + return PageUtil.toPage(systemDictDetailMapper.queryDictDetailListByArgs(criteria, page)); + } + + @Override + public List describeDictDetailListByName(String name) { + return systemDictDetailMapper.queryDictDetailListByDictName(name); } } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemDictService.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemDictService.java index 37d2fbe5..4f2a566f 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemDictService.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemDictService.java @@ -1,7 +1,10 @@ package cn.odboy.core.service.system; +import cn.odboy.base.CsResultVo; import cn.odboy.core.dal.dataobject.system.SystemDictTb; import cn.odboy.core.dal.model.system.CreateSystemDictArgs; +import cn.odboy.core.dal.model.system.QuerySystemDictArgs; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import javax.servlet.http.HttpServletResponse; @@ -40,4 +43,21 @@ public interface SystemDictService extends IService { * @throws IOException / */ void downloadDictExcel(List queryAll, HttpServletResponse response) throws IOException; -} \ No newline at end of file + + /** + * 分页查询 + * + * @param criteria 条件 + * @param page 分页参数 + * @return / + */ + CsResultVo> describeDictPage(QuerySystemDictArgs criteria, Page page); + + /** + * 查询全部数据 + * + * @param criteria / + * @return / + */ + List describeDictList(QuerySystemDictArgs criteria); +} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemDictServiceImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemDictServiceImpl.java index e3d51d9a..e3009a10 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemDictServiceImpl.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemDictServiceImpl.java @@ -2,6 +2,8 @@ package cn.odboy.core.service.system; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollectionUtil; +import cn.odboy.base.CsResultVo; +import cn.odboy.core.dal.model.system.QuerySystemDictArgs; import cn.odboy.core.dal.redis.system.SystemRedisKey; import cn.odboy.core.dal.dataobject.system.SystemDictDetailTb; import cn.odboy.core.dal.dataobject.system.SystemDictTb; @@ -10,6 +12,9 @@ import cn.odboy.core.dal.mysql.system.SystemDictMapper; import cn.odboy.core.dal.model.system.CreateSystemDictArgs; import cn.odboy.redis.RedisHelper; import cn.odboy.util.FileUtil; +import cn.odboy.util.PageUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -22,9 +27,8 @@ import java.util.*; @Service @RequiredArgsConstructor public class SystemDictServiceImpl extends ServiceImpl implements SystemDictService { - private final SystemDictMapper dictMapper; - private final SystemDictDetailMapper dictDetailMapper; - private final RedisHelper redisHelper; + private final SystemDictMapper systemDictMapper; + private final SystemDictDetailMapper systemDictDetailMapper; @Override @@ -36,8 +40,6 @@ public class SystemDictServiceImpl extends ServiceImpl ids) { - // 清理缓存 - List dicts = dictMapper.selectByIds(ids); - for (SystemDictTb dict : dicts) { - delCaches(dict); - } // 删除字典 - dictMapper.deleteByIds(ids); + systemDictMapper.deleteByIds(ids); // 删除字典详情 - dictDetailMapper.deleteDictDetailByDictIds(ids); + systemDictDetailMapper.deleteDictDetailByDictIds(ids); } @Override public void downloadDictExcel(List dicts, HttpServletResponse response) throws IOException { List> list = new ArrayList<>(); for (SystemDictTb dict : dicts) { - List dictDetails = dictDetailMapper.queryDictDetailListByDictName(dict.getName()); + List dictDetails = systemDictDetailMapper.queryDictDetailListByDictName(dict.getName()); if (CollectionUtil.isNotEmpty(dictDetails)) { for (SystemDictDetailTb dictDetail : dictDetails) { Map map = new LinkedHashMap<>(); @@ -86,7 +83,14 @@ public class SystemDictServiceImpl extends ServiceImpl> describeDictPage(QuerySystemDictArgs criteria, Page page) { + IPage dicts = systemDictMapper.queryDictPageByArgs(criteria, page); + return PageUtil.toPage(dicts); } -} \ No newline at end of file + + @Override + public List describeDictList(QuerySystemDictArgs criteria) { + return systemDictMapper.queryDictPageByArgs(criteria, PageUtil.getCount(systemDictMapper)).getRecords(); + } +} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemEmailApi.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemEmailApi.java deleted file mode 100644 index 80447705..00000000 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemEmailApi.java +++ /dev/null @@ -1,13 +0,0 @@ -package cn.odboy.core.service.system; - -import cn.odboy.core.dal.dataobject.system.SystemEmailConfigTb; - -public interface SystemEmailApi { - - /** - * 查询配置 - * - * @return EmailConfig 邮件配置 - */ - SystemEmailConfigTb describeEmailConfig(); -} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemEmailApiImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemEmailApiImpl.java deleted file mode 100644 index 73bfd18b..00000000 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemEmailApiImpl.java +++ /dev/null @@ -1,22 +0,0 @@ -package cn.odboy.core.service.system; - -import cn.odboy.core.dal.dataobject.system.SystemEmailConfigTb; -import cn.odboy.core.dal.mysql.system.SystemEmailConfigMapper; -import lombok.RequiredArgsConstructor; -import org.springframework.cache.annotation.CacheConfig; -import org.springframework.cache.annotation.Cacheable; -import org.springframework.stereotype.Service; - -@Service -@RequiredArgsConstructor -@CacheConfig(cacheNames = "email") -public class SystemEmailApiImpl implements SystemEmailApi { - private final SystemEmailConfigMapper emailConfigMapper; - - @Override - @Cacheable(key = "'config'") - public SystemEmailConfigTb describeEmailConfig() { - SystemEmailConfigTb emailConfig = emailConfigMapper.selectById(1L); - return emailConfig == null ? new SystemEmailConfigTb() : emailConfig; - } -} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemEmailService.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemEmailService.java index 73e6fca9..8ab77e87 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemEmailService.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemEmailService.java @@ -22,4 +22,12 @@ public interface SystemEmailService extends IService { * @param sendEmailRequest 邮件发送的内容 */ void sendEmail(SendSystemEmailArgs sendEmailRequest); + + + /** + * 查询配置 + * + * @return EmailConfig 邮件配置 + */ + SystemEmailConfigTb describeEmailConfig(); } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemEmailServiceImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemEmailServiceImpl.java index 465266b6..97073290 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemEmailServiceImpl.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemEmailServiceImpl.java @@ -11,24 +11,18 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cache.annotation.CacheConfig; import org.springframework.cache.annotation.CachePut; +import org.springframework.cache.annotation.Cacheable; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @Service -@CacheConfig(cacheNames = "email") public class SystemEmailServiceImpl extends ServiceImpl implements SystemEmailService { - @Lazy - @Autowired - private SystemEmailService emailService; - @Autowired - private SystemEmailApi emailApi; @Override - @CachePut(key = "'config'") @Transactional(rollbackFor = Exception.class) public void modifyEmailConfigOnPassChange(SystemEmailConfigTb emailConfig) throws Exception { - SystemEmailConfigTb localConfig = emailApi.describeEmailConfig(); + SystemEmailConfigTb localConfig = describeEmailConfig(); if (!emailConfig.getPassword().equals(localConfig.getPassword())) { // 对称加密 emailConfig.setPassword(DesEncryptUtil.desEncrypt(emailConfig.getPassword())); @@ -41,7 +35,7 @@ public class SystemEmailServiceImpl extends ServiceImpl> describeJobPage(QuerySystemJobArgs criteria, Page page); - - /** - * 查询全部数据 - * - * @param criteria / - * @return / - */ - List describeJobList(QuerySystemJobArgs criteria); - - - /** - * 验证是否被用户关联 - * - * @param ids / - */ - void verifyBindRelationByIds(Set ids); - - /** - * 根据ID查询 - * - * @param id / - * @return / - */ - SystemJobTb describeJobById(Long id); -} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemJobApiImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemJobApiImpl.java deleted file mode 100644 index ab946f18..00000000 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemJobApiImpl.java +++ /dev/null @@ -1,55 +0,0 @@ -package cn.odboy.core.service.system; - -import cn.odboy.base.CsResultVo; -import cn.odboy.core.dal.redis.system.SystemRedisKey; -import cn.odboy.core.dal.dataobject.system.SystemJobTb; -import cn.odboy.core.dal.mysql.system.SystemJobMapper; -import cn.odboy.core.dal.mysql.system.SystemUserMapper; -import cn.odboy.core.dal.model.system.QuerySystemJobArgs; -import cn.odboy.exception.BadRequestException; -import cn.odboy.redis.RedisHelper; -import cn.odboy.util.PageUtil; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Service; - -import java.util.List; -import java.util.Set; -import java.util.concurrent.TimeUnit; - -@Service -@RequiredArgsConstructor -public class SystemJobApiImpl implements SystemJobApi { - private final SystemJobMapper jobMapper; - private final SystemUserMapper userMapper; - private final RedisHelper redisHelper; - - @Override - public CsResultVo> describeJobPage(QuerySystemJobArgs criteria, Page page) { - return PageUtil.toPage(jobMapper.queryJobPageByArgs(criteria, page)); - } - - @Override - public List describeJobList(QuerySystemJobArgs criteria) { - return jobMapper.queryJobPageByArgs(criteria, PageUtil.getCount(jobMapper)).getRecords(); - } - - @Override - public SystemJobTb describeJobById(Long id) { - String key = SystemRedisKey.JOB_ID + id; - SystemJobTb job = redisHelper.get(key, SystemJobTb.class); - if (job == null) { - job = jobMapper.selectById(id); - redisHelper.set(key, job, 1, TimeUnit.DAYS); - } - return job; - } - - - @Override - public void verifyBindRelationByIds(Set ids) { - if (userMapper.getUserCountByJobIds(ids) > 0) { - throw new BadRequestException("所选的岗位中存在用户关联,请解除关联再试!"); - } - } -} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemJobService.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemJobService.java index a2c7cdc2..349ce38d 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemJobService.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemJobService.java @@ -1,7 +1,10 @@ package cn.odboy.core.service.system; +import cn.odboy.base.CsResultVo; import cn.odboy.core.dal.dataobject.system.SystemJobTb; import cn.odboy.core.dal.model.system.CreateSystemJobArgs; +import cn.odboy.core.dal.model.system.QuerySystemJobArgs; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import javax.servlet.http.HttpServletResponse; @@ -40,5 +43,36 @@ public interface SystemJobService extends IService { * @throws IOException / */ void downloadJobExcel(List jobs, HttpServletResponse response) throws IOException; + /** + * 分页查询 + * + * @param criteria 条件 + * @param page 分页参数 + * @return / + */ + CsResultVo> describeJobPage(QuerySystemJobArgs criteria, Page page); -} \ No newline at end of file + /** + * 查询全部数据 + * + * @param criteria / + * @return / + */ + List describeJobList(QuerySystemJobArgs criteria); + + + /** + * 验证是否被用户关联 + * + * @param ids / + */ + void verifyBindRelationByIds(Set ids); + + /** + * 根据ID查询 + * + * @param id / + * @return / + */ + SystemJobTb describeJobById(Long id); +} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemJobServiceImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemJobServiceImpl.java index 4c1d5308..995f7564 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemJobServiceImpl.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemJobServiceImpl.java @@ -1,33 +1,39 @@ package cn.odboy.core.service.system; import cn.hutool.core.bean.BeanUtil; -import cn.odboy.core.dal.redis.system.SystemRedisKey; +import cn.odboy.base.CsResultVo; import cn.odboy.core.dal.dataobject.system.SystemJobTb; -import cn.odboy.core.dal.mysql.system.SystemJobMapper; import cn.odboy.core.dal.model.system.CreateSystemJobArgs; +import cn.odboy.core.dal.model.system.QuerySystemJobArgs; +import cn.odboy.core.dal.mysql.system.SystemJobMapper; +import cn.odboy.core.dal.mysql.system.SystemUserMapper; +import cn.odboy.exception.BadRequestException; import cn.odboy.exception.EntityExistException; -import cn.odboy.redis.RedisHelper; import cn.odboy.util.FileUtil; +import cn.odboy.util.PageUtil; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; - import javax.servlet.http.HttpServletResponse; import java.io.IOException; -import java.util.*; +import java.util.ArrayList; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; @Service @RequiredArgsConstructor public class SystemJobServiceImpl extends ServiceImpl implements SystemJobService { - private final SystemJobMapper jobMapper; - private final RedisHelper redisHelper; - + private final SystemJobMapper systemJobMapper; + private final SystemUserMapper systemUserMapper; @Override @Transactional(rollbackFor = Exception.class) public void saveJob(CreateSystemJobArgs resources) { - SystemJobTb job = jobMapper.getJobByName(resources.getName()); + SystemJobTb job = systemJobMapper.getJobByName(resources.getName()); if (job != null) { throw new EntityExistException(SystemJobTb.class, "name", resources.getName()); } @@ -38,22 +44,18 @@ public class SystemJobServiceImpl extends ServiceImpl ids) { removeBatchByIds(ids); - // 删除缓存 - ids.forEach(this::delCaches); } @Override @@ -70,7 +72,26 @@ public class SystemJobServiceImpl extends ServiceImpl> describeJobPage(QuerySystemJobArgs criteria, Page page) { + return PageUtil.toPage(systemJobMapper.queryJobPageByArgs(criteria, page)); + } + + @Override + public List describeJobList(QuerySystemJobArgs criteria) { + return systemJobMapper.queryJobPageByArgs(criteria, PageUtil.getCount(systemJobMapper)).getRecords(); + } + + @Override + public SystemJobTb describeJobById(Long id) { + return systemJobMapper.selectById(id); + } + + + @Override + public void verifyBindRelationByIds(Set ids) { + if (systemUserMapper.getUserCountByJobIds(ids) > 0) { + throw new BadRequestException("所选的岗位中存在用户关联,请解除关联再试!"); + } } } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemLocalStorageApi.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemLocalStorageApi.java deleted file mode 100644 index 2b99020d..00000000 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemLocalStorageApi.java +++ /dev/null @@ -1,28 +0,0 @@ -package cn.odboy.core.service.system; - -import cn.odboy.base.CsResultVo; -import cn.odboy.core.dal.dataobject.system.SystemLocalStorageTb; -import cn.odboy.core.dal.model.system.QuerySystemLocalStorageArgs; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; - -import java.util.List; - -public interface SystemLocalStorageApi { - - /** - * 分页查询 - * - * @param criteria 条件 - * @param page 分页参数 - * @return / - */ - CsResultVo> describeLocalStoragePage(QuerySystemLocalStorageArgs criteria, Page page); - - /** - * 查询全部数据 - * - * @param criteria 条件 - * @return / - */ - List describeLocalStorageList(QuerySystemLocalStorageArgs criteria); -} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemLocalStorageApiImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemLocalStorageApiImpl.java deleted file mode 100644 index 5fbdb726..00000000 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemLocalStorageApiImpl.java +++ /dev/null @@ -1,28 +0,0 @@ -package cn.odboy.core.service.system; - -import cn.odboy.base.CsResultVo; -import cn.odboy.core.dal.dataobject.system.SystemLocalStorageTb; -import cn.odboy.core.dal.mysql.system.SystemLocalStorageMapper; -import cn.odboy.core.dal.model.system.QuerySystemLocalStorageArgs; -import cn.odboy.util.PageUtil; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Service; - -import java.util.List; - -@Service -@RequiredArgsConstructor -public class SystemLocalStorageApiImpl implements SystemLocalStorageApi { - private final SystemLocalStorageMapper localStorageMapper; - - @Override - public CsResultVo> describeLocalStoragePage(QuerySystemLocalStorageArgs criteria, Page page) { - return PageUtil.toPage(localStorageMapper.queryLocalStoragePageByArgs(criteria, page)); - } - - @Override - public List describeLocalStorageList(QuerySystemLocalStorageArgs criteria) { - return localStorageMapper.queryLocalStoragePageByArgs(criteria, PageUtil.getCount(localStorageMapper)).getRecords(); - } -} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemLocalStorageService.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemLocalStorageService.java index c53e26ba..6169e779 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemLocalStorageService.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemLocalStorageService.java @@ -1,6 +1,9 @@ package cn.odboy.core.service.system; +import cn.odboy.base.CsResultVo; import cn.odboy.core.dal.dataobject.system.SystemLocalStorageTb; +import cn.odboy.core.dal.model.system.QuerySystemLocalStorageArgs; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import org.springframework.web.multipart.MultipartFile; @@ -41,4 +44,21 @@ public interface SystemLocalStorageService extends IService localStorages, HttpServletResponse response) throws IOException; -} \ No newline at end of file + + /** + * 分页查询 + * + * @param criteria 条件 + * @param page 分页参数 + * @return / + */ + CsResultVo> describeLocalStoragePage(QuerySystemLocalStorageArgs criteria, Page page); + + /** + * 查询全部数据 + * + * @param criteria 条件 + * @return / + */ + List describeLocalStorageList(QuerySystemLocalStorageArgs criteria); +} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemLocalStorageServiceImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemLocalStorageServiceImpl.java index e5a99f67..400da291 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemLocalStorageServiceImpl.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemLocalStorageServiceImpl.java @@ -1,12 +1,16 @@ package cn.odboy.core.service.system; import cn.hutool.core.util.ObjectUtil; +import cn.odboy.base.CsResultVo; import cn.odboy.core.dal.dataobject.system.SystemLocalStorageTb; +import cn.odboy.core.dal.model.system.QuerySystemLocalStorageArgs; import cn.odboy.core.dal.mysql.system.SystemLocalStorageMapper; import cn.odboy.core.framework.properties.AppProperties; import cn.odboy.exception.BadRequestException; import cn.odboy.util.FileUtil; +import cn.odboy.util.PageUtil; import cn.odboy.util.StringUtil; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -25,7 +29,7 @@ import java.util.Map; @Service @RequiredArgsConstructor public class SystemLocalStorageServiceImpl extends ServiceImpl implements SystemLocalStorageService { - private final SystemLocalStorageMapper localStorageMapper; + private final SystemLocalStorageMapper systemLocalStorageMapper; private final AppProperties properties; @Override @@ -91,4 +95,14 @@ public class SystemLocalStorageServiceImpl extends ServiceImpl> describeLocalStoragePage(QuerySystemLocalStorageArgs criteria, Page page) { + return PageUtil.toPage(systemLocalStorageMapper.queryLocalStoragePageByArgs(criteria, page)); + } + + @Override + public List describeLocalStorageList(QuerySystemLocalStorageArgs criteria) { + return systemLocalStorageMapper.queryLocalStoragePageByArgs(criteria, PageUtil.getCount(systemLocalStorageMapper)).getRecords(); + } } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemMenuApi.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemMenuApi.java deleted file mode 100644 index 67771c69..00000000 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemMenuApi.java +++ /dev/null @@ -1,78 +0,0 @@ -package cn.odboy.core.service.system; - -import cn.odboy.core.dal.dataobject.system.SystemMenuTb; -import cn.odboy.core.dal.model.system.QuerySystemMenuArgs; -import cn.odboy.core.dal.model.system.SystemMenuVo; - -import java.util.List; -import java.util.Set; - -public interface SystemMenuApi { - /** - * 查询全部数据 - * - * @param criteria 条件 - * @param isQuery / - * @return / - * @throws Exception / - */ - List describeMenuList(QuerySystemMenuArgs criteria, Boolean isQuery) throws Exception; - - /** - * 根据ID查询 - * - * @param id / - * @return / - */ - SystemMenuTb describeMenuById(long id); - - /** - * 获取所有子节点,包含自身ID - * - * @param menuList / - * @param menuSet / - * @return / - */ - Set describeChildMenuSet(List menuList, Set menuSet); - - /** - * 构建菜单树 - * - * @param menus 原始数据 - * @return / - */ - List buildMenuTree(List menus); - - /** - * 构建菜单树 - * - * @param menus / - * @return / - */ - List buildMenuVo(List menus); - - /** - * 懒加载菜单数据 - * - * @param pid / - * @return / - */ - List describeMenuListByPid(Long pid); - - /** - * 根据ID获取同级与上级数据 - * - * @param menu / - * @param objects / - * @return / - */ - List describeSuperiorMenuList(SystemMenuTb menu, List objects); - - /** - * 根据当前用户获取菜单 - * - * @param currentUserId / - * @return / - */ - List describeMenuListByUserId(Long currentUserId); -} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemMenuApiImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemMenuApiImpl.java deleted file mode 100644 index ad9cebf6..00000000 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemMenuApiImpl.java +++ /dev/null @@ -1,205 +0,0 @@ -package cn.odboy.core.service.system; - -import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.collection.CollectionUtil; -import cn.hutool.core.util.ObjectUtil; -import cn.odboy.core.dal.redis.system.SystemRedisKey; -import cn.odboy.core.dal.dataobject.system.SystemMenuTb; -import cn.odboy.core.dal.dataobject.system.SystemRoleTb; -import cn.odboy.core.dal.model.system.SystemMenuVo; -import cn.odboy.core.dal.mysql.system.SystemMenuMapper; -import cn.odboy.core.dal.model.system.SystemMenuMetaVo; -import cn.odboy.core.dal.model.system.QuerySystemMenuArgs; -import cn.odboy.redis.RedisHelper; -import cn.odboy.util.ClassUtil; -import cn.odboy.util.StringUtil; -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Service; - -import java.lang.reflect.Field; -import java.util.*; -import java.util.concurrent.TimeUnit; -import java.util.stream.Collectors; - -@Service -@RequiredArgsConstructor -public class SystemMenuApiImpl implements SystemMenuApi { - private final SystemMenuMapper menuMapper; - private final SystemRoleApi systemRoleApi; - private final SystemRoleService systemRoleService; - private final RedisHelper redisHelper; - - @Override - public List describeMenuList(QuerySystemMenuArgs criteria, Boolean isQuery) throws Exception { - if (Boolean.TRUE.equals(isQuery)) { - criteria.setPidIsNull(true); - List fields = ClassUtil.getAllFields(criteria.getClass(), new ArrayList<>()); - for (Field field : fields) { - //设置对象的访问权限,保证对private的属性的访问 - field.setAccessible(true); - Object val = field.get(criteria); - if ("pidIsNull".equals(field.getName())) { - continue; - } - // 如果有查询条件,则不指定pidIsNull - if (ObjectUtil.isNotNull(val)) { - criteria.setPidIsNull(null); - break; - } - } - } - return menuMapper.queryMenuListByArgs(criteria); - } - - @Override - public SystemMenuTb describeMenuById(long id) { - String key = SystemRedisKey.MENU_ID + id; - SystemMenuTb menu = redisHelper.get(key, SystemMenuTb.class); - if (menu == null) { - menu = menuMapper.selectById(id); - redisHelper.set(key, menu, 1, TimeUnit.DAYS); - } - return menu; - } - - /** - * 用户角色改变时需清理缓存 - * - * @param currentUserId / - * @return / - */ - @Override - public List describeMenuListByUserId(Long currentUserId) { - String key = SystemRedisKey.MENU_USER + currentUserId; - List menus = redisHelper.getList(key, SystemMenuTb.class); - if (CollUtil.isEmpty(menus)) { - List roles = systemRoleApi.describeRoleListByUsersId(currentUserId); - Set roleIds = roles.stream().map(SystemRoleTb::getId).collect(Collectors.toSet()); - menus = new ArrayList<>(menuMapper.queryMenuSetByRoleIdsAndType(roleIds, 2)); - redisHelper.set(key, menus, 1, TimeUnit.DAYS); - } - return menus; - } - - @Override - public Set describeChildMenuSet(List menuList, Set menuSet) { - for (SystemMenuTb menu : menuList) { - menuSet.add(menu); - List menus = menuMapper.queryMenuListByPidOrderByMenuSort(menu.getId()); - if (CollUtil.isNotEmpty(menus)) { - describeChildMenuSet(menus, menuSet); - } - } - return menuSet; - } - - @Override - public List describeMenuListByPid(Long pid) { - List menus; - if (pid != null && !pid.equals(0L)) { - menus = menuMapper.queryMenuListByPidOrderByMenuSort(pid); - } else { - menus = menuMapper.queryMenuListByPidIsNullOrderByMenuSort(); - } - return menus; - } - - @Override - public List describeSuperiorMenuList(SystemMenuTb menu, List menus) { - if (menu.getPid() == null) { - menus.addAll(menuMapper.queryMenuListByPidIsNullOrderByMenuSort()); - return menus; - } - menus.addAll(menuMapper.queryMenuListByPidOrderByMenuSort(menu.getPid())); - return describeSuperiorMenuList(describeMenuById(menu.getPid()), menus); - } - - @Override - public List buildMenuTree(List menus) { - List trees = new ArrayList<>(); - Set ids = new HashSet<>(); - for (SystemMenuTb menu : menus) { - if (menu.getPid() == null) { - trees.add(menu); - } - for (SystemMenuTb it : menus) { - if (menu.getId().equals(it.getPid())) { - if (menu.getChildren() == null) { - menu.setChildren(new ArrayList<>()); - } - menu.getChildren().add(it); - ids.add(it.getId()); - } - } - } - if (CollUtil.isNotEmpty(trees)) { - trees = menus.stream().filter(s -> !ids.contains(s.getId())).collect(Collectors.toList()); - } - return trees; - } - - @Override - public List buildMenuVo(List menus) { - List list = new LinkedList<>(); - menus.forEach(menu -> { - if (menu != null) { - List menuList = menu.getChildren(); - SystemMenuVo menuVo = new SystemMenuVo(); - menuVo.setName(ObjectUtil.isNotEmpty(menu.getComponentName()) ? menu.getComponentName() : menu.getTitle()); - // 一级目录需要加斜杠,不然会报警告 - menuVo.setPath(menu.getPid() == null ? "/" + menu.getPath() : menu.getPath()); - menuVo.setHidden(menu.getHidden()); - // 如果不是外链 - if (!menu.getIFrame()) { - if (menu.getPid() == null) { - menuVo.setComponent(StringUtil.isEmpty(menu.getComponent()) ? "Layout" : menu.getComponent()); - // 如果不是一级菜单,并且菜单类型为目录,则代表是多级菜单 - } else if (menu.getType() == 0) { - menuVo.setComponent(StringUtil.isEmpty(menu.getComponent()) ? "ParentView" : menu.getComponent()); - } else if (StringUtil.isNoneBlank(menu.getComponent())) { - menuVo.setComponent(menu.getComponent()); - } - } - menuVo.setMeta(new SystemMenuMetaVo(menu.getTitle(), menu.getIcon(), !menu.getCache())); - if (CollectionUtil.isNotEmpty(menuList)) { - menuVo.setAlwaysShow(true); - menuVo.setRedirect("noredirect"); - menuVo.setChildren(buildMenuVo(menuList)); - // 处理是一级菜单并且没有子菜单的情况 - } else if (menu.getPid() == null) { - SystemMenuVo menuVo1 = getMenuVo(menu, menuVo); - menuVo.setName(null); - menuVo.setMeta(null); - menuVo.setComponent("Layout"); - List list1 = new ArrayList<>(); - list1.add(menuVo1); - menuVo.setChildren(list1); - } - list.add(menuVo); - } - } - ); - return list; - } - - /** - * 获取 MenuResponse - * - * @param menu / - * @param menuVo / - * @return / - */ - private static SystemMenuVo getMenuVo(SystemMenuTb menu, SystemMenuVo menuVo) { - SystemMenuVo menuVo1 = new SystemMenuVo(); - menuVo1.setMeta(menuVo.getMeta()); - // 非外链 - if (!menu.getIFrame()) { - menuVo1.setPath("index"); - menuVo1.setName(menuVo.getName()); - menuVo1.setComponent(menuVo.getComponent()); - } else { - menuVo1.setPath(menu.getPath()); - } - return menuVo1; - } -} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemMenuService.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemMenuService.java index dee8172d..87e0b502 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemMenuService.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemMenuService.java @@ -1,6 +1,8 @@ package cn.odboy.core.service.system; import cn.odboy.core.dal.dataobject.system.SystemMenuTb; +import cn.odboy.core.dal.model.system.QuerySystemMenuArgs; +import cn.odboy.core.dal.model.system.SystemMenuVo; import com.baomidou.mybatisplus.extension.service.IService; import javax.servlet.http.HttpServletResponse; @@ -43,5 +45,71 @@ public interface SystemMenuService extends IService { */ void downloadMenuExcel(List menus, HttpServletResponse response) throws IOException; + /** + * 查询全部数据 + * + * @param criteria 条件 + * @param isQuery / + * @return / + * @throws Exception / + */ + List describeMenuList(QuerySystemMenuArgs criteria, Boolean isQuery) throws Exception; + /** + * 根据ID查询 + * + * @param id / + * @return / + */ + SystemMenuTb describeMenuById(long id); + + /** + * 获取所有子节点,包含自身ID + * + * @param menuList / + * @param menuSet / + * @return / + */ + Set describeChildMenuSet(List menuList, Set menuSet); + + /** + * 构建菜单树 + * + * @param menus 原始数据 + * @return / + */ + List buildMenuTree(List menus); + + /** + * 构建菜单树 + * + * @param menus / + * @return / + */ + List buildMenuVo(List menus); + + /** + * 懒加载菜单数据 + * + * @param pid / + * @return / + */ + List describeMenuListByPid(Long pid); + + /** + * 根据ID获取同级与上级数据 + * + * @param menu / + * @param objects / + * @return / + */ + List describeSuperiorMenuList(SystemMenuTb menu, List objects); + + /** + * 根据当前用户获取菜单 + * + * @param currentUserId / + * @return / + */ + List describeMenuListByUserId(Long currentUserId); } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemMenuServiceImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemMenuServiceImpl.java index ea4b9dff..28e245ec 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemMenuServiceImpl.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemMenuServiceImpl.java @@ -1,38 +1,46 @@ package cn.odboy.core.service.system; -import cn.odboy.core.service.system.SystemRoleApi; -import cn.odboy.core.dal.redis.system.SystemRedisKey; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; import cn.odboy.core.constant.TransferProtocolConst; import cn.odboy.core.dal.dataobject.system.SystemMenuTb; import cn.odboy.core.dal.dataobject.system.SystemRoleTb; -import cn.odboy.core.dal.dataobject.system.SystemUserTb; +import cn.odboy.core.dal.model.system.QuerySystemMenuArgs; +import cn.odboy.core.dal.model.system.SystemMenuMetaVo; +import cn.odboy.core.dal.model.system.SystemMenuVo; import cn.odboy.core.dal.mysql.system.SystemMenuMapper; import cn.odboy.core.dal.mysql.system.SystemRoleMenuMapper; import cn.odboy.core.dal.mysql.system.SystemUserMapper; import cn.odboy.exception.BadRequestException; import cn.odboy.exception.EntityExistException; -import cn.odboy.redis.RedisHelper; +import cn.odboy.util.ClassUtil; import cn.odboy.util.FileUtil; import cn.odboy.util.StringUtil; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; - import javax.servlet.http.HttpServletResponse; import java.io.IOException; -import java.util.*; +import java.lang.reflect.Field; +import java.util.ArrayList; +import java.util.HashSet; +import java.util.LinkedHashMap; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; +import java.util.Set; import java.util.stream.Collectors; @Service @RequiredArgsConstructor public class SystemMenuServiceImpl extends ServiceImpl implements SystemMenuService { - private final SystemMenuMapper menuMapper; - private final SystemRoleMenuMapper roleMenuMapper; - private final SystemUserMapper userMapper; - private final SystemRoleApi systemRoleApi; - private final RedisHelper redisHelper; + private final SystemMenuMapper systemMenuMapper; + private final SystemRoleMenuMapper systemRoleMenuMapper; + private final SystemUserMapper systemUserMapper; + private final SystemRoleService systemRoleService; private static final String YES_STR = "是"; private static final String NO_STR = "否"; @@ -41,11 +49,11 @@ public class SystemMenuServiceImpl extends ServiceImpl menuSet) { for (SystemMenuTb menu : menuSet) { - // 清理缓存 - delCaches(menu.getId()); - roleMenuMapper.deleteByMenuId(menu.getId()); - menuMapper.deleteById(menu.getId()); + systemRoleMenuMapper.deleteByMenuId(menu.getId()); + systemMenuMapper.deleteById(menu.getId()); updateSubCnt(menu.getPid()); } } @@ -149,23 +153,170 @@ public class SystemMenuServiceImpl extends ServiceImpl users = userMapper.queryUserListByMenuId(id); - redisHelper.del(SystemRedisKey.MENU_ID + id); - redisHelper.delByKeys(SystemRedisKey.MENU_USER, users.stream().map(SystemUserTb::getId).collect(Collectors.toSet())); - // 清除 Role 缓存 - List roles = systemRoleApi.describeRoleListByMenuId(id); - redisHelper.delByKeys(SystemRedisKey.ROLE_ID, roles.stream().map(SystemRoleTb::getId).collect(Collectors.toSet())); + @Override + public List describeMenuList(QuerySystemMenuArgs criteria, Boolean isQuery) throws Exception { + if (Boolean.TRUE.equals(isQuery)) { + criteria.setPidIsNull(true); + List fields = ClassUtil.getAllFields(criteria.getClass(), new ArrayList<>()); + for (Field field : fields) { + //设置对象的访问权限,保证对private的属性的访问 + field.setAccessible(true); + Object val = field.get(criteria); + if ("pidIsNull".equals(field.getName())) { + continue; + } + // 如果有查询条件,则不指定pidIsNull + if (ObjectUtil.isNotNull(val)) { + criteria.setPidIsNull(null); + break; + } + } + } + return systemMenuMapper.queryMenuListByArgs(criteria); } + @Override + public SystemMenuTb describeMenuById(long id) { + return systemMenuMapper.selectById(id); + } + + /** + * 用户角色改变时需清理缓存 + * + * @param currentUserId / + * @return / + */ + @Override + public List describeMenuListByUserId(Long currentUserId) { + List roles = systemRoleService.describeRoleListByUsersId(currentUserId); + Set roleIds = roles.stream().map(SystemRoleTb::getId).collect(Collectors.toSet()); + return new ArrayList<>(systemMenuMapper.queryMenuSetByRoleIdsAndType(roleIds, 2)); + } + + @Override + public Set describeChildMenuSet(List menuList, Set menuSet) { + for (SystemMenuTb menu : menuList) { + menuSet.add(menu); + List menus = systemMenuMapper.queryMenuListByPidOrderByMenuSort(menu.getId()); + if (CollUtil.isNotEmpty(menus)) { + describeChildMenuSet(menus, menuSet); + } + } + return menuSet; + } + + @Override + public List describeMenuListByPid(Long pid) { + List menus; + if (pid != null && !pid.equals(0L)) { + menus = systemMenuMapper.queryMenuListByPidOrderByMenuSort(pid); + } else { + menus = systemMenuMapper.queryMenuListByPidIsNullOrderByMenuSort(); + } + return menus; + } + + @Override + public List describeSuperiorMenuList(SystemMenuTb menu, List menus) { + if (menu.getPid() == null) { + menus.addAll(systemMenuMapper.queryMenuListByPidIsNullOrderByMenuSort()); + return menus; + } + menus.addAll(systemMenuMapper.queryMenuListByPidOrderByMenuSort(menu.getPid())); + return describeSuperiorMenuList(describeMenuById(menu.getPid()), menus); + } + + @Override + public List buildMenuTree(List menus) { + List trees = new ArrayList<>(); + Set ids = new HashSet<>(); + for (SystemMenuTb menu : menus) { + if (menu.getPid() == null) { + trees.add(menu); + } + for (SystemMenuTb it : menus) { + if (menu.getId().equals(it.getPid())) { + if (menu.getChildren() == null) { + menu.setChildren(new ArrayList<>()); + } + menu.getChildren().add(it); + ids.add(it.getId()); + } + } + } + if (CollUtil.isNotEmpty(trees)) { + trees = menus.stream().filter(s -> !ids.contains(s.getId())).collect(Collectors.toList()); + } + return trees; + } + + @Override + public List buildMenuVo(List menus) { + List list = new LinkedList<>(); + menus.forEach(menu -> { + if (menu != null) { + List menuList = menu.getChildren(); + SystemMenuVo menuVo = new SystemMenuVo(); + menuVo.setName(ObjectUtil.isNotEmpty(menu.getComponentName()) ? menu.getComponentName() : menu.getTitle()); + // 一级目录需要加斜杠,不然会报警告 + menuVo.setPath(menu.getPid() == null ? "/" + menu.getPath() : menu.getPath()); + menuVo.setHidden(menu.getHidden()); + // 如果不是外链 + if (!menu.getIFrame()) { + if (menu.getPid() == null) { + menuVo.setComponent(StringUtil.isEmpty(menu.getComponent()) ? "Layout" : menu.getComponent()); + // 如果不是一级菜单,并且菜单类型为目录,则代表是多级菜单 + } else if (menu.getType() == 0) { + menuVo.setComponent(StringUtil.isEmpty(menu.getComponent()) ? "ParentView" : menu.getComponent()); + } else if (StringUtil.isNoneBlank(menu.getComponent())) { + menuVo.setComponent(menu.getComponent()); + } + } + menuVo.setMeta(new SystemMenuMetaVo(menu.getTitle(), menu.getIcon(), !menu.getCache())); + if (CollectionUtil.isNotEmpty(menuList)) { + menuVo.setAlwaysShow(true); + menuVo.setRedirect("noredirect"); + menuVo.setChildren(buildMenuVo(menuList)); + // 处理是一级菜单并且没有子菜单的情况 + } else if (menu.getPid() == null) { + SystemMenuVo menuVo1 = getMenuVo(menu, menuVo); + menuVo.setName(null); + menuVo.setMeta(null); + menuVo.setComponent("Layout"); + List list1 = new ArrayList<>(); + list1.add(menuVo1); + menuVo.setChildren(list1); + } + list.add(menuVo); + } + } + ); + return list; + } + + /** + * 获取 MenuResponse + * + * @param menu / + * @param menuVo / + * @return / + */ + private static SystemMenuVo getMenuVo(SystemMenuTb menu, SystemMenuVo menuVo) { + SystemMenuVo menuVo1 = new SystemMenuVo(); + menuVo1.setMeta(menuVo.getMeta()); + // 非外链 + if (!menu.getIFrame()) { + menuVo1.setPath("index"); + menuVo1.setName(menuVo.getName()); + menuVo1.setComponent(menuVo.getComponent()); + } else { + menuVo1.setPath(menu.getPath()); + } + return menuVo1; + } } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemMonitorApi.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemMonitorService.java similarity index 84% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemMonitorApi.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemMonitorService.java index 9e8d18bf..d703dece 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemMonitorApi.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemMonitorService.java @@ -2,7 +2,7 @@ package cn.odboy.core.service.system; import java.util.Map; -public interface SystemMonitorApi { +public interface SystemMonitorService { /** * 查询服务器监控信息 diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemMonitorApiImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemMonitorServiceImpl.java similarity index 99% rename from cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemMonitorApiImpl.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemMonitorServiceImpl.java index 0ec130de..2014db72 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemMonitorApiImpl.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemMonitorServiceImpl.java @@ -24,7 +24,7 @@ import java.util.*; @Slf4j @Service -public class SystemMonitorApiImpl implements SystemMonitorApi { +public class SystemMonitorServiceImpl implements SystemMonitorService { private final DecimalFormat df = new DecimalFormat("0.00"); @Override diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQiniuConfigApi.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQiniuConfigApi.java deleted file mode 100644 index 7d10304d..00000000 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQiniuConfigApi.java +++ /dev/null @@ -1,13 +0,0 @@ -package cn.odboy.core.service.system; - -import cn.odboy.core.dal.dataobject.system.SystemQiniuConfigTb; - -public interface SystemQiniuConfigApi { - - /** - * 查询配置 - * - * @return QiniuConfig - */ - SystemQiniuConfigTb describeQiniuConfig(); -} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQiniuConfigApiImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQiniuConfigApiImpl.java deleted file mode 100644 index 86c697a9..00000000 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQiniuConfigApiImpl.java +++ /dev/null @@ -1,22 +0,0 @@ -package cn.odboy.core.service.system; - -import cn.odboy.core.dal.dataobject.system.SystemQiniuConfigTb; -import cn.odboy.core.dal.mysql.system.SystemQiniuConfigMapper; -import lombok.RequiredArgsConstructor; -import org.springframework.cache.annotation.CacheConfig; -import org.springframework.cache.annotation.Cacheable; -import org.springframework.stereotype.Service; - -@Service -@RequiredArgsConstructor -@CacheConfig(cacheNames = "qiNiu") -public class SystemQiniuConfigApiImpl implements SystemQiniuConfigApi { - private final SystemQiniuConfigMapper qiniuConfigMapper; - - @Override - @Cacheable(key = "'config'") - public SystemQiniuConfigTb describeQiniuConfig() { - SystemQiniuConfigTb qiniuConfig = qiniuConfigMapper.selectById(1L); - return qiniuConfig == null ? new SystemQiniuConfigTb() : qiniuConfig; - } -} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQiniuConfigService.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQiniuConfigService.java index bd6ad167..aba57359 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQiniuConfigService.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQiniuConfigService.java @@ -19,4 +19,11 @@ public interface SystemQiniuConfigService extends IService * @param type 类型 */ void modifyQiniuConfigType(String type); + + /** + * 查询配置 + * + * @return QiniuConfig + */ + SystemQiniuConfigTb describeQiniuConfig(); } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQiniuConfigServiceImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQiniuConfigServiceImpl.java index 883c5139..6f655cd2 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQiniuConfigServiceImpl.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQiniuConfigServiceImpl.java @@ -8,18 +8,17 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.RequiredArgsConstructor; import org.springframework.cache.annotation.CacheConfig; import org.springframework.cache.annotation.CacheEvict; +import org.springframework.cache.annotation.Cacheable; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @Service @RequiredArgsConstructor -@CacheConfig(cacheNames = "qiNiu") public class SystemQiniuConfigServiceImpl extends ServiceImpl implements SystemQiniuConfigService { - + private final SystemQiniuConfigMapper systemQiniuConfigMapper; @Override - @CacheEvict(key = "'config'") @Transactional(rollbackFor = Exception.class) public void saveQiniuConfig(SystemQiniuConfigTb qiniuConfig) { qiniuConfig.setId(1L); @@ -30,11 +29,18 @@ public class SystemQiniuConfigServiceImpl extends ServiceImpl> describeQiniuContentPage(QuerySystemQiniuArgs criteria, Page page); - - /** - * 查询全部 - * - * @param criteria 条件 - * @return / - */ - List describeQiniuContentList(QuerySystemQiniuArgs criteria); -} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQiniuContentApiImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQiniuContentApiImpl.java deleted file mode 100644 index 2ccb4c1f..00000000 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQiniuContentApiImpl.java +++ /dev/null @@ -1,30 +0,0 @@ -package cn.odboy.core.service.system; - -import cn.odboy.base.CsResultVo; -import cn.odboy.core.dal.dataobject.system.SystemQiniuContentTb; -import cn.odboy.core.dal.mysql.system.SystemQiniuContentMapper; -import cn.odboy.core.dal.model.system.QuerySystemQiniuArgs; -import cn.odboy.util.PageUtil; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import lombok.RequiredArgsConstructor; -import org.springframework.cache.annotation.CacheConfig; -import org.springframework.stereotype.Service; - -import java.util.List; - -@Service -@RequiredArgsConstructor -@CacheConfig(cacheNames = "qiNiu") -public class SystemQiniuContentApiImpl implements SystemQiniuContentApi { - private final SystemQiniuContentMapper qiniuContentMapper; - - @Override - public CsResultVo> describeQiniuContentPage(QuerySystemQiniuArgs criteria, Page page) { - return PageUtil.toPage(qiniuContentMapper.queryQiniuContentPageByArgs(criteria, page)); - } - - @Override - public List describeQiniuContentList(QuerySystemQiniuArgs criteria) { - return qiniuContentMapper.queryQiniuContentPageByArgs(criteria, PageUtil.getCount(qiniuContentMapper)).getRecords(); - } -} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQiniuContentService.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQiniuContentService.java index 38373122..b074e490 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQiniuContentService.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQiniuContentService.java @@ -1,6 +1,9 @@ package cn.odboy.core.service.system; +import cn.odboy.base.CsResultVo; import cn.odboy.core.dal.dataobject.system.SystemQiniuContentTb; +import cn.odboy.core.dal.model.system.QuerySystemQiniuArgs; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import org.springframework.web.multipart.MultipartFile; @@ -53,4 +56,20 @@ public interface SystemQiniuContentService extends IService> describeQiniuContentPage(QuerySystemQiniuArgs criteria, Page page); + + /** + * 查询全部 + * + * @param criteria 条件 + * @return / + */ + List describeQiniuContentList(QuerySystemQiniuArgs criteria); } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQiniuContentServiceImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQiniuContentServiceImpl.java index 3451421e..1ad472ec 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQiniuContentServiceImpl.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQiniuContentServiceImpl.java @@ -1,12 +1,16 @@ package cn.odboy.core.service.system; +import cn.odboy.base.CsResultVo; import cn.odboy.core.dal.dataobject.system.SystemQiniuConfigTb; import cn.odboy.core.dal.dataobject.system.SystemQiniuContentTb; +import cn.odboy.core.dal.model.system.QuerySystemQiniuArgs; import cn.odboy.core.dal.mysql.system.SystemQiniuContentMapper; import cn.odboy.core.util.QiniuUtil; import cn.odboy.exception.BadRequestException; import cn.odboy.util.FileUtil; +import cn.odboy.util.PageUtil; import com.alibaba.fastjson2.JSON; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.qiniu.common.QiniuException; import com.qiniu.http.Response; @@ -32,11 +36,9 @@ import java.util.Map; @Service @RequiredArgsConstructor -@CacheConfig(cacheNames = "qiNiu") public class SystemQiniuContentServiceImpl extends ServiceImpl implements SystemQiniuContentService { - private final SystemQiniuContentMapper qiniuContentMapper; - private final SystemQiniuConfigApi qiniuConfigApi; - + private final SystemQiniuContentMapper systemQiniuContentMapper; + private final SystemQiniuConfigService systemQiniuConfigService; @Value("${app.oss.qiniu.max-size}") private Long maxSize; @@ -44,7 +46,7 @@ public class SystemQiniuContentServiceImpl extends ServiceImpl> describeQiniuContentPage(QuerySystemQiniuArgs criteria, Page page) { + return PageUtil.toPage(systemQiniuContentMapper.queryQiniuContentPageByArgs(criteria, page)); + } + + @Override + public List describeQiniuContentList(QuerySystemQiniuArgs criteria) { + return systemQiniuContentMapper.queryQiniuContentPageByArgs(criteria, PageUtil.getCount(systemQiniuContentMapper)).getRecords(); + } } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQuartzJobApi.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQuartzJobApi.java deleted file mode 100644 index fee67db2..00000000 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQuartzJobApi.java +++ /dev/null @@ -1,45 +0,0 @@ -package cn.odboy.core.service.system; - -import cn.odboy.base.CsResultVo; -import cn.odboy.core.dal.dataobject.system.SystemQuartzJobTb; -import cn.odboy.core.dal.dataobject.system.SystemQuartzLogTb; -import cn.odboy.core.dal.model.system.QuerySystemQuartzJobArgs; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; - -import java.util.List; - -public interface SystemQuartzJobApi { - /** - * 分页查询 - * - * @param criteria 条件 - * @param page 分页参数 - * @return / - */ - CsResultVo> describeQuartzJobPage(QuerySystemQuartzJobArgs criteria, Page page); - - /** - * 查询全部 - * - * @param criteria 条件 - * @return / - */ - List describeQuartzJobList(QuerySystemQuartzJobArgs criteria); - - /** - * 分页查询日志 - * - * @param criteria 条件 - * @param page 分页参数 - * @return / - */ - CsResultVo> describeQuartzLogPage(QuerySystemQuartzJobArgs criteria, Page page); - - /** - * 查询全部 - * - * @param criteria 条件 - * @return / - */ - List describeQuartzLogList(QuerySystemQuartzJobArgs criteria); -} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQuartzJobApiImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQuartzJobApiImpl.java deleted file mode 100644 index 1b6537ad..00000000 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQuartzJobApiImpl.java +++ /dev/null @@ -1,41 +0,0 @@ -package cn.odboy.core.service.system; - -import cn.odboy.base.CsResultVo; -import cn.odboy.core.dal.dataobject.system.SystemQuartzJobTb; -import cn.odboy.core.dal.dataobject.system.SystemQuartzLogTb; -import cn.odboy.core.dal.mysql.system.SystemQuartzJobMapper; -import cn.odboy.core.dal.mysql.system.SystemQuartzLogMapper; -import cn.odboy.core.dal.model.system.QuerySystemQuartzJobArgs; -import cn.odboy.util.PageUtil; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Service; - -import java.util.List; - -@Service -@RequiredArgsConstructor -public class SystemQuartzJobApiImpl implements SystemQuartzJobApi { - private final SystemQuartzJobMapper quartzJobMapper; - private final SystemQuartzLogMapper quartzLogMapper; - - @Override - public CsResultVo> describeQuartzJobPage(QuerySystemQuartzJobArgs criteria, Page page) { - return PageUtil.toPage(quartzJobMapper.queryQuartzJobPageByArgs(criteria, page)); - } - - @Override - public CsResultVo> describeQuartzLogPage(QuerySystemQuartzJobArgs criteria, Page page) { - return PageUtil.toPage(quartzLogMapper.queryQuartzLogPageByArgs(criteria, page)); - } - - @Override - public List describeQuartzJobList(QuerySystemQuartzJobArgs criteria) { - return quartzJobMapper.queryQuartzJobPageByArgs(criteria, PageUtil.getCount(quartzJobMapper)).getRecords(); - } - - @Override - public List describeQuartzLogList(QuerySystemQuartzJobArgs criteria) { - return quartzLogMapper.queryQuartzLogPageByArgs(criteria, PageUtil.getCount(quartzLogMapper)).getRecords(); - } -} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQuartzJobService.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQuartzJobService.java index baaa9192..b47aefc0 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQuartzJobService.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQuartzJobService.java @@ -1,8 +1,11 @@ package cn.odboy.core.service.system; +import cn.odboy.base.CsResultVo; import cn.odboy.core.dal.dataobject.system.SystemQuartzJobTb; import cn.odboy.core.dal.dataobject.system.SystemQuartzLogTb; +import cn.odboy.core.dal.model.system.QuerySystemQuartzJobArgs; import cn.odboy.core.dal.model.system.UpdateSystemQuartzJobArgs; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import javax.servlet.http.HttpServletResponse; @@ -72,4 +75,38 @@ public interface SystemQuartzJobService extends IService { * @throws InterruptedException / */ void startSubQuartJob(String[] tasks) throws InterruptedException; + + /** + * 分页查询 + * + * @param criteria 条件 + * @param page 分页参数 + * @return / + */ + CsResultVo> describeQuartzJobPage(QuerySystemQuartzJobArgs criteria, Page page); + + /** + * 查询全部 + * + * @param criteria 条件 + * @return / + */ + List describeQuartzJobList(QuerySystemQuartzJobArgs criteria); + + /** + * 分页查询日志 + * + * @param criteria 条件 + * @param page 分页参数 + * @return / + */ + CsResultVo> describeQuartzLogPage(QuerySystemQuartzJobArgs criteria, Page page); + + /** + * 查询全部 + * + * @param criteria 条件 + * @return / + */ + List describeQuartzLogList(QuerySystemQuartzJobArgs criteria); } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQuartzJobServiceImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQuartzJobServiceImpl.java index 718deeaa..971a95d8 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQuartzJobServiceImpl.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemQuartzJobServiceImpl.java @@ -3,8 +3,10 @@ package cn.odboy.core.service.system; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.StrUtil; +import cn.odboy.base.CsResultVo; import cn.odboy.core.dal.dataobject.system.SystemQuartzJobTb; import cn.odboy.core.dal.dataobject.system.SystemQuartzLogTb; +import cn.odboy.core.dal.model.system.QuerySystemQuartzJobArgs; import cn.odboy.core.dal.mysql.system.SystemQuartzJobMapper; import cn.odboy.core.dal.mysql.system.SystemQuartzLogMapper; import cn.odboy.core.framework.quartz.core.QuartzManage; @@ -12,7 +14,9 @@ import cn.odboy.core.dal.model.system.UpdateSystemQuartzJobArgs; import cn.odboy.exception.BadRequestException; import cn.odboy.redis.RedisHelper; import cn.odboy.util.FileUtil; +import cn.odboy.util.PageUtil; import cn.odboy.util.StringUtil; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.RequiredArgsConstructor; import org.quartz.CronExpression; @@ -26,9 +30,8 @@ import java.util.*; @RequiredArgsConstructor @Service(value = "quartzJobService") public class SystemQuartzJobServiceImpl extends ServiceImpl implements SystemQuartzJobService { - - private final SystemQuartzJobMapper quartzJobMapper; - private final SystemQuartzLogMapper quartzLogMapper; + private final SystemQuartzJobMapper systemQuartzJobMapper; + private final SystemQuartzLogMapper systemQuartzLogMapper; private final QuartzManage quartzManage; private final RedisHelper redisHelper; @@ -157,4 +160,24 @@ public class SystemQuartzJobServiceImpl extends ServiceImpl> describeQuartzJobPage(QuerySystemQuartzJobArgs criteria, Page page) { + return PageUtil.toPage(systemQuartzJobMapper.queryQuartzJobPageByArgs(criteria, page)); + } + + @Override + public CsResultVo> describeQuartzLogPage(QuerySystemQuartzJobArgs criteria, Page page) { + return PageUtil.toPage(systemQuartzLogMapper.queryQuartzLogPageByArgs(criteria, page)); + } + + @Override + public List describeQuartzJobList(QuerySystemQuartzJobArgs criteria) { + return systemQuartzJobMapper.queryQuartzJobPageByArgs(criteria, PageUtil.getCount(systemQuartzJobMapper)).getRecords(); + } + + @Override + public List describeQuartzLogList(QuerySystemQuartzJobArgs criteria) { + return systemQuartzLogMapper.queryQuartzLogPageByArgs(criteria, PageUtil.getCount(systemQuartzLogMapper)).getRecords(); + } } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemRoleApi.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemRoleApi.java deleted file mode 100644 index b9e3ec85..00000000 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemRoleApi.java +++ /dev/null @@ -1,86 +0,0 @@ -package cn.odboy.core.service.system; - -import cn.odboy.base.CsResultVo; -import cn.odboy.core.dal.dataobject.system.SystemRoleTb; -import cn.odboy.core.dal.dataobject.system.SystemUserTb; -import cn.odboy.core.dal.model.system.QuerySystemRoleArgs; -import cn.odboy.core.dal.model.system.SystemRoleCodeVo; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; - -import java.util.List; -import java.util.Set; - -public interface SystemRoleApi { - - /** - * 查询全部数据 - * - * @return / - */ - List describeRoleList(); - - /** - * 查询全部 - * - * @param criteria 条件 - * @return / - */ - List describeRoleList(QuerySystemRoleArgs criteria); - - /** - * 待条件分页查询 - * - * @param criteria 条件 - * @param page 分页参数 - * @return / - */ - CsResultVo> describeRolePage(QuerySystemRoleArgs criteria, Page page); - - /** - * 根据ID查询 - * - * @param id / - * @return / - */ - SystemRoleTb describeRoleById(long id); - - - /** - * 根据用户ID查询 - * - * @param userId 用户ID - * @return / - */ - List describeRoleListByUsersId(Long userId); - - /** - * 根据角色查询角色级别 - * - * @param roles / - * @return / - */ - Integer describeDeptLevelByRoles(Set roles); - - /** - * 获取用户权限信息 - * - * @param user 用户信息 - * @return 权限信息 - */ - List buildUserRolePermissions(SystemUserTb user); - - /** - * 验证是否被用户关联 - * - * @param ids / - */ - void verifyBindRelationByIds(Set ids); - - /** - * 根据菜单Id查询 - * - * @param menuId / - * @return / - */ - List describeRoleListByMenuId(Long menuId); -} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemRoleApiImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemRoleApiImpl.java deleted file mode 100644 index 63d35513..00000000 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemRoleApiImpl.java +++ /dev/null @@ -1,121 +0,0 @@ -package cn.odboy.core.service.system; - -import cn.hutool.core.collection.CollUtil; -import cn.odboy.base.CsResultVo; -import cn.odboy.core.dal.redis.system.SystemRedisKey; -import cn.odboy.core.dal.dataobject.system.SystemMenuTb; -import cn.odboy.core.dal.dataobject.system.SystemRoleTb; -import cn.odboy.core.dal.dataobject.system.SystemUserTb; -import cn.odboy.core.dal.mysql.system.SystemRoleMapper; -import cn.odboy.core.dal.mysql.system.SystemUserMapper; -import cn.odboy.core.dal.model.system.QuerySystemRoleArgs; -import cn.odboy.core.dal.model.system.SystemRoleCodeVo; -import cn.odboy.exception.BadRequestException; -import cn.odboy.redis.RedisHelper; -import cn.odboy.util.PageUtil; -import cn.odboy.util.StringUtil; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Service; - -import java.util.Collections; -import java.util.HashSet; -import java.util.List; -import java.util.Set; -import java.util.concurrent.TimeUnit; -import java.util.stream.Collectors; - -@Service -@RequiredArgsConstructor -public class SystemRoleApiImpl implements SystemRoleApi { - private final SystemRoleMapper roleMapper; - private final SystemUserMapper userMapper; - private final RedisHelper redisHelper; - - @Override - public List describeRoleList() { - return roleMapper.queryRoleList(); - } - - @Override - public List describeRoleList(QuerySystemRoleArgs criteria) { - return roleMapper.queryRoleListByArgs(criteria); - } - - @Override - public CsResultVo> describeRolePage(QuerySystemRoleArgs criteria, Page page) { - criteria.setOffset(page.offset()); - List roles = roleMapper.queryRoleListByArgs(criteria); - Long total = roleMapper.getRoleCountByArgs(criteria); - return PageUtil.toPage(roles, total); - } - - @Override - public SystemRoleTb describeRoleById(long id) { - String key = SystemRedisKey.ROLE_ID + id; - SystemRoleTb role = redisHelper.get(key, SystemRoleTb.class); - if (role == null) { - role = roleMapper.selectById(id); - redisHelper.set(key, role, 1, TimeUnit.DAYS); - } - return role; - } - - @Override - public List describeRoleListByUsersId(Long userId) { - String key = SystemRedisKey.ROLE_USER + userId; - List roles = redisHelper.getList(key, SystemRoleTb.class); - if (CollUtil.isEmpty(roles)) { - roles = roleMapper.queryRoleListByUserId(userId); - redisHelper.set(key, roles, 1, TimeUnit.DAYS); - } - return roles; - } - - @Override - public Integer describeDeptLevelByRoles(Set roles) { - if (CollUtil.isEmpty(roles)) { - return Integer.MAX_VALUE; - } - Set roleSet = new HashSet<>(); - for (SystemRoleTb role : roles) { - roleSet.add(describeRoleById(role.getId())); - } - return Collections.min(roleSet.stream().map(SystemRoleTb::getLevel).collect(Collectors.toList())); - } - - @Override - public List buildUserRolePermissions(SystemUserTb user) { - String key = SystemRedisKey.ROLE_AUTH + user.getId(); - List authorityList = redisHelper.getList(key, SystemRoleCodeVo.class); - if (CollUtil.isEmpty(authorityList)) { - Set permissions = new HashSet<>(); - // 如果是管理员直接返回 - if (user.getIsAdmin()) { - permissions.add("admin"); - return permissions.stream().map(SystemRoleCodeVo::new) - .collect(Collectors.toList()); - } - List roles = roleMapper.queryRoleListByUserId(user.getId()); - permissions = roles.stream().flatMap(role -> role.getMenus().stream()) - .map(SystemMenuTb::getPermission) - .filter(StringUtil::isNotBlank).collect(Collectors.toSet()); - authorityList = permissions.stream().map(SystemRoleCodeVo::new) - .collect(Collectors.toList()); - redisHelper.set(key, authorityList, 1, TimeUnit.HOURS); - } - return authorityList; - } - - @Override - public void verifyBindRelationByIds(Set ids) { - if (userMapper.getUserCountByRoleIds(ids) > 0) { - throw new BadRequestException("所选角色存在用户关联,请解除关联再试!"); - } - } - - @Override - public List describeRoleListByMenuId(Long menuId) { - return roleMapper.queryRoleListByMenuId(menuId); - } -} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemRoleService.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemRoleService.java index 12631eb1..4b3a6ccb 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemRoleService.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemRoleService.java @@ -1,7 +1,12 @@ package cn.odboy.core.service.system; +import cn.odboy.base.CsResultVo; import cn.odboy.core.dal.dataobject.system.SystemRoleTb; +import cn.odboy.core.dal.dataobject.system.SystemUserTb; import cn.odboy.core.dal.model.system.CreateSystemRoleArgs; +import cn.odboy.core.dal.model.system.QuerySystemRoleArgs; +import cn.odboy.core.dal.model.system.SystemRoleCodeVo; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import javax.servlet.http.HttpServletResponse; @@ -50,5 +55,75 @@ public interface SystemRoleService extends IService { * @throws IOException / */ void downloadRoleExcel(List roles, HttpServletResponse response) throws IOException; + /** + * 查询全部数据 + * + * @return / + */ + List describeRoleList(); + /** + * 查询全部 + * + * @param criteria 条件 + * @return / + */ + List describeRoleList(QuerySystemRoleArgs criteria); + + /** + * 待条件分页查询 + * + * @param criteria 条件 + * @param page 分页参数 + * @return / + */ + CsResultVo> describeRolePage(QuerySystemRoleArgs criteria, Page page); + + /** + * 根据ID查询 + * + * @param id / + * @return / + */ + SystemRoleTb describeRoleById(long id); + + + /** + * 根据用户ID查询 + * + * @param userId 用户ID + * @return / + */ + List describeRoleListByUsersId(Long userId); + + /** + * 根据角色查询角色级别 + * + * @param roles / + * @return / + */ + Integer describeDeptLevelByRoles(Set roles); + + /** + * 获取用户权限信息 + * + * @param user 用户信息 + * @return 权限信息 + */ + List buildUserRolePermissions(SystemUserTb user); + + /** + * 验证是否被用户关联 + * + * @param ids / + */ + void verifyBindRelationByIds(Set ids); + + /** + * 根据菜单Id查询 + * + * @param menuId / + * @return / + */ + List describeRoleListByMenuId(Long menuId); } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemRoleServiceImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemRoleServiceImpl.java index 8fce05e1..e956c5dd 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemRoleServiceImpl.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemRoleServiceImpl.java @@ -3,48 +3,58 @@ package cn.odboy.core.service.system; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollectionUtil; -import cn.odboy.core.dal.redis.system.SystemUserJwtService; -import cn.odboy.core.dal.redis.system.SystemRedisKey; +import cn.odboy.base.CsResultVo; +import cn.odboy.core.dal.dataobject.system.SystemMenuTb; import cn.odboy.core.dal.dataobject.system.SystemRoleTb; import cn.odboy.core.dal.dataobject.system.SystemUserTb; +import cn.odboy.core.dal.model.system.CreateSystemRoleArgs; +import cn.odboy.core.dal.model.system.QuerySystemRoleArgs; +import cn.odboy.core.dal.model.system.SystemRoleCodeVo; import cn.odboy.core.dal.mysql.system.SystemRoleDeptMapper; import cn.odboy.core.dal.mysql.system.SystemRoleMapper; import cn.odboy.core.dal.mysql.system.SystemRoleMenuMapper; import cn.odboy.core.dal.mysql.system.SystemUserMapper; -import cn.odboy.core.dal.model.system.CreateSystemRoleArgs; +import cn.odboy.core.dal.redis.system.SystemUserJwtService; +import cn.odboy.exception.BadRequestException; import cn.odboy.exception.EntityExistException; -import cn.odboy.redis.RedisHelper; import cn.odboy.util.FileUtil; +import cn.odboy.util.PageUtil; +import cn.odboy.util.StringUtil; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; - import javax.servlet.http.HttpServletResponse; import java.io.IOException; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashSet; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; import java.util.stream.Collectors; @Service @RequiredArgsConstructor public class SystemRoleServiceImpl extends ServiceImpl implements SystemRoleService { - private final SystemRoleMapper roleMapper; - private final SystemRoleDeptMapper roleDeptMapper; - private final SystemRoleMenuMapper roleMenuMapper; - private final SystemUserMapper userMapper; + private final SystemRoleMapper systemRoleMapper; + private final SystemRoleDeptMapper systemRoleDeptMapper; + private final SystemRoleMenuMapper systemRoleMenuMapper; + private final SystemUserMapper systemUserMapper; private final SystemUserJwtService systemUserJwtService; - private final RedisHelper redisHelper; @Override @Transactional(rollbackFor = Exception.class) public void saveRole(CreateSystemRoleArgs resources) { - if (roleMapper.getRoleByName(resources.getName()) != null) { + if (systemRoleMapper.getRoleByName(resources.getName()) != null) { throw new EntityExistException(SystemRoleTb.class, "name", resources.getName()); } save(BeanUtil.copyProperties(resources, SystemRoleTb.class)); // 判断是否有部门数据,若有,则需创建关联 if (CollectionUtil.isNotEmpty(resources.getDepts())) { - roleDeptMapper.insertBatchWithRoleId(resources.getDepts(), resources.getId()); + systemRoleDeptMapper.insertBatchWithRoleId(resources.getDepts(), resources.getId()); } } @@ -52,7 +62,7 @@ public class SystemRoleServiceImpl extends ServiceImpl users = userMapper.queryUserListByRoleId(role.getId()); + List users = systemUserMapper.queryUserListByRoleId(role.getId()); // 更新菜单 - roleMenuMapper.deleteByRoleId(role.getId()); + systemRoleMenuMapper.deleteByRoleId(role.getId()); // 判断是否为空 if (CollUtil.isNotEmpty(role.getMenus())) { - roleMenuMapper.insertBatchWithRoleId(role.getMenus(), role.getId()); + systemRoleMenuMapper.insertBatchWithRoleId(role.getMenus(), role.getId()); } - // 更新缓存 - delCaches(role.getId(), users); } @Override @Transactional(rollbackFor = Exception.class) public void removeRoleByIds(Set ids) { - for (Long id : ids) { - // 更新相关缓存 - delCaches(id, null); - } removeBatchByIds(ids); // 删除角色部门关联数据、角色菜单关联数据 - roleDeptMapper.deleteByRoleIds(ids); - roleMenuMapper.deleteByRoleIds(ids); + systemRoleDeptMapper.deleteByRoleIds(ids); + systemRoleMenuMapper.deleteByRoleIds(ids); } @Override @@ -113,21 +115,72 @@ public class SystemRoleServiceImpl extends ServiceImpl users) { - users = CollectionUtil.isEmpty(users) ? userMapper.queryUserListByRoleId(id) : users; - if (CollectionUtil.isNotEmpty(users)) { - users.forEach(item -> systemUserJwtService.cleanUserJwtModelCacheByUsername(item.getUsername())); - Set userIds = users.stream().map(SystemUserTb::getId).collect(Collectors.toSet()); - redisHelper.delByKeys(SystemRedisKey.DATA_USER, userIds); - redisHelper.delByKeys(SystemRedisKey.MENU_USER, userIds); - redisHelper.delByKeys(SystemRedisKey.ROLE_AUTH, userIds); - redisHelper.delByKeys(SystemRedisKey.ROLE_USER, userIds); + @Override + public List describeRoleList() { + return systemRoleMapper.queryRoleList(); + } + + @Override + public List describeRoleList(QuerySystemRoleArgs criteria) { + return systemRoleMapper.queryRoleListByArgs(criteria); + } + + @Override + public CsResultVo> describeRolePage(QuerySystemRoleArgs criteria, Page page) { + criteria.setOffset(page.offset()); + List roles = systemRoleMapper.queryRoleListByArgs(criteria); + Long total = systemRoleMapper.getRoleCountByArgs(criteria); + return PageUtil.toPage(roles, total); + } + + @Override + public SystemRoleTb describeRoleById(long id) { + return systemRoleMapper.selectById(id); + } + + @Override + public List describeRoleListByUsersId(Long userId) { + return systemRoleMapper.queryRoleListByUserId(userId); + } + + @Override + public Integer describeDeptLevelByRoles(Set roles) { + if (CollUtil.isEmpty(roles)) { + return Integer.MAX_VALUE; } - redisHelper.del(SystemRedisKey.ROLE_ID + id); + Set roleSet = new HashSet<>(); + for (SystemRoleTb role : roles) { + roleSet.add(describeRoleById(role.getId())); + } + return Collections.min(roleSet.stream().map(SystemRoleTb::getLevel).collect(Collectors.toList())); + } + + @Override + public List buildUserRolePermissions(SystemUserTb user) { + Set permissions = new HashSet<>(); + // 如果是管理员直接返回 + if (user.getIsAdmin()) { + permissions.add("admin"); + return permissions.stream().map(SystemRoleCodeVo::new) + .collect(Collectors.toList()); + } + List roles = systemRoleMapper.queryRoleListByUserId(user.getId()); + permissions = roles.stream().flatMap(role -> role.getMenus().stream()) + .map(SystemMenuTb::getPermission) + .filter(StringUtil::isNotBlank).collect(Collectors.toSet()); + return permissions.stream().map(SystemRoleCodeVo::new) + .collect(Collectors.toList()); + } + + @Override + public void verifyBindRelationByIds(Set ids) { + if (systemUserMapper.getUserCountByRoleIds(ids) > 0) { + throw new BadRequestException("所选角色存在用户关联,请解除关联再试!"); + } + } + + @Override + public List describeRoleListByMenuId(Long menuId) { + return systemRoleMapper.queryRoleListByMenuId(menuId); } } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemUserApi.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemUserApi.java deleted file mode 100644 index 9d06bdfa..00000000 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemUserApi.java +++ /dev/null @@ -1,45 +0,0 @@ -package cn.odboy.core.service.system; - -import cn.odboy.base.CsResultVo; -import cn.odboy.core.dal.dataobject.system.SystemUserTb; -import cn.odboy.core.dal.model.system.QuerySystemUserArgs; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; - -import java.util.List; - -public interface SystemUserApi { - - /** - * 根据ID查询 - * - * @param id ID - * @return / - */ - SystemUserTb describeUserById(long id); - - /** - * 根据用户名查询 - * - * @param username / - * @return / - */ - SystemUserTb describeUserByUsername(String username); - - /** - * 查询全部 - * - * @param criteria 条件 - * @param page 分页参数 - * @return / - */ - CsResultVo> describeUserPage(QuerySystemUserArgs criteria, Page page); - - /** - * 查询全部不分页 - * - * @param criteria 条件 - * @return / - */ - List describeUserList(QuerySystemUserArgs criteria); - -} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemUserApiImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemUserApiImpl.java deleted file mode 100644 index 019ce852..00000000 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemUserApiImpl.java +++ /dev/null @@ -1,53 +0,0 @@ -package cn.odboy.core.service.system; - -import cn.odboy.base.CsResultVo; -import cn.odboy.core.dal.redis.system.SystemRedisKey; -import cn.odboy.core.dal.dataobject.system.SystemUserTb; -import cn.odboy.core.dal.mysql.system.SystemUserMapper; -import cn.odboy.core.dal.model.system.QuerySystemUserArgs; -import cn.odboy.redis.RedisHelper; -import cn.odboy.util.PageUtil; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.List; -import java.util.concurrent.TimeUnit; - -@Service -@RequiredArgsConstructor -public class SystemUserApiImpl implements SystemUserApi { - private final SystemUserMapper userMapper; - private final RedisHelper redisHelper; - - @Override - public CsResultVo> describeUserPage(QuerySystemUserArgs criteria, Page page) { - criteria.setOffset(page.offset()); - List users = userMapper.queryUserPageByArgs(criteria, PageUtil.getCount(userMapper)).getRecords(); - Long total = userMapper.getUserCountByArgs(criteria); - return PageUtil.toPage(users, total); - } - - @Override - public List describeUserList(QuerySystemUserArgs criteria) { - return userMapper.queryUserPageByArgs(criteria, PageUtil.getCount(userMapper)).getRecords(); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public SystemUserTb describeUserById(long id) { - String key = SystemRedisKey.USER_ID + id; - SystemUserTb user = redisHelper.get(key, SystemUserTb.class); - if (user == null) { - user = userMapper.selectById(id); - redisHelper.set(key, user, 1, TimeUnit.DAYS); - } - return user; - } - - @Override - public SystemUserTb describeUserByUsername(String username) { - return userMapper.getUserByUsername(username); - } -} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemUserService.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemUserService.java index 1d0778da..8f4c6c0f 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemUserService.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemUserService.java @@ -1,6 +1,9 @@ package cn.odboy.core.service.system; +import cn.odboy.base.CsResultVo; import cn.odboy.core.dal.dataobject.system.SystemUserTb; +import cn.odboy.core.dal.model.system.QuerySystemUserArgs; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import org.springframework.web.multipart.MultipartFile; @@ -80,4 +83,38 @@ public interface SystemUserService extends IService { * @param password 密码 */ void resetUserPasswordByIds(Set ids, String password); + + + /** + * 根据ID查询 + * + * @param id ID + * @return / + */ + SystemUserTb describeUserById(long id); + + /** + * 根据用户名查询 + * + * @param username / + * @return / + */ + SystemUserTb describeUserByUsername(String username); + + /** + * 查询全部 + * + * @param criteria 条件 + * @param page 分页参数 + * @return / + */ + CsResultVo> describeUserPage(QuerySystemUserArgs criteria, Page page); + + /** + * 查询全部不分页 + * + * @param criteria 条件 + * @return / + */ + List describeUserList(QuerySystemUserArgs criteria); } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemUserServiceImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemUserServiceImpl.java index 3146c8d6..bb275f88 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemUserServiceImpl.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/core/service/system/SystemUserServiceImpl.java @@ -1,42 +1,50 @@ package cn.odboy.core.service.system; -import cn.odboy.core.dal.redis.system.SystemUserJwtService; -import cn.odboy.core.dal.redis.system.SystemUserOnlineService; -import cn.odboy.core.dal.redis.system.SystemRedisKey; +import cn.odboy.base.CsResultVo; import cn.odboy.core.dal.dataobject.system.SystemJobTb; import cn.odboy.core.dal.dataobject.system.SystemRoleTb; import cn.odboy.core.dal.dataobject.system.SystemUserTb; +import cn.odboy.core.dal.model.system.QuerySystemUserArgs; import cn.odboy.core.dal.mysql.system.SystemUserJobMapper; import cn.odboy.core.dal.mysql.system.SystemUserMapper; import cn.odboy.core.dal.mysql.system.SystemUserRoleMapper; +import cn.odboy.core.dal.redis.system.SystemRedisKey; +import cn.odboy.core.dal.redis.system.SystemUserJwtService; +import cn.odboy.core.dal.redis.system.SystemUserOnlineService; import cn.odboy.core.framework.permission.core.SecurityHelper; import cn.odboy.core.framework.properties.AppProperties; import cn.odboy.exception.BadRequestException; import cn.odboy.exception.EntityExistException; -import cn.odboy.redis.RedisHelper; import cn.odboy.util.FileUtil; +import cn.odboy.util.PageUtil; import cn.odboy.util.StringUtil; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; - import javax.servlet.http.HttpServletResponse; import javax.validation.constraints.NotBlank; import java.io.File; import java.io.IOException; -import java.util.*; +import java.util.ArrayList; +import java.util.Date; +import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Set; import java.util.stream.Collectors; @Service @RequiredArgsConstructor public class SystemUserServiceImpl extends ServiceImpl implements SystemUserService { - private final SystemUserMapper userMapper; - private final SystemUserJobMapper userJobMapper; - private final SystemUserRoleMapper userRoleMapper; + private final SystemUserMapper systemUserMapper; + private final SystemUserJobMapper systemUserJobMapper; + private final SystemUserRoleMapper systemUserRoleMapper; private final AppProperties properties; - private final RedisHelper redisHelper; private final SystemUserJwtService systemUserJwtService; private final SystemUserOnlineService systemUserOnlineService; @@ -44,29 +52,29 @@ public class SystemUserServiceImpl extends ServiceImpl ids, String password) { - List users = userMapper.selectByIds(ids); + List users = systemUserMapper.selectByIds(ids); // 清除缓存 users.forEach(user -> { // 清除缓存 - flushCache(user.getUsername()); + flushLoginCacheInfo(user.getUsername()); // 强制退出 systemUserOnlineService.kickOutByUsername(user.getUsername()); }); // 重置密码 - userMapper.updatePasswordByUserIds(password, ids); + systemUserMapper.updatePasswordByUserIds(password, ids); } @Override @@ -176,7 +172,7 @@ public class SystemUserServiceImpl extends ServiceImpl(1) {{ put("avatar", file.getName()); }}; @@ -195,8 +191,8 @@ public class SystemUserServiceImpl extends ServiceImpl> describeUserPage(QuerySystemUserArgs criteria, Page page) { + criteria.setOffset(page.offset()); + List users = systemUserMapper.queryUserPageByArgs(criteria, PageUtil.getCount(systemUserMapper)).getRecords(); + Long total = systemUserMapper.getUserCountByArgs(criteria); + return PageUtil.toPage(users, total); + } + + @Override + public List describeUserList(QuerySystemUserArgs criteria) { + return systemUserMapper.queryUserPageByArgs(criteria, PageUtil.getCount(systemUserMapper)).getRecords(); + } + + @Override + public SystemUserTb describeUserById(long id) { + return systemUserMapper.selectById(id); + } + + @Override + public SystemUserTb describeUserByUsername(String username) { + return systemUserMapper.getUserByUsername(username); + } }