From 105e79a873006669aba30c01751b6be4f30ba74e Mon Sep 17 00:00:00 2001 From: Odboy Date: Thu, 27 Mar 2025 18:54:17 +0800 Subject: [PATCH] =?UTF-8?q?upd:=20=E7=BC=96=E7=A0=81=E8=A7=84=E8=8C=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/cn/odboy/base/BaseResult.java | 20 +++ .../java/cn/odboy/constant/FileTypeEnum.java | 18 ++ .../{CacheKey.java => SystemRedisKey.java} | 12 +- .../odboy/constant/TransferProtocolConst.java | 7 + .../main/java/cn/odboy/util/BrowserUtil.java | 56 +++++++ .../main/java/cn/odboy/util/ClassUtil.java | 19 +++ .../src/main/java/cn/odboy/util/CollUtil.java | 57 ------- .../{EncryptUtil.java => DESEncryptUtil.java} | 7 +- .../src/main/java/cn/odboy/util/DateUtil.java | 152 ----------------- .../src/main/java/cn/odboy/util/FileUtil.java | 103 +++++------- .../src/main/java/cn/odboy/util/IPUtil.java | 71 ++++++++ .../src/main/java/cn/odboy/util/PageUtil.java | 7 +- .../{RsaUtil.java => RSAEncryptUtil.java} | 14 +- .../main/java/cn/odboy/util/ScriptUtil.java | 14 +- .../main/java/cn/odboy/util/SecurityUtil.java | 28 ++-- .../src/main/java/cn/odboy/util/SqlUtil.java | 4 +- .../main/java/cn/odboy/util/StringUtil.java | 121 +------------- .../websocket/WebSocketServerFactory.java | 5 +- .../odboy/model/system/dto/OnlineUserDto.java | 5 - .../odboy/model/tools/domain/EmailConfig.java | 2 +- .../job}/config/JobRunner.java | 8 +- .../job}/config/QuartzConfig.java | 2 +- .../job}/mapper/QuartzJobMapper.java | 6 +- .../job}/mapper/QuartzLogMapper.java | 4 +- .../job}/rest/QuartzJobController.java | 22 +-- .../job}/service/QuartzJobService.java | 24 +-- .../service/impl/QuartzJobServiceImpl.java | 46 +++--- .../{ => application/job}/task/TestTask.java | 2 +- .../job}/util/ExecutionJob.java | 44 ++--- .../job}/util/QuartzManage.java | 10 +- .../job}/util/QuartzRunnable.java | 6 +- .../main/resources/mapper/QuartzJobMapper.xml | 6 +- .../main/resources/mapper/QuartzLogMapper.xml | 4 +- .../src/main/resources/application-dev.yml | 12 -- .../src/main/resources/application-prod.yml | 11 -- ...tUtilTest.java => DESEncryptUtilTest.java} | 6 +- .../test/java/cn/odboy/util/DateUtilTest.java | 26 --- .../test/java/cn/odboy/util/FileUtilTest.java | 8 +- .../java/cn/odboy/util/StringUtilTest.java | 2 +- .../core}/config/CaptchaConfig.java | 4 +- .../core}/config/LoginProperties.java | 2 +- .../core}/config/SecurityProperties.java | 12 +- .../core}/config/SpringSecurityConfig.java | 12 +- .../core}/constant/LoginCodeEnum.java | 2 +- .../core}/context/JwtAccessDeniedHandler.java | 2 +- .../context/JwtAuthenticationEntryPoint.java | 2 +- .../core}/context/TokenConfigurer.java | 6 +- .../core}/context/TokenFilter.java | 8 +- .../core}/context/TokenProvider.java | 7 +- .../core}/context/UserDetailsHelper.java | 16 +- .../core}/rest/AuthController.java | 27 +-- .../core}/rest/OnlineController.java | 14 +- .../core}/service/OnlineUserService.java | 14 +- .../core}/service/UserCacheService.java | 8 +- .../service/impl/OnlineUserServiceImpl.java | 58 ++++--- .../service/impl/UserCacheServiceImpl.java | 23 ++- .../application/system/mapper/DeptMapper.java | 25 +++ .../system/mapper/DictDetailMapper.java | 6 +- .../system/mapper/DictMapper.java | 4 +- .../system/mapper/JobMapper.java | 6 +- .../application/system/mapper/MenuMapper.java | 31 ++++ .../system/mapper/RoleDeptMapper.java | 2 +- .../application/system/mapper/RoleMapper.java | 29 ++++ .../system/mapper/RoleMenuMapper.java | 2 +- .../system/mapper/UserJobMapper.java | 2 +- .../application/system/mapper/UserMapper.java | 45 +++++ .../system/mapper/UserRoleMapper.java | 2 +- .../system/rest/DeptController.java | 30 ++-- .../system/rest/DictController.java | 16 +- .../system/rest/DictDetailController.java | 14 +- .../system/rest/JobController.java | 16 +- .../system/rest/MenuController.java | 32 ++-- .../system/rest/MonitorController.java | 6 +- .../system/rest/RoleController.java | 24 +-- .../system/rest/UserController.java | 60 +++---- .../system/rest/VerifyController.java | 18 +- .../system/service/DataService.java | 4 +- .../system/service/DeptService.java | 40 +++-- .../system/service/DictDetailService.java | 12 +- .../system/service/DictService.java | 14 +- .../system/service/JobService.java | 18 +- .../system/service/MenuService.java | 22 +-- .../system/service/MonitorService.java | 4 +- .../system/service/RoleService.java | 120 +++++++------- .../system/service/UserService.java | 42 ++--- .../system/service/VerifyService.java | 6 +- .../system/service/impl/DataServiceImpl.java | 24 +-- .../system/service/impl/DeptServiceImpl.java | 155 +++++++++--------- .../service/impl/DictDetailServiceImpl.java | 28 ++-- .../system/service/impl/DictServiceImpl.java | 30 ++-- .../system/service/impl/JobServiceImpl.java | 40 ++--- .../system/service/impl/MenuServiceImpl.java | 93 ++++++----- .../service/impl/MonitorServiceImpl.java | 15 +- .../system/service/impl/RoleServiceImpl.java | 96 +++++------ .../system/service/impl/UserServiceImpl.java | 105 ++++++------ .../service/impl/VerifyServiceImpl.java | 10 +- .../modules/system/mapper/DeptMapper.java | 25 --- .../modules/system/mapper/MenuMapper.java | 36 ---- .../modules/system/mapper/RoleMapper.java | 29 ---- .../modules/system/mapper/UserMapper.java | 48 ------ .../src/main/resources/mapper/DeptMapper.xml | 34 ++-- .../resources/mapper/DictDetailMapper.xml | 7 +- .../src/main/resources/mapper/DictMapper.xml | 4 +- .../src/main/resources/mapper/JobMapper.xml | 6 +- .../src/main/resources/mapper/MenuMapper.xml | 78 +++++---- .../main/resources/mapper/RoleDeptMapper.xml | 2 +- .../src/main/resources/mapper/RoleMapper.xml | 18 +- .../main/resources/mapper/RoleMenuMapper.xml | 2 +- .../main/resources/mapper/UserJobMapper.xml | 2 +- .../src/main/resources/mapper/UserMapper.xml | 105 ++++++------ .../main/resources/mapper/UserRoleMapper.xml | 2 +- .../tools}/mapper/EmailConfigMapper.java | 2 +- .../tools}/mapper/LocalStorageMapper.java | 4 +- .../tools}/mapper/QiniuConfigMapper.java | 2 +- .../tools}/mapper/QiniuContentMapper.java | 6 +- .../tools}/rest/EmailController.java | 10 +- .../tools}/rest/LocalStorageController.java | 21 +-- .../tools}/rest/QiniuController.java | 20 +-- .../tools}/service/EmailService.java | 12 +- .../tools}/service/LocalStorageService.java | 14 +- .../tools}/service/QiNiuConfigService.java | 2 +- .../tools}/service/QiniuContentService.java | 29 ++-- .../tools}/service/impl/EmailServiceImpl.java | 37 +++-- .../service/impl/LocalStorageServiceImpl.java | 26 +-- .../service/impl/QiNiuConfigServiceImpl.java | 13 +- .../service/impl/QiniuContentServiceImpl.java | 79 +++++---- .../tools}/util/QiNiuUtil.java | 17 +- .../resources/mapper/LocalStorageMapper.xml | 4 +- .../resources/mapper/QiniuContentMapper.xml | 6 +- cutejava/doc/编码规范.md | 8 + 130 files changed, 1476 insertions(+), 1670 deletions(-) create mode 100644 cutejava/cutejava-common/src/main/java/cn/odboy/base/BaseResult.java create mode 100644 cutejava/cutejava-common/src/main/java/cn/odboy/constant/FileTypeEnum.java rename cutejava/cutejava-common/src/main/java/cn/odboy/constant/{CacheKey.java => SystemRedisKey.java} (77%) create mode 100644 cutejava/cutejava-common/src/main/java/cn/odboy/constant/TransferProtocolConst.java create mode 100644 cutejava/cutejava-common/src/main/java/cn/odboy/util/BrowserUtil.java create mode 100644 cutejava/cutejava-common/src/main/java/cn/odboy/util/ClassUtil.java rename cutejava/cutejava-common/src/main/java/cn/odboy/util/{EncryptUtil.java => DESEncryptUtil.java} (94%) delete mode 100644 cutejava/cutejava-common/src/main/java/cn/odboy/util/DateUtil.java create mode 100644 cutejava/cutejava-common/src/main/java/cn/odboy/util/IPUtil.java rename cutejava/cutejava-common/src/main/java/cn/odboy/util/{RsaUtil.java => RSAEncryptUtil.java} (96%) rename cutejava/cutejava-job/src/main/java/cn/odboy/{ => application/job}/config/JobRunner.java (77%) rename cutejava/cutejava-job/src/main/java/cn/odboy/{ => application/job}/config/QuartzConfig.java (97%) rename cutejava/cutejava-job/src/main/java/cn/odboy/{ => application/job}/mapper/QuartzJobMapper.java (70%) rename cutejava/cutejava-job/src/main/java/cn/odboy/{ => application/job}/mapper/QuartzLogMapper.java (74%) rename cutejava/cutejava-job/src/main/java/cn/odboy/{ => application/job}/rest/QuartzJobController.java (85%) rename cutejava/cutejava-job/src/main/java/cn/odboy/{ => application/job}/service/QuartzJobService.java (68%) rename cutejava/cutejava-job/src/main/java/cn/odboy/{ => application/job}/service/impl/QuartzJobServiceImpl.java (76%) rename cutejava/cutejava-job/src/main/java/cn/odboy/{ => application/job}/task/TestTask.java (90%) rename cutejava/cutejava-job/src/main/java/cn/odboy/{ => application/job}/util/ExecutionJob.java (78%) rename cutejava/cutejava-job/src/main/java/cn/odboy/{ => application/job}/util/QuartzManage.java (95%) rename cutejava/cutejava-job/src/main/java/cn/odboy/{ => application/job}/util/QuartzRunnable.java (86%) rename cutejava/cutejava-starter/src/test/java/cn/odboy/util/{EncryptUtilTest.java => DESEncryptUtilTest.java} (84%) delete mode 100644 cutejava/cutejava-starter/src/test/java/cn/odboy/util/DateUtilTest.java rename cutejava/cutejava-system/src/main/java/cn/odboy/{modules/security => application/core}/config/CaptchaConfig.java (96%) rename cutejava/cutejava-system/src/main/java/cn/odboy/{modules/security => application/core}/config/LoginProperties.java (91%) rename cutejava/cutejava-system/src/main/java/cn/odboy/{modules/security => application/core}/config/SecurityProperties.java (79%) rename cutejava/cutejava-system/src/main/java/cn/odboy/{modules/security => application/core}/config/SpringSecurityConfig.java (93%) rename cutejava/cutejava-system/src/main/java/cn/odboy/{modules/security => application/core}/constant/LoginCodeEnum.java (86%) rename cutejava/cutejava-system/src/main/java/cn/odboy/{modules/security => application/core}/context/JwtAccessDeniedHandler.java (96%) rename cutejava/cutejava-system/src/main/java/cn/odboy/{modules/security => application/core}/context/JwtAuthenticationEntryPoint.java (96%) rename cutejava/cutejava-system/src/main/java/cn/odboy/{modules/security => application/core}/context/TokenConfigurer.java (84%) rename cutejava/cutejava-system/src/main/java/cn/odboy/{modules/security => application/core}/context/TokenFilter.java (93%) rename cutejava/cutejava-system/src/main/java/cn/odboy/{modules/security => application/core}/context/TokenProvider.java (94%) rename cutejava/cutejava-system/src/main/java/cn/odboy/{modules/security => application/core}/context/UserDetailsHelper.java (72%) rename cutejava/cutejava-system/src/main/java/cn/odboy/{modules/security => application/core}/rest/AuthController.java (86%) rename cutejava/cutejava-system/src/main/java/cn/odboy/{modules/security => application/core}/rest/OnlineController.java (76%) rename cutejava/cutejava-system/src/main/java/cn/odboy/{modules/security => application/core}/service/OnlineUserService.java (72%) rename cutejava/cutejava-system/src/main/java/cn/odboy/{modules/security => application/core}/service/UserCacheService.java (73%) rename cutejava/cutejava-system/src/main/java/cn/odboy/{modules/security => application/core}/service/impl/OnlineUserServiceImpl.java (53%) rename cutejava/cutejava-system/src/main/java/cn/odboy/{modules/security => application/core}/service/impl/UserCacheServiceImpl.java (62%) create mode 100644 cutejava/cutejava-system/src/main/java/cn/odboy/application/system/mapper/DeptMapper.java rename cutejava/cutejava-system/src/main/java/cn/odboy/{modules => application}/system/mapper/DictDetailMapper.java (71%) rename cutejava/cutejava-system/src/main/java/cn/odboy/{modules => application}/system/mapper/DictMapper.java (75%) rename cutejava/cutejava-system/src/main/java/cn/odboy/{modules => application}/system/mapper/JobMapper.java (69%) create mode 100644 cutejava/cutejava-system/src/main/java/cn/odboy/application/system/mapper/MenuMapper.java rename cutejava/cutejava-system/src/main/java/cn/odboy/{modules => application}/system/mapper/RoleDeptMapper.java (90%) create mode 100644 cutejava/cutejava-system/src/main/java/cn/odboy/application/system/mapper/RoleMapper.java rename cutejava/cutejava-system/src/main/java/cn/odboy/{modules => application}/system/mapper/RoleMenuMapper.java (91%) rename cutejava/cutejava-system/src/main/java/cn/odboy/{modules => application}/system/mapper/UserJobMapper.java (90%) create mode 100644 cutejava/cutejava-system/src/main/java/cn/odboy/application/system/mapper/UserMapper.java rename cutejava/cutejava-system/src/main/java/cn/odboy/{modules => application}/system/mapper/UserRoleMapper.java (90%) rename cutejava/cutejava-system/src/main/java/cn/odboy/{modules => application}/system/rest/DeptController.java (80%) rename cutejava/cutejava-system/src/main/java/cn/odboy/{modules => application}/system/rest/DictController.java (82%) rename cutejava/cutejava-system/src/main/java/cn/odboy/{modules => application}/system/rest/DictDetailController.java (85%) rename cutejava/cutejava-system/src/main/java/cn/odboy/{modules => application}/system/rest/JobController.java (84%) rename cutejava/cutejava-system/src/main/java/cn/odboy/{modules => application}/system/rest/MenuController.java (80%) rename cutejava/cutejava-system/src/main/java/cn/odboy/{modules => application}/system/rest/MonitorController.java (81%) rename cutejava/cutejava-system/src/main/java/cn/odboy/{modules => application}/system/rest/RoleController.java (83%) rename cutejava/cutejava-system/src/main/java/cn/odboy/{modules => application}/system/rest/UserController.java (69%) rename cutejava/cutejava-system/src/main/java/cn/odboy/{modules => application}/system/rest/VerifyController.java (69%) rename cutejava/cutejava-system/src/main/java/cn/odboy/{modules => application}/system/service/DataService.java (68%) rename cutejava/cutejava-system/src/main/java/cn/odboy/{modules => application}/system/service/DeptService.java (59%) rename cutejava/cutejava-system/src/main/java/cn/odboy/{modules => application}/system/service/DictDetailService.java (69%) rename cutejava/cutejava-system/src/main/java/cn/odboy/{modules => application}/system/service/DictService.java (70%) rename cutejava/cutejava-system/src/main/java/cn/odboy/{modules => application}/system/service/JobService.java (70%) rename cutejava/cutejava-system/src/main/java/cn/odboy/{modules => application}/system/service/MenuService.java (72%) rename cutejava/cutejava-system/src/main/java/cn/odboy/{modules => application}/system/service/MonitorService.java (62%) rename cutejava/cutejava-system/src/main/java/cn/odboy/{modules => application}/system/service/RoleService.java (72%) rename cutejava/cutejava-system/src/main/java/cn/odboy/{modules => application}/system/service/UserService.java (65%) rename cutejava/cutejava-system/src/main/java/cn/odboy/{modules => application}/system/service/VerifyService.java (61%) rename cutejava/cutejava-system/src/main/java/cn/odboy/{modules => application}/system/service/impl/DataServiceImpl.java (73%) rename cutejava/cutejava-system/src/main/java/cn/odboy/{modules => application}/system/service/impl/DeptServiceImpl.java (57%) rename cutejava/cutejava-system/src/main/java/cn/odboy/{modules => application}/system/service/impl/DictDetailServiceImpl.java (69%) rename cutejava/cutejava-system/src/main/java/cn/odboy/{modules => application}/system/service/impl/DictServiceImpl.java (75%) rename cutejava/cutejava-system/src/main/java/cn/odboy/{modules => application}/system/service/impl/JobServiceImpl.java (69%) rename cutejava/cutejava-system/src/main/java/cn/odboy/{modules => application}/system/service/impl/MenuServiceImpl.java (76%) rename cutejava/cutejava-system/src/main/java/cn/odboy/{modules => application}/system/service/impl/MonitorServiceImpl.java (94%) rename cutejava/cutejava-system/src/main/java/cn/odboy/{modules => application}/system/service/impl/RoleServiceImpl.java (68%) rename cutejava/cutejava-system/src/main/java/cn/odboy/{modules => application}/system/service/impl/UserServiceImpl.java (70%) rename cutejava/cutejava-system/src/main/java/cn/odboy/{modules => application}/system/service/impl/VerifyServiceImpl.java (87%) delete mode 100644 cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/mapper/DeptMapper.java delete mode 100644 cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/mapper/MenuMapper.java delete mode 100644 cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/mapper/RoleMapper.java delete mode 100644 cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/mapper/UserMapper.java rename cutejava/cutejava-tools/src/main/java/cn/odboy/{ => application/tools}/mapper/EmailConfigMapper.java (84%) rename cutejava/cutejava-tools/src/main/java/cn/odboy/{ => application/tools}/mapper/LocalStorageMapper.java (73%) rename cutejava/cutejava-tools/src/main/java/cn/odboy/{ => application/tools}/mapper/QiniuConfigMapper.java (84%) rename cutejava/cutejava-tools/src/main/java/cn/odboy/{ => application/tools}/mapper/QiniuContentMapper.java (66%) rename cutejava/cutejava-tools/src/main/java/cn/odboy/{ => application/tools}/rest/EmailController.java (79%) rename cutejava/cutejava-tools/src/main/java/cn/odboy/{ => application/tools}/rest/LocalStorageController.java (77%) rename cutejava/cutejava-tools/src/main/java/cn/odboy/{ => application/tools}/rest/QiniuController.java (84%) rename cutejava/cutejava-tools/src/main/java/cn/odboy/{ => application/tools}/service/EmailService.java (60%) rename cutejava/cutejava-tools/src/main/java/cn/odboy/{ => application/tools}/service/LocalStorageService.java (69%) rename cutejava/cutejava-tools/src/main/java/cn/odboy/{ => application/tools}/service/QiNiuConfigService.java (91%) rename cutejava/cutejava-tools/src/main/java/cn/odboy/{ => application/tools}/service/QiniuContentService.java (58%) rename cutejava/cutejava-tools/src/main/java/cn/odboy/{ => application/tools}/service/impl/EmailServiceImpl.java (70%) rename cutejava/cutejava-tools/src/main/java/cn/odboy/{ => application/tools}/service/impl/LocalStorageServiceImpl.java (74%) rename cutejava/cutejava-tools/src/main/java/cn/odboy/{ => application/tools}/service/impl/QiNiuConfigServiceImpl.java (73%) rename cutejava/cutejava-tools/src/main/java/cn/odboy/{ => application/tools}/service/impl/QiniuContentServiceImpl.java (67%) rename cutejava/cutejava-tools/src/main/java/cn/odboy/{ => application/tools}/util/QiNiuUtil.java (73%) create mode 100644 cutejava/doc/编码规范.md diff --git a/cutejava/cutejava-common/src/main/java/cn/odboy/base/BaseResult.java b/cutejava/cutejava-common/src/main/java/cn/odboy/base/BaseResult.java new file mode 100644 index 00000000..fe51e10b --- /dev/null +++ b/cutejava/cutejava-common/src/main/java/cn/odboy/base/BaseResult.java @@ -0,0 +1,20 @@ +package cn.odboy.base; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +import java.util.List; + +/** + * 结果封装类 + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = false) +public class BaseResult extends MyObject { + private T content; + private long totalElements; +} diff --git a/cutejava/cutejava-common/src/main/java/cn/odboy/constant/FileTypeEnum.java b/cutejava/cutejava-common/src/main/java/cn/odboy/constant/FileTypeEnum.java new file mode 100644 index 00000000..34be1440 --- /dev/null +++ b/cutejava/cutejava-common/src/main/java/cn/odboy/constant/FileTypeEnum.java @@ -0,0 +1,18 @@ +package cn.odboy.constant; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public enum FileTypeEnum { + /* 文件类型 */ + IMAGE("image", "图片"), + DOC("doc", "文档"), + VOICE("voice", "音频"), + VIDEO("video", "视频"), + OTHER("other", "其他"); + + private final String code; + private final String description; +} diff --git a/cutejava/cutejava-common/src/main/java/cn/odboy/constant/CacheKey.java b/cutejava/cutejava-common/src/main/java/cn/odboy/constant/SystemRedisKey.java similarity index 77% rename from cutejava/cutejava-common/src/main/java/cn/odboy/constant/CacheKey.java rename to cutejava/cutejava-common/src/main/java/cn/odboy/constant/SystemRedisKey.java index b3dbc1d0..49ca967f 100644 --- a/cutejava/cutejava-common/src/main/java/cn/odboy/constant/CacheKey.java +++ b/cutejava/cutejava-common/src/main/java/cn/odboy/constant/SystemRedisKey.java @@ -3,7 +3,7 @@ package cn.odboy.constant; /** * 关于缓存的Key集合 */ -public interface CacheKey { +public interface SystemRedisKey { /** * 用户 @@ -46,4 +46,14 @@ public interface CacheKey { * 数据字典 */ String DICT_NAME = "dict::name:"; + + /** + * 在线用户 + */ + String ONLINE_USER = "online::token:"; + + /** + * 登录验证码 + */ + String CAPTCHA_LOGIN = "captcha::login:"; } diff --git a/cutejava/cutejava-common/src/main/java/cn/odboy/constant/TransferProtocolConst.java b/cutejava/cutejava-common/src/main/java/cn/odboy/constant/TransferProtocolConst.java new file mode 100644 index 00000000..936facee --- /dev/null +++ b/cutejava/cutejava-common/src/main/java/cn/odboy/constant/TransferProtocolConst.java @@ -0,0 +1,7 @@ +package cn.odboy.constant; + +public interface TransferProtocolConst { + String PREFIX_HTTP = "http://"; + String PREFIX_HTTPS = "https://"; + String PREFIX_HTTPS_BAD_REQUEST = "外链必须以http://或者https://开头"; +} diff --git a/cutejava/cutejava-common/src/main/java/cn/odboy/util/BrowserUtil.java b/cutejava/cutejava-common/src/main/java/cn/odboy/util/BrowserUtil.java new file mode 100644 index 00000000..b0a661e2 --- /dev/null +++ b/cutejava/cutejava-common/src/main/java/cn/odboy/util/BrowserUtil.java @@ -0,0 +1,56 @@ +package cn.odboy.util; + +import cn.hutool.http.useragent.UserAgent; +import cn.hutool.http.useragent.UserAgentUtil; +import lombok.extern.slf4j.Slf4j; + +import javax.servlet.http.HttpServletRequest; +import java.net.InetAddress; +import java.net.UnknownHostException; + +/** + * 浏览器 相关 + */ +@Slf4j +public class BrowserUtil { + private static final String UNKNOWN = "unknown"; + + /** + * 获取ip地址 + */ + public static String getIp(HttpServletRequest request) { + String ip = request.getHeader("x-forwarded-for"); + if (ip == null || ip.isEmpty() || UNKNOWN.equalsIgnoreCase(ip)) { + ip = request.getHeader("Proxy-Client-IP"); + } + if (ip == null || ip.isEmpty() || UNKNOWN.equalsIgnoreCase(ip)) { + ip = request.getHeader("WL-Proxy-Client-IP"); + } + if (ip == null || ip.isEmpty() || UNKNOWN.equalsIgnoreCase(ip)) { + ip = request.getRemoteAddr(); + } + String comma = ","; + String localhost = "127.0.0.1"; + if (ip.contains(comma)) { + ip = ip.split(",")[0]; + } + if (localhost.equals(ip)) { + // 获取本机真正的ip地址 + try { + ip = InetAddress.getLocalHost().getHostAddress(); + } catch (UnknownHostException e) { + log.error("获取本机地址失败", e); + } + } + return ip; + } + + /** + * 获取浏览器 + */ + public static String getVersion(HttpServletRequest request) { + UserAgent ua = UserAgentUtil.parse(request.getHeader("User-Agent")); + String browser = ua.getBrowser().toString() + " " + ua.getVersion(); + return browser.replace(".0.0.0", ""); + } +} diff --git a/cutejava/cutejava-common/src/main/java/cn/odboy/util/ClassUtil.java b/cutejava/cutejava-common/src/main/java/cn/odboy/util/ClassUtil.java new file mode 100644 index 00000000..50d29139 --- /dev/null +++ b/cutejava/cutejava-common/src/main/java/cn/odboy/util/ClassUtil.java @@ -0,0 +1,19 @@ +package cn.odboy.util; + +import java.lang.reflect.Field; +import java.util.Arrays; +import java.util.List; + +/** + * 类 相关 + */ +public class ClassUtil { + @SuppressWarnings({"unchecked", "all"}) + public static List getAllFields(Class clazz, List fields) { + if (clazz != null) { + fields.addAll(Arrays.asList(clazz.getDeclaredFields())); + getAllFields(clazz.getSuperclass(), fields); + } + return fields; + } +} diff --git a/cutejava/cutejava-common/src/main/java/cn/odboy/util/CollUtil.java b/cutejava/cutejava-common/src/main/java/cn/odboy/util/CollUtil.java index eb3948da..dda06505 100644 --- a/cutejava/cutejava-common/src/main/java/cn/odboy/util/CollUtil.java +++ b/cutejava/cutejava-common/src/main/java/cn/odboy/util/CollUtil.java @@ -36,63 +36,6 @@ import java.util.stream.Collectors; * @date 2022-11-09 */ public class CollUtil extends cn.hutool.core.collection.CollUtil { - /** - * 连接器 - */ - private static final Joiner JOINER = Joiner.on(",").skipNulls(); - /** - * 分割器 - */ - private static final Splitter SPLITTER = Splitter.on(",").trimResults().omitEmptyStrings(); - - public static String join(Object[] parts) { - return JOINER.join(parts); - } - - public static String join(Iterable parts) { - return JOINER.join(parts); - } - - public static String join(Iterator parts) { - return JOINER.join(parts); - } - - public static List splitToList(String parts) { - return SPLITTER.splitToList(parts); - } - - /** - * 分几份 - * - * @param parts / - * @param size / - * @param / - * @return / - */ - public static List> splitToSize(List parts, int size) { - return Lists.partition(parts, size); - } - - /** - * 一份几个 - * - * @param parts / - * @param groupNum / - * @param / - * @return / - */ - public static List> splitToSegment(List parts, int groupNum) { - List> result = new ArrayList<>(1); - int i = 0; - for (; i < parts.size() / groupNum; i++) { - result.add(parts.subList(i * groupNum, (i + 1) * groupNum)); - } - if (parts.size() % groupNum != 0) { - result.add(parts.subList(i * groupNum, i * groupNum + parts.size() % groupNum)); - } - return result; - } - private static Predicate distinctPredicate(Function keyMapper) { Map map = new HashMap<>(); return (t) -> null == map.putIfAbsent(keyMapper.apply(t), true); diff --git a/cutejava/cutejava-common/src/main/java/cn/odboy/util/EncryptUtil.java b/cutejava/cutejava-common/src/main/java/cn/odboy/util/DESEncryptUtil.java similarity index 94% rename from cutejava/cutejava-common/src/main/java/cn/odboy/util/EncryptUtil.java rename to cutejava/cutejava-common/src/main/java/cn/odboy/util/DESEncryptUtil.java index 675505ac..10799b3c 100644 --- a/cutejava/cutejava-common/src/main/java/cn/odboy/util/EncryptUtil.java +++ b/cutejava/cutejava-common/src/main/java/cn/odboy/util/DESEncryptUtil.java @@ -8,9 +8,9 @@ import javax.crypto.spec.IvParameterSpec; import java.nio.charset.StandardCharsets; /** - * 加密 + * DES加密 */ -public class EncryptUtil { +public class DESEncryptUtil { private static final String STR_PARAM = "Passw0rd"; private static final IvParameterSpec IV = new IvParameterSpec(STR_PARAM.getBytes(StandardCharsets.UTF_8)); @@ -19,8 +19,7 @@ public class EncryptUtil { if (source == null || source.isEmpty()) { return null; } - String strKey = "Passw0rd"; - return new DESKeySpec(strKey.getBytes(StandardCharsets.UTF_8)); + return new DESKeySpec(STR_PARAM.getBytes(StandardCharsets.UTF_8)); } /** diff --git a/cutejava/cutejava-common/src/main/java/cn/odboy/util/DateUtil.java b/cutejava/cutejava-common/src/main/java/cn/odboy/util/DateUtil.java deleted file mode 100644 index c33d8023..00000000 --- a/cutejava/cutejava-common/src/main/java/cn/odboy/util/DateUtil.java +++ /dev/null @@ -1,152 +0,0 @@ -package cn.odboy.util; - -import java.sql.Timestamp; -import java.time.*; -import java.time.format.DateTimeFormatter; -import java.util.Date; - -/** - * JDK 8 新日期类 格式化与字符串转换 工具类 - */ -public class DateUtil { - - public static final DateTimeFormatter DFY_MD_HMS = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); - public static final DateTimeFormatter DFY_MD = DateTimeFormatter.ofPattern("yyyy-MM-dd"); - - /** - * LocalDateTime 转时间戳 - * - * @param localDateTime / - * @return / - */ - public static Long getTimeStamp(LocalDateTime localDateTime) { - return localDateTime.atZone(ZoneId.systemDefault()).toEpochSecond(); - } - - /** - * 时间戳转LocalDateTime - * - * @param timeStamp / - * @return / - */ - public static LocalDateTime fromTimeStamp(Long timeStamp) { - return LocalDateTime.ofEpochSecond(timeStamp, 0, OffsetDateTime.now().getOffset()); - } - - /** - * LocalDateTime 转 Date - * Jdk8 后 不推荐使用 {@link Date} Date - * - * @param localDateTime / - * @return / - */ - public static Date toDate(LocalDateTime localDateTime) { - return Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant()); - } - - /** - * LocalDate 转 Date - * Jdk8 后 不推荐使用 {@link Date} Date - * - * @param localDate / - * @return / - */ - public static Date toDate(LocalDate localDate) { - return toDate(localDate.atTime(LocalTime.now(ZoneId.systemDefault()))); - } - - - /** - * Date转 LocalDateTime - * Jdk8 后 不推荐使用 {@link Date} Date - * - * @param date / - * @return / - */ - public static LocalDateTime toLocalDateTime(Date date) { - return LocalDateTime.ofInstant(date.toInstant(), ZoneId.systemDefault()); - } - - /** - * 日期 格式化 - * - * @param localDateTime / - * @param patten / - * @return / - */ - public static String localDateTimeFormat(LocalDateTime localDateTime, String patten) { - DateTimeFormatter df = DateTimeFormatter.ofPattern(patten); - return df.format(localDateTime); - } - - /** - * 日期 格式化 - * - * @param localDateTime / - * @param df / - * @return / - */ - public static String localDateTimeFormat(LocalDateTime localDateTime, DateTimeFormatter df) { - return df.format(localDateTime); - } - - /** - * 日期格式化 yyyy-MM-dd HH:mm:ss - * - * @param localDateTime / - * @return / - */ - public static String localDateTimeFormatyMdHms(LocalDateTime localDateTime) { - return DFY_MD_HMS.format(localDateTime); - } - - /** - * 获取当前时间 - * - * @return 、 - */ - public static Timestamp getTimeStamp() { - return Timestamp.valueOf(LocalDateTime.now()); - } - - /** - * 日期格式化 yyyy-MM-dd - * - * @param localDateTime / - * @return / - */ - public String localDateTimeFormatyMd(LocalDateTime localDateTime) { - return DFY_MD.format(localDateTime); - } - - /** - * 字符串转 LocalDateTime ,字符串格式 yyyy-MM-dd - * - * @param localDateTime / - * @return / - */ - public static LocalDateTime parseLocalDateTimeFormat(String localDateTime, String pattern) { - DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern(pattern); - return LocalDateTime.from(dateTimeFormatter.parse(localDateTime)); - } - - /** - * 字符串转 LocalDateTime ,字符串格式 yyyy-MM-dd - * - * @param localDateTime / - * @return / - */ - public static LocalDateTime parseLocalDateTimeFormat(String localDateTime, DateTimeFormatter dateTimeFormatter) { - return LocalDateTime.from(dateTimeFormatter.parse(localDateTime)); - } - - /** - * 字符串转 LocalDateTime ,字符串格式 yyyy-MM-dd HH:mm:ss - * - * @param localDateTime / - * @return / - */ - public static LocalDateTime parseLocalDateTimeFormatyMdHms(String localDateTime) { - return LocalDateTime.from(DFY_MD_HMS.parse(localDateTime)); - } -} diff --git a/cutejava/cutejava-common/src/main/java/cn/odboy/util/FileUtil.java b/cutejava/cutejava-common/src/main/java/cn/odboy/util/FileUtil.java index 301b7efe..896f135a 100644 --- a/cutejava/cutejava-common/src/main/java/cn/odboy/util/FileUtil.java +++ b/cutejava/cutejava-common/src/main/java/cn/odboy/util/FileUtil.java @@ -4,6 +4,7 @@ import cn.hutool.core.io.IoUtil; import cn.hutool.core.util.IdUtil; import cn.hutool.poi.excel.BigExcelWriter; import cn.hutool.poi.excel.ExcelUtil; +import cn.odboy.constant.FileTypeEnum; import cn.odboy.exception.BadRequestException; import lombok.extern.slf4j.Slf4j; import org.apache.poi.util.IOUtils; @@ -61,21 +62,17 @@ public class FileUtil extends cn.hutool.core.io.FileUtil { */ private static final DecimalFormat DF = new DecimalFormat("0.00"); - public static final String IMAGE = "图片"; - public static final String TXT = "文档"; - public static final String MUSIC = "音乐"; - public static final String VIDEO = "视频"; - public static final String OTHER = "其他"; - + public static void main(String[] args) { + } /** - * MultipartFile转File + * MultipartFile转File -> ok */ public static File toFile(MultipartFile multipartFile) { // 获取文件名 String fileName = multipartFile.getOriginalFilename(); // 获取文件后缀 - String prefix = "." + getExtensionName(fileName); + String prefix = "." + getSuffix(fileName); File file = null; try { // 用uuid作为文件名,防止生成的临时文件重复 @@ -83,39 +80,13 @@ public class FileUtil extends cn.hutool.core.io.FileUtil { // MultipartFile to File multipartFile.transferTo(file); } catch (IOException e) { - log.error(e.getMessage(), e); + log.error("保存临时文件失败", e); } return file; } /** - * 获取文件扩展名,不带 . - */ - public static String getExtensionName(String filename) { - if ((filename != null) && (!filename.isEmpty())) { - int dot = filename.lastIndexOf('.'); - if ((dot > -1) && (dot < (filename.length() - 1))) { - return filename.substring(dot + 1); - } - } - return filename; - } - - /** - * Java文件操作 获取不带扩展名的文件名 - */ - public static String getFileNameNoEx(String filename) { - if ((filename != null) && (!filename.isEmpty())) { - int dot = filename.lastIndexOf('.'); - if (dot > -1) { - return filename.substring(0, dot); - } - } - return filename; - } - - /** - * 文件大小转换 + * 文件大小转换 -> ok */ public static String getSize(long size) { String resultSize; @@ -135,9 +106,9 @@ public class FileUtil extends cn.hutool.core.io.FileUtil { } /** - * inputStream 转 File + * inputStream 转 File -> ok */ - static File inputStreamToFile(InputStream ins, String name) { + public static File inputStreamToFile(InputStream ins, String name) { File file = new File(SYS_TEM_DIR + name); if (file.exists()) { return file; @@ -161,14 +132,14 @@ public class FileUtil extends cn.hutool.core.io.FileUtil { } /** - * 将文件名解析成文件的上传路径 + * 将文件名解析成文件的上传路径 -> ok */ public static File upload(MultipartFile file, String filePath) { Date date = new Date(); SimpleDateFormat format = new SimpleDateFormat("yyyyMMddhhmmssS"); // 过滤非法文件名 - String name = getFileNameNoEx(verifyFilename(file.getOriginalFilename())); - String suffix = getExtensionName(file.getOriginalFilename()); + String name = getPrefix(verifyFilename(file.getOriginalFilename())); + String suffix = getSuffix(file.getOriginalFilename()); String nowStr = "-" + format.format(date); try { String fileName = name + nowStr + "." + suffix; @@ -178,20 +149,20 @@ public class FileUtil extends cn.hutool.core.io.FileUtil { // 检测是否存在目录 if (!dest.getParentFile().exists()) { if (!dest.getParentFile().mkdirs()) { - System.out.println("was not successful."); + log.error("创建目录失败, {}", dest.getParentFile().getAbsolutePath()); } } // 文件写入 file.transferTo(dest); return dest; } catch (Exception e) { - log.error(e.getMessage(), e); + log.error("文件上传失败", e); } return null; } /** - * 导出excel + * 导出excel -> ok */ public static void downloadExcel(List> list, HttpServletResponse response) throws IOException { String tempPath = SYS_TEM_DIR + IdUtil.fastSimpleUUID() + ".xlsx"; @@ -233,24 +204,30 @@ public class FileUtil extends cn.hutool.core.io.FileUtil { IoUtil.close(out); } + /** + * 获取文件类型 -> ok + */ public static String getFileType(String type) { String documents = "txt doc pdf ppt pps xlsx xls docx"; - String music = "mp3 wav wma mpa ram ra aac aif m4a"; + String voice = "mp3 wav wma mpa ram ra aac aif m4a"; String video = "avi mpg mpe mpeg asf wmv mov qt rm mp4 flv m4v webm ogv ogg"; String image = "bmp dib pcp dif wmf gif jpg tif eps psd cdr iff tga pcd mpt png jpeg"; if (image.contains(type)) { - return IMAGE; + return FileTypeEnum.IMAGE.getCode(); } else if (documents.contains(type)) { - return TXT; - } else if (music.contains(type)) { - return MUSIC; + return FileTypeEnum.DOC.getCode(); + } else if (voice.contains(type)) { + return FileTypeEnum.VOICE.getCode(); } else if (video.contains(type)) { - return VIDEO; + return FileTypeEnum.VIDEO.getCode(); } else { - return OTHER; + return FileTypeEnum.OTHER.getCode(); } } + /** + * 检查文件大小是否超出最大值 -> ok + */ public static void checkSize(long maxSize, long size) { // 1M int len = 1024 * 1024; @@ -260,7 +237,7 @@ public class FileUtil extends cn.hutool.core.io.FileUtil { } /** - * 判断两个文件是否相同 + * 判断两个文件是否相同 -> ok */ public static boolean check(File file1, File file2) { String img1Md5 = getMd5(file1); @@ -272,23 +249,22 @@ public class FileUtil extends cn.hutool.core.io.FileUtil { } /** - * 判断两个文件是否相同 + * 判断两个文件是否相同 -> ok */ public static boolean check(String file1Md5, String file2Md5) { return file1Md5.equals(file2Md5); } + /** + * 获取文件字节数组 -> ok + */ private static byte[] getByte(File file) { - // 得到文件长度 byte[] b = new byte[(int) file.length()]; InputStream in = null; try { in = Files.newInputStream(file.toPath()); - try { - System.out.println(in.read(b)); - } catch (IOException e) { - log.error(e.getMessage(), e); - } + // 忽略read值 + int read = in.read(b); } catch (Exception e) { log.error(e.getMessage(), e); return null; @@ -298,6 +274,9 @@ public class FileUtil extends cn.hutool.core.io.FileUtil { return b; } + /** + * 获取文件MD5值 -> ok + */ private static String getMd5(byte[] bytes) { // 16进制字符 char[] hexDigits = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'}; @@ -315,7 +294,7 @@ public class FileUtil extends cn.hutool.core.io.FileUtil { } return new String(str); } catch (Exception e) { - log.error(e.getMessage(), e); + log.error("获取文件MD5值失败", e); } return null; } @@ -337,7 +316,7 @@ public class FileUtil extends cn.hutool.core.io.FileUtil { IOUtils.copy(fis, response.getOutputStream()); response.flushBuffer(); } catch (Exception e) { - log.error(e.getMessage(), e); + log.error("下载文件失败", e); } finally { if (fis != null) { try { @@ -346,7 +325,7 @@ public class FileUtil extends cn.hutool.core.io.FileUtil { file.deleteOnExit(); } } catch (IOException e) { - log.error(e.getMessage(), e); + log.error("关闭IO流失败", e); } } } diff --git a/cutejava/cutejava-common/src/main/java/cn/odboy/util/IPUtil.java b/cutejava/cutejava-common/src/main/java/cn/odboy/util/IPUtil.java new file mode 100644 index 00000000..665532af --- /dev/null +++ b/cutejava/cutejava-common/src/main/java/cn/odboy/util/IPUtil.java @@ -0,0 +1,71 @@ +package cn.odboy.util; + +import cn.odboy.context.SpringBeanHolder; +import net.dreamlu.mica.ip2region.core.Ip2regionSearcher; +import net.dreamlu.mica.ip2region.core.IpInfo; + +import java.net.InetAddress; +import java.net.NetworkInterface; +import java.util.Enumeration; + +/** + * IP地址 相关 + */ +public class IPUtil { + /** + * 注入bean + */ + private final static Ip2regionSearcher IP_SEARCHER = SpringBeanHolder.getBean(Ip2regionSearcher.class); + + /** + * 根据ip获取详细地址 + */ + public static String getCityInfo(String ip) { + IpInfo ipInfo = IP_SEARCHER.memorySearch(ip); + if (ipInfo != null) { + return ipInfo.getAddress(); + } + return null; + } + + + /** + * 获取当前机器的IP + * + * @return / + */ + public static String getLocalIp() { + try { + InetAddress candidateAddress = null; + // 遍历所有的网络接口 + for (Enumeration interfaces = NetworkInterface.getNetworkInterfaces(); interfaces.hasMoreElements(); ) { + NetworkInterface anInterface = interfaces.nextElement(); + // 在所有的接口下再遍历IP + for (Enumeration inetAddresses = anInterface.getInetAddresses(); inetAddresses.hasMoreElements(); ) { + InetAddress inetAddr = inetAddresses.nextElement(); + // 排除loopback类型地址 + if (!inetAddr.isLoopbackAddress()) { + if (inetAddr.isSiteLocalAddress()) { + // 如果是site-local地址,就是它了 + return inetAddr.getHostAddress(); + } else if (candidateAddress == null) { + // site-local类型的地址未被发现,先记录候选地址 + candidateAddress = inetAddr; + } + } + } + } + if (candidateAddress != null) { + return candidateAddress.getHostAddress(); + } + // 如果没有发现 non-loopback地址.只能用最次选的方案 + InetAddress jdkSuppliedAddress = InetAddress.getLocalHost(); + if (jdkSuppliedAddress == null) { + return ""; + } + return jdkSuppliedAddress.getHostAddress(); + } catch (Exception e) { + return ""; + } + } +} diff --git a/cutejava/cutejava-common/src/main/java/cn/odboy/util/PageUtil.java b/cutejava/cutejava-common/src/main/java/cn/odboy/util/PageUtil.java index 394adcca..bbb6ab79 100644 --- a/cutejava/cutejava-common/src/main/java/cn/odboy/util/PageUtil.java +++ b/cutejava/cutejava-common/src/main/java/cn/odboy/util/PageUtil.java @@ -16,9 +16,10 @@ public class PageUtil extends cn.hutool.core.util.PageUtil { /** * List 分页 */ - public static List paging(int page, int size, List list) { - int fromIndex = (page - 1) * size; - int toIndex = (page - 1) * size + size; + public static List softPaging(int page, int size, List list) { + int pageIndex = page - 1; + int fromIndex = pageIndex * size; + int toIndex = pageIndex * size + size; if (fromIndex > list.size()) { return Collections.emptyList(); } else if (toIndex >= list.size()) { diff --git a/cutejava/cutejava-common/src/main/java/cn/odboy/util/RsaUtil.java b/cutejava/cutejava-common/src/main/java/cn/odboy/util/RSAEncryptUtil.java similarity index 96% rename from cutejava/cutejava-common/src/main/java/cn/odboy/util/RsaUtil.java rename to cutejava/cutejava-common/src/main/java/cn/odboy/util/RSAEncryptUtil.java index 041de05c..dd11b26b 100644 --- a/cutejava/cutejava-common/src/main/java/cn/odboy/util/RsaUtil.java +++ b/cutejava/cutejava-common/src/main/java/cn/odboy/util/RSAEncryptUtil.java @@ -13,7 +13,7 @@ import java.security.spec.X509EncodedKeySpec; /** * Rsa 工具类,公钥私钥生成,加解密 */ -public class RsaUtil { +public class RSAEncryptUtil { private static final String SRC = "123456"; @@ -34,12 +34,12 @@ public class RsaUtil { */ private static void test1(RsaKeyPair keyPair) throws Exception { System.out.println("***************** 公钥加密私钥解密开始 *****************"); - String text1 = encryptByPublicKey(keyPair.getPublicKey(), RsaUtil.SRC); + String text1 = encryptByPublicKey(keyPair.getPublicKey(), RSAEncryptUtil.SRC); String text2 = decryptByPrivateKey(keyPair.getPrivateKey(), text1); - System.out.println("加密前:" + RsaUtil.SRC); + System.out.println("加密前:" + RSAEncryptUtil.SRC); System.out.println("加密后:" + text1); System.out.println("解密后:" + text2); - if (RsaUtil.SRC.equals(text2)) { + if (RSAEncryptUtil.SRC.equals(text2)) { System.out.println("解密字符串和原始字符串一致,解密成功"); } else { System.out.println("解密字符串和原始字符串不一致,解密失败"); @@ -54,12 +54,12 @@ public class RsaUtil { */ private static void test2(RsaKeyPair keyPair) throws Exception { System.out.println("***************** 私钥加密公钥解密开始 *****************"); - String text1 = encryptByPrivateKey(keyPair.getPrivateKey(), RsaUtil.SRC); + String text1 = encryptByPrivateKey(keyPair.getPrivateKey(), RSAEncryptUtil.SRC); String text2 = decryptByPublicKey(keyPair.getPublicKey(), text1); - System.out.println("加密前:" + RsaUtil.SRC); + System.out.println("加密前:" + RSAEncryptUtil.SRC); System.out.println("加密后:" + text1); System.out.println("解密后:" + text2); - if (RsaUtil.SRC.equals(text2)) { + if (RSAEncryptUtil.SRC.equals(text2)) { System.out.println("解密字符串和原始字符串一致,解密成功"); } else { System.out.println("解密字符串和原始字符串不一致,解密失败"); diff --git a/cutejava/cutejava-common/src/main/java/cn/odboy/util/ScriptUtil.java b/cutejava/cutejava-common/src/main/java/cn/odboy/util/ScriptUtil.java index 5352fe0a..21d0e1b4 100644 --- a/cutejava/cutejava-common/src/main/java/cn/odboy/util/ScriptUtil.java +++ b/cutejava/cutejava-common/src/main/java/cn/odboy/util/ScriptUtil.java @@ -64,18 +64,16 @@ public class ScriptUtil { }); newContext.setBindings(engineScope, ScriptContext.ENGINE_SCOPE); } - if (script.contains(FUNCTION_TAG)) { - // 由ScriptEngines实现的接口, 其方法允许调用以前已执行的脚本中的过程 - Invocable inv = (Invocable) engine; - // 调用全局函数, 并传入参数 - inv.invokeFunction("hello", "测试"); - } +// if (script.contains(FUNCTION_TAG)) { +// // 由ScriptEngines实现的接口, 其方法允许调用以前已执行的脚本中的过程 +// Invocable inv = (Invocable) engine; +// // 调用全局函数, 并传入参数 +// inv.invokeFunction("hello", "测试"); +// } // 执行脚本, 注意这里指定新的执行作用域上下文 return engine.eval(script, newContext); } catch (ScriptException e) { throw new ScriptRuntimeException(e); - } catch (NoSuchMethodException e) { - throw new ScriptRuntimeException(e); } } diff --git a/cutejava/cutejava-common/src/main/java/cn/odboy/util/SecurityUtil.java b/cutejava/cutejava-common/src/main/java/cn/odboy/util/SecurityUtil.java index 85f66113..a34ad267 100644 --- a/cutejava/cutejava-common/src/main/java/cn/odboy/util/SecurityUtil.java +++ b/cutejava/cutejava-common/src/main/java/cn/odboy/util/SecurityUtil.java @@ -26,20 +26,14 @@ import java.util.Objects; @Slf4j @Component public class SecurityUtil { - - public static String header; - - public static String tokenStartWith; - - @Value("${jwt.header}") - public void setHeader(String header) { - SecurityUtil.header = header; - } - - @Value("${jwt.token-start-with}") - public void setTokenStartWith(String tokenStartWith) { - SecurityUtil.tokenStartWith = tokenStartWith; - } + /** + * 请求头名称 + */ + public static final String HEADER = "Authorization"; + /** + * Token前缀 + */ + public static final String TOKEN_PREFIX = "Bearer"; /** * 获取当前登录的用户 @@ -123,10 +117,10 @@ public class SecurityUtil { public static String getToken() { HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder .getRequestAttributes())).getRequest(); - String bearerToken = request.getHeader(header); - if (bearerToken != null && bearerToken.startsWith(tokenStartWith)) { + String bearerToken = request.getHeader(HEADER); + if (bearerToken != null && bearerToken.startsWith(TOKEN_PREFIX)) { // 去掉令牌前缀 - return bearerToken.replace(tokenStartWith, ""); + return bearerToken.replace(TOKEN_PREFIX, ""); } else { log.debug("非法Token:{}", bearerToken); } diff --git a/cutejava/cutejava-common/src/main/java/cn/odboy/util/SqlUtil.java b/cutejava/cutejava-common/src/main/java/cn/odboy/util/SqlUtil.java index 0157adda..a3a03091 100644 --- a/cutejava/cutejava-common/src/main/java/cn/odboy/util/SqlUtil.java +++ b/cutejava/cutejava-common/src/main/java/cn/odboy/util/SqlUtil.java @@ -118,8 +118,8 @@ public class SqlUtil { return false; } - public static String executeFile(String jdbcUrl, String userName, String password, File sqlFile) { - Connection connection = getConnection(jdbcUrl, userName, password); + public static String executeFile(String jdbcUrl, String username, String password, File sqlFile) { + Connection connection = getConnection(jdbcUrl, username, password); try { batchExecute(connection, readSqlList(sqlFile)); } catch (Exception e) { diff --git a/cutejava/cutejava-common/src/main/java/cn/odboy/util/StringUtil.java b/cutejava/cutejava-common/src/main/java/cn/odboy/util/StringUtil.java index 273017cc..10f7c484 100644 --- a/cutejava/cutejava-common/src/main/java/cn/odboy/util/StringUtil.java +++ b/cutejava/cutejava-common/src/main/java/cn/odboy/util/StringUtil.java @@ -1,18 +1,9 @@ package cn.odboy.util; -import cn.hutool.http.useragent.UserAgent; -import cn.hutool.http.useragent.UserAgentUtil; -import cn.odboy.context.SpringBeanHolder; import lombok.extern.slf4j.Slf4j; -import net.dreamlu.mica.ip2region.core.Ip2regionSearcher; -import net.dreamlu.mica.ip2region.core.IpInfo; -import javax.servlet.http.HttpServletRequest; -import java.lang.reflect.Field; -import java.net.InetAddress; -import java.net.NetworkInterface; -import java.net.UnknownHostException; -import java.util.*; +import java.util.Calendar; +import java.util.Date; /** * 字符串工具类, 继承org.apache.commons.lang3.StringUtils类 @@ -21,12 +12,6 @@ import java.util.*; public class StringUtil extends org.apache.commons.lang3.StringUtils { private static final char SEPARATOR = '_'; - private static final String UNKNOWN = "unknown"; - - /** - * 注入bean - */ - private final static Ip2regionSearcher IP_SEARCHER = SpringBeanHolder.getBean(Ip2regionSearcher.class); /** * 驼峰命名法工具 @@ -113,117 +98,19 @@ public class StringUtil extends org.apache.commons.lang3.StringUtils { return sb.toString(); } - /** - * 获取ip地址 - */ - public static String getIp(HttpServletRequest request) { - String ip = request.getHeader("x-forwarded-for"); - if (ip == null || ip.isEmpty() || UNKNOWN.equalsIgnoreCase(ip)) { - ip = request.getHeader("Proxy-Client-IP"); - } - if (ip == null || ip.isEmpty() || UNKNOWN.equalsIgnoreCase(ip)) { - ip = request.getHeader("WL-Proxy-Client-IP"); - } - if (ip == null || ip.isEmpty() || UNKNOWN.equalsIgnoreCase(ip)) { - ip = request.getRemoteAddr(); - } - String comma = ","; - String localhost = "127.0.0.1"; - if (ip.contains(comma)) { - ip = ip.split(",")[0]; - } - if (localhost.equals(ip)) { - // 获取本机真正的ip地址 - try { - ip = InetAddress.getLocalHost().getHostAddress(); - } catch (UnknownHostException e) { - log.error(e.getMessage(), e); - } - } - return ip; - } - - /** - * 根据ip获取详细地址 - */ - public static String getCityInfo(String ip) { - IpInfo ipInfo = IP_SEARCHER.memorySearch(ip); - if (ipInfo != null) { - return ipInfo.getAddress(); - } - return null; - } - - /** - * 获取浏览器 - */ - public static String getBrowser(HttpServletRequest request) { - UserAgent ua = UserAgentUtil.parse(request.getHeader("User-Agent")); - String browser = ua.getBrowser().toString() + " " + ua.getVersion(); - return browser.replace(".0.0.0", ""); - } /** * 获得当天是周几 */ public static String getWeekDay() { - String[] weekDays = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"}; +// String[] weekDays = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"}; + String[] weekDays = {"星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期天"}; Calendar cal = Calendar.getInstance(); cal.setTime(new Date()); - int w = cal.get(Calendar.DAY_OF_WEEK) - 1; if (w < 0) { w = 0; } return weekDays[w]; } - - /** - * 获取当前机器的IP - * - * @return / - */ - public static String getLocalIp() { - try { - InetAddress candidateAddress = null; - // 遍历所有的网络接口 - for (Enumeration interfaces = NetworkInterface.getNetworkInterfaces(); interfaces.hasMoreElements(); ) { - NetworkInterface anInterface = interfaces.nextElement(); - // 在所有的接口下再遍历IP - for (Enumeration inetAddresses = anInterface.getInetAddresses(); inetAddresses.hasMoreElements(); ) { - InetAddress inetAddr = inetAddresses.nextElement(); - // 排除loopback类型地址 - if (!inetAddr.isLoopbackAddress()) { - if (inetAddr.isSiteLocalAddress()) { - // 如果是site-local地址,就是它了 - return inetAddr.getHostAddress(); - } else if (candidateAddress == null) { - // site-local类型的地址未被发现,先记录候选地址 - candidateAddress = inetAddr; - } - } - } - } - if (candidateAddress != null) { - return candidateAddress.getHostAddress(); - } - // 如果没有发现 non-loopback地址.只能用最次选的方案 - InetAddress jdkSuppliedAddress = InetAddress.getLocalHost(); - if (jdkSuppliedAddress == null) { - return ""; - } - return jdkSuppliedAddress.getHostAddress(); - } catch (Exception e) { - return ""; - } - } - - @SuppressWarnings({"unchecked", "all"}) - public static List getAllFields(Class clazz, List fields) { - if (clazz != null) { - fields.addAll(Arrays.asList(clazz.getDeclaredFields())); - getAllFields(clazz.getSuperclass(), fields); - } - return fields; - } } diff --git a/cutejava/cutejava-common/src/main/java/cn/odboy/websocket/WebSocketServerFactory.java b/cutejava/cutejava-common/src/main/java/cn/odboy/websocket/WebSocketServerFactory.java index c93f882b..61c1e944 100644 --- a/cutejava/cutejava-common/src/main/java/cn/odboy/websocket/WebSocketServerFactory.java +++ b/cutejava/cutejava-common/src/main/java/cn/odboy/websocket/WebSocketServerFactory.java @@ -19,10 +19,7 @@ public class WebSocketServerFactory implements WebServerFactoryCustomizer { WebSocketDeploymentInfo webSocketDeploymentInfo = new WebSocketDeploymentInfo(); - webSocketDeploymentInfo.setBuffers( - new DefaultByteBufferPool(false, 1024) -// new DefaultByteBufferPool(false, 1024,20,4) - ); + webSocketDeploymentInfo.setBuffers(new DefaultByteBufferPool(false, 1024)); deploymentInfo.addServletContextAttribute("io.undertow.websockets.jsr.WebSocketDeploymentInfo", webSocketDeploymentInfo); }); } diff --git a/cutejava/cutejava-domain/src/main/java/cn/odboy/model/system/dto/OnlineUserDto.java b/cutejava/cutejava-domain/src/main/java/cn/odboy/model/system/dto/OnlineUserDto.java index c0f46c66..771b70b0 100644 --- a/cutejava/cutejava-domain/src/main/java/cn/odboy/model/system/dto/OnlineUserDto.java +++ b/cutejava/cutejava-domain/src/main/java/cn/odboy/model/system/dto/OnlineUserDto.java @@ -1,9 +1,7 @@ package cn.odboy.model.system.dto; import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; import lombok.Data; -import lombok.NoArgsConstructor; import java.util.Date; @@ -11,10 +9,7 @@ import java.util.Date; * 在线用户 */ @Data -@AllArgsConstructor -@NoArgsConstructor public class OnlineUserDto { - @ApiModelProperty(value = "Token编号") private String uid; diff --git a/cutejava/cutejava-domain/src/main/java/cn/odboy/model/tools/domain/EmailConfig.java b/cutejava/cutejava-domain/src/main/java/cn/odboy/model/tools/domain/EmailConfig.java index 2cfd23ff..9868af32 100644 --- a/cutejava/cutejava-domain/src/main/java/cn/odboy/model/tools/domain/EmailConfig.java +++ b/cutejava/cutejava-domain/src/main/java/cn/odboy/model/tools/domain/EmailConfig.java @@ -34,7 +34,7 @@ public class EmailConfig extends MyObject { @NotBlank @ApiModelProperty(value = "密码") - private String pass; + private String password; @NotBlank @ApiModelProperty(value = "收件人") diff --git a/cutejava/cutejava-job/src/main/java/cn/odboy/config/JobRunner.java b/cutejava/cutejava-job/src/main/java/cn/odboy/application/job/config/JobRunner.java similarity index 77% rename from cutejava/cutejava-job/src/main/java/cn/odboy/config/JobRunner.java rename to cutejava/cutejava-job/src/main/java/cn/odboy/application/job/config/JobRunner.java index 8d93f43a..35bc35bc 100644 --- a/cutejava/cutejava-job/src/main/java/cn/odboy/config/JobRunner.java +++ b/cutejava/cutejava-job/src/main/java/cn/odboy/application/job/config/JobRunner.java @@ -1,8 +1,8 @@ -package cn.odboy.config; +package cn.odboy.application.job.config; -import cn.odboy.mapper.QuartzJobMapper; +import cn.odboy.application.job.mapper.QuartzJobMapper; +import cn.odboy.application.job.util.QuartzManage; import cn.odboy.model.job.domain.QuartzJob; -import cn.odboy.util.QuartzManage; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.boot.ApplicationArguments; @@ -25,7 +25,7 @@ public class JobRunner implements ApplicationRunner { */ @Override public void run(ApplicationArguments applicationArguments) { - List quartzJobs = quartzJobMapper.findActiveQuartzJob(); + List quartzJobs = quartzJobMapper.selectActiveQuartzJob(); quartzJobs.forEach(quartzManage::addJob); log.info("Timing task injection complete"); } diff --git a/cutejava/cutejava-job/src/main/java/cn/odboy/config/QuartzConfig.java b/cutejava/cutejava-job/src/main/java/cn/odboy/application/job/config/QuartzConfig.java similarity index 97% rename from cutejava/cutejava-job/src/main/java/cn/odboy/config/QuartzConfig.java rename to cutejava/cutejava-job/src/main/java/cn/odboy/application/job/config/QuartzConfig.java index 27eb9d9d..bfd0d223 100644 --- a/cutejava/cutejava-job/src/main/java/cn/odboy/config/QuartzConfig.java +++ b/cutejava/cutejava-job/src/main/java/cn/odboy/application/job/config/QuartzConfig.java @@ -1,4 +1,4 @@ -package cn.odboy.config; +package cn.odboy.application.job.config; import lombok.extern.slf4j.Slf4j; import org.quartz.spi.TriggerFiredBundle; diff --git a/cutejava/cutejava-job/src/main/java/cn/odboy/mapper/QuartzJobMapper.java b/cutejava/cutejava-job/src/main/java/cn/odboy/application/job/mapper/QuartzJobMapper.java similarity index 70% rename from cutejava/cutejava-job/src/main/java/cn/odboy/mapper/QuartzJobMapper.java rename to cutejava/cutejava-job/src/main/java/cn/odboy/application/job/mapper/QuartzJobMapper.java index 9e8da4e5..94402992 100644 --- a/cutejava/cutejava-job/src/main/java/cn/odboy/mapper/QuartzJobMapper.java +++ b/cutejava/cutejava-job/src/main/java/cn/odboy/application/job/mapper/QuartzJobMapper.java @@ -1,4 +1,4 @@ -package cn.odboy.mapper; +package cn.odboy.application.job.mapper; import cn.odboy.model.job.domain.QuartzJob; import cn.odboy.model.job.dto.QuartzJobQueryCriteria; @@ -12,7 +12,7 @@ import java.util.List; @Mapper public interface QuartzJobMapper extends BaseMapper { - IPage findQuartzJobPage(@Param("criteria") QuartzJobQueryCriteria criteria, Page page); + IPage queryQuartzJobPage(@Param("criteria") QuartzJobQueryCriteria criteria, Page page); - List findActiveQuartzJob(); + List selectActiveQuartzJob(); } diff --git a/cutejava/cutejava-job/src/main/java/cn/odboy/mapper/QuartzLogMapper.java b/cutejava/cutejava-job/src/main/java/cn/odboy/application/job/mapper/QuartzLogMapper.java similarity index 74% rename from cutejava/cutejava-job/src/main/java/cn/odboy/mapper/QuartzLogMapper.java rename to cutejava/cutejava-job/src/main/java/cn/odboy/application/job/mapper/QuartzLogMapper.java index b2bb9889..c8083c58 100644 --- a/cutejava/cutejava-job/src/main/java/cn/odboy/mapper/QuartzLogMapper.java +++ b/cutejava/cutejava-job/src/main/java/cn/odboy/application/job/mapper/QuartzLogMapper.java @@ -1,4 +1,4 @@ -package cn.odboy.mapper; +package cn.odboy.application.job.mapper; import cn.odboy.model.job.domain.QuartzLog; import cn.odboy.model.job.dto.QuartzJobQueryCriteria; @@ -11,5 +11,5 @@ import org.apache.ibatis.annotations.Param; @Mapper public interface QuartzLogMapper extends BaseMapper { - IPage findQuartzLogPage(@Param("criteria") QuartzJobQueryCriteria criteria, Page page); + IPage queryQuartzLogPage(@Param("criteria") QuartzJobQueryCriteria criteria, Page page); } diff --git a/cutejava/cutejava-job/src/main/java/cn/odboy/rest/QuartzJobController.java b/cutejava/cutejava-job/src/main/java/cn/odboy/application/job/rest/QuartzJobController.java similarity index 85% rename from cutejava/cutejava-job/src/main/java/cn/odboy/rest/QuartzJobController.java rename to cutejava/cutejava-job/src/main/java/cn/odboy/application/job/rest/QuartzJobController.java index bfc18713..8ba2e512 100644 --- a/cutejava/cutejava-job/src/main/java/cn/odboy/rest/QuartzJobController.java +++ b/cutejava/cutejava-job/src/main/java/cn/odboy/application/job/rest/QuartzJobController.java @@ -1,12 +1,12 @@ -package cn.odboy.rest; +package cn.odboy.application.job.rest; +import cn.odboy.application.job.service.QuartzJobService; import cn.odboy.base.PageResult; import cn.odboy.context.SpringBeanHolder; import cn.odboy.exception.BadRequestException; import cn.odboy.model.job.domain.QuartzJob; import cn.odboy.model.job.domain.QuartzLog; import cn.odboy.model.job.dto.QuartzJobQueryCriteria; -import cn.odboy.service.QuartzJobService; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -38,21 +38,21 @@ public class QuartzJobController { @PreAuthorize("@el.check('timing:list')") public ResponseEntity> queryQuartzJob(QuartzJobQueryCriteria criteria) { Page page = new Page<>(criteria.getPage(), criteria.getSize()); - return new ResponseEntity<>(quartzJobService.queryAll(criteria, page), HttpStatus.OK); + return new ResponseEntity<>(quartzJobService.queryJobPage(criteria, page), HttpStatus.OK); } @ApiOperation("导出任务数据") @GetMapping(value = "/download") @PreAuthorize("@el.check('timing:list')") public void exportQuartzJob(HttpServletResponse response, QuartzJobQueryCriteria criteria) throws IOException { - quartzJobService.download(quartzJobService.queryAll(criteria), response); + quartzJobService.downloadJobExcel(quartzJobService.selectJobByCriteria(criteria), response); } @ApiOperation("导出日志数据") @GetMapping(value = "/logs/download") @PreAuthorize("@el.check('timing:list')") public void exportQuartzJobLog(HttpServletResponse response, QuartzJobQueryCriteria criteria) throws IOException { - quartzJobService.downloadLog(quartzJobService.queryAllLog(criteria), response); + quartzJobService.downloadLogExcel(quartzJobService.selectLogByCriteria(criteria), response); } @ApiOperation("查询任务执行日志") @@ -60,7 +60,7 @@ public class QuartzJobController { @PreAuthorize("@el.check('timing:list')") public ResponseEntity> queryQuartzJobLog(QuartzJobQueryCriteria criteria) { Page page = new Page<>(criteria.getPage(), criteria.getSize()); - return new ResponseEntity<>(quartzJobService.queryAllLog(criteria, page), HttpStatus.OK); + return new ResponseEntity<>(quartzJobService.queryLogPage(criteria, page), HttpStatus.OK); } @ApiOperation("新增定时任务") @@ -72,7 +72,7 @@ public class QuartzJobController { } // 验证Bean是不是合法的,合法的定时任务 Bean 需要用 @Service 定义 checkBean(resources.getBeanName()); - quartzJobService.create(resources); + quartzJobService.createJob(resources); return new ResponseEntity<>(HttpStatus.CREATED); } @@ -82,7 +82,7 @@ public class QuartzJobController { public ResponseEntity updateQuartzJob(@Validated(QuartzJob.Update.class) @RequestBody QuartzJob resources) { // 验证Bean是不是合法的,合法的定时任务 Bean 需要用 @Service 定义 checkBean(resources.getBeanName()); - quartzJobService.update(resources); + quartzJobService.updateJob(resources); return new ResponseEntity<>(HttpStatus.NO_CONTENT); } @@ -90,7 +90,7 @@ public class QuartzJobController { @PutMapping(value = "/{id}") @PreAuthorize("@el.check('timing:edit')") public ResponseEntity updateQuartzJobStatus(@PathVariable Long id) { - quartzJobService.updateIsPause(quartzJobService.getById(id)); + quartzJobService.switchJobPauseStatus(quartzJobService.getById(id)); return new ResponseEntity<>(HttpStatus.NO_CONTENT); } @@ -98,7 +98,7 @@ public class QuartzJobController { @PutMapping(value = "/exec/{id}") @PreAuthorize("@el.check('timing:edit')") public ResponseEntity executionQuartzJob(@PathVariable Long id) { - quartzJobService.execution(quartzJobService.getById(id)); + quartzJobService.executionJob(quartzJobService.getById(id)); return new ResponseEntity<>(HttpStatus.NO_CONTENT); } @@ -106,7 +106,7 @@ public class QuartzJobController { @DeleteMapping @PreAuthorize("@el.check('timing:del')") public ResponseEntity deleteQuartzJob(@RequestBody Set ids) { - quartzJobService.delete(ids); + quartzJobService.deleteJobByIds(ids); return new ResponseEntity<>(HttpStatus.OK); } diff --git a/cutejava/cutejava-job/src/main/java/cn/odboy/service/QuartzJobService.java b/cutejava/cutejava-job/src/main/java/cn/odboy/application/job/service/QuartzJobService.java similarity index 68% rename from cutejava/cutejava-job/src/main/java/cn/odboy/service/QuartzJobService.java rename to cutejava/cutejava-job/src/main/java/cn/odboy/application/job/service/QuartzJobService.java index 1165b298..d04789bc 100644 --- a/cutejava/cutejava-job/src/main/java/cn/odboy/service/QuartzJobService.java +++ b/cutejava/cutejava-job/src/main/java/cn/odboy/application/job/service/QuartzJobService.java @@ -1,4 +1,4 @@ -package cn.odboy.service; +package cn.odboy.application.job.service; import cn.odboy.base.PageResult; import cn.odboy.model.job.domain.QuartzJob; @@ -22,7 +22,7 @@ public interface QuartzJobService extends IService { * @param page 分页参数 * @return / */ - PageResult queryAll(QuartzJobQueryCriteria criteria, Page page); + PageResult queryJobPage(QuartzJobQueryCriteria criteria, Page page); /** * 查询全部 @@ -30,7 +30,7 @@ public interface QuartzJobService extends IService { * @param criteria 条件 * @return / */ - List queryAll(QuartzJobQueryCriteria criteria); + List selectJobByCriteria(QuartzJobQueryCriteria criteria); /** * 分页查询日志 @@ -39,7 +39,7 @@ public interface QuartzJobService extends IService { * @param page 分页参数 * @return / */ - PageResult queryAllLog(QuartzJobQueryCriteria criteria, Page page); + PageResult queryLogPage(QuartzJobQueryCriteria criteria, Page page); /** * 查询全部 @@ -47,42 +47,42 @@ public interface QuartzJobService extends IService { * @param criteria 条件 * @return / */ - List queryAllLog(QuartzJobQueryCriteria criteria); + List selectLogByCriteria(QuartzJobQueryCriteria criteria); /** * 创建 * * @param resources / */ - void create(QuartzJob resources); + void createJob(QuartzJob resources); /** * 编辑 * * @param resources / */ - void update(QuartzJob resources); + void updateJob(QuartzJob resources); /** * 删除任务 * * @param ids / */ - void delete(Set ids); + void deleteJobByIds(Set ids); /** * 更改定时任务状态 * * @param quartzJob / */ - void updateIsPause(QuartzJob quartzJob); + void switchJobPauseStatus(QuartzJob quartzJob); /** * 立即执行定时任务 * * @param quartzJob / */ - void execution(QuartzJob quartzJob); + void executionJob(QuartzJob quartzJob); /** * 导出定时任务 @@ -91,7 +91,7 @@ public interface QuartzJobService extends IService { * @param response / * @throws IOException / */ - void download(List queryAll, HttpServletResponse response) throws IOException; + void downloadJobExcel(List queryAll, HttpServletResponse response) throws IOException; /** * 导出定时任务日志 @@ -100,7 +100,7 @@ public interface QuartzJobService extends IService { * @param response / * @throws IOException / */ - void downloadLog(List queryAllLog, HttpServletResponse response) throws IOException; + void downloadLogExcel(List queryAllLog, HttpServletResponse response) throws IOException; /** * 执行子任务 diff --git a/cutejava/cutejava-job/src/main/java/cn/odboy/service/impl/QuartzJobServiceImpl.java b/cutejava/cutejava-job/src/main/java/cn/odboy/application/job/service/impl/QuartzJobServiceImpl.java similarity index 76% rename from cutejava/cutejava-job/src/main/java/cn/odboy/service/impl/QuartzJobServiceImpl.java rename to cutejava/cutejava-job/src/main/java/cn/odboy/application/job/service/impl/QuartzJobServiceImpl.java index b96b237f..581cc2b0 100644 --- a/cutejava/cutejava-job/src/main/java/cn/odboy/service/impl/QuartzJobServiceImpl.java +++ b/cutejava/cutejava-job/src/main/java/cn/odboy/application/job/service/impl/QuartzJobServiceImpl.java @@ -1,16 +1,20 @@ -package cn.odboy.service.impl; +package cn.odboy.application.job.service.impl; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.StrUtil; +import cn.odboy.application.job.mapper.QuartzJobMapper; +import cn.odboy.application.job.mapper.QuartzLogMapper; +import cn.odboy.application.job.service.QuartzJobService; +import cn.odboy.application.job.util.QuartzManage; import cn.odboy.base.PageResult; import cn.odboy.exception.BadRequestException; -import cn.odboy.mapper.QuartzJobMapper; -import cn.odboy.mapper.QuartzLogMapper; import cn.odboy.model.job.domain.QuartzJob; import cn.odboy.model.job.domain.QuartzLog; import cn.odboy.model.job.dto.QuartzJobQueryCriteria; -import cn.odboy.service.QuartzJobService; -import cn.odboy.util.*; +import cn.odboy.util.FileUtil; +import cn.odboy.util.PageUtil; +import cn.odboy.util.RedisUtil; +import cn.odboy.util.StringUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.RequiredArgsConstructor; @@ -32,28 +36,28 @@ public class QuartzJobServiceImpl extends ServiceImpl queryAll(QuartzJobQueryCriteria criteria, Page page) { - return PageUtil.toPage(quartzJobMapper.findQuartzJobPage(criteria, page)); + public PageResult queryJobPage(QuartzJobQueryCriteria criteria, Page page) { + return PageUtil.toPage(quartzJobMapper.queryQuartzJobPage(criteria, page)); } @Override - public PageResult queryAllLog(QuartzJobQueryCriteria criteria, Page page) { - return PageUtil.toPage(quartzLogMapper.findQuartzLogPage(criteria, page)); + public PageResult queryLogPage(QuartzJobQueryCriteria criteria, Page page) { + return PageUtil.toPage(quartzLogMapper.queryQuartzLogPage(criteria, page)); } @Override - public List queryAll(QuartzJobQueryCriteria criteria) { - return quartzJobMapper.findQuartzJobPage(criteria, PageUtil.getCount(quartzJobMapper)).getRecords(); + public List selectJobByCriteria(QuartzJobQueryCriteria criteria) { + return quartzJobMapper.queryQuartzJobPage(criteria, PageUtil.getCount(quartzJobMapper)).getRecords(); } @Override - public List queryAllLog(QuartzJobQueryCriteria criteria) { - return quartzLogMapper.findQuartzLogPage(criteria, PageUtil.getCount(quartzLogMapper)).getRecords(); + public List selectLogByCriteria(QuartzJobQueryCriteria criteria) { + return quartzLogMapper.queryQuartzLogPage(criteria, PageUtil.getCount(quartzLogMapper)).getRecords(); } @Override @Transactional(rollbackFor = Exception.class) - public void create(QuartzJob resources) { + public void createJob(QuartzJob resources) { if (!CronExpression.isValidExpression(resources.getCronExpression())) { throw new BadRequestException("cron表达式格式错误"); } @@ -63,7 +67,7 @@ public class QuartzJobServiceImpl extends ServiceImpl ids) { + public void deleteJobByIds(Set ids) { for (Long id : ids) { QuartzJob quartzJob = getById(id); quartzManage.deleteJob(quartzJob); @@ -119,7 +123,7 @@ public class QuartzJobServiceImpl extends ServiceImpl quartzJobs, HttpServletResponse response) throws IOException { + public void downloadJobExcel(List quartzJobs, HttpServletResponse response) throws IOException { List> list = new ArrayList<>(); for (QuartzJob quartzJob : quartzJobs) { Map map = new LinkedHashMap<>(); @@ -153,7 +157,7 @@ public class QuartzJobServiceImpl extends ServiceImpl queryAllLog, HttpServletResponse response) throws IOException { + public void downloadLogExcel(List queryAllLog, HttpServletResponse response) throws IOException { List> list = new ArrayList<>(); for (QuartzLog quartzLog : queryAllLog) { Map map = new LinkedHashMap<>(); diff --git a/cutejava/cutejava-job/src/main/java/cn/odboy/task/TestTask.java b/cutejava/cutejava-job/src/main/java/cn/odboy/application/job/task/TestTask.java similarity index 90% rename from cutejava/cutejava-job/src/main/java/cn/odboy/task/TestTask.java rename to cutejava/cutejava-job/src/main/java/cn/odboy/application/job/task/TestTask.java index ee03b4dc..d65b279b 100644 --- a/cutejava/cutejava-job/src/main/java/cn/odboy/task/TestTask.java +++ b/cutejava/cutejava-job/src/main/java/cn/odboy/application/job/task/TestTask.java @@ -1,4 +1,4 @@ -package cn.odboy.task; +package cn.odboy.application.job.task; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; diff --git a/cutejava/cutejava-job/src/main/java/cn/odboy/util/ExecutionJob.java b/cutejava/cutejava-job/src/main/java/cn/odboy/application/job/util/ExecutionJob.java similarity index 78% rename from cutejava/cutejava-job/src/main/java/cn/odboy/util/ExecutionJob.java rename to cutejava/cutejava-job/src/main/java/cn/odboy/application/job/util/ExecutionJob.java index ea31dc8b..648a20dd 100644 --- a/cutejava/cutejava-job/src/main/java/cn/odboy/util/ExecutionJob.java +++ b/cutejava/cutejava-job/src/main/java/cn/odboy/application/job/util/ExecutionJob.java @@ -1,17 +1,19 @@ -package cn.odboy.util; +package cn.odboy.application.job.util; import cn.hutool.extra.template.Template; import cn.hutool.extra.template.TemplateConfig; import cn.hutool.extra.template.TemplateEngine; import cn.hutool.extra.template.TemplateUtil; +import cn.odboy.application.job.mapper.QuartzLogMapper; +import cn.odboy.application.job.service.QuartzJobService; +import cn.odboy.application.tools.service.EmailService; import cn.odboy.context.SpringBeanHolder; import cn.odboy.exception.util.ThrowableUtil; -import cn.odboy.mapper.QuartzLogMapper; import cn.odboy.model.job.domain.QuartzJob; import cn.odboy.model.job.domain.QuartzLog; import cn.odboy.model.tools.dto.EmailDto; -import cn.odboy.service.EmailService; -import cn.odboy.service.QuartzJobService; +import cn.odboy.util.RedisUtil; +import cn.odboy.util.StringUtil; import org.quartz.JobExecutionContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -26,7 +28,9 @@ import java.util.concurrent.Future; public class ExecutionJob extends QuartzJobBean { private final Logger logger = LoggerFactory.getLogger(this.getClass()); - // 此处仅供参考,可根据任务执行情况自定义线程池参数 + /** + * 此处仅供参考,可根据任务执行情况自定义线程池参数 + */ private final ThreadPoolTaskExecutor executor = SpringBeanHolder.getBean("taskAsync"); @Override @@ -40,25 +44,25 @@ public class ExecutionJob extends QuartzJobBean { String uuid = quartzJob.getUuid(); - QuartzLog log = new QuartzLog(); - log.setJobName(quartzJob.getJobName()); - log.setBeanName(quartzJob.getBeanName()); - log.setMethodName(quartzJob.getMethodName()); - log.setParams(quartzJob.getParams()); + QuartzLog quartzLog = new QuartzLog(); + quartzLog.setJobName(quartzJob.getJobName()); + quartzLog.setBeanName(quartzJob.getBeanName()); + quartzLog.setMethodName(quartzJob.getMethodName()); + quartzLog.setParams(quartzJob.getParams()); long startTime = System.currentTimeMillis(); - log.setCronExpression(quartzJob.getCronExpression()); + quartzLog.setCronExpression(quartzJob.getCronExpression()); try { // 执行任务 QuartzRunnable task = new QuartzRunnable(quartzJob.getBeanName(), quartzJob.getMethodName(), quartzJob.getParams()); Future future = executor.submit(task); future.get(); long times = System.currentTimeMillis() - startTime; - log.setTime(times); + quartzLog.setTime(times); if (StringUtil.isNotBlank(uuid)) { redisUtil.set(uuid, true); } // 任务状态 - log.setIsSuccess(true); + quartzLog.setIsSuccess(true); logger.info("任务执行成功,任务名称:{}, 执行时间:{}毫秒", quartzJob.getJobName(), times); // 判断是否存在子任务 if (StringUtil.isNotBlank(quartzJob.getSubTask())) { @@ -72,26 +76,26 @@ public class ExecutionJob extends QuartzJobBean { } logger.error("任务执行失败,任务名称:{}", quartzJob.getJobName()); long times = System.currentTimeMillis() - startTime; - log.setTime(times); + quartzLog.setTime(times); // 任务状态 0:成功 1:失败 - log.setIsSuccess(false); - log.setExceptionDetail(ThrowableUtil.getStackTrace(e)); + quartzLog.setIsSuccess(false); + quartzLog.setExceptionDetail(ThrowableUtil.getStackTrace(e)); // 任务如果失败了则暂停 if (quartzJob.getPauseAfterFailure() != null && quartzJob.getPauseAfterFailure()) { quartzJob.setIsPause(false); - //更新状态 - quartzJobService.updateIsPause(quartzJob); + // 更新状态 + quartzJobService.switchJobPauseStatus(quartzJob); } if (quartzJob.getEmail() != null) { EmailService emailService = SpringBeanHolder.getBean(EmailService.class); // 邮箱报警 if (StringUtil.isNoneBlank(quartzJob.getEmail())) { EmailDto emailDto = taskAlarm(quartzJob, ThrowableUtil.getStackTrace(e)); - emailService.send(emailDto, emailService.find()); + emailService.sendEmail(emailDto); } } } finally { - quartzLogMapper.insert(log); + quartzLogMapper.insert(quartzLog); } } diff --git a/cutejava/cutejava-job/src/main/java/cn/odboy/util/QuartzManage.java b/cutejava/cutejava-job/src/main/java/cn/odboy/application/job/util/QuartzManage.java similarity index 95% rename from cutejava/cutejava-job/src/main/java/cn/odboy/util/QuartzManage.java rename to cutejava/cutejava-job/src/main/java/cn/odboy/application/job/util/QuartzManage.java index 067aa135..3d0d174f 100644 --- a/cutejava/cutejava-job/src/main/java/cn/odboy/util/QuartzManage.java +++ b/cutejava/cutejava-job/src/main/java/cn/odboy/application/job/util/QuartzManage.java @@ -1,4 +1,4 @@ -package cn.odboy.util; +package cn.odboy.application.job.util; import cn.odboy.exception.BadRequestException; import cn.odboy.model.job.domain.QuartzJob; @@ -25,7 +25,7 @@ public class QuartzManage { JobDetail jobDetail = JobBuilder.newJob(ExecutionJob.class). withIdentity(JOB_NAME + quartzJob.getId()).build(); - //通过触发器名和cron 表达式创建 Trigger + // 通过触发器名和cron 表达式创建 Trigger Trigger cronTrigger = TriggerBuilder.newTrigger() .withIdentity(JOB_NAME + quartzJob.getId()) .startNow() @@ -34,10 +34,10 @@ public class QuartzManage { cronTrigger.getJobDataMap().put(QuartzJob.JOB_KEY, quartzJob); - //重置启动时间 + // 重置启动时间 ((CronTriggerImpl) cronTrigger).setStartTime(new Date()); - //执行定时任务,如果是持久化的,这里会报错,捕获输出 + // 执行定时任务,如果是持久化的,这里会报错,捕获输出 try { scheduler.scheduleJob(jobDetail, cronTrigger); } catch (ObjectAlreadyExistsException e) { @@ -70,7 +70,7 @@ public class QuartzManage { } CronScheduleBuilder scheduleBuilder = CronScheduleBuilder.cronSchedule(quartzJob.getCronExpression()); trigger = trigger.getTriggerBuilder().withIdentity(triggerKey).withSchedule(scheduleBuilder).build(); - //重置启动时间 + // 重置启动时间 ((CronTriggerImpl) trigger).setStartTime(new Date()); trigger.getJobDataMap().put(QuartzJob.JOB_KEY, quartzJob); diff --git a/cutejava/cutejava-job/src/main/java/cn/odboy/util/QuartzRunnable.java b/cutejava/cutejava-job/src/main/java/cn/odboy/application/job/util/QuartzRunnable.java similarity index 86% rename from cutejava/cutejava-job/src/main/java/cn/odboy/util/QuartzRunnable.java rename to cutejava/cutejava-job/src/main/java/cn/odboy/application/job/util/QuartzRunnable.java index 4aaa2b55..fd246662 100644 --- a/cutejava/cutejava-job/src/main/java/cn/odboy/util/QuartzRunnable.java +++ b/cutejava/cutejava-job/src/main/java/cn/odboy/application/job/util/QuartzRunnable.java @@ -1,4 +1,4 @@ -package cn.odboy.util; +package cn.odboy.application.job.util; import cn.odboy.context.SpringBeanHolder; import lombok.extern.slf4j.Slf4j; @@ -13,13 +13,11 @@ import java.util.concurrent.Callable; */ @Slf4j public class QuartzRunnable implements Callable { - private final Object target; private final Method method; private final String params; - QuartzRunnable(String beanName, String methodName, String params) - throws NoSuchMethodException, SecurityException { + protected QuartzRunnable(String beanName, String methodName, String params) throws NoSuchMethodException, SecurityException { this.target = SpringBeanHolder.getBean(beanName); this.params = params; if (StringUtils.isNotBlank(params)) { diff --git a/cutejava/cutejava-job/src/main/resources/mapper/QuartzJobMapper.xml b/cutejava/cutejava-job/src/main/resources/mapper/QuartzJobMapper.xml index 99e3a072..f5a419c2 100644 --- a/cutejava/cutejava-job/src/main/resources/mapper/QuartzJobMapper.xml +++ b/cutejava/cutejava-job/src/main/resources/mapper/QuartzJobMapper.xml @@ -1,7 +1,7 @@ - - SELECT * FROM sys_quartz_job @@ -15,7 +15,7 @@ ORDER BY id DESC - SELECT * FROM sys_quartz_job WHERE is_pause = 0 diff --git a/cutejava/cutejava-job/src/main/resources/mapper/QuartzLogMapper.xml b/cutejava/cutejava-job/src/main/resources/mapper/QuartzLogMapper.xml index 4d74a5bf..3c9021cf 100644 --- a/cutejava/cutejava-job/src/main/resources/mapper/QuartzLogMapper.xml +++ b/cutejava/cutejava-job/src/main/resources/mapper/QuartzLogMapper.xml @@ -1,7 +1,7 @@ - - SELECT * FROM sys_quartz_log diff --git a/cutejava/cutejava-starter/src/main/resources/application-dev.yml b/cutejava/cutejava-starter/src/main/resources/application-dev.yml index 8969f311..fd764419 100644 --- a/cutejava/cutejava-starter/src/main/resources/application-dev.yml +++ b/cutejava/cutejava-starter/src/main/resources/application-dev.yml @@ -125,7 +125,6 @@ spring: max-idle: 20 # 连接池中的最小空闲连接数 min-idle: 1 - # 持久层 mybatis-plus: configuration: @@ -162,10 +161,6 @@ mybatis-plus: login: # 是否限制单用户登录 single-login: false - # Redis用户登录缓存配置 - user-cache: - # 存活时间/秒 - idle-time: 21600 # 验证码 code: # 验证码类型配置 查看 LoginProperties 类 @@ -185,17 +180,10 @@ login: # 鉴权 jwt: - header: Authorization - # 令牌前缀 - token-start-with: Bearer # 必须使用最少88位的Base64对该令牌进行编码 base64-secret: ZmQ0ZGI5NjQ0MDQwY2I4MjMxY2Y3ZmI3MjdhN2ZmMjNhODViOTg1ZGE0NTBjMGM4NDA5NzYxMjdjOWMwYWRmZTBlZjlhNGY3ZTg4Y2U3YTE1ODVkZDU5Y2Y3OGYwZWE1NzUzNWQ2YjFjZDc0NGMxZWU2MmQ3MjY1NzJmNTE0MzI= # 令牌过期时间 此处单位/毫秒 ,默认4小时,可在此网站生成 https://www.convertworld.com/zh-hans/time/milliseconds.html token-validity-in-seconds: 14400000 - # 在线用户key - online-key: "online_token:" - # 验证码 - code-key: "captcha_code:" # token 续期检查时间范围(默认30分钟,单位毫秒),在token即将过期的一段时间内用户操作了,则给用户的token续期 detect: 1800000 # 续期时间范围,默认1小时,单位毫秒 diff --git a/cutejava/cutejava-starter/src/main/resources/application-prod.yml b/cutejava/cutejava-starter/src/main/resources/application-prod.yml index 1fda08d8..88e60df9 100644 --- a/cutejava/cutejava-starter/src/main/resources/application-prod.yml +++ b/cutejava/cutejava-starter/src/main/resources/application-prod.yml @@ -147,10 +147,6 @@ mybatis-plus: login: # 是否限制单用户登录 single-login: true - # Redis用户登录缓存配置 - user-cache: - # 存活时间/秒 - idle-time: 21600 # 验证码 code: # 验证码类型配置 查看 LoginProperties 类 @@ -170,17 +166,10 @@ login: # 鉴权 jwt: - header: Authorization - # 令牌前缀 - token-start-with: Bearer # 必须使用最少88位的Base64对该令牌进行编码 base64-secret: ZmQ0ZGI5NjQ0MDQwY2I4MjMxY2Y3ZmI3MjdhN2ZmMjNhODViOTg1ZGE0NTBjMGM4NDA5NzYxMjdjOWMwYWRmZTBlZjlhNGY3ZTg4Y2U3YTE1ODVkZDU5Y2Y3OGYwZWE1NzUzNWQ2YjFjZDc0NGMxZWU2MmQ3MjY1NzJmNTE0MzI= # 令牌过期时间 此处单位/毫秒 ,默认4小时,可在此网站生成 https://www.convertworld.com/zh-hans/time/milliseconds.html token-validity-in-seconds: 14400000 - # 在线用户key - online-key: "online_token:" - # 验证码 - code-key: "captcha_code:" # token 续期检查时间范围(默认30分钟,单位毫秒),在token即将过期的一段时间内用户操作了,则给用户的token续期 detect: 1800000 # 续期时间范围,默认1小时,单位毫秒 diff --git a/cutejava/cutejava-starter/src/test/java/cn/odboy/util/EncryptUtilTest.java b/cutejava/cutejava-starter/src/test/java/cn/odboy/util/DESEncryptUtilTest.java similarity index 84% rename from cutejava/cutejava-starter/src/test/java/cn/odboy/util/EncryptUtilTest.java rename to cutejava/cutejava-starter/src/test/java/cn/odboy/util/DESEncryptUtilTest.java index 98f184ce..c65b4e66 100644 --- a/cutejava/cutejava-starter/src/test/java/cn/odboy/util/EncryptUtilTest.java +++ b/cutejava/cutejava-starter/src/test/java/cn/odboy/util/DESEncryptUtilTest.java @@ -3,11 +3,11 @@ package cn.odboy.util; import lombok.SneakyThrows; import org.junit.jupiter.api.Test; -import static cn.odboy.util.EncryptUtil.desDecrypt; -import static cn.odboy.util.EncryptUtil.desEncrypt; +import static cn.odboy.util.DESEncryptUtil.desDecrypt; +import static cn.odboy.util.DESEncryptUtil.desEncrypt; import static org.junit.jupiter.api.Assertions.assertEquals; -public class EncryptUtilTest { +public class DESEncryptUtilTest { @SneakyThrows public static void main(String[] args) { diff --git a/cutejava/cutejava-starter/src/test/java/cn/odboy/util/DateUtilTest.java b/cutejava/cutejava-starter/src/test/java/cn/odboy/util/DateUtilTest.java deleted file mode 100644 index 3cb2d5a9..00000000 --- a/cutejava/cutejava-starter/src/test/java/cn/odboy/util/DateUtilTest.java +++ /dev/null @@ -1,26 +0,0 @@ -package cn.odboy.util; - -import org.junit.jupiter.api.Test; - -import java.time.LocalDateTime; -import java.util.Date; - -public class DateUtilTest { - @Test - public void test1() { - long l = System.currentTimeMillis() / 1000; - LocalDateTime localDateTime = DateUtil.fromTimeStamp(l); - System.out.print(DateUtil.localDateTimeFormatyMdHms(localDateTime)); - } - - @Test - public void test2() { - LocalDateTime now = LocalDateTime.now(); - System.out.println(DateUtil.localDateTimeFormatyMdHms(now)); - Date date = DateUtil.toDate(now); - LocalDateTime localDateTime = DateUtil.toLocalDateTime(date); - System.out.println(DateUtil.localDateTimeFormatyMdHms(localDateTime)); - LocalDateTime localDateTime1 = DateUtil.fromTimeStamp(date.getTime() / 1000); - System.out.println(DateUtil.localDateTimeFormatyMdHms(localDateTime1)); - } -} diff --git a/cutejava/cutejava-starter/src/test/java/cn/odboy/util/FileUtilTest.java b/cutejava/cutejava-starter/src/test/java/cn/odboy/util/FileUtilTest.java index 68d6118b..5b52e4bb 100644 --- a/cutejava/cutejava-starter/src/test/java/cn/odboy/util/FileUtilTest.java +++ b/cutejava/cutejava-starter/src/test/java/cn/odboy/util/FileUtilTest.java @@ -16,14 +16,14 @@ public class FileUtilTest { @Test public void testGetExtensionName() { - assertEquals("foo", getExtensionName("foo")); - assertEquals("exe", getExtensionName("bar.exe")); + assertEquals("foo", getSuffix("foo")); + assertEquals("exe", getSuffix("bar.exe")); } @Test public void testGetFileNameNoEx() { - assertEquals("foo", getFileNameNoEx("foo")); - assertEquals("bar", getFileNameNoEx("bar.txt")); + assertEquals("foo", getPrefix("foo")); + assertEquals("bar", getPrefix("bar.txt")); } @Test diff --git a/cutejava/cutejava-starter/src/test/java/cn/odboy/util/StringUtilTest.java b/cutejava/cutejava-starter/src/test/java/cn/odboy/util/StringUtilTest.java index 1b7470c5..3746cb84 100644 --- a/cutejava/cutejava-starter/src/test/java/cn/odboy/util/StringUtilTest.java +++ b/cutejava/cutejava-starter/src/test/java/cn/odboy/util/StringUtilTest.java @@ -39,6 +39,6 @@ public class StringUtilTest { @Test public void testGetIP() { - assertEquals("127.0.0.1", getIp(new MockHttpServletRequest())); + assertEquals("127.0.0.1", BrowserUtil.getIp(new MockHttpServletRequest())); } } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/security/config/CaptchaConfig.java b/cutejava/cutejava-system/src/main/java/cn/odboy/application/core/config/CaptchaConfig.java similarity index 96% rename from cutejava/cutejava-system/src/main/java/cn/odboy/modules/security/config/CaptchaConfig.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/application/core/config/CaptchaConfig.java index 3c6ece9d..cec73c5a 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/security/config/CaptchaConfig.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/application/core/config/CaptchaConfig.java @@ -1,7 +1,7 @@ -package cn.odboy.modules.security.config; +package cn.odboy.application.core.config; +import cn.odboy.application.core.constant.LoginCodeEnum; import cn.odboy.exception.BadRequestException; -import cn.odboy.modules.security.constant.LoginCodeEnum; import cn.odboy.util.StringUtil; import com.wf.captcha.*; import com.wf.captcha.base.Captcha; diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/security/config/LoginProperties.java b/cutejava/cutejava-system/src/main/java/cn/odboy/application/core/config/LoginProperties.java similarity index 91% rename from cutejava/cutejava-system/src/main/java/cn/odboy/modules/security/config/LoginProperties.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/application/core/config/LoginProperties.java index 0642c0b8..ffb60b05 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/security/config/LoginProperties.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/application/core/config/LoginProperties.java @@ -1,4 +1,4 @@ -package cn.odboy.modules.security.config; +package cn.odboy.application.core.config; import lombok.Data; import org.springframework.boot.context.properties.ConfigurationProperties; diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/security/config/SecurityProperties.java b/cutejava/cutejava-system/src/main/java/cn/odboy/application/core/config/SecurityProperties.java similarity index 79% rename from cutejava/cutejava-system/src/main/java/cn/odboy/modules/security/config/SecurityProperties.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/application/core/config/SecurityProperties.java index 5c5bfb2e..4a8beb79 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/security/config/SecurityProperties.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/application/core/config/SecurityProperties.java @@ -1,4 +1,4 @@ -package cn.odboy.modules.security.config; +package cn.odboy.application.core.config; import lombok.Data; import org.springframework.boot.context.properties.ConfigurationProperties; @@ -32,16 +32,6 @@ public class SecurityProperties { */ private Long tokenValidityInSeconds; - /** - * 在线用户 key,根据 key 查询 redis 中在线用户的数据 - */ - private String onlineKey; - - /** - * 验证码 key - */ - private String codeKey; - /** * token 续期检查 */ diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/security/config/SpringSecurityConfig.java b/cutejava/cutejava-system/src/main/java/cn/odboy/application/core/config/SpringSecurityConfig.java similarity index 93% rename from cutejava/cutejava-system/src/main/java/cn/odboy/modules/security/config/SpringSecurityConfig.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/application/core/config/SpringSecurityConfig.java index 15ccd3ba..b71ce70d 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/security/config/SpringSecurityConfig.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/application/core/config/SpringSecurityConfig.java @@ -1,11 +1,11 @@ -package cn.odboy.modules.security.config; +package cn.odboy.application.core.config; +import cn.odboy.application.core.context.JwtAccessDeniedHandler; +import cn.odboy.application.core.context.JwtAuthenticationEntryPoint; +import cn.odboy.application.core.context.TokenConfigurer; +import cn.odboy.application.core.context.TokenProvider; +import cn.odboy.application.core.service.impl.OnlineUserServiceImpl; import cn.odboy.constant.RequestMethodEnum; -import cn.odboy.modules.security.context.JwtAccessDeniedHandler; -import cn.odboy.modules.security.context.JwtAuthenticationEntryPoint; -import cn.odboy.modules.security.context.TokenConfigurer; -import cn.odboy.modules.security.context.TokenProvider; -import cn.odboy.modules.security.service.impl.OnlineUserServiceImpl; import cn.odboy.util.AnonTagUtil; import lombok.RequiredArgsConstructor; import org.springframework.context.ApplicationContext; diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/security/constant/LoginCodeEnum.java b/cutejava/cutejava-system/src/main/java/cn/odboy/application/core/constant/LoginCodeEnum.java similarity index 86% rename from cutejava/cutejava-system/src/main/java/cn/odboy/modules/security/constant/LoginCodeEnum.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/application/core/constant/LoginCodeEnum.java index f16ff871..ef78a2bb 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/security/constant/LoginCodeEnum.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/application/core/constant/LoginCodeEnum.java @@ -1,4 +1,4 @@ -package cn.odboy.modules.security.constant; +package cn.odboy.application.core.constant; /** * 验证码配置枚举 diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/security/context/JwtAccessDeniedHandler.java b/cutejava/cutejava-system/src/main/java/cn/odboy/application/core/context/JwtAccessDeniedHandler.java similarity index 96% rename from cutejava/cutejava-system/src/main/java/cn/odboy/modules/security/context/JwtAccessDeniedHandler.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/application/core/context/JwtAccessDeniedHandler.java index 2c829ccd..b4d7f590 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/security/context/JwtAccessDeniedHandler.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/application/core/context/JwtAccessDeniedHandler.java @@ -1,4 +1,4 @@ -package cn.odboy.modules.security.context; +package cn.odboy.application.core.context; import cn.odboy.exception.handler.ApiError; import com.fasterxml.jackson.databind.ObjectMapper; diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/security/context/JwtAuthenticationEntryPoint.java b/cutejava/cutejava-system/src/main/java/cn/odboy/application/core/context/JwtAuthenticationEntryPoint.java similarity index 96% rename from cutejava/cutejava-system/src/main/java/cn/odboy/modules/security/context/JwtAuthenticationEntryPoint.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/application/core/context/JwtAuthenticationEntryPoint.java index 899db072..672bc8a7 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/security/context/JwtAuthenticationEntryPoint.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/application/core/context/JwtAuthenticationEntryPoint.java @@ -1,4 +1,4 @@ -package cn.odboy.modules.security.context; +package cn.odboy.application.core.context; import cn.odboy.exception.handler.ApiError; import com.fasterxml.jackson.databind.ObjectMapper; diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/security/context/TokenConfigurer.java b/cutejava/cutejava-system/src/main/java/cn/odboy/application/core/context/TokenConfigurer.java similarity index 84% rename from cutejava/cutejava-system/src/main/java/cn/odboy/modules/security/context/TokenConfigurer.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/application/core/context/TokenConfigurer.java index 06c26d6a..16ffde15 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/security/context/TokenConfigurer.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/application/core/context/TokenConfigurer.java @@ -1,7 +1,7 @@ -package cn.odboy.modules.security.context; +package cn.odboy.application.core.context; -import cn.odboy.modules.security.config.SecurityProperties; -import cn.odboy.modules.security.service.impl.OnlineUserServiceImpl; +import cn.odboy.application.core.config.SecurityProperties; +import cn.odboy.application.core.service.impl.OnlineUserServiceImpl; import lombok.RequiredArgsConstructor; import org.springframework.security.config.annotation.SecurityConfigurerAdapter; import org.springframework.security.config.annotation.web.builders.HttpSecurity; diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/security/context/TokenFilter.java b/cutejava/cutejava-system/src/main/java/cn/odboy/application/core/context/TokenFilter.java similarity index 93% rename from cutejava/cutejava-system/src/main/java/cn/odboy/modules/security/context/TokenFilter.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/application/core/context/TokenFilter.java index 03101885..c05e809e 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/security/context/TokenFilter.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/application/core/context/TokenFilter.java @@ -1,9 +1,9 @@ -package cn.odboy.modules.security.context; +package cn.odboy.application.core.context; import cn.hutool.core.util.StrUtil; +import cn.odboy.application.core.config.SecurityProperties; +import cn.odboy.application.core.service.impl.OnlineUserServiceImpl; import cn.odboy.model.system.dto.OnlineUserDto; -import cn.odboy.modules.security.config.SecurityProperties; -import cn.odboy.modules.security.service.impl.OnlineUserServiceImpl; import lombok.extern.slf4j.Slf4j; import org.springframework.security.core.Authentication; import org.springframework.security.core.context.SecurityContextHolder; @@ -43,7 +43,7 @@ public class TokenFilter extends GenericFilterBean { if (StrUtil.isNotBlank(token)) { // 获取用户Token的Key String loginKey = tokenProvider.loginKey(token); - OnlineUserDto onlineUserDto = onlineUserService.getOne(loginKey); + OnlineUserDto onlineUserDto = onlineUserService.getOnlineUserByKey(loginKey); // 判断用户在线信息是否为空 if (onlineUserDto != null) { // Token 续期判断 diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/security/context/TokenProvider.java b/cutejava/cutejava-system/src/main/java/cn/odboy/application/core/context/TokenProvider.java similarity index 94% rename from cutejava/cutejava-system/src/main/java/cn/odboy/modules/security/context/TokenProvider.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/application/core/context/TokenProvider.java index 47e2cab5..ef971f98 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/security/context/TokenProvider.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/application/core/context/TokenProvider.java @@ -1,10 +1,11 @@ -package cn.odboy.modules.security.context; +package cn.odboy.application.core.context; import cn.hutool.core.date.DateField; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.IdUtil; +import cn.odboy.application.core.config.SecurityProperties; +import cn.odboy.constant.SystemRedisKey; import cn.odboy.model.system.dto.JwtUserDto; -import cn.odboy.modules.security.config.SecurityProperties; import cn.odboy.util.RedisUtil; import io.jsonwebtoken.*; import io.jsonwebtoken.io.Decoders; @@ -120,7 +121,7 @@ public class TokenProvider implements InitializingBean { */ public String loginKey(String token) { Claims claims = getClaims(token); - return properties.getOnlineKey() + claims.getSubject() + ":" + getId(token); + return SystemRedisKey.ONLINE_USER + claims.getSubject() + ":" + getId(token); } /** diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/security/context/UserDetailsHelper.java b/cutejava/cutejava-system/src/main/java/cn/odboy/application/core/context/UserDetailsHelper.java similarity index 72% rename from cutejava/cutejava-system/src/main/java/cn/odboy/modules/security/context/UserDetailsHelper.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/application/core/context/UserDetailsHelper.java index 6e671ac1..448f2fd6 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/security/context/UserDetailsHelper.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/application/core/context/UserDetailsHelper.java @@ -1,13 +1,13 @@ -package cn.odboy.modules.security.context; +package cn.odboy.application.core.context; +import cn.odboy.application.core.service.UserCacheService; +import cn.odboy.application.system.service.DataService; +import cn.odboy.application.system.service.RoleService; +import cn.odboy.application.system.service.UserService; import cn.odboy.exception.BadRequestException; import cn.odboy.model.system.domain.User; import cn.odboy.model.system.dto.AuthorityDto; import cn.odboy.model.system.dto.JwtUserDto; -import cn.odboy.modules.security.service.UserCacheService; -import cn.odboy.modules.system.service.DataService; -import cn.odboy.modules.system.service.RoleService; -import cn.odboy.modules.system.service.UserService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.security.core.userdetails.UserDetailsService; @@ -26,9 +26,9 @@ public class UserDetailsHelper implements UserDetailsService { @Override public JwtUserDto loadUserByUsername(String username) { - JwtUserDto jwtUserDto = userCacheService.getUserCache(username); + JwtUserDto jwtUserDto = userCacheService.getUserCacheByUsername(username); if (jwtUserDto == null) { - User user = userService.getLoginData(username); + User user = userService.getUserByUsername(username); if (user == null) { throw new BadRequestException("用户不存在"); } else { @@ -38,7 +38,7 @@ public class UserDetailsHelper implements UserDetailsService { // 获取用户的权限 List authorities = roleService.buildPermissions(user); // 初始化JwtUserDto - jwtUserDto = new JwtUserDto(user, dataService.getDeptIds(user), authorities); + jwtUserDto = new JwtUserDto(user, dataService.selectDeptIdByUserIdWithDeptId(user), authorities); // 添加缓存数据 userCacheService.addUserCache(username, jwtUserDto); } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/security/rest/AuthController.java b/cutejava/cutejava-system/src/main/java/cn/odboy/application/core/rest/AuthController.java similarity index 86% rename from cutejava/cutejava-system/src/main/java/cn/odboy/modules/security/rest/AuthController.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/application/core/rest/AuthController.java index fbdc7b01..adac247d 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/security/rest/AuthController.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/application/core/rest/AuthController.java @@ -1,22 +1,23 @@ -package cn.odboy.modules.security.rest; +package cn.odboy.application.core.rest; import cn.hutool.core.util.IdUtil; import cn.odboy.annotation.AnonymousDeleteMapping; import cn.odboy.annotation.AnonymousGetMapping; import cn.odboy.annotation.AnonymousPostMapping; +import cn.odboy.application.core.config.CaptchaConfig; +import cn.odboy.application.core.config.LoginProperties; +import cn.odboy.application.core.config.SecurityProperties; +import cn.odboy.application.core.constant.LoginCodeEnum; +import cn.odboy.application.core.context.TokenProvider; +import cn.odboy.application.core.context.UserDetailsHelper; +import cn.odboy.application.core.service.impl.OnlineUserServiceImpl; +import cn.odboy.constant.SystemRedisKey; import cn.odboy.exception.BadRequestException; import cn.odboy.model.system.dto.AuthUserDto; import cn.odboy.model.system.dto.JwtUserDto; -import cn.odboy.modules.security.config.CaptchaConfig; -import cn.odboy.modules.security.config.LoginProperties; -import cn.odboy.modules.security.config.SecurityProperties; -import cn.odboy.modules.security.constant.LoginCodeEnum; -import cn.odboy.modules.security.context.TokenProvider; -import cn.odboy.modules.security.context.UserDetailsHelper; -import cn.odboy.modules.security.service.impl.OnlineUserServiceImpl; import cn.odboy.properties.RsaProperties; import cn.odboy.util.RedisUtil; -import cn.odboy.util.RsaUtil; +import cn.odboy.util.RSAEncryptUtil; import cn.odboy.util.SecurityUtil; import cn.odboy.util.StringUtil; import com.wf.captcha.base.Captcha; @@ -64,7 +65,7 @@ public class AuthController { @AnonymousPostMapping(value = "/login") public ResponseEntity login(@Validated @RequestBody AuthUserDto authUser, HttpServletRequest request) throws Exception { // 密码解密 - String password = RsaUtil.decryptByPrivateKey(RsaProperties.privateKey, authUser.getPassword()); + String password = RSAEncryptUtil.decryptByPrivateKey(RsaProperties.privateKey, authUser.getPassword()); // 查询验证码 String code = redisUtil.get(authUser.getUuid(), String.class); // 清除验证码 @@ -92,7 +93,7 @@ public class AuthController { }}; if (loginProperties.isSingleLogin()) { // 踢掉之前已经登录的token - onlineUserService.kickOutForUsername(authUser.getUsername()); + onlineUserService.kickOutByUsername(authUser.getUsername()); } // 保存在线信息 onlineUserService.save(jwtUser, token, request); @@ -112,7 +113,7 @@ public class AuthController { public ResponseEntity getCode() { // 获取运算的结果 Captcha captcha = captchaConfig.getCaptcha(); - String uuid = properties.getCodeKey() + IdUtil.simpleUUID(); + String uuid = SystemRedisKey.CAPTCHA_LOGIN + IdUtil.simpleUUID(); //当验证码类型为 arithmetic时且长度 >= 2 时,captcha.text()的结果有几率为浮点型 String captchaValue = captcha.text(); if (captcha.getCharType() - 1 == LoginCodeEnum.ARITHMETIC.ordinal() && captchaValue.contains(".")) { @@ -132,7 +133,7 @@ public class AuthController { @AnonymousDeleteMapping(value = "/logout") public ResponseEntity logout(HttpServletRequest request) { String token = tokenProvider.getToken(request); - onlineUserService.logout(token); + onlineUserService.logoutByToken(token); return new ResponseEntity<>(HttpStatus.OK); } } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/security/rest/OnlineController.java b/cutejava/cutejava-system/src/main/java/cn/odboy/application/core/rest/OnlineController.java similarity index 76% rename from cutejava/cutejava-system/src/main/java/cn/odboy/modules/security/rest/OnlineController.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/application/core/rest/OnlineController.java index a933a69d..8dac500a 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/security/rest/OnlineController.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/application/core/rest/OnlineController.java @@ -1,9 +1,9 @@ -package cn.odboy.modules.security.rest; +package cn.odboy.application.core.rest; +import cn.odboy.application.core.service.OnlineUserService; import cn.odboy.base.PageResult; import cn.odboy.model.system.dto.OnlineUserDto; -import cn.odboy.modules.security.service.OnlineUserService; -import cn.odboy.util.EncryptUtil; +import cn.odboy.util.DESEncryptUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; @@ -29,14 +29,14 @@ public class OnlineController { @GetMapping @PreAuthorize("@el.check()") public ResponseEntity> queryOnlineUser(String username, Pageable pageable) { - return new ResponseEntity<>(onlineUserService.getAll(username, pageable), HttpStatus.OK); + return new ResponseEntity<>(onlineUserService.queryOnlineUserPage(username, pageable), HttpStatus.OK); } @ApiOperation("导出数据") @GetMapping(value = "/download") @PreAuthorize("@el.check()") public void exportOnlineUser(HttpServletResponse response, String username) throws IOException { - onlineUserService.download(onlineUserService.getAll(username), response); + onlineUserService.downloadExcel(onlineUserService.selectOnlineUserByUsername(username), response); } @ApiOperation("踢出用户") @@ -45,8 +45,8 @@ public class OnlineController { public ResponseEntity deleteOnlineUser(@RequestBody Set keys) throws Exception { for (String token : keys) { // 解密Key - token = EncryptUtil.desDecrypt(token); - onlineUserService.logout(token); + token = DESEncryptUtil.desDecrypt(token); + onlineUserService.logoutByToken(token); } return new ResponseEntity<>(HttpStatus.OK); } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/security/service/OnlineUserService.java b/cutejava/cutejava-system/src/main/java/cn/odboy/application/core/service/OnlineUserService.java similarity index 72% rename from cutejava/cutejava-system/src/main/java/cn/odboy/modules/security/service/OnlineUserService.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/application/core/service/OnlineUserService.java index 8bcbac11..8cd8de47 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/security/service/OnlineUserService.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/application/core/service/OnlineUserService.java @@ -1,4 +1,4 @@ -package cn.odboy.modules.security.service; +package cn.odboy.application.core.service; import cn.odboy.base.PageResult; import cn.odboy.model.system.dto.JwtUserDto; @@ -27,7 +27,7 @@ public interface OnlineUserService { * @param pageable / * @return / */ - PageResult getAll(String username, Pageable pageable); + PageResult queryOnlineUserPage(String username, Pageable pageable); /** * 查询全部数据,不分页 @@ -35,14 +35,14 @@ public interface OnlineUserService { * @param username / * @return / */ - List getAll(String username); + List selectOnlineUserByUsername(String username); /** * 退出登录 * * @param token / */ - void logout(String token); + void logoutByToken(String token); /** * 导出 @@ -51,7 +51,7 @@ public interface OnlineUserService { * @param response / * @throws IOException / */ - void download(List all, HttpServletResponse response) throws IOException; + void downloadExcel(List all, HttpServletResponse response) throws IOException; /** * 查询用户 @@ -59,12 +59,12 @@ public interface OnlineUserService { * @param key / * @return / */ - OnlineUserDto getOne(String key); + OnlineUserDto getOnlineUserByKey(String key); /** * 根据用户名强退用户 * * @param username / */ - void kickOutForUsername(String username); + void kickOutByUsername(String username); } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/security/service/UserCacheService.java b/cutejava/cutejava-system/src/main/java/cn/odboy/application/core/service/UserCacheService.java similarity index 73% rename from cutejava/cutejava-system/src/main/java/cn/odboy/modules/security/service/UserCacheService.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/application/core/service/UserCacheService.java index 72ae16f7..7e84f555 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/security/service/UserCacheService.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/application/core/service/UserCacheService.java @@ -1,4 +1,4 @@ -package cn.odboy.modules.security.service; +package cn.odboy.application.core.service; import cn.odboy.model.system.dto.JwtUserDto; import org.springframework.scheduling.annotation.Async; @@ -7,10 +7,10 @@ public interface UserCacheService { /** * 返回用户缓存 * - * @param userName 用户名 + * @param username 用户名 * @return JwtUserDto */ - JwtUserDto getUserCache(String userName); + JwtUserDto getUserCacheByUsername(String username); /** * 添加缓存到Redis @@ -27,5 +27,5 @@ public interface UserCacheService { * @param userName 用户名 */ @Async - void cleanUserCache(String userName); + void cleanUserCacheByUsername(String userName); } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/security/service/impl/OnlineUserServiceImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/application/core/service/impl/OnlineUserServiceImpl.java similarity index 53% rename from cutejava/cutejava-system/src/main/java/cn/odboy/modules/security/service/impl/OnlineUserServiceImpl.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/application/core/service/impl/OnlineUserServiceImpl.java index cd00a503..58194c72 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/security/service/impl/OnlineUserServiceImpl.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/application/core/service/impl/OnlineUserServiceImpl.java @@ -1,11 +1,12 @@ -package cn.odboy.modules.security.service.impl; +package cn.odboy.application.core.service.impl; +import cn.odboy.application.core.config.SecurityProperties; +import cn.odboy.application.core.context.TokenProvider; +import cn.odboy.application.core.service.OnlineUserService; import cn.odboy.base.PageResult; +import cn.odboy.constant.SystemRedisKey; import cn.odboy.model.system.dto.JwtUserDto; import cn.odboy.model.system.dto.OnlineUserDto; -import cn.odboy.modules.security.config.SecurityProperties; -import cn.odboy.modules.security.context.TokenProvider; -import cn.odboy.modules.security.service.OnlineUserService; import cn.odboy.util.*; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -23,7 +24,6 @@ import java.util.concurrent.TimeUnit; @Slf4j @AllArgsConstructor public class OnlineUserServiceImpl implements OnlineUserService { - private final SecurityProperties properties; private final TokenProvider tokenProvider; private final RedisUtil redisUtil; @@ -31,13 +31,22 @@ public class OnlineUserServiceImpl implements OnlineUserService { @Override public void save(JwtUserDto jwtUserDto, String token, HttpServletRequest request) { String dept = jwtUserDto.getUser().getDept().getName(); - String ip = StringUtil.getIp(request); + String ip = BrowserUtil.getIp(request); String id = tokenProvider.getId(token); - String browser = StringUtil.getBrowser(request); - String address = StringUtil.getCityInfo(ip); + String version = BrowserUtil.getVersion(request); + String address = IPUtil.getCityInfo(ip); OnlineUserDto onlineUserDto = null; try { - onlineUserDto = new OnlineUserDto(id, jwtUserDto.getUsername(), jwtUserDto.getUser().getNickName(), dept, browser, ip, address, EncryptUtil.desEncrypt(token), new Date()); + onlineUserDto = new OnlineUserDto(); + onlineUserDto.setUid(id); + onlineUserDto.setUserName(jwtUserDto.getUsername()); + onlineUserDto.setNickName(jwtUserDto.getUser().getNickName()); + onlineUserDto.setDept(dept); + onlineUserDto.setBrowser(version); + onlineUserDto.setIp(ip); + onlineUserDto.setAddress(address); + onlineUserDto.setKey(DESEncryptUtil.desEncrypt(token)); + onlineUserDto.setLoginTime(new Date()); } catch (Exception e) { log.error(e.getMessage(), e); } @@ -46,34 +55,33 @@ public class OnlineUserServiceImpl implements OnlineUserService { } @Override - public PageResult getAll(String username, Pageable pageable) { - List onlineUserDtos = getAll(username); - List paging = PageUtil.paging(pageable.getPageNumber(), pageable.getPageSize(), onlineUserDtos); - return PageUtil.toPage(paging, onlineUserDtos.size()); + public PageResult queryOnlineUserPage(String username, Pageable pageable) { + List onlineUserList = selectOnlineUserByUsername(username); + List paging = PageUtil.softPaging(pageable.getPageNumber(), pageable.getPageSize(), onlineUserList); + return PageUtil.toPage(paging, onlineUserList.size()); } @Override - public List getAll(String username) { - String loginKey = properties.getOnlineKey() + - (StringUtil.isBlank(username) ? "" : "*" + username); + public List selectOnlineUserByUsername(String username) { + String loginKey = SystemRedisKey.ONLINE_USER + (StringUtil.isBlank(username) ? "" : "*" + username); List keys = redisUtil.scan(loginKey + "*"); Collections.reverse(keys); - List onlineUserDtos = new ArrayList<>(); + List onlineUserList = new ArrayList<>(); for (String key : keys) { - onlineUserDtos.add(redisUtil.get(key, OnlineUserDto.class)); + onlineUserList.add(redisUtil.get(key, OnlineUserDto.class)); } - onlineUserDtos.sort((o1, o2) -> o2.getLoginTime().compareTo(o1.getLoginTime())); - return onlineUserDtos; + onlineUserList.sort((o1, o2) -> o2.getLoginTime().compareTo(o1.getLoginTime())); + return onlineUserList; } @Override - public void logout(String token) { + public void logoutByToken(String token) { String loginKey = tokenProvider.loginKey(token); redisUtil.del(loginKey); } @Override - public void download(List all, HttpServletResponse response) throws IOException { + public void downloadExcel(List all, HttpServletResponse response) throws IOException { List> list = new ArrayList<>(); for (OnlineUserDto user : all) { Map map = new LinkedHashMap<>(); @@ -89,13 +97,13 @@ public class OnlineUserServiceImpl implements OnlineUserService { } @Override - public OnlineUserDto getOne(String key) { + public OnlineUserDto getOnlineUserByKey(String key) { return redisUtil.get(key, OnlineUserDto.class); } @Override - public void kickOutForUsername(String username) { - String loginKey = properties.getOnlineKey() + username + "*"; + public void kickOutByUsername(String username) { + String loginKey = SystemRedisKey.ONLINE_USER + username + "*"; redisUtil.scanDel(loginKey); } } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/security/service/impl/UserCacheServiceImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/application/core/service/impl/UserCacheServiceImpl.java similarity index 62% rename from cutejava/cutejava-system/src/main/java/cn/odboy/modules/security/service/impl/UserCacheServiceImpl.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/application/core/service/impl/UserCacheServiceImpl.java index 076c0931..33a5ce1d 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/security/service/impl/UserCacheServiceImpl.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/application/core/service/impl/UserCacheServiceImpl.java @@ -1,12 +1,11 @@ -package cn.odboy.modules.security.service.impl; +package cn.odboy.application.core.service.impl; import cn.hutool.core.util.RandomUtil; +import cn.odboy.application.core.config.LoginProperties; +import cn.odboy.application.core.service.UserCacheService; import cn.odboy.model.system.dto.JwtUserDto; -import cn.odboy.modules.security.config.LoginProperties; -import cn.odboy.modules.security.service.UserCacheService; import cn.odboy.util.RedisUtil; import cn.odboy.util.StringUtil; -import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -18,16 +17,14 @@ import javax.annotation.Resource; public class UserCacheServiceImpl implements UserCacheService { @Resource private RedisUtil redisUtil; - @Value("${login.user-cache.idle-time}") - private long idleTime; @Override - public JwtUserDto getUserCache(String userName) { + public JwtUserDto getUserCacheByUsername(String username) { // 转小写 - userName = StringUtil.lowerCase(userName); - if (StringUtil.isNotEmpty(userName)) { + username = StringUtil.lowerCase(username); + if (StringUtil.isNotEmpty(username)) { // 获取数据 - return redisUtil.get(LoginProperties.cacheKey + userName, JwtUserDto.class); + return redisUtil.get(LoginProperties.cacheKey + username, JwtUserDto.class); } return null; } @@ -38,15 +35,15 @@ public class UserCacheServiceImpl implements UserCacheService { // 转小写 userName = StringUtil.lowerCase(userName); if (StringUtil.isNotEmpty(userName)) { - // 添加数据, 避免数据同时过期 - long time = idleTime + RandomUtil.randomInt(900, 1800); + // 添加数据, 避免数据同时过期(2小时左右) + long time = 7200 + RandomUtil.randomInt(900, 1800); redisUtil.set(LoginProperties.cacheKey + userName, user, time); } } @Override - public void cleanUserCache(String userName) { + public void cleanUserCacheByUsername(String userName) { // 转小写 userName = StringUtil.lowerCase(userName); if (StringUtil.isNotEmpty(userName)) { diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/mapper/DeptMapper.java b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/mapper/DeptMapper.java new file mode 100644 index 00000000..767aec6a --- /dev/null +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/mapper/DeptMapper.java @@ -0,0 +1,25 @@ +package cn.odboy.application.system.mapper; + +import cn.odboy.model.system.domain.Dept; +import cn.odboy.model.system.dto.DeptQueryCriteria; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; +import java.util.Set; + +@Mapper +public interface DeptMapper extends BaseMapper { + List selectDeptByCriteria(@Param("criteria") DeptQueryCriteria criteria); + + List selectDeptByPid(@Param("pid") Long pid); + + int getDeptCountByPid(@Param("pid") Long pid); + + List selectDeptByPidIsNull(); + + Set selectDeptByRoleId(@Param("roleId") Long roleId); + + void updateSubCountById(@Param("count") Integer count, @Param("id") Long id); +} \ No newline at end of file diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/mapper/DictDetailMapper.java b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/mapper/DictDetailMapper.java similarity index 71% rename from cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/mapper/DictDetailMapper.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/application/system/mapper/DictDetailMapper.java index 246d136d..97745ee5 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/mapper/DictDetailMapper.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/mapper/DictDetailMapper.java @@ -1,4 +1,4 @@ -package cn.odboy.modules.system.mapper; +package cn.odboy.application.system.mapper; import cn.odboy.model.system.domain.DictDetail; import cn.odboy.model.system.dto.DictDetailQueryCriteria; @@ -14,9 +14,9 @@ import java.util.Set; @Mapper public interface DictDetailMapper extends BaseMapper { - List findDictDetailByDictName(@Param("name") String name); + List selectDictDetailByDictName(@Param("name") String name); - IPage findDictDetail(@Param("criteria") DictDetailQueryCriteria criteria, Page page); + IPage queryDictDetail(@Param("criteria") DictDetailQueryCriteria criteria, Page page); void deleteDictDetailsByDictIds(@Param("dictIds") Set dictIds); } \ No newline at end of file diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/mapper/DictMapper.java b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/mapper/DictMapper.java similarity index 75% rename from cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/mapper/DictMapper.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/application/system/mapper/DictMapper.java index a762f7aa..995b3d37 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/mapper/DictMapper.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/mapper/DictMapper.java @@ -1,4 +1,4 @@ -package cn.odboy.modules.system.mapper; +package cn.odboy.application.system.mapper; import cn.odboy.model.system.domain.Dict; import cn.odboy.model.system.dto.DictQueryCriteria; @@ -10,5 +10,5 @@ import org.apache.ibatis.annotations.Param; @Mapper public interface DictMapper extends BaseMapper { - IPage findDictPage(@Param("criteria") DictQueryCriteria criteria, Page page); + IPage queryDictPage(@Param("criteria") DictQueryCriteria criteria, Page page); } \ No newline at end of file diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/mapper/JobMapper.java b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/mapper/JobMapper.java similarity index 69% rename from cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/mapper/JobMapper.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/application/system/mapper/JobMapper.java index 0b79e78c..6d969e88 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/mapper/JobMapper.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/mapper/JobMapper.java @@ -1,4 +1,4 @@ -package cn.odboy.modules.system.mapper; +package cn.odboy.application.system.mapper; import cn.odboy.model.system.domain.Job; import cn.odboy.model.system.dto.JobQueryCriteria; @@ -10,7 +10,7 @@ import org.apache.ibatis.annotations.Param; @Mapper public interface JobMapper extends BaseMapper { - Job findJobByName(@Param("name") String name); + Job getJobByName(@Param("name") String name); - IPage findJobPage(@Param("criteria") JobQueryCriteria criteria, Page page); + IPage queryJobPage(@Param("criteria") JobQueryCriteria criteria, Page page); } \ No newline at end of file diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/mapper/MenuMapper.java b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/mapper/MenuMapper.java new file mode 100644 index 00000000..f5c70653 --- /dev/null +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/mapper/MenuMapper.java @@ -0,0 +1,31 @@ +package cn.odboy.application.system.mapper; + +import cn.odboy.model.system.domain.Menu; +import cn.odboy.model.system.dto.MenuQueryCriteria; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Set; + +@Mapper +public interface MenuMapper extends BaseMapper { + + List selectMenuByCriteria(@Param("criteria") MenuQueryCriteria criteria); + + LinkedHashSet selectMenuByRoleIdsAndType(@Param("roleIds") Set roleIds, @Param("type") Integer type); + + List selectMenuByPidIsNullOrderByMenuSort(); + + List selectMenuByPidOrderByMenuSort(@Param("pid") Long pid); + + Menu getMenuByTitle(@Param("title") String title); + + Menu getMenuByComponentName(@Param("name") String name); + + int getMenuCountByPid(@Param("pid") Long pid); + + void updateSubCntById(@Param("count") int count, @Param("menuId") Long menuId); +} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/mapper/RoleDeptMapper.java b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/mapper/RoleDeptMapper.java similarity index 90% rename from cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/mapper/RoleDeptMapper.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/application/system/mapper/RoleDeptMapper.java index 69e48e4f..f056df17 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/mapper/RoleDeptMapper.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/mapper/RoleDeptMapper.java @@ -1,4 +1,4 @@ -package cn.odboy.modules.system.mapper; +package cn.odboy.application.system.mapper; import cn.odboy.model.system.domain.Dept; import org.apache.ibatis.annotations.Mapper; diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/mapper/RoleMapper.java b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/mapper/RoleMapper.java new file mode 100644 index 00000000..c721e577 --- /dev/null +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/mapper/RoleMapper.java @@ -0,0 +1,29 @@ +package cn.odboy.application.system.mapper; + +import cn.odboy.model.system.domain.Role; +import cn.odboy.model.system.dto.RoleQueryCriteria; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; +import java.util.Set; + +@Mapper +public interface RoleMapper extends BaseMapper { + List selectRole(); + + List selectRoleByCriteria(@Param("criteria") RoleQueryCriteria criteria); + + Long getRoleCountByCriteria(@Param("criteria") RoleQueryCriteria criteria); + + Role getRoleByName(@Param("name") String name); + + Role getRoleById(@Param("roleId") Long roleId); + + List selectRoleByUserId(@Param("userId") Long userId); + + int getRoleCountByDeptIds(@Param("deptIds") Set deptIds); + + List selectRoleByMenuId(@Param("menuId") Long menuId); +} \ No newline at end of file diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/mapper/RoleMenuMapper.java b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/mapper/RoleMenuMapper.java similarity index 91% rename from cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/mapper/RoleMenuMapper.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/application/system/mapper/RoleMenuMapper.java index 070ce49d..cff043ad 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/mapper/RoleMenuMapper.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/mapper/RoleMenuMapper.java @@ -1,4 +1,4 @@ -package cn.odboy.modules.system.mapper; +package cn.odboy.application.system.mapper; import cn.odboy.model.system.domain.Menu; import org.apache.ibatis.annotations.Mapper; diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/mapper/UserJobMapper.java b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/mapper/UserJobMapper.java similarity index 90% rename from cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/mapper/UserJobMapper.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/application/system/mapper/UserJobMapper.java index 4a922368..3b2e78e8 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/mapper/UserJobMapper.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/mapper/UserJobMapper.java @@ -1,4 +1,4 @@ -package cn.odboy.modules.system.mapper; +package cn.odboy.application.system.mapper; import cn.odboy.model.system.domain.Job; import org.apache.ibatis.annotations.Mapper; diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/mapper/UserMapper.java b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/mapper/UserMapper.java new file mode 100644 index 00000000..c5787a7f --- /dev/null +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/mapper/UserMapper.java @@ -0,0 +1,45 @@ +package cn.odboy.application.system.mapper; + +import cn.odboy.model.system.domain.User; +import cn.odboy.model.system.dto.UserQueryCriteria; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.Date; +import java.util.List; +import java.util.Set; + +@Mapper +public interface UserMapper extends BaseMapper { + + Long getUserCountByCriteria(@Param("criteria") UserQueryCriteria criteria); + + IPage queryUserPage(@Param("criteria") UserQueryCriteria criteria, Page page); + + User getUserByUsername(@Param("username") String username); + + User getUserByEmail(@Param("email") String email); + + User getUserByPhone(@Param("phone") String phone); + + void updatePasswordByUsername(@Param("username") String username, @Param("password") String password, @Param("lastPasswordResetTime") Date lastPasswordResetTime); + + void updateEmailByUsername(@Param("username") String username, @Param("email") String email); + + List selectUserByRoleId(@Param("roleId") Long roleId); + + List selectUserByRoleDeptId(@Param("deptId") Long deptId); + + List selectUserByMenuId(@Param("menuId") Long menuId); + + int getCountByJobs(@Param("jobIds") Set jobIds); + + int getCountByDepts(@Param("deptIds") Set deptIds); + + int getCountByRoles(@Param("roleIds") Set roleIds); + + void resetPasswordByUserIds(@Param("userIds") Set userIds, @Param("pwd") String password); +} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/mapper/UserRoleMapper.java b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/mapper/UserRoleMapper.java similarity index 90% rename from cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/mapper/UserRoleMapper.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/application/system/mapper/UserRoleMapper.java index 2315bbdb..b3e9578b 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/mapper/UserRoleMapper.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/mapper/UserRoleMapper.java @@ -1,4 +1,4 @@ -package cn.odboy.modules.system.mapper; +package cn.odboy.application.system.mapper; import cn.odboy.model.system.domain.Role; import org.apache.ibatis.annotations.Mapper; diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/rest/DeptController.java b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/rest/DeptController.java similarity index 80% rename from cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/rest/DeptController.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/application/system/rest/DeptController.java index 217a8cd0..184b1a97 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/rest/DeptController.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/rest/DeptController.java @@ -1,11 +1,10 @@ -package cn.odboy.modules.system.rest; +package cn.odboy.application.system.rest; -import cn.hutool.core.collection.CollectionUtil; +import cn.odboy.application.system.service.DeptService; import cn.odboy.base.PageResult; import cn.odboy.exception.BadRequestException; import cn.odboy.model.system.domain.Dept; import cn.odboy.model.system.dto.DeptQueryCriteria; -import cn.odboy.modules.system.service.DeptService; import cn.odboy.util.PageUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -33,14 +32,14 @@ public class DeptController { @GetMapping(value = "/download") @PreAuthorize("@el.check('dept:list')") public void exportDept(HttpServletResponse response, DeptQueryCriteria criteria) throws Exception { - deptService.download(deptService.queryAll(criteria, false), response); + deptService.downloadExcel(deptService.selectDeptByCriteria(criteria, false), response); } @ApiOperation("查询部门") @GetMapping @PreAuthorize("@el.check('user:list','dept:list')") public ResponseEntity> queryDept(DeptQueryCriteria criteria) throws Exception { - List depts = deptService.queryAll(criteria, true); + List depts = deptService.selectDeptByCriteria(criteria, true); return new ResponseEntity<>(PageUtil.toPage(depts), HttpStatus.OK); } @@ -50,8 +49,8 @@ public class DeptController { public ResponseEntity getDeptSuperior(@RequestBody List ids, @RequestParam(defaultValue = "false") Boolean exclude) { Set deptSet = new LinkedHashSet<>(); for (Long id : ids) { - Dept dept = deptService.findById(id); - List depts = deptService.getSuperior(dept, new ArrayList<>()); + Dept dept = deptService.getDeptById(id); + List depts = deptService.selectSuperiorDeptByPid(dept, new ArrayList<>()); if (exclude) { for (Dept data : depts) { if (data.getId().equals(dept.getPid())) { @@ -73,7 +72,7 @@ public class DeptController { if (resources.getId() != null) { throw new BadRequestException("A new " + ENTITY_NAME + " cannot already have an ID"); } - deptService.create(resources); + deptService.createDept(resources); return new ResponseEntity<>(HttpStatus.CREATED); } @@ -81,7 +80,7 @@ public class DeptController { @PutMapping @PreAuthorize("@el.check('dept:edit')") public ResponseEntity updateDept(@Validated(Dept.Update.class) @RequestBody Dept resources) { - deptService.update(resources); + deptService.updateDept(resources); return new ResponseEntity<>(HttpStatus.NO_CONTENT); } @@ -90,16 +89,11 @@ public class DeptController { @PreAuthorize("@el.check('dept:del')") public ResponseEntity deleteDept(@RequestBody Set ids) { Set depts = new HashSet<>(); - for (Long id : ids) { - List deptList = deptService.findByPid(id); - depts.add(deptService.findById(id)); - if (CollectionUtil.isNotEmpty(deptList)) { - depts = deptService.getDeleteDepts(deptList, depts); - } - } + // 获取部门,和其所有子部门 + deptService.traverseDeptByIdWithPids(ids, depts); // 验证是否被角色或用户关联 - deptService.verification(depts); - deptService.delete(depts); + deptService.verifyBindRelationByIds(depts); + deptService.deleteDeptByIds(depts); return new ResponseEntity<>(HttpStatus.OK); } } \ No newline at end of file diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/rest/DictController.java b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/rest/DictController.java similarity index 82% rename from cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/rest/DictController.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/application/system/rest/DictController.java index ca4e0db6..8ca61e07 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/rest/DictController.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/rest/DictController.java @@ -1,10 +1,10 @@ -package cn.odboy.modules.system.rest; +package cn.odboy.application.system.rest; +import cn.odboy.application.system.service.DictService; import cn.odboy.base.PageResult; import cn.odboy.exception.BadRequestException; import cn.odboy.model.system.domain.Dict; import cn.odboy.model.system.dto.DictQueryCriteria; -import cn.odboy.modules.system.service.DictService; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -33,14 +33,14 @@ public class DictController { @GetMapping(value = "/download") @PreAuthorize("@el.check('dict:list')") public void exportDict(HttpServletResponse response, DictQueryCriteria criteria) throws IOException { - dictService.download(dictService.queryAll(criteria), response); + dictService.downloadExcel(dictService.selectDictByCriteria(criteria), response); } @ApiOperation("查询字典") @GetMapping(value = "/all") @PreAuthorize("@el.check('dict:list')") public ResponseEntity> queryAllDict() { - return new ResponseEntity<>(dictService.queryAll(new DictQueryCriteria()), HttpStatus.OK); + return new ResponseEntity<>(dictService.selectDictByCriteria(new DictQueryCriteria()), HttpStatus.OK); } @ApiOperation("查询字典") @@ -48,7 +48,7 @@ public class DictController { @PreAuthorize("@el.check('dict:list')") public ResponseEntity> queryDict(DictQueryCriteria criteria) { Page page = new Page<>(criteria.getPage(), criteria.getSize()); - return new ResponseEntity<>(dictService.queryAll(criteria, page), HttpStatus.OK); + return new ResponseEntity<>(dictService.queryDictPage(criteria, page), HttpStatus.OK); } @ApiOperation("新增字典") @@ -58,7 +58,7 @@ public class DictController { if (resources.getId() != null) { throw new BadRequestException("A new " + ENTITY_NAME + " cannot already have an ID"); } - dictService.create(resources); + dictService.saveDict(resources); return new ResponseEntity<>(HttpStatus.CREATED); } @@ -66,7 +66,7 @@ public class DictController { @PutMapping @PreAuthorize("@el.check('dict:edit')") public ResponseEntity updateDict(@Validated(Dict.Update.class) @RequestBody Dict resources) { - dictService.update(resources); + dictService.updateDictById(resources); return new ResponseEntity<>(HttpStatus.NO_CONTENT); } @@ -74,7 +74,7 @@ public class DictController { @DeleteMapping @PreAuthorize("@el.check('dict:del')") public ResponseEntity deleteDict(@RequestBody Set ids) { - dictService.delete(ids); + dictService.deleteDictByIds(ids); return new ResponseEntity<>(HttpStatus.OK); } } \ No newline at end of file diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/rest/DictDetailController.java b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/rest/DictDetailController.java similarity index 85% rename from cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/rest/DictDetailController.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/application/system/rest/DictDetailController.java index 3996d6ab..3045bb70 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/rest/DictDetailController.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/rest/DictDetailController.java @@ -1,10 +1,10 @@ -package cn.odboy.modules.system.rest; +package cn.odboy.application.system.rest; +import cn.odboy.application.system.service.DictDetailService; import cn.odboy.base.PageResult; import cn.odboy.exception.BadRequestException; import cn.odboy.model.system.domain.DictDetail; import cn.odboy.model.system.dto.DictDetailQueryCriteria; -import cn.odboy.modules.system.service.DictDetailService; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -32,7 +32,7 @@ public class DictDetailController { @GetMapping public ResponseEntity> queryDictDetail(DictDetailQueryCriteria criteria) { Page page = new Page<>(criteria.getPage(), criteria.getSize()); - return new ResponseEntity<>(dictDetailService.queryAll(criteria, page), HttpStatus.OK); + return new ResponseEntity<>(dictDetailService.queryDictDetailPage(criteria, page), HttpStatus.OK); } @ApiOperation("查询多个字典详情") @@ -41,7 +41,7 @@ public class DictDetailController { String[] names = dictName.split("[,,]"); Map> dictMap = new HashMap<>(16); for (String name : names) { - dictMap.put(name, dictDetailService.getDictByName(name)); + dictMap.put(name, dictDetailService.selectDictDetailByName(name)); } return new ResponseEntity<>(dictMap, HttpStatus.OK); } @@ -53,7 +53,7 @@ public class DictDetailController { if (resources.getId() != null) { throw new BadRequestException("A new " + ENTITY_NAME + " cannot already have an ID"); } - dictDetailService.create(resources); + dictDetailService.saveDictDetail(resources); return new ResponseEntity<>(HttpStatus.CREATED); } @@ -61,7 +61,7 @@ public class DictDetailController { @PutMapping @PreAuthorize("@el.check('dict:edit')") public ResponseEntity updateDictDetail(@Validated(DictDetail.Update.class) @RequestBody DictDetail resources) { - dictDetailService.update(resources); + dictDetailService.updateDictDetailById(resources); return new ResponseEntity<>(HttpStatus.NO_CONTENT); } @@ -69,7 +69,7 @@ public class DictDetailController { @DeleteMapping(value = "/{id}") @PreAuthorize("@el.check('dict:del')") public ResponseEntity deleteDictDetail(@PathVariable Long id) { - dictDetailService.delete(id); + dictDetailService.deleteDictDetailById(id); return new ResponseEntity<>(HttpStatus.OK); } } \ No newline at end of file diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/rest/JobController.java b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/rest/JobController.java similarity index 84% rename from cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/rest/JobController.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/application/system/rest/JobController.java index bc5b1555..07deba0d 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/rest/JobController.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/rest/JobController.java @@ -1,10 +1,10 @@ -package cn.odboy.modules.system.rest; +package cn.odboy.application.system.rest; +import cn.odboy.application.system.service.JobService; import cn.odboy.base.PageResult; import cn.odboy.exception.BadRequestException; import cn.odboy.model.system.domain.Job; import cn.odboy.model.system.dto.JobQueryCriteria; -import cn.odboy.modules.system.service.JobService; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -33,7 +33,7 @@ public class JobController { @GetMapping(value = "/download") @PreAuthorize("@el.check('job:list')") public void exportJob(HttpServletResponse response, JobQueryCriteria criteria) throws IOException { - jobService.download(jobService.queryAll(criteria), response); + jobService.downloadExcel(jobService.selectJobByCriteria(criteria), response); } @ApiOperation("查询岗位") @@ -41,7 +41,7 @@ public class JobController { @PreAuthorize("@el.check('job:list','user:list')") public ResponseEntity> queryJob(JobQueryCriteria criteria) { Page page = new Page<>(criteria.getPage(), criteria.getSize()); - return new ResponseEntity<>(jobService.queryAll(criteria, page), HttpStatus.OK); + return new ResponseEntity<>(jobService.queryJobPage(criteria, page), HttpStatus.OK); } @ApiOperation("新增岗位") @@ -51,7 +51,7 @@ public class JobController { if (resources.getId() != null) { throw new BadRequestException("A new " + ENTITY_NAME + " cannot already have an ID"); } - jobService.create(resources); + jobService.saveJob(resources); return new ResponseEntity<>(HttpStatus.CREATED); } @@ -59,7 +59,7 @@ public class JobController { @PutMapping @PreAuthorize("@el.check('job:edit')") public ResponseEntity updateJob(@Validated(Job.Update.class) @RequestBody Job resources) { - jobService.update(resources); + jobService.updateJobById(resources); return new ResponseEntity<>(HttpStatus.NO_CONTENT); } @@ -68,8 +68,8 @@ public class JobController { @PreAuthorize("@el.check('job:del')") public ResponseEntity deleteJob(@RequestBody Set ids) { // 验证是否被用户关联 - jobService.verification(ids); - jobService.delete(ids); + jobService.verifyBindRelationByIds(ids); + jobService.deleteJobByIds(ids); return new ResponseEntity<>(HttpStatus.OK); } } \ No newline at end of file diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/rest/MenuController.java b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/rest/MenuController.java similarity index 80% rename from cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/rest/MenuController.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/application/system/rest/MenuController.java index 7b88ed5c..6fd7f709 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/rest/MenuController.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/rest/MenuController.java @@ -1,12 +1,12 @@ -package cn.odboy.modules.system.rest; +package cn.odboy.application.system.rest; import cn.hutool.core.collection.CollectionUtil; +import cn.odboy.application.system.service.MenuService; import cn.odboy.base.PageResult; import cn.odboy.exception.BadRequestException; import cn.odboy.model.system.domain.Menu; import cn.odboy.model.system.dto.MenuQueryCriteria; import cn.odboy.model.system.dto.MenuVo; -import cn.odboy.modules.system.service.MenuService; import cn.odboy.util.PageUtil; import cn.odboy.util.SecurityUtil; import io.swagger.annotations.Api; @@ -36,13 +36,13 @@ public class MenuController { @GetMapping(value = "/download") @PreAuthorize("@el.check('menu:list')") public void exportMenu(HttpServletResponse response, MenuQueryCriteria criteria) throws Exception { - menuService.download(menuService.queryAll(criteria, false), response); + menuService.downloadExcel(menuService.selectMenuByCriteria(criteria, false), response); } @GetMapping(value = "/build") @ApiOperation("获取前端所需菜单") public ResponseEntity> buildMenus() { - List menuList = menuService.findByUser(SecurityUtil.getCurrentUserId()); + List menuList = menuService.selectMenuByUserId(SecurityUtil.getCurrentUserId()); List menus = menuService.buildTree(menuList); return new ResponseEntity<>(menuService.buildMenus(menus), HttpStatus.OK); } @@ -51,7 +51,7 @@ public class MenuController { @GetMapping(value = "/lazy") @PreAuthorize("@el.check('menu:list','roles:list')") public ResponseEntity> queryAllMenu(@RequestParam Long pid) { - return new ResponseEntity<>(menuService.getMenus(pid), HttpStatus.OK); + return new ResponseEntity<>(menuService.selectMenuByPid(pid), HttpStatus.OK); } @ApiOperation("根据菜单ID返回所有子节点ID,包含自身ID") @@ -59,9 +59,9 @@ public class MenuController { @PreAuthorize("@el.check('menu:list','roles:list')") public ResponseEntity childMenu(@RequestParam Long id) { Set menuSet = new HashSet<>(); - List menuList = menuService.getMenus(id); + List menuList = menuService.selectMenuByPid(id); menuSet.add(menuService.getById(id)); - menuSet = menuService.getChildMenus(menuList, menuSet); + menuSet = menuService.selectChildMenus(menuList, menuSet); Set ids = menuSet.stream().map(Menu::getId).collect(Collectors.toSet()); return new ResponseEntity<>(ids, HttpStatus.OK); } @@ -70,7 +70,7 @@ public class MenuController { @ApiOperation("查询菜单") @PreAuthorize("@el.check('menu:list')") public ResponseEntity> queryMenu(MenuQueryCriteria criteria) throws Exception { - List menuList = menuService.queryAll(criteria, true); + List menuList = menuService.selectMenuByCriteria(criteria, true); return new ResponseEntity<>(PageUtil.toPage(menuList), HttpStatus.OK); } @@ -81,8 +81,8 @@ public class MenuController { Set menus = new LinkedHashSet<>(); if (CollectionUtil.isNotEmpty(ids)) { for (Long id : ids) { - Menu menu = menuService.findById(id); - List menuList = menuService.getSuperior(menu, new ArrayList<>()); + Menu menu = menuService.getMenuById(id); + List menuList = menuService.selectSuperiorMenu(menu, new ArrayList<>()); for (Menu data : menuList) { if (data.getId().equals(menu.getPid())) { data.setSubCount(data.getSubCount() - 1); @@ -94,7 +94,7 @@ public class MenuController { menus = menus.stream().filter(i -> !ids.contains(i.getId())).collect(Collectors.toSet()); return new ResponseEntity<>(menuService.buildTree(new ArrayList<>(menus)), HttpStatus.OK); } - return new ResponseEntity<>(menuService.getMenus(null), HttpStatus.OK); + return new ResponseEntity<>(menuService.selectMenuByPid(null), HttpStatus.OK); } @ApiOperation("新增菜单") @@ -104,7 +104,7 @@ public class MenuController { if (resources.getId() != null) { throw new BadRequestException("A new " + ENTITY_NAME + " cannot already have an ID"); } - menuService.create(resources); + menuService.saveMenu(resources); return new ResponseEntity<>(HttpStatus.CREATED); } @@ -112,7 +112,7 @@ public class MenuController { @PutMapping @PreAuthorize("@el.check('menu:edit')") public ResponseEntity updateMenu(@Validated(Menu.Update.class) @RequestBody Menu resources) { - menuService.update(resources); + menuService.updateMenuById(resources); return new ResponseEntity<>(HttpStatus.NO_CONTENT); } @@ -122,11 +122,11 @@ public class MenuController { public ResponseEntity deleteMenu(@RequestBody Set ids) { Set menuSet = new HashSet<>(); for (Long id : ids) { - List menuList = menuService.getMenus(id); + List menuList = menuService.selectMenuByPid(id); menuSet.add(menuService.getById(id)); - menuSet = menuService.getChildMenus(menuList, menuSet); + menuSet = menuService.selectChildMenus(menuList, menuSet); } - menuService.delete(menuSet); + menuService.deleteMenuByIds(menuSet); return new ResponseEntity<>(HttpStatus.OK); } } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/rest/MonitorController.java b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/rest/MonitorController.java similarity index 81% rename from cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/rest/MonitorController.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/application/system/rest/MonitorController.java index 1a0b9260..54324900 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/rest/MonitorController.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/rest/MonitorController.java @@ -1,6 +1,6 @@ -package cn.odboy.modules.system.rest; +package cn.odboy.application.system.rest; -import cn.odboy.modules.system.service.MonitorService; +import cn.odboy.application.system.service.MonitorService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; @@ -23,6 +23,6 @@ public class MonitorController { @ApiOperation("查询服务监控") @PreAuthorize("@el.check('monitor:list')") public ResponseEntity queryMonitor() { - return new ResponseEntity<>(serverService.getServers(), HttpStatus.OK); + return new ResponseEntity<>(serverService.getServerInfo(), HttpStatus.OK); } } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/rest/RoleController.java b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/rest/RoleController.java similarity index 83% rename from cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/rest/RoleController.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/application/system/rest/RoleController.java index 85e26044..c08938cb 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/rest/RoleController.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/rest/RoleController.java @@ -1,11 +1,11 @@ -package cn.odboy.modules.system.rest; +package cn.odboy.application.system.rest; import cn.hutool.core.lang.Dict; +import cn.odboy.application.system.service.RoleService; import cn.odboy.base.PageResult; import cn.odboy.exception.BadRequestException; import cn.odboy.model.system.domain.Role; import cn.odboy.model.system.dto.RoleQueryCriteria; -import cn.odboy.modules.system.service.RoleService; import cn.odboy.util.SecurityUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.swagger.annotations.Api; @@ -39,21 +39,21 @@ public class RoleController { @GetMapping(value = "/{id}") @PreAuthorize("@el.check('roles:list')") public ResponseEntity findRoleById(@PathVariable Long id) { - return new ResponseEntity<>(roleService.findById(id), HttpStatus.OK); + return new ResponseEntity<>(roleService.getRoleById(id), HttpStatus.OK); } @ApiOperation("导出角色数据") @GetMapping(value = "/download") @PreAuthorize("@el.check('role:list')") public void exportRole(HttpServletResponse response, RoleQueryCriteria criteria) throws IOException { - roleService.download(roleService.queryAll(criteria), response); + roleService.downloadExcel(roleService.selectRoleByCriteria(criteria), response); } @ApiOperation("返回全部的角色") @GetMapping(value = "/all") @PreAuthorize("@el.check('roles:list','user:add','user:edit')") public ResponseEntity> queryAllRole() { - return new ResponseEntity<>(roleService.queryAll(), HttpStatus.OK); + return new ResponseEntity<>(roleService.selectRole(), HttpStatus.OK); } @ApiOperation("查询角色") @@ -61,7 +61,7 @@ public class RoleController { @PreAuthorize("@el.check('roles:list')") public ResponseEntity> queryRole(RoleQueryCriteria criteria) { Page page = new Page<>(criteria.getPage(), criteria.getSize()); - return new ResponseEntity<>(roleService.queryAll(criteria, page), HttpStatus.OK); + return new ResponseEntity<>(roleService.queryRolePage(criteria, page), HttpStatus.OK); } @ApiOperation("获取用户级别") @@ -78,7 +78,7 @@ public class RoleController { throw new BadRequestException("A new " + ENTITY_NAME + " cannot already have an ID"); } getLevels(resources.getLevel()); - roleService.create(resources); + roleService.createRole(resources); return new ResponseEntity<>(HttpStatus.CREATED); } @@ -87,7 +87,7 @@ public class RoleController { @PreAuthorize("@el.check('roles:edit')") public ResponseEntity updateRole(@Validated(Role.Update.class) @RequestBody Role resources) { getLevels(resources.getLevel()); - roleService.update(resources); + roleService.updateRoleById(resources); return new ResponseEntity<>(HttpStatus.NO_CONTENT); } @@ -97,7 +97,7 @@ public class RoleController { public ResponseEntity updateRoleMenu(@RequestBody Role resources) { Role role = roleService.getById(resources.getId()); getLevels(role.getLevel()); - roleService.updateMenu(resources); + roleService.updateMenuById(resources); return new ResponseEntity<>(HttpStatus.NO_CONTENT); } @@ -110,8 +110,8 @@ public class RoleController { getLevels(role.getLevel()); } // 验证是否被用户关联 - roleService.verification(ids); - roleService.delete(ids); + roleService.verifyBindRelationByIds(ids); + roleService.deleteRoleByIds(ids); return new ResponseEntity<>(HttpStatus.OK); } @@ -121,7 +121,7 @@ public class RoleController { * @return / */ private int getLevels(Integer level) { - List levels = roleService.findByUsersId(SecurityUtil.getCurrentUserId()).stream().map(Role::getLevel).collect(Collectors.toList()); + List levels = roleService.selectRoleByUsersId(SecurityUtil.getCurrentUserId()).stream().map(Role::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/modules/system/rest/UserController.java b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/rest/UserController.java similarity index 69% rename from cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/rest/UserController.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/application/system/rest/UserController.java index 282e187c..f3ed16d4 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/rest/UserController.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/rest/UserController.java @@ -1,6 +1,7 @@ -package cn.odboy.modules.system.rest; +package cn.odboy.application.system.rest; import cn.hutool.core.collection.CollectionUtil; +import cn.odboy.application.system.service.*; import cn.odboy.base.PageResult; import cn.odboy.constant.CodeEnum; import cn.odboy.exception.BadRequestException; @@ -9,10 +10,9 @@ import cn.odboy.model.system.domain.Role; import cn.odboy.model.system.domain.User; import cn.odboy.model.system.dto.UserPassVo; import cn.odboy.model.system.dto.UserQueryCriteria; -import cn.odboy.modules.system.service.*; import cn.odboy.properties.RsaProperties; import cn.odboy.util.PageUtil; -import cn.odboy.util.RsaUtil; +import cn.odboy.util.RSAEncryptUtil; import cn.odboy.util.SecurityUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.swagger.annotations.Api; @@ -52,7 +52,7 @@ public class UserController { @GetMapping(value = "/download") @PreAuthorize("@el.check('user:list')") public void exportUser(HttpServletResponse response, UserQueryCriteria criteria) throws IOException { - userService.download(userService.queryAll(criteria), response); + userService.downloadExcel(userService.selectUserByCriteria(criteria), response); } @ApiOperation("查询用户") @@ -63,23 +63,23 @@ public class UserController { if (!ObjectUtils.isEmpty(criteria.getDeptId())) { criteria.getDeptIds().add(criteria.getDeptId()); // 先查找是否存在子节点 - List data = deptService.findByPid(criteria.getDeptId()); + List data = deptService.selectDeptByPid(criteria.getDeptId()); // 然后把子节点的ID都加入到集合中 - criteria.getDeptIds().addAll(deptService.getDeptChildren(data)); + criteria.getDeptIds().addAll(deptService.selectChildDeptIdByDeptIds(data)); } // 数据权限 - List dataScopes = dataService.getDeptIds(userService.findByName(SecurityUtil.getCurrentUsername())); + List dataScopes = dataService.selectDeptIdByUserIdWithDeptId(userService.getUserByUsername(SecurityUtil.getCurrentUsername())); // criteria.getDeptIds() 不为空并且数据权限不为空则取交集 if (!CollectionUtils.isEmpty(criteria.getDeptIds()) && !CollectionUtils.isEmpty(dataScopes)) { // 取交集 criteria.getDeptIds().retainAll(dataScopes); if (!CollectionUtil.isEmpty(criteria.getDeptIds())) { - return new ResponseEntity<>(userService.queryAll(criteria, page), HttpStatus.OK); + return new ResponseEntity<>(userService.queryUserPage(criteria, page), HttpStatus.OK); } } else { // 否则取并集 criteria.getDeptIds().addAll(dataScopes); - return new ResponseEntity<>(userService.queryAll(criteria, page), HttpStatus.OK); + return new ResponseEntity<>(userService.queryUserPage(criteria, page), HttpStatus.OK); } return new ResponseEntity<>(PageUtil.noData(), HttpStatus.OK); } @@ -91,7 +91,7 @@ public class UserController { checkLevel(resources); // 默认密码 123456 resources.setPassword(passwordEncoder.encode("123456")); - userService.create(resources); + userService.saveUser(resources); return new ResponseEntity<>(HttpStatus.CREATED); } @@ -100,7 +100,7 @@ public class UserController { @PreAuthorize("@el.check('user:edit')") public ResponseEntity updateUser(@Validated(User.Update.class) @RequestBody User resources) throws Exception { checkLevel(resources); - userService.update(resources); + userService.updateUserById(resources); return new ResponseEntity<>(HttpStatus.NO_CONTENT); } @@ -110,7 +110,7 @@ public class UserController { if (!resources.getId().equals(SecurityUtil.getCurrentUserId())) { throw new BadRequestException("不能修改他人资料"); } - userService.updateCenter(resources); + userService.updateCenterInfoById(resources); return new ResponseEntity<>(HttpStatus.NO_CONTENT); } @@ -119,56 +119,56 @@ public class UserController { @PreAuthorize("@el.check('user:del')") public ResponseEntity deleteUser(@RequestBody Set ids) { for (Long id : ids) { - Integer currentLevel = Collections.min(roleService.findByUsersId(SecurityUtil.getCurrentUserId()).stream().map(Role::getLevel).collect(Collectors.toList())); - Integer optLevel = Collections.min(roleService.findByUsersId(id).stream().map(Role::getLevel).collect(Collectors.toList())); + Integer currentLevel = Collections.min(roleService.selectRoleByUsersId(SecurityUtil.getCurrentUserId()).stream().map(Role::getLevel).collect(Collectors.toList())); + Integer optLevel = Collections.min(roleService.selectRoleByUsersId(id).stream().map(Role::getLevel).collect(Collectors.toList())); if (currentLevel > optLevel) { - throw new BadRequestException("角色权限不足,不能删除:" + userService.findById(id).getUsername()); + throw new BadRequestException("角色权限不足,不能删除:" + userService.getUserById(id).getUsername()); } } - userService.delete(ids); + userService.deleteUserByIds(ids); return new ResponseEntity<>(HttpStatus.OK); } @ApiOperation("修改密码") @PostMapping(value = "/updatePass") - public ResponseEntity updateUserPass(@RequestBody UserPassVo passVo) throws Exception { - String oldPass = RsaUtil.decryptByPrivateKey(RsaProperties.privateKey, passVo.getOldPass()); - String newPass = RsaUtil.decryptByPrivateKey(RsaProperties.privateKey, passVo.getNewPass()); - User user = userService.findByName(SecurityUtil.getCurrentUsername()); + public ResponseEntity updateUserPassword(@RequestBody UserPassVo passVo) throws Exception { + String oldPass = RSAEncryptUtil.decryptByPrivateKey(RsaProperties.privateKey, passVo.getOldPass()); + String newPass = RSAEncryptUtil.decryptByPrivateKey(RsaProperties.privateKey, passVo.getNewPass()); + User user = userService.getUserByUsername(SecurityUtil.getCurrentUsername()); if (!passwordEncoder.matches(oldPass, user.getPassword())) { throw new BadRequestException("修改失败,旧密码错误"); } if (passwordEncoder.matches(newPass, user.getPassword())) { throw new BadRequestException("新密码不能与旧密码相同"); } - userService.updatePass(user.getUsername(), passwordEncoder.encode(newPass)); + userService.updatePasswordByUsername(user.getUsername(), passwordEncoder.encode(newPass)); return new ResponseEntity<>(HttpStatus.OK); } @ApiOperation("重置密码") @PutMapping(value = "/resetPwd") public ResponseEntity resetPwd(@RequestBody Set ids) { - String pwd = passwordEncoder.encode("123456"); - userService.resetPwd(ids, pwd); + String defaultPwd = passwordEncoder.encode("123456"); + userService.resetPasswordByIds(ids, defaultPwd); return new ResponseEntity<>(HttpStatus.OK); } @ApiOperation("修改头像") @PostMapping(value = "/updateAvatar") public ResponseEntity updateUserAvatar(@RequestParam MultipartFile avatar) { - return new ResponseEntity<>(userService.updateAvatar(avatar), HttpStatus.OK); + return new ResponseEntity<>(userService.updateAvatarFile(avatar), HttpStatus.OK); } @ApiOperation("修改邮箱") @PostMapping(value = "/updateEmail/{code}") public ResponseEntity updateUserEmail(@PathVariable String code, @RequestBody User resources) throws Exception { - String password = RsaUtil.decryptByPrivateKey(RsaProperties.privateKey, resources.getPassword()); - User user = userService.findByName(SecurityUtil.getCurrentUsername()); + String password = RSAEncryptUtil.decryptByPrivateKey(RsaProperties.privateKey, resources.getPassword()); + User user = userService.getUserByUsername(SecurityUtil.getCurrentUsername()); if (!passwordEncoder.matches(password, user.getPassword())) { throw new BadRequestException("密码错误"); } - verificationCodeService.validated(CodeEnum.EMAIL_RESET_EMAIL_CODE.getKey() + resources.getEmail(), code); - userService.updateEmail(user.getUsername(), resources.getEmail()); + verificationCodeService.validateEmailCode(CodeEnum.EMAIL_RESET_EMAIL_CODE.getKey(), resources.getEmail(), code); + userService.updateEmailByUsername(user.getUsername(), resources.getEmail()); return new ResponseEntity<>(HttpStatus.OK); } @@ -178,8 +178,8 @@ public class UserController { * @param resources / */ private void checkLevel(User resources) { - Integer currentLevel = Collections.min(roleService.findByUsersId(SecurityUtil.getCurrentUserId()).stream().map(Role::getLevel).collect(Collectors.toList())); - Integer optLevel = roleService.findByRoles(resources.getRoles()); + Integer currentLevel = Collections.min(roleService.selectRoleByUsersId(SecurityUtil.getCurrentUserId()).stream().map(Role::getLevel).collect(Collectors.toList())); + Integer optLevel = roleService.getDeptLevelByRoles(resources.getRoles()); if (currentLevel > optLevel) { throw new BadRequestException("角色权限不足"); } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/rest/VerifyController.java b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/rest/VerifyController.java similarity index 69% rename from cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/rest/VerifyController.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/application/system/rest/VerifyController.java index b05b5e87..9a555ea8 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/rest/VerifyController.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/rest/VerifyController.java @@ -1,10 +1,10 @@ -package cn.odboy.modules.system.rest; +package cn.odboy.application.system.rest; +import cn.odboy.application.system.service.VerifyService; +import cn.odboy.application.tools.service.EmailService; import cn.odboy.constant.CodeBiEnum; import cn.odboy.constant.CodeEnum; import cn.odboy.model.tools.dto.EmailDto; -import cn.odboy.modules.system.service.VerifyService; -import cn.odboy.service.EmailService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; @@ -27,16 +27,16 @@ public class VerifyController { @PostMapping(value = "/resetEmail") @ApiOperation("重置邮箱,发送验证码") public ResponseEntity resetEmail(@RequestParam String email) { - EmailDto emailDto = verificationCodeService.sendEmail(email, CodeEnum.EMAIL_RESET_EMAIL_CODE.getKey()); - emailService.send(emailDto, emailService.find()); + EmailDto emailDto = verificationCodeService.sendEmailCode(email, CodeEnum.EMAIL_RESET_EMAIL_CODE.getKey()); + emailService.sendEmail(emailDto); return new ResponseEntity<>(HttpStatus.OK); } @PostMapping(value = "/email/resetPass") @ApiOperation("重置密码,发送验证码") public ResponseEntity resetPass(@RequestParam String email) { - EmailDto emailDto = verificationCodeService.sendEmail(email, CodeEnum.EMAIL_RESET_PWD_CODE.getKey()); - emailService.send(emailDto, emailService.find()); + EmailDto emailDto = verificationCodeService.sendEmailCode(email, CodeEnum.EMAIL_RESET_PWD_CODE.getKey()); + emailService.sendEmail(emailDto); return new ResponseEntity<>(HttpStatus.OK); } @@ -46,10 +46,10 @@ public class VerifyController { CodeBiEnum biEnum = CodeBiEnum.find(codeBi); switch (Objects.requireNonNull(biEnum)) { case ONE: - verificationCodeService.validated(CodeEnum.EMAIL_RESET_EMAIL_CODE.getKey() + email, code); + verificationCodeService.validateEmailCode(CodeEnum.EMAIL_RESET_EMAIL_CODE.getKey(), email, code); break; case TWO: - verificationCodeService.validated(CodeEnum.EMAIL_RESET_PWD_CODE.getKey() + email, code); + verificationCodeService.validateEmailCode(CodeEnum.EMAIL_RESET_PWD_CODE.getKey(), email, code); break; default: break; diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/service/DataService.java b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/service/DataService.java similarity index 68% rename from cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/service/DataService.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/application/system/service/DataService.java index d35f3449..edeb8d50 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/service/DataService.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/service/DataService.java @@ -1,4 +1,4 @@ -package cn.odboy.modules.system.service; +package cn.odboy.application.system.service; import cn.odboy.model.system.domain.User; @@ -16,5 +16,5 @@ public interface DataService { * @param user / * @return / */ - List getDeptIds(User user); + List selectDeptIdByUserIdWithDeptId(User user); } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/service/DeptService.java b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/service/DeptService.java similarity index 59% rename from cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/service/DeptService.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/application/system/service/DeptService.java index e1f806ac..15f5fa73 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/service/DeptService.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/service/DeptService.java @@ -1,5 +1,6 @@ -package cn.odboy.modules.system.service; +package cn.odboy.application.system.service; +import cn.odboy.base.BaseResult; import cn.odboy.model.system.domain.Dept; import cn.odboy.model.system.dto.DeptQueryCriteria; import com.baomidou.mybatisplus.extension.service.IService; @@ -7,6 +8,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.List; +import java.util.Map; import java.util.Set; public interface DeptService extends IService { @@ -19,7 +21,7 @@ public interface DeptService extends IService { * @return / * @throws Exception / */ - List queryAll(DeptQueryCriteria criteria, Boolean isQuery) throws Exception; + List selectDeptByCriteria(DeptQueryCriteria criteria, Boolean isQuery) throws Exception; /** * 根据ID查询 @@ -27,28 +29,28 @@ public interface DeptService extends IService { * @param id / * @return / */ - Dept findById(Long id); + Dept getDeptById(Long id); /** * 创建 * * @param resources / */ - void create(Dept resources); + void createDept(Dept resources); /** * 编辑 * * @param resources / */ - void update(Dept resources); + void updateDept(Dept resources); /** * 删除 * * @param depts / */ - void delete(Set depts); + void deleteDeptByIds(Set depts); /** * 根据PID查询 @@ -56,7 +58,7 @@ public interface DeptService extends IService { * @param pid / * @return / */ - List findByPid(long pid); + List selectDeptByPid(long pid); /** * 根据角色ID查询 @@ -64,7 +66,7 @@ public interface DeptService extends IService { * @param id / * @return / */ - Set findByRoleId(Long id); + Set selectDeptByRoleId(Long id); /** * 导出数据 @@ -73,16 +75,16 @@ public interface DeptService extends IService { * @param response / * @throws IOException / */ - void download(List depts, HttpServletResponse response) throws IOException; + void downloadExcel(List depts, HttpServletResponse response) throws IOException; /** - * 获取待删除的部门 + * 获取部门下所有关联的部门 * * @param deptList / * @param depts / * @return / */ - Set getDeleteDepts(List deptList, Set depts); + Set selectRelationDept(List deptList, Set depts); /** * 根据ID获取同级与上级数据 @@ -91,7 +93,7 @@ public interface DeptService extends IService { * @param depts / * @return / */ - List getSuperior(Dept dept, List depts); + List selectSuperiorDeptByPid(Dept dept, List depts); /** * 构建树形数据 @@ -99,7 +101,7 @@ public interface DeptService extends IService { * @param depts / * @return / */ - Object buildTree(List depts); + BaseResult buildTree(List depts); /** * 获取 @@ -107,12 +109,20 @@ public interface DeptService extends IService { * @param deptList 、 * @return 、 */ - List getDeptChildren(List deptList); + List selectChildDeptIdByDeptIds(List deptList); /** * 验证是否被角色或用户关联 * * @param depts / */ - void verification(Set depts); + void verifyBindRelationByIds(Set depts); + + /** + * 遍历所有部门和子部门 + * + * @param ids / + * @param depts / + */ + void traverseDeptByIdWithPids(Set ids, Set depts); } \ No newline at end of file diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/service/DictDetailService.java b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/service/DictDetailService.java similarity index 69% rename from cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/service/DictDetailService.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/application/system/service/DictDetailService.java index feb4d660..902db6d0 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/service/DictDetailService.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/service/DictDetailService.java @@ -1,4 +1,4 @@ -package cn.odboy.modules.system.service; +package cn.odboy.application.system.service; import cn.odboy.base.PageResult; import cn.odboy.model.system.domain.DictDetail; @@ -16,21 +16,21 @@ public interface DictDetailService extends IService { * * @param resources / */ - void create(DictDetail resources); + void saveDictDetail(DictDetail resources); /** * 编辑 * * @param resources / */ - void update(DictDetail resources); + void updateDictDetailById(DictDetail resources); /** * 删除 * * @param id / */ - void delete(Long id); + void deleteDictDetailById(Long id); /** * 分页查询 @@ -39,7 +39,7 @@ public interface DictDetailService extends IService { * @param page 分页参数 * @return / */ - PageResult queryAll(DictDetailQueryCriteria criteria, Page page); + PageResult queryDictDetailPage(DictDetailQueryCriteria criteria, Page page); /** * 根据字典名称获取字典详情 @@ -47,5 +47,5 @@ public interface DictDetailService extends IService { * @param name 字典名称 * @return / */ - List getDictByName(String name); + List selectDictDetailByName(String name); } \ No newline at end of file diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/service/DictService.java b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/service/DictService.java similarity index 70% rename from cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/service/DictService.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/application/system/service/DictService.java index db295ac4..afe54678 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/service/DictService.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/service/DictService.java @@ -1,4 +1,4 @@ -package cn.odboy.modules.system.service; +package cn.odboy.application.system.service; import cn.odboy.base.PageResult; import cn.odboy.model.system.domain.Dict; @@ -21,7 +21,7 @@ public interface DictService extends IService { * @param page 分页参数 * @return / */ - PageResult queryAll(DictQueryCriteria criteria, Page page); + PageResult queryDictPage(DictQueryCriteria criteria, Page page); /** * 查询全部数据 @@ -29,28 +29,28 @@ public interface DictService extends IService { * @param criteria / * @return / */ - List queryAll(DictQueryCriteria criteria); + List selectDictByCriteria(DictQueryCriteria criteria); /** * 创建 * * @param resources / */ - void create(Dict resources); + void saveDict(Dict resources); /** * 编辑 * * @param resources / */ - void update(Dict resources); + void updateDictById(Dict resources); /** * 删除 * * @param ids / */ - void delete(Set ids); + void deleteDictByIds(Set ids); /** * 导出数据 @@ -59,5 +59,5 @@ public interface DictService extends IService { * @param response / * @throws IOException / */ - void download(List queryAll, HttpServletResponse response) throws IOException; + void downloadExcel(List queryAll, HttpServletResponse response) throws IOException; } \ No newline at end of file diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/service/JobService.java b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/service/JobService.java similarity index 70% rename from cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/service/JobService.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/application/system/service/JobService.java index 0c7d8a1b..e9a260b0 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/service/JobService.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/service/JobService.java @@ -1,4 +1,4 @@ -package cn.odboy.modules.system.service; +package cn.odboy.application.system.service; import cn.odboy.base.PageResult; import cn.odboy.model.system.domain.Job; @@ -20,28 +20,28 @@ public interface JobService extends IService { * @param id / * @return / */ - Job findById(Long id); + Job getJobById(Long id); /** * 创建 * * @param resources / */ - void create(Job resources); + void saveJob(Job resources); /** * 编辑 * * @param resources / */ - void update(Job resources); + void updateJobById(Job resources); /** * 删除 * * @param ids / */ - void delete(Set ids); + void deleteJobByIds(Set ids); /** * 分页查询 @@ -50,7 +50,7 @@ public interface JobService extends IService { * @param page 分页参数 * @return / */ - PageResult queryAll(JobQueryCriteria criteria, Page page); + PageResult queryJobPage(JobQueryCriteria criteria, Page page); /** * 查询全部数据 @@ -58,7 +58,7 @@ public interface JobService extends IService { * @param criteria / * @return / */ - List queryAll(JobQueryCriteria criteria); + List selectJobByCriteria(JobQueryCriteria criteria); /** * 导出数据 @@ -67,12 +67,12 @@ public interface JobService extends IService { * @param response / * @throws IOException / */ - void download(List jobs, HttpServletResponse response) throws IOException; + void downloadExcel(List jobs, HttpServletResponse response) throws IOException; /** * 验证是否被用户关联 * * @param ids / */ - void verification(Set ids); + void verifyBindRelationByIds(Set ids); } \ No newline at end of file diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/service/MenuService.java b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/service/MenuService.java similarity index 72% rename from cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/service/MenuService.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/application/system/service/MenuService.java index 9878da6c..de8c8b8d 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/service/MenuService.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/service/MenuService.java @@ -1,4 +1,4 @@ -package cn.odboy.modules.system.service; +package cn.odboy.application.system.service; import cn.odboy.model.system.domain.Menu; import cn.odboy.model.system.dto.MenuQueryCriteria; @@ -20,7 +20,7 @@ public interface MenuService extends IService { * @return / * @throws Exception / */ - List queryAll(MenuQueryCriteria criteria, Boolean isQuery) throws Exception; + List selectMenuByCriteria(MenuQueryCriteria criteria, Boolean isQuery) throws Exception; /** * 根据ID查询 @@ -28,21 +28,21 @@ public interface MenuService extends IService { * @param id / * @return / */ - Menu findById(long id); + Menu getMenuById(long id); /** * 创建 * * @param resources / */ - void create(Menu resources); + void saveMenu(Menu resources); /** * 编辑 * * @param resources / */ - void update(Menu resources); + void updateMenuById(Menu resources); /** * 获取所有子节点,包含自身ID @@ -51,7 +51,7 @@ public interface MenuService extends IService { * @param menuSet / * @return / */ - Set getChildMenus(List menuList, Set menuSet); + Set selectChildMenus(List menuList, Set menuSet); /** * 构建菜单树 @@ -74,7 +74,7 @@ public interface MenuService extends IService { * * @param menuSet / */ - void delete(Set menuSet); + void deleteMenuByIds(Set menuSet); /** * 导出 @@ -83,7 +83,7 @@ public interface MenuService extends IService { * @param response / * @throws IOException / */ - void download(List menus, HttpServletResponse response) throws IOException; + void downloadExcel(List menus, HttpServletResponse response) throws IOException; /** * 懒加载菜单数据 @@ -91,7 +91,7 @@ public interface MenuService extends IService { * @param pid / * @return / */ - List getMenus(Long pid); + List selectMenuByPid(Long pid); /** * 根据ID获取同级与上级数据 @@ -100,7 +100,7 @@ public interface MenuService extends IService { * @param objects / * @return / */ - List getSuperior(Menu menu, List objects); + List selectSuperiorMenu(Menu menu, List objects); /** * 根据当前用户获取菜单 @@ -108,5 +108,5 @@ public interface MenuService extends IService { * @param currentUserId / * @return / */ - List findByUser(Long currentUserId); + List selectMenuByUserId(Long currentUserId); } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/service/MonitorService.java b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/service/MonitorService.java similarity index 62% rename from cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/service/MonitorService.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/application/system/service/MonitorService.java index bb9aefd1..3007f7db 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/service/MonitorService.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/service/MonitorService.java @@ -1,4 +1,4 @@ -package cn.odboy.modules.system.service; +package cn.odboy.application.system.service; import java.util.Map; @@ -9,5 +9,5 @@ public interface MonitorService { * * @return Map */ - Map getServers(); + Map getServerInfo(); } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/service/RoleService.java b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/service/RoleService.java similarity index 72% rename from cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/service/RoleService.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/application/system/service/RoleService.java index 46aa97ef..13240d42 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/service/RoleService.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/service/RoleService.java @@ -1,4 +1,4 @@ -package cn.odboy.modules.system.service; +package cn.odboy.application.system.service; import cn.odboy.base.PageResult; import cn.odboy.model.system.domain.Role; @@ -21,59 +21,15 @@ public interface RoleService extends IService { * * @return / */ - List queryAll(); + List selectRole(); /** - * 根据ID查询 + * 查询全部 * - * @param id / + * @param criteria 条件 * @return / */ - Role findById(long id); - - /** - * 创建 - * - * @param resources / - */ - void create(Role resources); - - /** - * 编辑 - * - * @param resources / - */ - void update(Role resources); - - /** - * 删除 - * - * @param ids / - */ - void delete(Set ids); - - /** - * 根据用户ID查询 - * - * @param userId 用户ID - * @return / - */ - List findByUsersId(Long userId); - - /** - * 根据角色查询角色级别 - * - * @param roles / - * @return / - */ - Integer findByRoles(Set roles); - - /** - * 修改绑定的菜单 - * - * @param resources / - */ - void updateMenu(Role resources); + List selectRoleByCriteria(RoleQueryCriteria criteria); /** * 待条件分页查询 @@ -82,24 +38,59 @@ public interface RoleService extends IService { * @param page 分页参数 * @return / */ - PageResult queryAll(RoleQueryCriteria criteria, Page page); + PageResult queryRolePage(RoleQueryCriteria criteria, Page page); /** - * 查询全部 + * 根据ID查询 * - * @param criteria 条件 + * @param id / * @return / */ - List queryAll(RoleQueryCriteria criteria); + Role getRoleById(long id); /** - * 导出数据 + * 创建 * - * @param roles 待导出的数据 - * @param response / - * @throws IOException / + * @param resources / */ - void download(List roles, HttpServletResponse response) throws IOException; + void createRole(Role resources); + + /** + * 编辑 + * + * @param resources / + */ + void updateRoleById(Role resources); + + /** + * 修改绑定的菜单 + * + * @param resources / + */ + void updateMenuById(Role resources); + + /** + * 删除 + * + * @param ids / + */ + void deleteRoleByIds(Set ids); + + /** + * 根据用户ID查询 + * + * @param userId 用户ID + * @return / + */ + List selectRoleByUsersId(Long userId); + + /** + * 根据角色查询角色级别 + * + * @param roles / + * @return / + */ + Integer getDeptLevelByRoles(Set roles); /** * 获取用户权限信息 @@ -109,12 +100,21 @@ public interface RoleService extends IService { */ List buildPermissions(User user); + /** + * 导出数据 + * + * @param roles 待导出的数据 + * @param response / + * @throws IOException / + */ + void downloadExcel(List roles, HttpServletResponse response) throws IOException; + /** * 验证是否被用户关联 * * @param ids / */ - void verification(Set ids); + void verifyBindRelationByIds(Set ids); /** * 根据菜单Id查询 @@ -122,5 +122,5 @@ public interface RoleService extends IService { * @param menuId / * @return / */ - List findByMenuId(Long menuId); + List selectRoleByMenuId(Long menuId); } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/service/UserService.java b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/service/UserService.java similarity index 65% rename from cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/service/UserService.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/application/system/service/UserService.java index d9e5a2e5..cbbb2013 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/service/UserService.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/service/UserService.java @@ -1,4 +1,4 @@ -package cn.odboy.modules.system.service; +package cn.odboy.application.system.service; import cn.odboy.base.PageResult; import cn.odboy.model.system.domain.User; @@ -21,14 +21,14 @@ public interface UserService extends IService { * @param id ID * @return / */ - User findById(long id); + User getUserById(long id); /** * 新增用户 * * @param resources / */ - void create(User resources); + void saveUser(User resources); /** * 编辑用户 @@ -36,30 +36,22 @@ public interface UserService extends IService { * @param resources / * @throws Exception / */ - void update(User resources) throws Exception; + void updateUserById(User resources) throws Exception; /** * 删除用户 * * @param ids / */ - void delete(Set ids); + void deleteUserByIds(Set ids); /** * 根据用户名查询 * - * @param userName / + * @param username / * @return / */ - User findByName(String userName); - - /** - * 根据用户名查询 - * - * @param userName / - * @return / - */ - User getLoginData(String userName); + User getUserByUsername(String username); /** * 修改密码 @@ -67,7 +59,7 @@ public interface UserService extends IService { * @param username 用户名 * @param encryptPassword 密码 */ - void updatePass(String username, String encryptPassword); + void updatePasswordByUsername(String username, String encryptPassword); /** * 修改头像 @@ -75,7 +67,7 @@ public interface UserService extends IService { * @param file 文件 * @return / */ - Map updateAvatar(MultipartFile file); + Map updateAvatarFile(MultipartFile file); /** * 修改邮箱 @@ -83,7 +75,7 @@ public interface UserService extends IService { * @param username 用户名 * @param email 邮箱 */ - void updateEmail(String username, String email); + void updateEmailByUsername(String username, String email); /** * 查询全部 @@ -92,7 +84,7 @@ public interface UserService extends IService { * @param page 分页参数 * @return / */ - PageResult queryAll(UserQueryCriteria criteria, Page page); + PageResult queryUserPage(UserQueryCriteria criteria, Page page); /** * 查询全部不分页 @@ -100,7 +92,7 @@ public interface UserService extends IService { * @param criteria 条件 * @return / */ - List queryAll(UserQueryCriteria criteria); + List selectUserByCriteria(UserQueryCriteria criteria); /** * 导出数据 @@ -109,20 +101,20 @@ public interface UserService extends IService { * @param response / * @throws IOException / */ - void download(List queryAll, HttpServletResponse response) throws IOException; + void downloadExcel(List queryAll, HttpServletResponse response) throws IOException; /** * 用户自助修改资料 * * @param resources / */ - void updateCenter(User resources); + void updateCenterInfoById(User resources); /** * 重置密码 * - * @param ids 用户id - * @param pwd 密码 + * @param ids 用户id + * @param password 密码 */ - void resetPwd(Set ids, String pwd); + void resetPasswordByIds(Set ids, String password); } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/service/VerifyService.java b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/service/VerifyService.java similarity index 61% rename from cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/service/VerifyService.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/application/system/service/VerifyService.java index f3b8f3c6..f3d3add1 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/service/VerifyService.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/service/VerifyService.java @@ -1,4 +1,4 @@ -package cn.odboy.modules.system.service; +package cn.odboy.application.system.service; import cn.odboy.model.tools.dto.EmailDto; @@ -11,7 +11,7 @@ public interface VerifyService { * @param key / * @return / */ - EmailDto sendEmail(String email, String key); + EmailDto sendEmailCode(String email, String key); /** @@ -20,5 +20,5 @@ public interface VerifyService { * @param code / * @param key / */ - void validated(String key, String code); + void validateEmailCode(String key, String email, String code); } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/service/impl/DataServiceImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/service/impl/DataServiceImpl.java similarity index 73% rename from cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/service/impl/DataServiceImpl.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/application/system/service/impl/DataServiceImpl.java index 7edcbe81..9067ceeb 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/service/impl/DataServiceImpl.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/service/impl/DataServiceImpl.java @@ -1,14 +1,14 @@ -package cn.odboy.modules.system.service.impl; +package cn.odboy.application.system.service.impl; import cn.hutool.core.collection.CollUtil; -import cn.odboy.constant.CacheKey; +import cn.odboy.application.system.service.DataService; +import cn.odboy.application.system.service.DeptService; +import cn.odboy.application.system.service.RoleService; +import cn.odboy.constant.SystemRedisKey; import cn.odboy.constant.DataScopeEnum; import cn.odboy.model.system.domain.Dept; import cn.odboy.model.system.domain.Role; import cn.odboy.model.system.domain.User; -import cn.odboy.modules.system.service.DataService; -import cn.odboy.modules.system.service.DeptService; -import cn.odboy.modules.system.service.RoleService; import cn.odboy.util.RedisUtil; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -33,13 +33,13 @@ public class DataServiceImpl implements DataService { * @return / */ @Override - public List getDeptIds(User user) { - String key = CacheKey.DATA_USER + user.getId(); + public List selectDeptIdByUserIdWithDeptId(User user) { + String key = SystemRedisKey.DATA_USER + user.getId(); List ids = redisUtil.getList(key, Long.class); if (CollUtil.isEmpty(ids)) { Set deptIds = new HashSet<>(); // 查询用户角色 - List roleList = roleService.findByUsersId(user.getId()); + List roleList = roleService.selectRoleByUsersId(user.getId()); // 获取对应的部门ID for (Role role : roleList) { DataScopeEnum dataScopeEnum = DataScopeEnum.find(role.getDataScope()); @@ -68,12 +68,12 @@ public class DataServiceImpl implements DataService { * @return 数据权限ID */ public Set getCustomize(Set deptIds, Role role) { - Set depts = deptService.findByRoleId(role.getId()); - for (Dept dept : depts) { + Set deptList = deptService.selectDeptByRoleId(role.getId()); + for (Dept dept : deptList) { deptIds.add(dept.getId()); - List deptChildren = deptService.findByPid(dept.getId()); + List deptChildren = deptService.selectDeptByPid(dept.getId()); if (CollUtil.isNotEmpty(deptChildren)) { - deptIds.addAll(deptService.getDeptChildren(deptChildren)); + deptIds.addAll(deptService.selectChildDeptIdByDeptIds(deptChildren)); } } return deptIds; diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/service/impl/DeptServiceImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/service/impl/DeptServiceImpl.java similarity index 57% rename from cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/service/impl/DeptServiceImpl.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/application/system/service/impl/DeptServiceImpl.java index 34ad706e..4185c147 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/service/impl/DeptServiceImpl.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/service/impl/DeptServiceImpl.java @@ -1,22 +1,20 @@ -package cn.odboy.modules.system.service.impl; +package cn.odboy.application.system.service.impl; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.ObjectUtil; -import cn.odboy.constant.CacheKey; +import cn.odboy.application.system.mapper.DeptMapper; +import cn.odboy.application.system.mapper.RoleMapper; +import cn.odboy.application.system.mapper.UserMapper; +import cn.odboy.application.system.service.DeptService; +import cn.odboy.base.BaseResult; +import cn.odboy.constant.SystemRedisKey; import cn.odboy.constant.DataScopeEnum; import cn.odboy.exception.BadRequestException; import cn.odboy.model.system.domain.Dept; import cn.odboy.model.system.domain.User; import cn.odboy.model.system.dto.DeptQueryCriteria; -import cn.odboy.modules.system.mapper.DeptMapper; -import cn.odboy.modules.system.mapper.RoleMapper; -import cn.odboy.modules.system.mapper.UserMapper; -import cn.odboy.modules.system.service.DeptService; -import cn.odboy.util.FileUtil; -import cn.odboy.util.RedisUtil; -import cn.odboy.util.SecurityUtil; -import cn.odboy.util.StringUtil; +import cn.odboy.util.*; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -38,19 +36,19 @@ public class DeptServiceImpl extends ServiceImpl implements De private final RedisUtil redisUtil; @Override - public List queryAll(DeptQueryCriteria criteria, Boolean isQuery) throws Exception { + public List selectDeptByCriteria(DeptQueryCriteria criteria, Boolean isQuery) throws Exception { String dataScopeType = SecurityUtil.getDataScopeType(); if (isQuery) { if (dataScopeType.equals(DataScopeEnum.ALL.getValue())) { criteria.setPidIsNull(true); } - List fields = StringUtil.getAllFields(criteria.getClass(), new ArrayList<>()); - List fieldNames = new ArrayList() {{ + List fields = ClassUtil.getAllFields(criteria.getClass(), new ArrayList<>()); + List fieldNames = new ArrayList<>() {{ add("pidIsNull"); add("enabled"); }}; for (Field field : fields) { - //设置对象的访问权限,保证对private的属性的访问 + // 设置对象的访问权限,保证对private的属性的访问 field.setAccessible(true); Object val = field.get(criteria); if (fieldNames.contains(field.getName())) { @@ -64,7 +62,7 @@ public class DeptServiceImpl extends ServiceImpl implements De } // 数据权限 criteria.setIds(SecurityUtil.getCurrentUserDataScope()); - List list = deptMapper.findDept(criteria); + List list = deptMapper.selectDeptByCriteria(criteria); // 如果为空,就代表为自定义权限或者本级权限,就需要去重,不理解可以注释掉,看查询结果 if (StringUtil.isBlank(dataScopeType)) { return deduplication(list); @@ -73,8 +71,8 @@ public class DeptServiceImpl extends ServiceImpl implements De } @Override - public Dept findById(Long id) { - String key = CacheKey.DEPT_ID + id; + public Dept getDeptById(Long id) { + String key = SystemRedisKey.DEPT_ID + id; Dept dept = redisUtil.get(key, Dept.class); if (dept == null) { dept = deptMapper.selectById(id); @@ -84,30 +82,30 @@ public class DeptServiceImpl extends ServiceImpl implements De } @Override - public List findByPid(long pid) { - return deptMapper.findDeptByPid(pid); + public List selectDeptByPid(long pid) { + return deptMapper.selectDeptByPid(pid); } @Override - public Set findByRoleId(Long id) { - return deptMapper.findDeptByRoleId(id); + public Set selectDeptByRoleId(Long id) { + return deptMapper.selectDeptByRoleId(id); } @Override @Transactional(rollbackFor = Exception.class) - public void create(Dept resources) { + public void createDept(Dept resources) { save(resources); // 清理缓存 updateSubCnt(resources.getPid()); - // 清理自定义角色权限的datascope缓存 + // 清理自定义角色权限的DataScope缓存 delCaches(resources.getPid()); } @Override @Transactional(rollbackFor = Exception.class) - public void update(Dept resources) { + public void updateDept(Dept resources) { // 旧的部门 - Long oldPid = findById(resources.getId()).getPid(); + Long oldPid = getDeptById(resources.getId()).getPid(); Long newPid = resources.getPid(); if (resources.getPid() != null && resources.getId().equals(resources.getPid())) { throw new BadRequestException("上级不能为自己"); @@ -124,8 +122,8 @@ public class DeptServiceImpl extends ServiceImpl implements De @Override @Transactional(rollbackFor = Exception.class) - public void delete(Set depts) { - for (Dept dept : depts) { + public void deleteDeptByIds(Set deptSet) { + for (Dept dept : deptSet) { // 清理缓存 delCaches(dept.getId()); deptMapper.deleteById(dept.getId()); @@ -134,9 +132,9 @@ public class DeptServiceImpl extends ServiceImpl implements De } @Override - public void download(List depts, HttpServletResponse response) throws IOException { + public void downloadExcel(List deptList, HttpServletResponse response) throws IOException { List> list = new ArrayList<>(); - for (Dept dept : depts) { + for (Dept dept : deptList) { Map map = new LinkedHashMap<>(); map.put("部门名称", dept.getName()); map.put("部门状态", dept.getEnabled() ? "启用" : "停用"); @@ -147,25 +145,25 @@ public class DeptServiceImpl extends ServiceImpl implements De } @Override - public Set getDeleteDepts(List menuList, Set deptSet) { + public Set selectRelationDept(List menuList, Set deptSet) { for (Dept dept : menuList) { deptSet.add(dept); - List depts = deptMapper.findDeptByPid(dept.getId()); - if (CollUtil.isNotEmpty(depts)) { - getDeleteDepts(depts, deptSet); + List deptList = deptMapper.selectDeptByPid(dept.getId()); + if (CollUtil.isNotEmpty(deptList)) { + selectRelationDept(deptList, deptSet); } } return deptSet; } @Override - public List getDeptChildren(List deptList) { + public List selectChildDeptIdByDeptIds(List deptList) { List list = new ArrayList<>(); deptList.forEach(dept -> { if (dept != null && dept.getEnabled()) { - List depts = deptMapper.findDeptByPid(dept.getId()); - if (CollUtil.isNotEmpty(depts)) { - list.addAll(getDeptChildren(depts)); + List deptList1 = deptMapper.selectDeptByPid(dept.getId()); + if (CollUtil.isNotEmpty(deptList1)) { + list.addAll(selectChildDeptIdByDeptIds(deptList1)); } list.add(dept.getId()); } @@ -175,19 +173,19 @@ public class DeptServiceImpl extends ServiceImpl implements De } @Override - public List getSuperior(Dept dept, List depts) { + public List selectSuperiorDeptByPid(Dept dept, List deptList) { if (dept.getPid() == null) { - depts.addAll(deptMapper.findDeptByPidIsNull()); - return depts; + deptList.addAll(deptMapper.selectDeptByPidIsNull()); + return deptList; } - depts.addAll(deptMapper.findDeptByPid(dept.getPid())); - return getSuperior(findById(dept.getPid()), depts); + deptList.addAll(deptMapper.selectDeptByPid(dept.getPid())); + return selectSuperiorDeptByPid(getDeptById(dept.getPid()), deptList); } @Override - public Object buildTree(List deptList) { + public BaseResult buildTree(List deptList) { Set trees = new LinkedHashSet<>(); - Set depts = new LinkedHashSet<>(); + Set deptSet = new LinkedHashSet<>(); List deptNames = deptList.stream().map(Dept::getName).collect(Collectors.toList()); boolean isChild; for (Dept dept : deptList) { @@ -205,54 +203,65 @@ public class DeptServiceImpl extends ServiceImpl implements De } } if (isChild) { - depts.add(dept); - } else if (dept.getPid() != null && !deptNames.contains(findById(dept.getPid()).getName())) { - depts.add(dept); + deptSet.add(dept); + } else if (dept.getPid() != null && !deptNames.contains(getDeptById(dept.getPid()).getName())) { + deptSet.add(dept); } } - if (CollectionUtil.isEmpty(trees)) { - trees = depts; + trees = deptSet; } - Map map = new HashMap<>(2); - map.put("totalElements", depts.size()); - map.put("content", CollectionUtil.isEmpty(trees) ? depts : trees); - return map; + BaseResult baseResult = new BaseResult<>(); + baseResult.setContent(CollectionUtil.isEmpty(trees) ? deptSet : trees); + baseResult.setTotalElements(deptSet.size()); + return baseResult; } @Override - public void verification(Set depts) { - Set deptIds = depts.stream().map(Dept::getId).collect(Collectors.toSet()); - if (userMapper.countByDepts(deptIds) > 0) { + public void verifyBindRelationByIds(Set deptSet) { + Set deptIds = deptSet.stream().map(Dept::getId).collect(Collectors.toSet()); + if (userMapper.getCountByDepts(deptIds) > 0) { throw new BadRequestException("所选部门存在用户关联,请解除后再试!"); } - if (roleMapper.countRolesByDeptIds(deptIds) > 0) { + if (roleMapper.getRoleCountByDeptIds(deptIds) > 0) { throw new BadRequestException("所选部门存在角色关联,请解除后再试!"); } } + @Override + public void traverseDeptByIdWithPids(Set ids, Set depts) { + for (Long id : ids) { + // 根部门 + depts.add(getDeptById(id)); + // 子部门 + List deptList = selectDeptByPid(id); + if (CollectionUtil.isNotEmpty(deptList)) { + depts = selectRelationDept(deptList, depts); + } + } + } + private void updateSubCnt(Long deptId) { if (deptId != null) { - int count = deptMapper.countDeptByPid(deptId); - deptMapper.updateDeptSubCountById(count, deptId); + int count = deptMapper.getDeptCountByPid(deptId); + deptMapper.updateSubCountById(count, deptId); } } + /** + * 筛选出 list 中没有父部门(即 pid 不在其他部门 id 列表中的部门)的部门列表 + */ private List deduplication(List list) { - List depts = new ArrayList<>(); + List deptList = new ArrayList<>(); + // 使用 Set 存储所有部门的 id + Set idSet = list.stream().map(Dept::getId).collect(Collectors.toSet()); + // 遍历部门列表,筛选出没有父部门的部门 for (Dept dept : list) { - boolean flag = true; - for (Dept dept1 : list) { - if (dept1.getId().equals(dept.getPid())) { - flag = false; - break; - } - } - if (flag) { - depts.add(dept); + if (!idSet.contains(dept.getPid())) { + deptList.add(dept); } } - return depts; + return deptList; } /** @@ -261,9 +270,9 @@ public class DeptServiceImpl extends ServiceImpl implements De * @param id / */ public void delCaches(Long id) { - List users = userMapper.findByRoleDeptId(id); + List users = userMapper.selectUserByRoleDeptId(id); // 删除数据权限 - redisUtil.delByKeys(CacheKey.DATA_USER, users.stream().map(User::getId).collect(Collectors.toSet())); - redisUtil.del(CacheKey.DEPT_ID + id); + redisUtil.delByKeys(SystemRedisKey.DATA_USER, users.stream().map(User::getId).collect(Collectors.toSet())); + redisUtil.del(SystemRedisKey.DEPT_ID + id); } } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/service/impl/DictDetailServiceImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/service/impl/DictDetailServiceImpl.java similarity index 69% rename from cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/service/impl/DictDetailServiceImpl.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/application/system/service/impl/DictDetailServiceImpl.java index d3bd7484..bd2a4d19 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/service/impl/DictDetailServiceImpl.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/service/impl/DictDetailServiceImpl.java @@ -1,14 +1,14 @@ -package cn.odboy.modules.system.service.impl; +package cn.odboy.application.system.service.impl; import cn.hutool.core.collection.CollUtil; +import cn.odboy.application.system.mapper.DictDetailMapper; +import cn.odboy.application.system.mapper.DictMapper; +import cn.odboy.application.system.service.DictDetailService; import cn.odboy.base.PageResult; -import cn.odboy.constant.CacheKey; +import cn.odboy.constant.SystemRedisKey; import cn.odboy.model.system.domain.Dict; import cn.odboy.model.system.domain.DictDetail; import cn.odboy.model.system.dto.DictDetailQueryCriteria; -import cn.odboy.modules.system.mapper.DictDetailMapper; -import cn.odboy.modules.system.mapper.DictMapper; -import cn.odboy.modules.system.service.DictDetailService; import cn.odboy.util.PageUtil; import cn.odboy.util.RedisUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -28,13 +28,13 @@ public class DictDetailServiceImpl extends ServiceImpl queryAll(DictDetailQueryCriteria criteria, Page page) { - return PageUtil.toPage(dictDetailMapper.findDictDetail(criteria, page)); + public PageResult queryDictDetailPage(DictDetailQueryCriteria criteria, Page page) { + return PageUtil.toPage(dictDetailMapper.queryDictDetail(criteria, page)); } @Override @Transactional(rollbackFor = Exception.class) - public void create(DictDetail resources) { + public void saveDictDetail(DictDetail resources) { resources.setDictId(resources.getDict().getId()); save(resources); // 清理缓存 @@ -43,7 +43,7 @@ public class DictDetailServiceImpl extends ServiceImpl getDictByName(String name) { - String key = CacheKey.DICT_NAME + name; + public List selectDictDetailByName(String name) { + String key = SystemRedisKey.DICT_NAME + name; List dictDetails = redisUtil.getList(key, DictDetail.class); if (CollUtil.isEmpty(dictDetails)) { - dictDetails = dictDetailMapper.findDictDetailByDictName(name); + dictDetails = dictDetailMapper.selectDictDetailByDictName(name); redisUtil.set(key, dictDetails, 1, TimeUnit.DAYS); } return dictDetails; @@ -65,7 +65,7 @@ public class DictDetailServiceImpl extends ServiceImpl implements Di private final RedisUtil redisUtil; @Override - public PageResult queryAll(DictQueryCriteria criteria, Page page) { - IPage dicts = dictMapper.findDictPage(criteria, page); + public PageResult queryDictPage(DictQueryCriteria criteria, Page page) { + IPage dicts = dictMapper.queryDictPage(criteria, page); return PageUtil.toPage(dicts); } @Override - public List queryAll(DictQueryCriteria criteria) { - return dictMapper.findDictPage(criteria, PageUtil.getCount(dictMapper)).getRecords(); + public List selectDictByCriteria(DictQueryCriteria criteria) { + return dictMapper.queryDictPage(criteria, PageUtil.getCount(dictMapper)).getRecords(); } @Override @Transactional(rollbackFor = Exception.class) - public void create(Dict resources) { + public void saveDict(Dict resources) { save(resources); } @Override @Transactional(rollbackFor = Exception.class) - public void update(Dict resources) { + public void updateDictById(Dict resources) { // 清理缓存 delCaches(resources); Dict dict = getById(resources.getId()); @@ -60,7 +60,7 @@ public class DictServiceImpl extends ServiceImpl implements Di @Override @Transactional(rollbackFor = Exception.class) - public void delete(Set ids) { + public void deleteDictByIds(Set ids) { // 清理缓存 List dicts = dictMapper.selectByIds(ids); for (Dict dict : dicts) { @@ -73,10 +73,10 @@ public class DictServiceImpl extends ServiceImpl implements Di } @Override - public void download(List dicts, HttpServletResponse response) throws IOException { + public void downloadExcel(List dicts, HttpServletResponse response) throws IOException { List> list = new ArrayList<>(); for (Dict dict : dicts) { - List dictDetails = dictDetailMapper.findDictDetailByDictName(dict.getName()); + List dictDetails = dictDetailMapper.selectDictDetailByDictName(dict.getName()); if (CollectionUtil.isNotEmpty(dictDetails)) { for (DictDetail dictDetail : dictDetails) { Map map = new LinkedHashMap<>(); @@ -101,6 +101,6 @@ public class DictServiceImpl extends ServiceImpl implements Di } public void delCaches(Dict dict) { - redisUtil.del(CacheKey.DICT_NAME + dict.getName()); + redisUtil.del(SystemRedisKey.DICT_NAME + dict.getName()); } } \ No newline at end of file diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/service/impl/JobServiceImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/service/impl/JobServiceImpl.java similarity index 69% rename from cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/service/impl/JobServiceImpl.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/application/system/service/impl/JobServiceImpl.java index aff9d4d4..59cc35bc 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/service/impl/JobServiceImpl.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/service/impl/JobServiceImpl.java @@ -1,14 +1,14 @@ -package cn.odboy.modules.system.service.impl; +package cn.odboy.application.system.service.impl; +import cn.odboy.application.system.mapper.JobMapper; +import cn.odboy.application.system.mapper.UserMapper; +import cn.odboy.application.system.service.JobService; import cn.odboy.base.PageResult; -import cn.odboy.constant.CacheKey; +import cn.odboy.constant.SystemRedisKey; import cn.odboy.exception.BadRequestException; import cn.odboy.exception.EntityExistException; import cn.odboy.model.system.domain.Job; import cn.odboy.model.system.dto.JobQueryCriteria; -import cn.odboy.modules.system.mapper.JobMapper; -import cn.odboy.modules.system.mapper.UserMapper; -import cn.odboy.modules.system.service.JobService; import cn.odboy.util.FileUtil; import cn.odboy.util.PageUtil; import cn.odboy.util.RedisUtil; @@ -31,18 +31,18 @@ public class JobServiceImpl extends ServiceImpl implements JobSe private final RedisUtil redisUtil; @Override - public PageResult queryAll(JobQueryCriteria criteria, Page page) { - return PageUtil.toPage(jobMapper.findJobPage(criteria, page)); + public PageResult queryJobPage(JobQueryCriteria criteria, Page page) { + return PageUtil.toPage(jobMapper.queryJobPage(criteria, page)); } @Override - public List queryAll(JobQueryCriteria criteria) { - return jobMapper.findJobPage(criteria, PageUtil.getCount(jobMapper)).getRecords(); + public List selectJobByCriteria(JobQueryCriteria criteria) { + return jobMapper.queryJobPage(criteria, PageUtil.getCount(jobMapper)).getRecords(); } @Override - public Job findById(Long id) { - String key = CacheKey.JOB_ID + id; + public Job getJobById(Long id) { + String key = SystemRedisKey.JOB_ID + id; Job job = redisUtil.get(key, Job.class); if (job == null) { job = getById(id); @@ -53,8 +53,8 @@ public class JobServiceImpl extends ServiceImpl implements JobSe @Override @Transactional(rollbackFor = Exception.class) - public void create(Job resources) { - Job job = jobMapper.findJobByName(resources.getName()); + public void saveJob(Job resources) { + Job job = jobMapper.getJobByName(resources.getName()); if (job != null) { throw new EntityExistException(Job.class, "name", resources.getName()); } @@ -63,9 +63,9 @@ public class JobServiceImpl extends ServiceImpl implements JobSe @Override @Transactional(rollbackFor = Exception.class) - public void update(Job resources) { + public void updateJobById(Job resources) { Job job = getById(resources.getId()); - Job old = jobMapper.findJobByName(resources.getName()); + Job old = jobMapper.getJobByName(resources.getName()); if (old != null && !old.getId().equals(resources.getId())) { throw new EntityExistException(Job.class, "name", resources.getName()); } @@ -77,14 +77,14 @@ public class JobServiceImpl extends ServiceImpl implements JobSe @Override @Transactional(rollbackFor = Exception.class) - public void delete(Set ids) { + public void deleteJobByIds(Set ids) { removeBatchByIds(ids); // 删除缓存 ids.forEach(this::delCaches); } @Override - public void download(List jobs, HttpServletResponse response) throws IOException { + public void downloadExcel(List jobs, HttpServletResponse response) throws IOException { List> list = new ArrayList<>(); for (Job job : jobs) { Map map = new LinkedHashMap<>(); @@ -97,13 +97,13 @@ public class JobServiceImpl extends ServiceImpl implements JobSe } @Override - public void verification(Set ids) { - if (userMapper.countByJobs(ids) > 0) { + public void verifyBindRelationByIds(Set ids) { + if (userMapper.getCountByJobs(ids) > 0) { throw new BadRequestException("所选的岗位中存在用户关联,请解除关联再试!"); } } public void delCaches(Long id) { - redisUtil.del(CacheKey.JOB_ID + id); + redisUtil.del(SystemRedisKey.JOB_ID + id); } } \ No newline at end of file diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/service/impl/MenuServiceImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/service/impl/MenuServiceImpl.java similarity index 76% rename from cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/service/impl/MenuServiceImpl.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/application/system/service/impl/MenuServiceImpl.java index 99b15f7a..aa937c5b 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/service/impl/MenuServiceImpl.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/service/impl/MenuServiceImpl.java @@ -1,9 +1,15 @@ -package cn.odboy.modules.system.service.impl; +package cn.odboy.application.system.service.impl; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.ObjectUtil; -import cn.odboy.constant.CacheKey; +import cn.odboy.application.system.mapper.MenuMapper; +import cn.odboy.application.system.mapper.RoleMenuMapper; +import cn.odboy.application.system.mapper.UserMapper; +import cn.odboy.application.system.service.MenuService; +import cn.odboy.application.system.service.RoleService; +import cn.odboy.constant.SystemRedisKey; +import cn.odboy.constant.TransferProtocolConst; import cn.odboy.exception.BadRequestException; import cn.odboy.exception.EntityExistException; import cn.odboy.model.system.domain.Menu; @@ -12,11 +18,7 @@ import cn.odboy.model.system.domain.User; import cn.odboy.model.system.dto.MenuMetaVo; import cn.odboy.model.system.dto.MenuQueryCriteria; import cn.odboy.model.system.dto.MenuVo; -import cn.odboy.modules.system.mapper.MenuMapper; -import cn.odboy.modules.system.mapper.RoleMenuMapper; -import cn.odboy.modules.system.mapper.UserMapper; -import cn.odboy.modules.system.service.MenuService; -import cn.odboy.modules.system.service.RoleService; +import cn.odboy.util.ClassUtil; import cn.odboy.util.FileUtil; import cn.odboy.util.RedisUtil; import cn.odboy.util.StringUtil; @@ -42,17 +44,14 @@ public class MenuServiceImpl extends ServiceImpl implements Me private final RoleService roleService; private final RedisUtil redisUtil; - private static final String HTTP_PRE = "http://"; - private static final String HTTPS_PRE = "https://"; private static final String YES_STR = "是"; private static final String NO_STR = "否"; - private static final String BAD_REQUEST = "外链必须以http://或者https://开头"; @Override - public List queryAll(MenuQueryCriteria criteria, Boolean isQuery) throws Exception { + public List selectMenuByCriteria(MenuQueryCriteria criteria, Boolean isQuery) throws Exception { if (Boolean.TRUE.equals(isQuery)) { criteria.setPidIsNull(true); - List fields = StringUtil.getAllFields(criteria.getClass(), new ArrayList<>()); + List fields = ClassUtil.getAllFields(criteria.getClass(), new ArrayList<>()); for (Field field : fields) { //设置对象的访问权限,保证对private的属性的访问 field.setAccessible(true); @@ -67,12 +66,12 @@ public class MenuServiceImpl extends ServiceImpl implements Me } } } - return menuMapper.findAll(criteria); + return menuMapper.selectMenuByCriteria(criteria); } @Override - public Menu findById(long id) { - String key = CacheKey.MENU_ID + id; + public Menu getMenuById(long id) { + String key = SystemRedisKey.MENU_ID + id; Menu menu = redisUtil.get(key, Menu.class); if (menu == null) { menu = getById(id); @@ -88,13 +87,13 @@ public class MenuServiceImpl extends ServiceImpl implements Me * @return / */ @Override - public List findByUser(Long currentUserId) { - String key = CacheKey.MENU_USER + currentUserId; + public List selectMenuByUserId(Long currentUserId) { + String key = SystemRedisKey.MENU_USER + currentUserId; List menus = redisUtil.getList(key, Menu.class); if (CollUtil.isEmpty(menus)) { - List roles = roleService.findByUsersId(currentUserId); + List roles = roleService.selectRoleByUsersId(currentUserId); Set roleIds = roles.stream().map(Role::getId).collect(Collectors.toSet()); - menus = new ArrayList<>(menuMapper.findByRoleIdsAndTypeNot(roleIds, 2)); + menus = new ArrayList<>(menuMapper.selectMenuByRoleIdsAndType(roleIds, 2)); redisUtil.set(key, menus, 1, TimeUnit.DAYS); } return menus; @@ -102,12 +101,12 @@ public class MenuServiceImpl extends ServiceImpl implements Me @Override @Transactional(rollbackFor = Exception.class) - public void create(Menu resources) { - if (menuMapper.findByTitle(resources.getTitle()) != null) { + public void saveMenu(Menu resources) { + if (menuMapper.getMenuByTitle(resources.getTitle()) != null) { throw new EntityExistException(Menu.class, "title", resources.getTitle()); } if (StringUtil.isNotBlank(resources.getComponentName())) { - if (menuMapper.findByComponentName(resources.getComponentName()) != null) { + if (menuMapper.getMenuByComponentName(resources.getComponentName()) != null) { throw new EntityExistException(Menu.class, "componentName", resources.getComponentName()); } } @@ -115,8 +114,8 @@ public class MenuServiceImpl extends ServiceImpl implements Me resources.setPid(null); } if (resources.getIFrame()) { - if (!(resources.getPath().toLowerCase().startsWith(HTTP_PRE) || resources.getPath().toLowerCase().startsWith(HTTPS_PRE))) { - throw new BadRequestException(BAD_REQUEST); + if (!(resources.getPath().toLowerCase().startsWith(TransferProtocolConst.PREFIX_HTTP) || resources.getPath().toLowerCase().startsWith(TransferProtocolConst.PREFIX_HTTPS))) { + throw new BadRequestException(TransferProtocolConst.PREFIX_HTTPS_BAD_REQUEST); } } save(resources); @@ -128,17 +127,17 @@ public class MenuServiceImpl extends ServiceImpl implements Me @Override @Transactional(rollbackFor = Exception.class) - public void update(Menu resources) { + public void updateMenuById(Menu resources) { if (resources.getId().equals(resources.getPid())) { throw new BadRequestException("上级不能为自己"); } Menu menu = getById(resources.getId()); if (resources.getIFrame()) { - if (!(resources.getPath().toLowerCase().startsWith(HTTP_PRE) || resources.getPath().toLowerCase().startsWith(HTTPS_PRE))) { - throw new BadRequestException(BAD_REQUEST); + if (!(resources.getPath().toLowerCase().startsWith(TransferProtocolConst.PREFIX_HTTP) || resources.getPath().toLowerCase().startsWith(TransferProtocolConst.PREFIX_HTTPS))) { + throw new BadRequestException(TransferProtocolConst.PREFIX_HTTPS_BAD_REQUEST); } } - Menu menu1 = menuMapper.findByTitle(resources.getTitle()); + Menu menu1 = menuMapper.getMenuByTitle(resources.getTitle()); if (menu1 != null && !menu1.getId().equals(menu.getId())) { throw new EntityExistException(Menu.class, "title", resources.getTitle()); @@ -153,7 +152,7 @@ public class MenuServiceImpl extends ServiceImpl implements Me Long newPid = resources.getPid(); if (StringUtil.isNotBlank(resources.getComponentName())) { - menu1 = menuMapper.findByComponentName(resources.getComponentName()); + menu1 = menuMapper.getMenuByComponentName(resources.getComponentName()); if (menu1 != null && !menu1.getId().equals(menu.getId())) { throw new EntityExistException(Menu.class, "componentName", resources.getComponentName()); } @@ -179,12 +178,12 @@ public class MenuServiceImpl extends ServiceImpl implements Me } @Override - public Set getChildMenus(List menuList, Set menuSet) { + public Set selectChildMenus(List menuList, Set menuSet) { for (Menu menu : menuList) { menuSet.add(menu); - List menus = menuMapper.findByPidOrderByMenuSort(menu.getId()); + List menus = menuMapper.selectMenuByPidOrderByMenuSort(menu.getId()); if (CollUtil.isNotEmpty(menus)) { - getChildMenus(menus, menuSet); + selectChildMenus(menus, menuSet); } } return menuSet; @@ -192,7 +191,7 @@ public class MenuServiceImpl extends ServiceImpl implements Me @Override @Transactional(rollbackFor = Exception.class) - public void delete(Set menuSet) { + public void deleteMenuByIds(Set menuSet) { for (Menu menu : menuSet) { // 清理缓存 delCaches(menu.getId()); @@ -203,24 +202,24 @@ public class MenuServiceImpl extends ServiceImpl implements Me } @Override - public List getMenus(Long pid) { + public List selectMenuByPid(Long pid) { List menus; if (pid != null && !pid.equals(0L)) { - menus = menuMapper.findByPidOrderByMenuSort(pid); + menus = menuMapper.selectMenuByPidOrderByMenuSort(pid); } else { - menus = menuMapper.findByPidIsNullOrderByMenuSort(); + menus = menuMapper.selectMenuByPidIsNullOrderByMenuSort(); } return menus; } @Override - public List getSuperior(Menu menu, List menus) { + public List selectSuperiorMenu(Menu menu, List menus) { if (menu.getPid() == null) { - menus.addAll(menuMapper.findByPidIsNullOrderByMenuSort()); + menus.addAll(menuMapper.selectMenuByPidIsNullOrderByMenuSort()); return menus; } - menus.addAll(menuMapper.findByPidOrderByMenuSort(menu.getPid())); - return getSuperior(findById(menu.getPid()), menus); + menus.addAll(menuMapper.selectMenuByPidOrderByMenuSort(menu.getPid())); + return selectSuperiorMenu(getMenuById(menu.getPid()), menus); } @Override @@ -292,7 +291,7 @@ public class MenuServiceImpl extends ServiceImpl implements Me } @Override - public void download(List menus, HttpServletResponse response) throws IOException { + public void downloadExcel(List menus, HttpServletResponse response) throws IOException { List> list = new ArrayList<>(); for (Menu menu : menus) { Map map = new LinkedHashMap<>(); @@ -310,7 +309,7 @@ public class MenuServiceImpl extends ServiceImpl implements Me private void updateSubCnt(Long menuId) { if (menuId != null) { - int count = menuMapper.countByPid(menuId); + int count = menuMapper.getMenuCountByPid(menuId); menuMapper.updateSubCntById(count, menuId); } } @@ -321,12 +320,12 @@ public class MenuServiceImpl extends ServiceImpl implements Me * @param id 菜单ID */ public void delCaches(Long id) { - List users = userMapper.findByMenuId(id); - redisUtil.del(CacheKey.MENU_ID + id); - redisUtil.delByKeys(CacheKey.MENU_USER, users.stream().map(User::getId).collect(Collectors.toSet())); + List users = userMapper.selectUserByMenuId(id); + redisUtil.del(SystemRedisKey.MENU_ID + id); + redisUtil.delByKeys(SystemRedisKey.MENU_USER, users.stream().map(User::getId).collect(Collectors.toSet())); // 清除 Role 缓存 - List roles = roleService.findByMenuId(id); - redisUtil.delByKeys(CacheKey.ROLE_ID, roles.stream().map(Role::getId).collect(Collectors.toSet())); + List roles = roleService.selectRoleByMenuId(id); + redisUtil.delByKeys(SystemRedisKey.ROLE_ID, roles.stream().map(Role::getId).collect(Collectors.toSet())); } /** diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/service/impl/MonitorServiceImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/service/impl/MonitorServiceImpl.java similarity index 94% rename from cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/service/impl/MonitorServiceImpl.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/application/system/service/impl/MonitorServiceImpl.java index 48a2b5f2..7f3b2d8f 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/service/impl/MonitorServiceImpl.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/service/impl/MonitorServiceImpl.java @@ -1,9 +1,9 @@ -package cn.odboy.modules.system.service.impl; +package cn.odboy.application.system.service.impl; import cn.hutool.core.date.BetweenFormatter.Level; import cn.hutool.core.date.DateUtil; +import cn.odboy.application.system.service.MonitorService; import cn.odboy.constant.SystemConstant; -import cn.odboy.modules.system.service.MonitorService; import cn.odboy.util.FileUtil; import cn.odboy.util.StringUtil; import lombok.extern.slf4j.Slf4j; @@ -29,7 +29,7 @@ public class MonitorServiceImpl implements MonitorService { private final DecimalFormat df = new DecimalFormat("0.00"); @Override - public Map getServers() { + public Map getServerInfo() { Map resultMap = new LinkedHashMap<>(8); try { SystemInfo si = new SystemInfo(); @@ -142,7 +142,8 @@ public class MonitorServiceImpl implements MonitorService { long time = 300; Util.sleep(time); long[] ticks = processor.getSystemCpuLoadTicks(); - while (Arrays.toString(prevTicks).equals(Arrays.toString(ticks)) && time < 1000) { + long minCpuLoadTick = 1000; + while (Arrays.toString(prevTicks).equals(Arrays.toString(ticks)) && time < minCpuLoadTick) { time += 25; Util.sleep(25); ticks = processor.getSystemCpuLoadTicks(); @@ -151,11 +152,11 @@ public class MonitorServiceImpl implements MonitorService { long nice = ticks[CentralProcessor.TickType.NICE.getIndex()] - prevTicks[CentralProcessor.TickType.NICE.getIndex()]; long sys = ticks[CentralProcessor.TickType.SYSTEM.getIndex()] - prevTicks[CentralProcessor.TickType.SYSTEM.getIndex()]; long idle = ticks[CentralProcessor.TickType.IDLE.getIndex()] - prevTicks[CentralProcessor.TickType.IDLE.getIndex()]; - long iowait = ticks[CentralProcessor.TickType.IOWAIT.getIndex()] - prevTicks[CentralProcessor.TickType.IOWAIT.getIndex()]; + long ioWait = ticks[CentralProcessor.TickType.IOWAIT.getIndex()] - prevTicks[CentralProcessor.TickType.IOWAIT.getIndex()]; long irq = ticks[CentralProcessor.TickType.IRQ.getIndex()] - prevTicks[CentralProcessor.TickType.IRQ.getIndex()]; - long softirq = ticks[CentralProcessor.TickType.SOFTIRQ.getIndex()] - prevTicks[CentralProcessor.TickType.SOFTIRQ.getIndex()]; + long softIrq = ticks[CentralProcessor.TickType.SOFTIRQ.getIndex()] - prevTicks[CentralProcessor.TickType.SOFTIRQ.getIndex()]; long steal = ticks[CentralProcessor.TickType.STEAL.getIndex()] - prevTicks[CentralProcessor.TickType.STEAL.getIndex()]; - long totalCpu = user + nice + sys + idle + iowait + irq + softirq + steal; + long totalCpu = user + nice + sys + idle + ioWait + irq + softIrq + steal; cpuInfo.put("used", df.format(100d * user / totalCpu + 100d * sys / totalCpu)); cpuInfo.put("idle", df.format(100d * idle / totalCpu)); return cpuInfo; diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/service/impl/RoleServiceImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/service/impl/RoleServiceImpl.java similarity index 68% rename from cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/service/impl/RoleServiceImpl.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/application/system/service/impl/RoleServiceImpl.java index 73db6eb8..ceff82d3 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/service/impl/RoleServiceImpl.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/service/impl/RoleServiceImpl.java @@ -1,9 +1,15 @@ -package cn.odboy.modules.system.service.impl; +package cn.odboy.application.system.service.impl; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollectionUtil; +import cn.odboy.application.core.service.UserCacheService; +import cn.odboy.application.system.mapper.RoleDeptMapper; +import cn.odboy.application.system.mapper.RoleMapper; +import cn.odboy.application.system.mapper.RoleMenuMapper; +import cn.odboy.application.system.mapper.UserMapper; +import cn.odboy.application.system.service.RoleService; import cn.odboy.base.PageResult; -import cn.odboy.constant.CacheKey; +import cn.odboy.constant.SystemRedisKey; import cn.odboy.exception.BadRequestException; import cn.odboy.exception.EntityExistException; import cn.odboy.model.system.domain.Menu; @@ -11,12 +17,6 @@ import cn.odboy.model.system.domain.Role; import cn.odboy.model.system.domain.User; import cn.odboy.model.system.dto.AuthorityDto; import cn.odboy.model.system.dto.RoleQueryCriteria; -import cn.odboy.modules.security.service.UserCacheService; -import cn.odboy.modules.system.mapper.RoleDeptMapper; -import cn.odboy.modules.system.mapper.RoleMapper; -import cn.odboy.modules.system.mapper.RoleMenuMapper; -import cn.odboy.modules.system.mapper.UserMapper; -import cn.odboy.modules.system.service.RoleService; import cn.odboy.util.FileUtil; import cn.odboy.util.PageUtil; import cn.odboy.util.RedisUtil; @@ -44,26 +44,26 @@ public class RoleServiceImpl extends ServiceImpl implements Ro private final RedisUtil redisUtil; @Override - public List queryAll() { - return roleMapper.findAllRoles(); + public List selectRole() { + return roleMapper.selectRole(); } @Override - public List queryAll(RoleQueryCriteria criteria) { - return roleMapper.findRoles(criteria); + public List selectRoleByCriteria(RoleQueryCriteria criteria) { + return roleMapper.selectRoleByCriteria(criteria); } @Override - public PageResult queryAll(RoleQueryCriteria criteria, Page page) { + public PageResult queryRolePage(RoleQueryCriteria criteria, Page page) { criteria.setOffset(page.offset()); - List roles = roleMapper.findRoles(criteria); - Long total = roleMapper.countRoles(criteria); + List roles = roleMapper.selectRoleByCriteria(criteria); + Long total = roleMapper.getRoleCountByCriteria(criteria); return PageUtil.toPage(roles, total); } @Override - public Role findById(long id) { - String key = CacheKey.ROLE_ID + id; + public Role getRoleById(long id) { + String key = SystemRedisKey.ROLE_ID + id; Role role = redisUtil.get(key, Role.class); if (role == null) { role = roleMapper.selectById(id); @@ -74,8 +74,8 @@ public class RoleServiceImpl extends ServiceImpl implements Ro @Override @Transactional(rollbackFor = Exception.class) - public void create(Role resources) { - if (roleMapper.findRoleByName(resources.getName()) != null) { + public void createRole(Role resources) { + if (roleMapper.getRoleByName(resources.getName()) != null) { throw new EntityExistException(Role.class, "username", resources.getName()); } save(resources); @@ -87,9 +87,9 @@ public class RoleServiceImpl extends ServiceImpl implements Ro @Override @Transactional(rollbackFor = Exception.class) - public void update(Role resources) { + public void updateRoleById(Role resources) { Role role = getById(resources.getId()); - Role role1 = roleMapper.findRoleByName(resources.getName()); + Role role1 = roleMapper.getRoleByName(resources.getName()); if (role1 != null && !role1.getId().equals(role.getId())) { throw new EntityExistException(Role.class, "username", resources.getName()); } @@ -111,8 +111,8 @@ public class RoleServiceImpl extends ServiceImpl implements Ro } @Override - public void updateMenu(Role role) { - List users = userMapper.findByRoleId(role.getId()); + public void updateMenuById(Role role) { + List users = userMapper.selectUserByRoleId(role.getId()); // 更新菜单 roleMenuMapper.deleteByRoleId(role.getId()); // 判断是否为空 @@ -125,7 +125,7 @@ public class RoleServiceImpl extends ServiceImpl implements Ro @Override @Transactional(rollbackFor = Exception.class) - public void delete(Set ids) { + public void deleteRoleByIds(Set ids) { for (Long id : ids) { // 更新相关缓存 delCaches(id, null); @@ -137,33 +137,33 @@ public class RoleServiceImpl extends ServiceImpl implements Ro } @Override - public List findByUsersId(Long userId) { - String key = CacheKey.ROLE_USER + userId; + public List selectRoleByUsersId(Long userId) { + String key = SystemRedisKey.ROLE_USER + userId; List roles = redisUtil.getList(key, Role.class); if (CollUtil.isEmpty(roles)) { - roles = roleMapper.findRolesByUserId(userId); + roles = roleMapper.selectRoleByUserId(userId); redisUtil.set(key, roles, 1, TimeUnit.DAYS); } return roles; } @Override - public Integer findByRoles(Set roles) { + public Integer getDeptLevelByRoles(Set roles) { if (CollUtil.isEmpty(roles)) { return Integer.MAX_VALUE; } Set roleSet = new HashSet<>(); for (Role role : roles) { - roleSet.add(findById(role.getId())); + roleSet.add(getRoleById(role.getId())); } return Collections.min(roleSet.stream().map(Role::getLevel).collect(Collectors.toList())); } @Override public List buildPermissions(User user) { - String key = CacheKey.ROLE_AUTH + user.getId(); - List authorityDtos = redisUtil.getList(key, AuthorityDto.class); - if (CollUtil.isEmpty(authorityDtos)) { + String key = SystemRedisKey.ROLE_AUTH + user.getId(); + List authorityList = redisUtil.getList(key, AuthorityDto.class); + if (CollUtil.isEmpty(authorityList)) { Set permissions = new HashSet<>(); // 如果是管理员直接返回 if (user.getIsAdmin()) { @@ -171,19 +171,19 @@ public class RoleServiceImpl extends ServiceImpl implements Ro return permissions.stream().map(AuthorityDto::new) .collect(Collectors.toList()); } - List roles = roleMapper.findRolesByUserId(user.getId()); + List roles = roleMapper.selectRoleByUserId(user.getId()); permissions = roles.stream().flatMap(role -> role.getMenus().stream()) .map(Menu::getPermission) .filter(StringUtil::isNotBlank).collect(Collectors.toSet()); - authorityDtos = permissions.stream().map(AuthorityDto::new) + authorityList = permissions.stream().map(AuthorityDto::new) .collect(Collectors.toList()); - redisUtil.set(key, authorityDtos, 1, TimeUnit.HOURS); + redisUtil.set(key, authorityList, 1, TimeUnit.HOURS); } - return authorityDtos; + return authorityList; } @Override - public void download(List roles, HttpServletResponse response) throws IOException { + public void downloadExcel(List roles, HttpServletResponse response) throws IOException { List> list = new ArrayList<>(); for (Role role : roles) { Map map = new LinkedHashMap<>(); @@ -197,15 +197,15 @@ public class RoleServiceImpl extends ServiceImpl implements Ro } @Override - public void verification(Set ids) { - if (userMapper.countByRoles(ids) > 0) { + public void verifyBindRelationByIds(Set ids) { + if (userMapper.getCountByRoles(ids) > 0) { throw new BadRequestException("所选角色存在用户关联,请解除关联再试!"); } } @Override - public List findByMenuId(Long menuId) { - return roleMapper.findRolesByMenuId(menuId); + public List selectRoleByMenuId(Long menuId) { + return roleMapper.selectRoleByMenuId(menuId); } /** @@ -214,15 +214,15 @@ public class RoleServiceImpl extends ServiceImpl implements Ro * @param id / */ public void delCaches(Long id, List users) { - users = CollectionUtil.isEmpty(users) ? userMapper.findByRoleId(id) : users; + users = CollectionUtil.isEmpty(users) ? userMapper.selectUserByRoleId(id) : users; if (CollectionUtil.isNotEmpty(users)) { - users.forEach(item -> userCacheService.cleanUserCache(item.getUsername())); + users.forEach(item -> userCacheService.cleanUserCacheByUsername(item.getUsername())); Set userIds = users.stream().map(User::getId).collect(Collectors.toSet()); - redisUtil.delByKeys(CacheKey.DATA_USER, userIds); - redisUtil.delByKeys(CacheKey.MENU_USER, userIds); - redisUtil.delByKeys(CacheKey.ROLE_AUTH, userIds); - redisUtil.delByKeys(CacheKey.ROLE_USER, userIds); + redisUtil.delByKeys(SystemRedisKey.DATA_USER, userIds); + redisUtil.delByKeys(SystemRedisKey.MENU_USER, userIds); + redisUtil.delByKeys(SystemRedisKey.ROLE_AUTH, userIds); + redisUtil.delByKeys(SystemRedisKey.ROLE_USER, userIds); } - redisUtil.del(CacheKey.ROLE_ID + id); + redisUtil.del(SystemRedisKey.ROLE_ID + id); } } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/service/impl/UserServiceImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/service/impl/UserServiceImpl.java similarity index 70% rename from cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/service/impl/UserServiceImpl.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/application/system/service/impl/UserServiceImpl.java index cfe7ca92..501e101c 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/service/impl/UserServiceImpl.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/service/impl/UserServiceImpl.java @@ -1,19 +1,19 @@ -package cn.odboy.modules.system.service.impl; +package cn.odboy.application.system.service.impl; +import cn.odboy.application.core.service.OnlineUserService; +import cn.odboy.application.core.service.UserCacheService; +import cn.odboy.application.system.mapper.UserJobMapper; +import cn.odboy.application.system.mapper.UserMapper; +import cn.odboy.application.system.mapper.UserRoleMapper; +import cn.odboy.application.system.service.UserService; import cn.odboy.base.PageResult; -import cn.odboy.constant.CacheKey; +import cn.odboy.constant.SystemRedisKey; import cn.odboy.exception.BadRequestException; import cn.odboy.exception.EntityExistException; import cn.odboy.model.system.domain.Job; import cn.odboy.model.system.domain.Role; import cn.odboy.model.system.domain.User; import cn.odboy.model.system.dto.UserQueryCriteria; -import cn.odboy.modules.security.service.OnlineUserService; -import cn.odboy.modules.security.service.UserCacheService; -import cn.odboy.modules.system.mapper.UserJobMapper; -import cn.odboy.modules.system.mapper.UserMapper; -import cn.odboy.modules.system.mapper.UserRoleMapper; -import cn.odboy.modules.system.service.UserService; import cn.odboy.properties.FileProperties; import cn.odboy.util.*; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -43,22 +43,22 @@ public class UserServiceImpl extends ServiceImpl implements Us private final OnlineUserService onlineUserService; @Override - public PageResult queryAll(UserQueryCriteria criteria, Page page) { + public PageResult queryUserPage(UserQueryCriteria criteria, Page page) { criteria.setOffset(page.offset()); - List users = userMapper.findAll(criteria, PageUtil.getCount(userMapper)).getRecords(); - Long total = userMapper.countAll(criteria); + List users = userMapper.queryUserPage(criteria, PageUtil.getCount(userMapper)).getRecords(); + Long total = userMapper.getUserCountByCriteria(criteria); return PageUtil.toPage(users, total); } @Override - public List queryAll(UserQueryCriteria criteria) { - return userMapper.findAll(criteria, PageUtil.getCount(userMapper)).getRecords(); + public List selectUserByCriteria(UserQueryCriteria criteria) { + return userMapper.queryUserPage(criteria, PageUtil.getCount(userMapper)).getRecords(); } @Override @Transactional(rollbackFor = Exception.class) - public User findById(long id) { - String key = CacheKey.USER_ID + id; + public User getUserById(long id) { + String key = SystemRedisKey.USER_ID + id; User user = redisUtil.get(key, User.class); if (user == null) { user = getById(id); @@ -69,15 +69,15 @@ public class UserServiceImpl extends ServiceImpl implements Us @Override @Transactional(rollbackFor = Exception.class) - public void create(User resources) { + public void saveUser(User resources) { resources.setDeptId(resources.getDept().getId()); - if (userMapper.findByUsername(resources.getUsername()) != null) { + if (userMapper.getUserByUsername(resources.getUsername()) != null) { throw new EntityExistException(User.class, "username", resources.getUsername()); } - if (userMapper.findByEmail(resources.getEmail()) != null) { + if (userMapper.getUserByEmail(resources.getEmail()) != null) { throw new EntityExistException(User.class, "email", resources.getEmail()); } - if (userMapper.findByPhone(resources.getPhone()) != null) { + if (userMapper.getUserByPhone(resources.getPhone()) != null) { throw new EntityExistException(User.class, "phone", resources.getPhone()); } save(resources); @@ -89,11 +89,11 @@ public class UserServiceImpl extends ServiceImpl implements Us @Override @Transactional(rollbackFor = Exception.class) - public void update(User resources) throws Exception { + public void updateUserById(User resources) { User user = getById(resources.getId()); - User user1 = userMapper.findByUsername(resources.getUsername()); - User user2 = userMapper.findByEmail(resources.getEmail()); - User user3 = userMapper.findByPhone(resources.getPhone()); + User user1 = userMapper.getUserByUsername(resources.getUsername()); + User user2 = userMapper.getUserByEmail(resources.getEmail()); + User user3 = userMapper.getUserByPhone(resources.getPhone()); if (user1 != null && !user.getId().equals(user1.getId())) { throw new EntityExistException(User.class, "username", resources.getUsername()); } @@ -105,18 +105,18 @@ public class UserServiceImpl extends ServiceImpl implements Us } // 如果用户的角色改变 if (!resources.getRoles().equals(user.getRoles())) { - redisUtil.del(CacheKey.DATA_USER + resources.getId()); - redisUtil.del(CacheKey.MENU_USER + resources.getId()); - redisUtil.del(CacheKey.ROLE_AUTH + resources.getId()); - redisUtil.del(CacheKey.ROLE_USER + resources.getId()); + redisUtil.del(SystemRedisKey.DATA_USER + resources.getId()); + redisUtil.del(SystemRedisKey.MENU_USER + resources.getId()); + redisUtil.del(SystemRedisKey.ROLE_AUTH + resources.getId()); + redisUtil.del(SystemRedisKey.ROLE_USER + resources.getId()); } // 修改部门会影响 数据权限 if (!Objects.equals(resources.getDept(), user.getDept())) { - redisUtil.del(CacheKey.DATA_USER + resources.getId()); + redisUtil.del(SystemRedisKey.DATA_USER + resources.getId()); } // 如果用户被禁用,则清除用户登录信息 if (!resources.getEnabled()) { - onlineUserService.kickOutForUsername(resources.getUsername()); + onlineUserService.kickOutByUsername(resources.getUsername()); } user.setDeptId(resources.getDept().getId()); user.setUsername(resources.getUsername()); @@ -141,9 +141,9 @@ public class UserServiceImpl extends ServiceImpl implements Us @Override @Transactional(rollbackFor = Exception.class) - public void updateCenter(User resources) { + public void updateCenterInfoById(User resources) { User user = getById(resources.getId()); - User user1 = userMapper.findByPhone(resources.getPhone()); + User user1 = userMapper.getUserByPhone(resources.getPhone()); if (user1 != null && !user.getId().equals(user1.getId())) { throw new EntityExistException(User.class, "phone", resources.getPhone()); } @@ -157,13 +157,13 @@ public class UserServiceImpl extends ServiceImpl implements Us @Override @Transactional(rollbackFor = Exception.class) - public void delete(Set ids) { + public void deleteUserByIds(Set ids) { for (Long id : ids) { // 清理缓存 User user = getById(id); delCaches(user.getId(), user.getUsername()); } - userMapper.deleteBatchIds(ids); + userMapper.deleteByIds(ids); // 删除用户岗位 userJobMapper.deleteByUserIds(ids); // 删除用户角色 @@ -171,49 +171,44 @@ public class UserServiceImpl extends ServiceImpl implements Us } @Override - public User findByName(String userName) { - return userMapper.findByUsername(userName); - } - - @Override - public User getLoginData(String userName) { - return userMapper.findByUsername(userName); + public User getUserByUsername(String username) { + return userMapper.getUserByUsername(username); } @Override @Transactional(rollbackFor = Exception.class) - public void updatePass(String username, String pass) { - userMapper.updatePass(username, pass, new Date()); + public void updatePasswordByUsername(String username, String pass) { + userMapper.updatePasswordByUsername(username, pass, new Date()); flushCache(username); } @Override @Transactional(rollbackFor = Exception.class) - public void resetPwd(Set ids, String pwd) { - List users = userMapper.selectBatchIds(ids); + public void resetPasswordByIds(Set ids, String password) { + List users = userMapper.selectByIds(ids); // 清除缓存 users.forEach(user -> { // 清除缓存 flushCache(user.getUsername()); // 强制退出 - onlineUserService.kickOutForUsername(user.getUsername()); + onlineUserService.kickOutByUsername(user.getUsername()); }); // 重置密码 - userMapper.resetPwd(ids, pwd); + userMapper.resetPasswordByUserIds(ids, password); } @Override @Transactional(rollbackFor = Exception.class) - public Map updateAvatar(MultipartFile multipartFile) { + public Map updateAvatarFile(MultipartFile multipartFile) { // 文件大小验证 FileUtil.checkSize(fileProperties.getAvatarMaxSize(), multipartFile.getSize()); // 验证文件上传的格式 String image = "gif jpg png jpeg"; - String fileType = FileUtil.getExtensionName(multipartFile.getOriginalFilename()); + String fileType = FileUtil.getSuffix(multipartFile.getOriginalFilename()); if (fileType != null && !image.contains(fileType)) { throw new BadRequestException("文件格式错误!, 仅支持 " + image + " 格式"); } - User user = userMapper.findByUsername(SecurityUtil.getCurrentUsername()); + User user = userMapper.getUserByUsername(SecurityUtil.getCurrentUsername()); String oldPath = user.getAvatarPath(); File file = FileUtil.upload(multipartFile, fileProperties.getPath().getAvatar()); user.setAvatarPath(Objects.requireNonNull(file).getPath()); @@ -224,20 +219,20 @@ public class UserServiceImpl extends ServiceImpl implements Us } @NotBlank String username = user.getUsername(); flushCache(username); - return new HashMap(1) {{ + return new HashMap<>(1) {{ put("avatar", file.getName()); }}; } @Override @Transactional(rollbackFor = Exception.class) - public void updateEmail(String username, String email) { - userMapper.updateEmail(username, email); + public void updateEmailByUsername(String username, String email) { + userMapper.updateEmailByUsername(username, email); flushCache(username); } @Override - public void download(List users, HttpServletResponse response) throws IOException { + public void downloadExcel(List users, HttpServletResponse response) throws IOException { List> list = new ArrayList<>(); for (User user : users) { List roles = user.getRoles().stream().map(Role::getName).collect(Collectors.toList()); @@ -262,7 +257,7 @@ public class UserServiceImpl extends ServiceImpl implements Us * @param id / */ public void delCaches(Long id, String username) { - redisUtil.del(CacheKey.USER_ID + id); + redisUtil.del(SystemRedisKey.USER_ID + id); flushCache(username); } @@ -272,6 +267,6 @@ public class UserServiceImpl extends ServiceImpl implements Us * @param username / */ private void flushCache(String username) { - userCacheService.cleanUserCache(username); + userCacheService.cleanUserCacheByUsername(username); } } diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/service/impl/VerifyServiceImpl.java b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/service/impl/VerifyServiceImpl.java similarity index 87% rename from cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/service/impl/VerifyServiceImpl.java rename to cutejava/cutejava-system/src/main/java/cn/odboy/application/system/service/impl/VerifyServiceImpl.java index 262eb00e..b7c9a3d7 100644 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/service/impl/VerifyServiceImpl.java +++ b/cutejava/cutejava-system/src/main/java/cn/odboy/application/system/service/impl/VerifyServiceImpl.java @@ -1,4 +1,4 @@ -package cn.odboy.modules.system.service.impl; +package cn.odboy.application.system.service.impl; import cn.hutool.core.lang.Dict; import cn.hutool.core.util.RandomUtil; @@ -6,9 +6,9 @@ import cn.hutool.extra.template.Template; import cn.hutool.extra.template.TemplateConfig; import cn.hutool.extra.template.TemplateEngine; import cn.hutool.extra.template.TemplateUtil; +import cn.odboy.application.system.service.VerifyService; import cn.odboy.exception.BadRequestException; import cn.odboy.model.tools.dto.EmailDto; -import cn.odboy.modules.system.service.VerifyService; import cn.odboy.util.RedisUtil; import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Value; @@ -27,7 +27,7 @@ public class VerifyServiceImpl implements VerifyService { @Override @Transactional(rollbackFor = Exception.class) - public EmailDto sendEmail(String email, String key) { + public EmailDto sendEmailCode(String email, String key) { EmailDto emailDto; String content; String redisKey = key + email; @@ -51,8 +51,8 @@ public class VerifyServiceImpl implements VerifyService { } @Override - public void validated(String key, String code) { - String value = redisUtil.get(key, String.class); + public void validateEmailCode(String key, String email, String code) { + String value = redisUtil.get(key + email, String.class); if (value == null || !value.equals(code)) { throw new BadRequestException("无效验证码"); } else { diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/mapper/DeptMapper.java b/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/mapper/DeptMapper.java deleted file mode 100644 index 9350258b..00000000 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/mapper/DeptMapper.java +++ /dev/null @@ -1,25 +0,0 @@ -package cn.odboy.modules.system.mapper; - -import cn.odboy.model.system.domain.Dept; -import cn.odboy.model.system.dto.DeptQueryCriteria; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; - -import java.util.List; -import java.util.Set; - -@Mapper -public interface DeptMapper extends BaseMapper { - List findDept(@Param("criteria") DeptQueryCriteria criteria); - - List findDeptByPid(@Param("pid") Long pid); - - int countDeptByPid(@Param("pid") Long pid); - - List findDeptByPidIsNull(); - - Set findDeptByRoleId(@Param("roleId") Long roleId); - - void updateDeptSubCountById(@Param("count") Integer count, @Param("id") Long id); -} \ No newline at end of file diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/mapper/MenuMapper.java b/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/mapper/MenuMapper.java deleted file mode 100644 index 692c8d05..00000000 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/mapper/MenuMapper.java +++ /dev/null @@ -1,36 +0,0 @@ -package cn.odboy.modules.system.mapper; - -import cn.odboy.model.system.domain.Menu; -import cn.odboy.model.system.dto.MenuQueryCriteria; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; -import org.apache.ibatis.annotations.Select; - -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Set; - -@Mapper -public interface MenuMapper extends BaseMapper { - - List findAll(@Param("criteria") MenuQueryCriteria criteria); - - LinkedHashSet findByRoleIdsAndTypeNot(@Param("roleIds") Set roleIds, @Param("type") Integer type); - - List findByPidIsNullOrderByMenuSort(); - - List findByPidOrderByMenuSort(@Param("pid") Long pid); - - @Select("SELECT menu_id id FROM sys_menu WHERE title = #{title}") - Menu findByTitle(@Param("title") String title); - - @Select("SELECT menu_id id FROM sys_menu WHERE name = #{name}") - Menu findByComponentName(@Param("name") String name); - - @Select("SELECT count(*) FROM sys_menu WHERE pid = #{pid}") - int countByPid(@Param("pid") Long pid); - - @Select("update sys_menu set sub_count = #{count} where menu_id = #{menuId} ") - void updateSubCntById(@Param("count") int count, @Param("menuId") Long menuId); -} diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/mapper/RoleMapper.java b/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/mapper/RoleMapper.java deleted file mode 100644 index 2c44ce46..00000000 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/mapper/RoleMapper.java +++ /dev/null @@ -1,29 +0,0 @@ -package cn.odboy.modules.system.mapper; - -import cn.odboy.model.system.domain.Role; -import cn.odboy.model.system.dto.RoleQueryCriteria; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; - -import java.util.List; -import java.util.Set; - -@Mapper -public interface RoleMapper extends BaseMapper { - List findAllRoles(); - - Long countRoles(@Param("criteria") RoleQueryCriteria criteria); - - List findRoles(@Param("criteria") RoleQueryCriteria criteria); - - Role findRoleById(@Param("roleId") Long roleId); - - Role findRoleByName(@Param("name") String name); - - List findRolesByUserId(@Param("userId") Long userId); - - int countRolesByDeptIds(@Param("deptIds") Set deptIds); - - List findRolesByMenuId(@Param("menuId") Long menuId); -} \ No newline at end of file diff --git a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/mapper/UserMapper.java b/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/mapper/UserMapper.java deleted file mode 100644 index 0081ea65..00000000 --- a/cutejava/cutejava-system/src/main/java/cn/odboy/modules/system/mapper/UserMapper.java +++ /dev/null @@ -1,48 +0,0 @@ -package cn.odboy.modules.system.mapper; - -import cn.odboy.model.system.domain.User; -import cn.odboy.model.system.dto.UserQueryCriteria; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; -import org.apache.ibatis.annotations.Select; - -import java.util.Date; -import java.util.List; -import java.util.Set; - -@Mapper -public interface UserMapper extends BaseMapper { - - Long countAll(@Param("criteria") UserQueryCriteria criteria); - - IPage findAll(@Param("criteria") UserQueryCriteria criteria, Page page); - - User findByUsername(@Param("username") String username); - - User findByEmail(@Param("email") String email); - - User findByPhone(@Param("phone") String phone); - - @Select("update sys_user set password = #{password} , pwd_reset_time = #{lastPasswordResetTime} where username = #{username}") - void updatePass(@Param("username") String username, @Param("password") String password, @Param("lastPasswordResetTime") Date lastPasswordResetTime); - - @Select("update sys_user set email = #{email} where username = #{username}") - void updateEmail(@Param("username") String username, @Param("email") String email); - - List findByRoleId(@Param("roleId") Long roleId); - - List findByRoleDeptId(@Param("deptId") Long deptId); - - List findByMenuId(@Param("menuId") Long menuId); - - int countByJobs(@Param("jobIds") Set jobIds); - - int countByDepts(@Param("deptIds") Set deptIds); - - int countByRoles(@Param("roleIds") Set roleIds); - - void resetPwd(@Param("userIds") Set userIds, @Param("pwd") String pwd); -} diff --git a/cutejava/cutejava-system/src/main/resources/mapper/DeptMapper.xml b/cutejava/cutejava-system/src/main/resources/mapper/DeptMapper.xml index cb949a32..0d88c88f 100644 --- a/cutejava/cutejava-system/src/main/resources/mapper/DeptMapper.xml +++ b/cutejava/cutejava-system/src/main/resources/mapper/DeptMapper.xml @@ -1,6 +1,6 @@ - + @@ -13,13 +13,7 @@ - - update sys_dept - set sub_count = #{count} - where dept_id = #{id} - - - SELECT dept_id, `name`, @@ -58,8 +52,7 @@ ORDER BY dept_sort - - select dept_id, name, pid, @@ -73,8 +66,12 @@ from sys_dept where pid = #{pid} - - + select count(*) + from sys_dept + where pid = #{pid} + + - - SELECT d.dept_id AS id, d.NAME, d.pid, @@ -105,9 +101,9 @@ WHERE d.dept_id = rd.dept_id AND rd.role_id = #{roleId} - + + update sys_dept + set sub_count = #{count} + where dept_id = #{id} + \ No newline at end of file diff --git a/cutejava/cutejava-system/src/main/resources/mapper/DictDetailMapper.xml b/cutejava/cutejava-system/src/main/resources/mapper/DictDetailMapper.xml index 834287b0..1adfa22f 100644 --- a/cutejava/cutejava-system/src/main/resources/mapper/DictDetailMapper.xml +++ b/cutejava/cutejava-system/src/main/resources/mapper/DictDetailMapper.xml @@ -1,6 +1,6 @@ - + @@ -16,8 +16,7 @@ - - select dd.id, dd.label, dd.`value`, dd.`dict_sort`, dd.create_by, dd.update_by, dd.create_time, dd.update_time, d.id as dict_id, d.name @@ -28,7 +27,7 @@ order by dd.dict_sort - select dd.id, dd.label, dd.`value`, dd.`dict_sort`, dd.create_by, dd.update_by, dd.create_time, dd.update_time, d.id as dict_id, d.name diff --git a/cutejava/cutejava-system/src/main/resources/mapper/DictMapper.xml b/cutejava/cutejava-system/src/main/resources/mapper/DictMapper.xml index ffb8d480..52858676 100644 --- a/cutejava/cutejava-system/src/main/resources/mapper/DictMapper.xml +++ b/cutejava/cutejava-system/src/main/resources/mapper/DictMapper.xml @@ -1,7 +1,7 @@ - - SELECT * from sys_dict d diff --git a/cutejava/cutejava-system/src/main/resources/mapper/JobMapper.xml b/cutejava/cutejava-system/src/main/resources/mapper/JobMapper.xml index 00877625..82ad63b6 100644 --- a/cutejava/cutejava-system/src/main/resources/mapper/JobMapper.xml +++ b/cutejava/cutejava-system/src/main/resources/mapper/JobMapper.xml @@ -1,12 +1,12 @@ - - select id from sys_job where name = #{name} - select * from sys_job diff --git a/cutejava/cutejava-system/src/main/resources/mapper/MenuMapper.xml b/cutejava/cutejava-system/src/main/resources/mapper/MenuMapper.xml index 65ed16cf..d3c022e4 100644 --- a/cutejava/cutejava-system/src/main/resources/mapper/MenuMapper.xml +++ b/cutejava/cutejava-system/src/main/resources/mapper/MenuMapper.xml @@ -1,6 +1,6 @@ - + @@ -21,8 +21,7 @@ - - select menu_id, title, name, menu_sort, component, path, type, permission, icon, cache, hidden, pid, sub_count, i_frame, create_by, update_by, create_time, update_time @@ -47,8 +46,7 @@ order by menu_sort - - SELECT m.* FROM sys_menu m, sys_roles_menus r WHERE m.menu_id = r.menu_id AND r.role_id IN @@ -57,32 +55,7 @@ AND type != #{type} order by m.menu_sort - - - - SELECT menu_id, title, name, @@ -105,4 +78,47 @@ where pid is null order by menu_sort + + + + + SELECT count(*) + FROM sys_menu + WHERE pid = #{pid} + + + update sys_menu + set sub_count = #{count} + where menu_id = #{menuId} + \ No newline at end of file diff --git a/cutejava/cutejava-system/src/main/resources/mapper/RoleDeptMapper.xml b/cutejava/cutejava-system/src/main/resources/mapper/RoleDeptMapper.xml index c7ee8136..384eb189 100644 --- a/cutejava/cutejava-system/src/main/resources/mapper/RoleDeptMapper.xml +++ b/cutejava/cutejava-system/src/main/resources/mapper/RoleDeptMapper.xml @@ -1,6 +1,6 @@ - + insert into sys_roles_depts (role_id, dept_id) values diff --git a/cutejava/cutejava-system/src/main/resources/mapper/RoleMapper.xml b/cutejava/cutejava-system/src/main/resources/mapper/RoleMapper.xml index 631b5c02..56cfebb1 100644 --- a/cutejava/cutejava-system/src/main/resources/mapper/RoleMapper.xml +++ b/cutejava/cutejava-system/src/main/resources/mapper/RoleMapper.xml @@ -1,6 +1,6 @@ - + @@ -21,12 +21,12 @@ - select role_id as id, name, level from sys_role order by level - select role.*, dept.dept_id as dept_id, dept.name as dept_name, menu.menu_id as menu_id, menu.title as menu_title, menu.permission as menu_permission @@ -58,7 +58,7 @@ left join sys_dept dept on dept.dept_id = srd.dept_id order by role.role_level - select count(*) from sys_role role @@ -73,12 +73,12 @@ - select role_id as id from sys_role where name = #{name} - select role.role_id as role_role_id, role.name as role_name, role.data_scope as role_data_scope, @@ -100,7 +100,7 @@ left join sys_dept dept on dept.dept_id = srd.dept_id where role.role_id = #{roleId} - SELECT role.role_id as role_role_id, role.name as role_name, role.data_scope as role_data_scope, @@ -124,7 +124,7 @@ WHERE role.role_id = ur.role_id AND ur.user_id = #{userId} - select count(*) from sys_role r, sys_roles_depts d where r.role_id = d.role_id @@ -133,7 +133,7 @@ #{deptId} - SELECT role.role_id as id FROM sys_role role, sys_roles_menus rm diff --git a/cutejava/cutejava-system/src/main/resources/mapper/RoleMenuMapper.xml b/cutejava/cutejava-system/src/main/resources/mapper/RoleMenuMapper.xml index 24e4fbcc..c529e1e4 100644 --- a/cutejava/cutejava-system/src/main/resources/mapper/RoleMenuMapper.xml +++ b/cutejava/cutejava-system/src/main/resources/mapper/RoleMenuMapper.xml @@ -1,6 +1,6 @@ - + insert into sys_roles_menus (role_id, menu_id) values diff --git a/cutejava/cutejava-system/src/main/resources/mapper/UserJobMapper.xml b/cutejava/cutejava-system/src/main/resources/mapper/UserJobMapper.xml index bf15effc..04b6d545 100644 --- a/cutejava/cutejava-system/src/main/resources/mapper/UserJobMapper.xml +++ b/cutejava/cutejava-system/src/main/resources/mapper/UserJobMapper.xml @@ -1,6 +1,6 @@ - + insert into sys_users_jobs (user_id, job_id) values diff --git a/cutejava/cutejava-system/src/main/resources/mapper/UserMapper.xml b/cutejava/cutejava-system/src/main/resources/mapper/UserMapper.xml index e723cf5a..80a4f5e3 100644 --- a/cutejava/cutejava-system/src/main/resources/mapper/UserMapper.xml +++ b/cutejava/cutejava-system/src/main/resources/mapper/UserMapper.xml @@ -1,6 +1,6 @@ - + @@ -34,8 +34,35 @@ - - + select count(*) + from sys_user u + + + and u.user_id = #{criteria.id} + + + and u.enabled = #{criteria.enabled} + + + and u.dept_id in + + #{deptId} + + + + and ( + u.username like concat('%', #{criteria.blurry}, '%') + or u.nick_name like concat('%', #{criteria.blurry}, '%') + or u.email like concat('%', #{criteria.blurry}, '%') + ) + + + and u.create_time between #{criteria.createTime[0]} and #{criteria.createTime[1]} + + + + - - - - select u.password user_password, u.is_admin user_is_admin, u.user_id as user_user_id, @@ -138,20 +135,28 @@ left join sys_dept d on u.dept_id = d.dept_id where u.username = #{username} - - select user_id as id, username from sys_user where email = #{email} - - select user_id as id, username from sys_user where phone = #{phone} - - SELECT u.user_id as id, u.username FROM sys_user u, sys_users_roles r @@ -159,8 +164,7 @@ AND r.role_id = #{roleId} group by u.user_id - - SELECT u.* FROM sys_user u, sys_users_roles r, @@ -170,8 +174,7 @@ AND d.dept_id = #{deptId} group by u.user_id - - SELECT u.user_id as id, u.username FROM sys_user u, sys_users_roles ur, @@ -181,33 +184,29 @@ AND rm.menu_id = #{menuId} group by u.user_id - - SELECT count(*) FROM sys_user u, sys_users_jobs j WHERE u.user_id = j.user_id AND j.job_id IN #{jobId} - - SELECT count(*) FROM sys_user u WHERE u.dept_id IN #{deptId} - - SELECT count(*) FROM sys_user u, sys_users_roles r WHERE u.user_id = r.user_id AND r.role_id in #{roleId} - - - update sys_user set password = #{pwd} + + update sys_user set password = #{password} where user_id in #{id} diff --git a/cutejava/cutejava-system/src/main/resources/mapper/UserRoleMapper.xml b/cutejava/cutejava-system/src/main/resources/mapper/UserRoleMapper.xml index 71815dde..5217445e 100644 --- a/cutejava/cutejava-system/src/main/resources/mapper/UserRoleMapper.xml +++ b/cutejava/cutejava-system/src/main/resources/mapper/UserRoleMapper.xml @@ -1,6 +1,6 @@ - + insert into sys_users_roles (user_id, role_id) values diff --git a/cutejava/cutejava-tools/src/main/java/cn/odboy/mapper/EmailConfigMapper.java b/cutejava/cutejava-tools/src/main/java/cn/odboy/application/tools/mapper/EmailConfigMapper.java similarity index 84% rename from cutejava/cutejava-tools/src/main/java/cn/odboy/mapper/EmailConfigMapper.java rename to cutejava/cutejava-tools/src/main/java/cn/odboy/application/tools/mapper/EmailConfigMapper.java index 4653275d..79ca5bad 100644 --- a/cutejava/cutejava-tools/src/main/java/cn/odboy/mapper/EmailConfigMapper.java +++ b/cutejava/cutejava-tools/src/main/java/cn/odboy/application/tools/mapper/EmailConfigMapper.java @@ -1,4 +1,4 @@ -package cn.odboy.mapper; +package cn.odboy.application.tools.mapper; import cn.odboy.model.tools.domain.EmailConfig; import com.baomidou.mybatisplus.core.mapper.BaseMapper; diff --git a/cutejava/cutejava-tools/src/main/java/cn/odboy/mapper/LocalStorageMapper.java b/cutejava/cutejava-tools/src/main/java/cn/odboy/application/tools/mapper/LocalStorageMapper.java similarity index 73% rename from cutejava/cutejava-tools/src/main/java/cn/odboy/mapper/LocalStorageMapper.java rename to cutejava/cutejava-tools/src/main/java/cn/odboy/application/tools/mapper/LocalStorageMapper.java index 5b5d27d7..21919350 100644 --- a/cutejava/cutejava-tools/src/main/java/cn/odboy/mapper/LocalStorageMapper.java +++ b/cutejava/cutejava-tools/src/main/java/cn/odboy/application/tools/mapper/LocalStorageMapper.java @@ -1,4 +1,4 @@ -package cn.odboy.mapper; +package cn.odboy.application.tools.mapper; import cn.odboy.model.tools.domain.LocalStorage; import cn.odboy.model.tools.dto.LocalStorageQueryCriteria; @@ -10,5 +10,5 @@ import org.apache.ibatis.annotations.Param; @Mapper public interface LocalStorageMapper extends BaseMapper { - IPage findLocalStoragePage(@Param("criteria") LocalStorageQueryCriteria criteria, Page page); + IPage queryLocalStoragePage(@Param("criteria") LocalStorageQueryCriteria criteria, Page page); } diff --git a/cutejava/cutejava-tools/src/main/java/cn/odboy/mapper/QiniuConfigMapper.java b/cutejava/cutejava-tools/src/main/java/cn/odboy/application/tools/mapper/QiniuConfigMapper.java similarity index 84% rename from cutejava/cutejava-tools/src/main/java/cn/odboy/mapper/QiniuConfigMapper.java rename to cutejava/cutejava-tools/src/main/java/cn/odboy/application/tools/mapper/QiniuConfigMapper.java index 35c5b6a5..d6c8b935 100644 --- a/cutejava/cutejava-tools/src/main/java/cn/odboy/mapper/QiniuConfigMapper.java +++ b/cutejava/cutejava-tools/src/main/java/cn/odboy/application/tools/mapper/QiniuConfigMapper.java @@ -1,4 +1,4 @@ -package cn.odboy.mapper; +package cn.odboy.application.tools.mapper; import cn.odboy.model.tools.domain.QiniuConfig; import com.baomidou.mybatisplus.core.mapper.BaseMapper; diff --git a/cutejava/cutejava-tools/src/main/java/cn/odboy/mapper/QiniuContentMapper.java b/cutejava/cutejava-tools/src/main/java/cn/odboy/application/tools/mapper/QiniuContentMapper.java similarity index 66% rename from cutejava/cutejava-tools/src/main/java/cn/odboy/mapper/QiniuContentMapper.java rename to cutejava/cutejava-tools/src/main/java/cn/odboy/application/tools/mapper/QiniuContentMapper.java index 0e3cab65..d46c2daf 100644 --- a/cutejava/cutejava-tools/src/main/java/cn/odboy/mapper/QiniuContentMapper.java +++ b/cutejava/cutejava-tools/src/main/java/cn/odboy/application/tools/mapper/QiniuContentMapper.java @@ -1,4 +1,4 @@ -package cn.odboy.mapper; +package cn.odboy.application.tools.mapper; import cn.odboy.model.tools.domain.QiniuContent; import cn.odboy.model.tools.dto.QiniuQueryCriteria; @@ -11,7 +11,7 @@ import org.apache.ibatis.annotations.Param; @Mapper public interface QiniuContentMapper extends BaseMapper { - QiniuContent findQiniuContentByName(@Param("name") String name); + QiniuContent getQiniuContentByName(@Param("name") String name); - IPage findQiniuContentPage(@Param("criteria") QiniuQueryCriteria criteria, Page page); + IPage queryQiniuContentPage(@Param("criteria") QiniuQueryCriteria criteria, Page page); } \ No newline at end of file diff --git a/cutejava/cutejava-tools/src/main/java/cn/odboy/rest/EmailController.java b/cutejava/cutejava-tools/src/main/java/cn/odboy/application/tools/rest/EmailController.java similarity index 79% rename from cutejava/cutejava-tools/src/main/java/cn/odboy/rest/EmailController.java rename to cutejava/cutejava-tools/src/main/java/cn/odboy/application/tools/rest/EmailController.java index f40b4882..2612fee0 100644 --- a/cutejava/cutejava-tools/src/main/java/cn/odboy/rest/EmailController.java +++ b/cutejava/cutejava-tools/src/main/java/cn/odboy/application/tools/rest/EmailController.java @@ -1,8 +1,8 @@ -package cn.odboy.rest; +package cn.odboy.application.tools.rest; +import cn.odboy.application.tools.service.EmailService; import cn.odboy.model.tools.domain.EmailConfig; import cn.odboy.model.tools.dto.EmailDto; -import cn.odboy.service.EmailService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; @@ -24,20 +24,20 @@ public class EmailController { @GetMapping public ResponseEntity queryEmailConfig() { - return new ResponseEntity<>(emailService.find(), HttpStatus.OK); + return new ResponseEntity<>(emailService.getEmailConfig(), HttpStatus.OK); } @PutMapping @ApiOperation("配置邮件") public ResponseEntity updateEmailConfig(@Validated @RequestBody EmailConfig emailConfig) throws Exception { - emailService.config(emailConfig, emailService.find()); + emailService.updateEmailConfigOnPassChange(emailConfig); return new ResponseEntity<>(HttpStatus.OK); } @PostMapping @ApiOperation("发送邮件") public ResponseEntity sendEmail(@Validated @RequestBody EmailDto emailDto) { - emailService.send(emailDto, emailService.find()); + emailService.sendEmail(emailDto); return new ResponseEntity<>(HttpStatus.OK); } } diff --git a/cutejava/cutejava-tools/src/main/java/cn/odboy/rest/LocalStorageController.java b/cutejava/cutejava-tools/src/main/java/cn/odboy/application/tools/rest/LocalStorageController.java similarity index 77% rename from cutejava/cutejava-tools/src/main/java/cn/odboy/rest/LocalStorageController.java rename to cutejava/cutejava-tools/src/main/java/cn/odboy/application/tools/rest/LocalStorageController.java index 2518a702..f33ef0ec 100644 --- a/cutejava/cutejava-tools/src/main/java/cn/odboy/rest/LocalStorageController.java +++ b/cutejava/cutejava-tools/src/main/java/cn/odboy/application/tools/rest/LocalStorageController.java @@ -1,10 +1,11 @@ -package cn.odboy.rest; +package cn.odboy.application.tools.rest; +import cn.odboy.application.tools.service.LocalStorageService; import cn.odboy.base.PageResult; +import cn.odboy.constant.FileTypeEnum; import cn.odboy.exception.BadRequestException; import cn.odboy.model.tools.domain.LocalStorage; import cn.odboy.model.tools.dto.LocalStorageQueryCriteria; -import cn.odboy.service.LocalStorageService; import cn.odboy.util.FileUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.swagger.annotations.Api; @@ -33,21 +34,21 @@ public class LocalStorageController { @PreAuthorize("@el.check('storage:list')") public ResponseEntity> queryFile(LocalStorageQueryCriteria criteria) { Page page = new Page<>(criteria.getPage(), criteria.getSize()); - return new ResponseEntity<>(localStorageService.queryAll(criteria, page), HttpStatus.OK); + return new ResponseEntity<>(localStorageService.queryLocalStoragePage(criteria, page), HttpStatus.OK); } @ApiOperation("导出数据") @GetMapping(value = "/download") @PreAuthorize("@el.check('storage:list')") public void exportFile(HttpServletResponse response, LocalStorageQueryCriteria criteria) throws IOException { - localStorageService.download(localStorageService.queryAll(criteria), response); + localStorageService.downloadExcel(localStorageService.selectLocalStorageByCriteria(criteria), response); } @PostMapping @ApiOperation("上传文件") @PreAuthorize("@el.check('storage:add')") public ResponseEntity createFile(@RequestParam String name, @RequestParam("file") MultipartFile file) { - localStorageService.create(name, file); + localStorageService.uploadFile(name, file); return new ResponseEntity<>(HttpStatus.CREATED); } @@ -55,11 +56,11 @@ public class LocalStorageController { @PostMapping("/pictures") public ResponseEntity uploadPicture(@RequestParam MultipartFile file) { // 判断文件是否为图片 - String suffix = FileUtil.getExtensionName(file.getOriginalFilename()); - if (!FileUtil.IMAGE.equals(FileUtil.getFileType(suffix))) { + String suffix = FileUtil.getSuffix(file.getOriginalFilename()); + if (!FileTypeEnum.IMAGE.getCode().equals(FileUtil.getFileType(suffix))) { throw new BadRequestException("只能上传图片"); } - LocalStorage localStorage = localStorageService.create(null, file); + LocalStorage localStorage = localStorageService.uploadFile(null, file); return new ResponseEntity<>(localStorage, HttpStatus.OK); } @@ -67,14 +68,14 @@ public class LocalStorageController { @ApiOperation("修改文件") @PreAuthorize("@el.check('storage:edit')") public ResponseEntity updateFile(@Validated @RequestBody LocalStorage resources) { - localStorageService.update(resources); + localStorageService.updateLocalStorageById(resources); return new ResponseEntity<>(HttpStatus.NO_CONTENT); } @DeleteMapping @ApiOperation("多选删除") public ResponseEntity deleteFile(@RequestBody Long[] ids) { - localStorageService.deleteAll(ids); + localStorageService.deleteFileByIds(ids); return new ResponseEntity<>(HttpStatus.OK); } } \ No newline at end of file diff --git a/cutejava/cutejava-tools/src/main/java/cn/odboy/rest/QiniuController.java b/cutejava/cutejava-tools/src/main/java/cn/odboy/application/tools/rest/QiniuController.java similarity index 84% rename from cutejava/cutejava-tools/src/main/java/cn/odboy/rest/QiniuController.java rename to cutejava/cutejava-tools/src/main/java/cn/odboy/application/tools/rest/QiniuController.java index 2423661d..ca208ec1 100644 --- a/cutejava/cutejava-tools/src/main/java/cn/odboy/rest/QiniuController.java +++ b/cutejava/cutejava-tools/src/main/java/cn/odboy/application/tools/rest/QiniuController.java @@ -1,11 +1,11 @@ -package cn.odboy.rest; +package cn.odboy.application.tools.rest; +import cn.odboy.application.tools.service.QiNiuConfigService; +import cn.odboy.application.tools.service.QiniuContentService; import cn.odboy.base.PageResult; import cn.odboy.model.tools.domain.QiniuConfig; import cn.odboy.model.tools.domain.QiniuContent; import cn.odboy.model.tools.dto.QiniuQueryCriteria; -import cn.odboy.service.QiNiuConfigService; -import cn.odboy.service.QiniuContentService; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -51,20 +51,20 @@ public class QiniuController { @ApiOperation("导出数据") @GetMapping(value = "/download") public void exportQiNiu(HttpServletResponse response, QiniuQueryCriteria criteria) throws IOException { - qiniuContentService.downloadList(qiniuContentService.queryAll(criteria), response); + qiniuContentService.downloadExcel(qiniuContentService.selectQiniuContentByCriteria(criteria), response); } @ApiOperation("查询文件") @GetMapping public ResponseEntity> queryQiNiu(QiniuQueryCriteria criteria) { Page page = new Page<>(criteria.getPage(), criteria.getSize()); - return new ResponseEntity<>(qiniuContentService.queryAll(criteria, page), HttpStatus.OK); + return new ResponseEntity<>(qiniuContentService.queryQiniuContentPage(criteria, page), HttpStatus.OK); } @ApiOperation("上传文件") @PostMapping public ResponseEntity uploadQiNiu(@RequestParam MultipartFile file) { - QiniuContent qiniuContent = qiniuContentService.upload(file, qiNiuConfigService.getConfig()); + QiniuContent qiniuContent = qiniuContentService.uploadFile(file); Map map = new HashMap<>(3); map.put("id", qiniuContent.getId()); map.put("errno", 0); @@ -75,7 +75,7 @@ public class QiniuController { @ApiOperation("同步七牛云数据") @PostMapping(value = "/synchronize") public ResponseEntity synchronizeQiNiu() { - qiniuContentService.synchronize(qiNiuConfigService.getConfig()); + qiniuContentService.synchronize(); return new ResponseEntity<>(HttpStatus.OK); } @@ -83,21 +83,21 @@ public class QiniuController { @GetMapping(value = "/download/{id}") public ResponseEntity downloadQiNiu(@PathVariable Long id) { Map map = new HashMap<>(1); - map.put("url", qiniuContentService.download(qiniuContentService.getById(id), qiNiuConfigService.getConfig())); + map.put("url", qiniuContentService.download(qiniuContentService.getById(id))); return new ResponseEntity<>(map, HttpStatus.OK); } @ApiOperation("删除文件") @DeleteMapping(value = "/{id}") public ResponseEntity deleteQiNiu(@PathVariable Long id) { - qiniuContentService.delete(qiniuContentService.getById(id), qiNiuConfigService.getConfig()); + qiniuContentService.delete(qiniuContentService.getById(id)); return new ResponseEntity<>(HttpStatus.OK); } @ApiOperation("删除多张图片") @DeleteMapping public ResponseEntity deleteAllQiNiu(@RequestBody Long[] ids) { - qiniuContentService.deleteAll(ids, qiNiuConfigService.getConfig()); + qiniuContentService.deleteFileByIds(ids); return new ResponseEntity<>(HttpStatus.OK); } } diff --git a/cutejava/cutejava-tools/src/main/java/cn/odboy/service/EmailService.java b/cutejava/cutejava-tools/src/main/java/cn/odboy/application/tools/service/EmailService.java similarity index 60% rename from cutejava/cutejava-tools/src/main/java/cn/odboy/service/EmailService.java rename to cutejava/cutejava-tools/src/main/java/cn/odboy/application/tools/service/EmailService.java index adbd111b..741a3183 100644 --- a/cutejava/cutejava-tools/src/main/java/cn/odboy/service/EmailService.java +++ b/cutejava/cutejava-tools/src/main/java/cn/odboy/application/tools/service/EmailService.java @@ -1,4 +1,4 @@ -package cn.odboy.service; +package cn.odboy.application.tools.service; import cn.odboy.model.tools.domain.EmailConfig; import cn.odboy.model.tools.dto.EmailDto; @@ -11,24 +11,22 @@ public interface EmailService extends IService { * 更新邮件配置 * * @param emailConfig 邮箱配置 - * @param old / * @return / * @throws Exception / */ - EmailConfig config(EmailConfig emailConfig, EmailConfig old) throws Exception; + void updateEmailConfigOnPassChange(EmailConfig emailConfig) throws Exception; /** * 查询配置 * * @return EmailConfig 邮件配置 */ - EmailConfig find(); + EmailConfig getEmailConfig(); /** * 发送邮件 * - * @param emailDto 邮件发送的内容 - * @param emailConfig 邮件配置 + * @param emailDto 邮件发送的内容 */ - void send(EmailDto emailDto, EmailConfig emailConfig); + void sendEmail(EmailDto emailDto); } diff --git a/cutejava/cutejava-tools/src/main/java/cn/odboy/service/LocalStorageService.java b/cutejava/cutejava-tools/src/main/java/cn/odboy/application/tools/service/LocalStorageService.java similarity index 69% rename from cutejava/cutejava-tools/src/main/java/cn/odboy/service/LocalStorageService.java rename to cutejava/cutejava-tools/src/main/java/cn/odboy/application/tools/service/LocalStorageService.java index 6f7efb1c..c3446db3 100644 --- a/cutejava/cutejava-tools/src/main/java/cn/odboy/service/LocalStorageService.java +++ b/cutejava/cutejava-tools/src/main/java/cn/odboy/application/tools/service/LocalStorageService.java @@ -1,4 +1,4 @@ -package cn.odboy.service; +package cn.odboy.application.tools.service; import cn.odboy.base.PageResult; import cn.odboy.model.tools.domain.LocalStorage; @@ -21,7 +21,7 @@ public interface LocalStorageService extends IService { * @param page 分页参数 * @return / */ - PageResult queryAll(LocalStorageQueryCriteria criteria, Page page); + PageResult queryLocalStoragePage(LocalStorageQueryCriteria criteria, Page page); /** * 查询全部数据 @@ -29,7 +29,7 @@ public interface LocalStorageService extends IService { * @param criteria 条件 * @return / */ - List queryAll(LocalStorageQueryCriteria criteria); + List selectLocalStorageByCriteria(LocalStorageQueryCriteria criteria); /** * 上传 @@ -38,21 +38,21 @@ public interface LocalStorageService extends IService { * @param file 文件 * @return / */ - LocalStorage create(String name, MultipartFile file); + LocalStorage uploadFile(String name, MultipartFile file); /** * 编辑 * * @param resources 文件信息 */ - void update(LocalStorage resources); + void updateLocalStorageById(LocalStorage resources); /** * 多选删除 * * @param ids / */ - void deleteAll(Long[] ids); + void deleteFileByIds(Long[] ids); /** * 导出数据 @@ -61,5 +61,5 @@ public interface LocalStorageService extends IService { * @param response / * @throws IOException / */ - void download(List localStorages, HttpServletResponse response) throws IOException; + void downloadExcel(List localStorages, HttpServletResponse response) throws IOException; } \ No newline at end of file diff --git a/cutejava/cutejava-tools/src/main/java/cn/odboy/service/QiNiuConfigService.java b/cutejava/cutejava-tools/src/main/java/cn/odboy/application/tools/service/QiNiuConfigService.java similarity index 91% rename from cutejava/cutejava-tools/src/main/java/cn/odboy/service/QiNiuConfigService.java rename to cutejava/cutejava-tools/src/main/java/cn/odboy/application/tools/service/QiNiuConfigService.java index 4ac9c4ce..408aec8b 100644 --- a/cutejava/cutejava-tools/src/main/java/cn/odboy/service/QiNiuConfigService.java +++ b/cutejava/cutejava-tools/src/main/java/cn/odboy/application/tools/service/QiNiuConfigService.java @@ -1,4 +1,4 @@ -package cn.odboy.service; +package cn.odboy.application.tools.service; import cn.odboy.model.tools.domain.QiniuConfig; import com.baomidou.mybatisplus.extension.service.IService; diff --git a/cutejava/cutejava-tools/src/main/java/cn/odboy/service/QiniuContentService.java b/cutejava/cutejava-tools/src/main/java/cn/odboy/application/tools/service/QiniuContentService.java similarity index 58% rename from cutejava/cutejava-tools/src/main/java/cn/odboy/service/QiniuContentService.java rename to cutejava/cutejava-tools/src/main/java/cn/odboy/application/tools/service/QiniuContentService.java index 46ba066e..304f4531 100644 --- a/cutejava/cutejava-tools/src/main/java/cn/odboy/service/QiniuContentService.java +++ b/cutejava/cutejava-tools/src/main/java/cn/odboy/application/tools/service/QiniuContentService.java @@ -1,7 +1,6 @@ -package cn.odboy.service; +package cn.odboy.application.tools.service; import cn.odboy.base.PageResult; -import cn.odboy.model.tools.domain.QiniuConfig; import cn.odboy.model.tools.domain.QiniuContent; import cn.odboy.model.tools.dto.QiniuQueryCriteria; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -22,7 +21,7 @@ public interface QiniuContentService extends IService { * @param page 分页参数 * @return / */ - PageResult queryAll(QiniuQueryCriteria criteria, Page page); + PageResult queryQiniuContentPage(QiniuQueryCriteria criteria, Page page); /** * 查询全部 @@ -30,48 +29,42 @@ public interface QiniuContentService extends IService { * @param criteria 条件 * @return / */ - List queryAll(QiniuQueryCriteria criteria); + List selectQiniuContentByCriteria(QiniuQueryCriteria criteria); /** * 上传文件 * - * @param file 文件 - * @param qiniuConfig 配置 + * @param file 文件 * @return QiniuContent */ - QiniuContent upload(MultipartFile file, QiniuConfig qiniuConfig); + QiniuContent uploadFile(MultipartFile file); /** * 下载文件 * * @param content 文件信息 - * @param config 配置 * @return String */ - String download(QiniuContent content, QiniuConfig config); + String download(QiniuContent content); /** * 删除文件 * * @param content 文件 - * @param config 配置 */ - void delete(QiniuContent content, QiniuConfig config); + void delete(QiniuContent content); /** * 同步数据 - * - * @param config 配置 */ - void synchronize(QiniuConfig config); + void synchronize(); /** * 删除文件 * - * @param ids 文件ID数组 - * @param config 配置 + * @param ids 文件ID数组 */ - void deleteAll(Long[] ids, QiniuConfig config); + void deleteFileByIds(Long[] ids); /** * 导出数据 @@ -80,5 +73,5 @@ public interface QiniuContentService extends IService { * @param response / * @throws IOException / */ - void downloadList(List queryAll, HttpServletResponse response) throws IOException; + void downloadExcel(List queryAll, HttpServletResponse response) throws IOException; } diff --git a/cutejava/cutejava-tools/src/main/java/cn/odboy/service/impl/EmailServiceImpl.java b/cutejava/cutejava-tools/src/main/java/cn/odboy/application/tools/service/impl/EmailServiceImpl.java similarity index 70% rename from cutejava/cutejava-tools/src/main/java/cn/odboy/service/impl/EmailServiceImpl.java rename to cutejava/cutejava-tools/src/main/java/cn/odboy/application/tools/service/impl/EmailServiceImpl.java index 6af89e07..9939e93d 100644 --- a/cutejava/cutejava-tools/src/main/java/cn/odboy/service/impl/EmailServiceImpl.java +++ b/cutejava/cutejava-tools/src/main/java/cn/odboy/application/tools/service/impl/EmailServiceImpl.java @@ -1,49 +1,53 @@ -package cn.odboy.service.impl; +package cn.odboy.application.tools.service.impl; import cn.hutool.extra.mail.Mail; import cn.hutool.extra.mail.MailAccount; +import cn.odboy.application.tools.mapper.EmailConfigMapper; +import cn.odboy.application.tools.service.EmailService; import cn.odboy.exception.BadRequestException; -import cn.odboy.mapper.EmailConfigMapper; import cn.odboy.model.tools.domain.EmailConfig; import cn.odboy.model.tools.dto.EmailDto; -import cn.odboy.service.EmailService; -import cn.odboy.util.EncryptUtil; +import cn.odboy.util.DESEncryptUtil; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import lombok.RequiredArgsConstructor; +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 -@RequiredArgsConstructor @CacheConfig(cacheNames = "email") public class EmailServiceImpl extends ServiceImpl implements EmailService { + @Lazy + @Autowired + private EmailService emailService; @Override @CachePut(key = "'config'") @Transactional(rollbackFor = Exception.class) - public EmailConfig config(EmailConfig emailConfig, EmailConfig old) throws Exception { - emailConfig.setId(1L); - if (!emailConfig.getPass().equals(old.getPass())) { + public void updateEmailConfigOnPassChange(EmailConfig emailConfig) throws Exception { + EmailConfig localConfig = emailService.getEmailConfig(); + if (!emailConfig.getPassword().equals(localConfig.getPassword())) { // 对称加密 - emailConfig.setPass(EncryptUtil.desEncrypt(emailConfig.getPass())); + emailConfig.setPassword(DESEncryptUtil.desEncrypt(emailConfig.getPassword())); } + emailConfig.setId(1L); saveOrUpdate(emailConfig); - return emailConfig; } @Override @Cacheable(key = "'config'") - public EmailConfig find() { + public EmailConfig getEmailConfig() { EmailConfig emailConfig = getById(1L); return emailConfig == null ? new EmailConfig() : emailConfig; } @Override @Transactional(rollbackFor = Exception.class) - public void send(EmailDto emailDto, EmailConfig emailConfig) { + public void sendEmail(EmailDto emailDto) { + EmailConfig emailConfig = emailService.getEmailConfig(); if (emailConfig.getId() == null) { throw new BadRequestException("请先配置,再操作"); } @@ -57,7 +61,7 @@ public class EmailServiceImpl extends ServiceImpl queryAll(LocalStorageQueryCriteria criteria, Page page) { - return PageUtil.toPage(localStorageMapper.findLocalStoragePage(criteria, page)); + public PageResult queryLocalStoragePage(LocalStorageQueryCriteria criteria, Page page) { + return PageUtil.toPage(localStorageMapper.queryLocalStoragePage(criteria, page)); } @Override - public List queryAll(LocalStorageQueryCriteria criteria) { - return localStorageMapper.findLocalStoragePage(criteria, PageUtil.getCount(localStorageMapper)).getRecords(); + public List selectLocalStorageByCriteria(LocalStorageQueryCriteria criteria) { + return localStorageMapper.queryLocalStoragePage(criteria, PageUtil.getCount(localStorageMapper)).getRecords(); } @Override @Transactional(rollbackFor = Exception.class) - public LocalStorage create(String name, MultipartFile multipartFile) { + public LocalStorage uploadFile(String name, MultipartFile multipartFile) { long size = multipartFile.getSize(); FileUtil.checkSize(properties.getMaxSize(), size); - String suffix = FileUtil.getExtensionName(multipartFile.getOriginalFilename()); + String suffix = FileUtil.getSuffix(multipartFile.getOriginalFilename()); String type = FileUtil.getFileType(suffix); File file = FileUtil.upload(multipartFile, properties.getPath().getPath() + type + File.separator); if (ObjectUtil.isNull(file)) { throw new BadRequestException("上传失败"); } try { - name = StringUtil.isBlank(name) ? FileUtil.getFileNameNoEx(multipartFile.getOriginalFilename()) : name; + name = StringUtil.isBlank(name) ? FileUtil.getPrefix(multipartFile.getOriginalFilename()) : name; LocalStorage localStorage = new LocalStorage( file.getName(), name, @@ -75,7 +75,7 @@ public class LocalStorageServiceImpl extends ServiceImpl queryAll, HttpServletResponse response) throws IOException { + public void downloadExcel(List queryAll, HttpServletResponse response) throws IOException { List> list = new ArrayList<>(); for (LocalStorage localStorage : queryAll) { Map map = new LinkedHashMap<>(); diff --git a/cutejava/cutejava-tools/src/main/java/cn/odboy/service/impl/QiNiuConfigServiceImpl.java b/cutejava/cutejava-tools/src/main/java/cn/odboy/application/tools/service/impl/QiNiuConfigServiceImpl.java similarity index 73% rename from cutejava/cutejava-tools/src/main/java/cn/odboy/service/impl/QiNiuConfigServiceImpl.java rename to cutejava/cutejava-tools/src/main/java/cn/odboy/application/tools/service/impl/QiNiuConfigServiceImpl.java index 7aa131fe..30481362 100644 --- a/cutejava/cutejava-tools/src/main/java/cn/odboy/service/impl/QiNiuConfigServiceImpl.java +++ b/cutejava/cutejava-tools/src/main/java/cn/odboy/application/tools/service/impl/QiNiuConfigServiceImpl.java @@ -1,9 +1,10 @@ -package cn.odboy.service.impl; +package cn.odboy.application.tools.service.impl; +import cn.odboy.application.tools.mapper.QiniuConfigMapper; +import cn.odboy.application.tools.service.QiNiuConfigService; +import cn.odboy.constant.TransferProtocolConst; import cn.odboy.exception.BadRequestException; -import cn.odboy.mapper.QiniuConfigMapper; import cn.odboy.model.tools.domain.QiniuConfig; -import cn.odboy.service.QiNiuConfigService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.RequiredArgsConstructor; import org.springframework.cache.annotation.CacheConfig; @@ -17,7 +18,6 @@ import org.springframework.transaction.annotation.Transactional; @RequiredArgsConstructor @CacheConfig(cacheNames = "qiNiu") public class QiNiuConfigServiceImpl extends ServiceImpl implements QiNiuConfigService { - @Override @Cacheable(key = "'config'") public QiniuConfig getConfig() { @@ -30,9 +30,8 @@ public class QiNiuConfigServiceImpl extends ServiceImpl implements QiniuContentService { - private final QiniuContentMapper qiniuContentMapper; + private final QiNiuConfigService qiNiuConfigService; @Value("${qiniu.max-size}") private Long maxSize; @Override - public PageResult queryAll(QiniuQueryCriteria criteria, Page page) { - return PageUtil.toPage(qiniuContentMapper.findQiniuContentPage(criteria, page)); + public PageResult queryQiniuContentPage(QiniuQueryCriteria criteria, Page page) { + return PageUtil.toPage(qiniuContentMapper.queryQiniuContentPage(criteria, page)); } @Override - public List queryAll(QiniuQueryCriteria criteria) { - return qiniuContentMapper.findQiniuContentPage(criteria, PageUtil.getCount(qiniuContentMapper)).getRecords(); + public List selectQiniuContentByCriteria(QiniuQueryCriteria criteria) { + return qiniuContentMapper.queryQiniuContentPage(criteria, PageUtil.getCount(qiniuContentMapper)).getRecords(); } @Override @Transactional(rollbackFor = Exception.class) - public QiniuContent upload(MultipartFile file, QiniuConfig qiniuConfig) { + public QiniuContent uploadFile(MultipartFile file) { FileUtil.checkSize(maxSize, file.getSize()); + QiniuConfig qiniuConfig = qiNiuConfigService.getConfig(); if (qiniuConfig.getId() == null) { throw new BadRequestException("请先添加相应配置,再操作"); } @@ -69,20 +71,21 @@ public class QiniuContentServiceImpl extends ServiceImpl queryAll, HttpServletResponse response) throws IOException { + public void downloadExcel(List queryAll, HttpServletResponse response) throws IOException { List> list = new ArrayList<>(); for (QiniuContent content : queryAll) { Map map = new LinkedHashMap<>(); diff --git a/cutejava/cutejava-tools/src/main/java/cn/odboy/util/QiNiuUtil.java b/cutejava/cutejava-tools/src/main/java/cn/odboy/application/tools/util/QiNiuUtil.java similarity index 73% rename from cutejava/cutejava-tools/src/main/java/cn/odboy/util/QiNiuUtil.java rename to cutejava/cutejava-tools/src/main/java/cn/odboy/application/tools/util/QiNiuUtil.java index 9e803493..601f4148 100644 --- a/cutejava/cutejava-tools/src/main/java/cn/odboy/util/QiNiuUtil.java +++ b/cutejava/cutejava-tools/src/main/java/cn/odboy/application/tools/util/QiNiuUtil.java @@ -1,5 +1,6 @@ -package cn.odboy.util; +package cn.odboy.application.tools.util; +import cn.odboy.util.FileUtil; import com.qiniu.storage.Region; import java.text.SimpleDateFormat; @@ -14,10 +15,6 @@ public class QiNiuUtil { private static final String HUAB = "华北"; - private static final String HUAN = "华南"; - - private static final String BEIM = "北美"; - /** * 得到机房的对应关系 * @@ -30,12 +27,8 @@ public class QiNiuUtil { return Region.huadong(); } else if (HUAB.equals(zone)) { return Region.huabei(); - } else if (HUAN.equals(zone)) { - return Region.huanan(); - } else if (BEIM.equals(zone)) { - return Region.beimei(); - // 否则就是东南亚 } else { + // 否则就是东南亚 return Region.qvmHuadong(); } } @@ -49,9 +42,9 @@ public class QiNiuUtil { public static String getKey(String file) { SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss"); Date date = new Date(); - return FileUtil.getFileNameNoEx(file) + "-" + + return FileUtil.getPrefix(file) + "-" + sdf.format(date) + "." + - FileUtil.getExtensionName(file); + FileUtil.getSuffix(file); } } diff --git a/cutejava/cutejava-tools/src/main/resources/mapper/LocalStorageMapper.xml b/cutejava/cutejava-tools/src/main/resources/mapper/LocalStorageMapper.xml index 98c96bfe..e1e55f05 100644 --- a/cutejava/cutejava-tools/src/main/resources/mapper/LocalStorageMapper.xml +++ b/cutejava/cutejava-tools/src/main/resources/mapper/LocalStorageMapper.xml @@ -1,7 +1,7 @@ - - select * from tool_local_storage diff --git a/cutejava/cutejava-tools/src/main/resources/mapper/QiniuContentMapper.xml b/cutejava/cutejava-tools/src/main/resources/mapper/QiniuContentMapper.xml index 459c769c..604b7286 100644 --- a/cutejava/cutejava-tools/src/main/resources/mapper/QiniuContentMapper.xml +++ b/cutejava/cutejava-tools/src/main/resources/mapper/QiniuContentMapper.xml @@ -1,13 +1,13 @@ - - SELECT * FROM tool_qiniu_content WHERE name = #{name} - SELECT * FROM tool_qiniu_content diff --git a/cutejava/doc/编码规范.md b/cutejava/doc/编码规范.md new file mode 100644 index 00000000..a7bbc1ff --- /dev/null +++ b/cutejava/doc/编码规范.md @@ -0,0 +1,8 @@ +## Mapper + +- 分页查询:query{TableSimpleName}By{ParamName} +- 查询列表:select{TableSimpleName}By{ParamName} +- 查询一个:get{TableSimpleName}By{ParamName} +- 批量更新:update{ParamName}ByIds +- 批量删除:delete{TableSimpleName}ByIds +- 统计数量:get{具体语义}Count \ No newline at end of file