From 0b636de267a3b29216c4f2cfac3e1197b8ef5e21 Mon Sep 17 00:00:00 2001 From: zhuoda Date: Wed, 10 Nov 2021 22:07:26 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84idgenerator,jwe?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/config/DataSourceConfig.java | 2 +- .../module/business/notice/dao/NoticeDao.java | 6 +- .../datascope/DataScope.java | 8 +- .../datascope/DataScopeController.java | 6 +- .../datascope/MyBatisPlugin.java | 6 +- .../datascope/constant/DataScopeTypeEnum.java | 2 +- .../constant/DataScopeViewTypeEnum.java | 2 +- .../constant/DataScopeWhereInTypeEnum.java | 2 +- .../domain/DataScopeAndViewTypeVO.java | 2 +- .../datascope/domain/DataScopeDTO.java | 2 +- .../datascope/domain/DataScopeSqlConfig.java | 6 +- .../datascope/domain/DataScopeViewTypeVO.java | 2 +- .../datascope/service/DataScopeService.java | 12 +- .../service/DataScopeSqlConfigService.java | 15 +- .../service/DataScopeViewService.java | 6 +- .../strategy/DataScopePowerStrategy.java | 6 +- .../FileFolderTypeEnum.java | 6 +- .../file/{ => controller}/FileController.java | 4 +- .../support/file/{ => dao}/FileDao.java | 4 +- .../file/domain/{ => entity}/FileEntity.java | 2 +- .../file/domain/form/FileQueryForm.java | 2 +- .../file/domain/form/FileUrlUploadForm.java | 2 +- .../module/support/file/domain/vo/FileVO.java | 2 +- .../support/file/service/FileService.java | 6 +- .../service/FileStorageCloudServiceImpl.java | 2 +- .../idgenerator/constant/IdGeneratorEnum.java | 15 +- .../IdGeneratorController.java | 11 +- .../IdGeneratorCacheManager.java | 2 +- .../service/IdGeneratorBaseService.java | 143 +++++++ .../service/IdGeneratorInternService.java | 28 ++ .../service/IdGeneratorMysqlService.java | 55 +++ .../IdGeneratorRedisService.java} | 42 +- .../service/IdGeneratorService.java | 45 +-- .../strategy/IIdGeneratorStrategy.java | 36 -- .../strategy/IdGeneratorInternStrategy.java | 48 --- .../strategy/IdGeneratorMySqlStrategy.java | 53 --- .../IdGeneratorStrategyBaseService.java | 82 ---- .../strategy/IdGeneratorStrategyFactory.java | 34 -- .../DecryptDTO.java => jwe/DecryptData.java} | 4 +- .../JweAspect.java} | 28 +- .../JweDecrypt.java} | 4 +- .../JweEncrypt.java} | 4 +- .../module/support/jwe/JweUserKey.java | 27 ++ .../ResponseEncryptDecryptUserDTO.java | 29 -- .../domain/entity/RoleDataScopeEntity.java | 4 +- .../main/resources/dev/application.properties | 2 +- .../resources/mapper/support/FileMapper.xml | 2 +- .../service/IdGeneratorServiceTest.java | 26 +- smart_admin_v2.sql | 358 ++++++++++-------- 49 files changed, 593 insertions(+), 604 deletions(-) rename admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/{system => support}/datascope/DataScope.java (76%) rename admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/{system => support}/datascope/DataScopeController.java (80%) rename admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/{system => support}/datascope/MyBatisPlugin.java (96%) rename admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/{system => support}/datascope/constant/DataScopeTypeEnum.java (91%) rename admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/{system => support}/datascope/constant/DataScopeViewTypeEnum.java (91%) rename admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/{system => support}/datascope/constant/DataScopeWhereInTypeEnum.java (89%) rename admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/{system => support}/datascope/domain/DataScopeAndViewTypeVO.java (89%) rename admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/{system => support}/datascope/domain/DataScopeDTO.java (87%) rename admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/{system => support}/datascope/domain/DataScopeSqlConfig.java (68%) rename admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/{system => support}/datascope/domain/DataScopeViewTypeVO.java (86%) rename admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/{system => support}/datascope/service/DataScopeService.java (83%) rename admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/{system => support}/datascope/service/DataScopeSqlConfigService.java (89%) rename admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/{system => support}/datascope/service/DataScopeViewService.java (96%) rename admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/{system => support}/datascope/strategy/DataScopePowerStrategy.java (67%) rename admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/file/{domain => constant}/FileFolderTypeEnum.java (80%) rename admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/file/{ => controller}/FileController.java (95%) rename admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/file/{ => dao}/FileDao.java (92%) rename admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/file/domain/{ => entity}/FileEntity.java (99%) rename admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/idgenerator/{ => controller}/IdGeneratorController.java (86%) rename admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/idgenerator/{service => manager}/IdGeneratorCacheManager.java (99%) create mode 100644 admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/idgenerator/service/IdGeneratorBaseService.java create mode 100644 admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/idgenerator/service/IdGeneratorInternService.java create mode 100644 admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/idgenerator/service/IdGeneratorMysqlService.java rename admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/idgenerator/{strategy/IdGeneratorRedisStrategy.java => service/IdGeneratorRedisService.java} (64%) delete mode 100644 admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/idgenerator/strategy/IIdGeneratorStrategy.java delete mode 100644 admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/idgenerator/strategy/IdGeneratorInternStrategy.java delete mode 100644 admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/idgenerator/strategy/IdGeneratorMySqlStrategy.java delete mode 100644 admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/idgenerator/strategy/IdGeneratorStrategyBaseService.java delete mode 100644 admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/idgenerator/strategy/IdGeneratorStrategyFactory.java rename admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/{responseencrypt/DecryptDTO.java => jwe/DecryptData.java} (54%) rename admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/{responseencrypt/ResponseEncryptDecryptAspect.java => jwe/JweAspect.java} (81%) rename admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/{responseencrypt/ResponseDecrypt.java => jwe/JweDecrypt.java} (73%) rename admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/{responseencrypt/ResponseEncrypt.java => jwe/JweEncrypt.java} (73%) create mode 100644 admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/jwe/JweUserKey.java delete mode 100644 admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/responseencrypt/ResponseEncryptDecryptUserDTO.java diff --git a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/config/DataSourceConfig.java b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/config/DataSourceConfig.java index 874b372e..c0dc0f7e 100644 --- a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/config/DataSourceConfig.java +++ b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/config/DataSourceConfig.java @@ -10,7 +10,7 @@ import com.baomidou.mybatisplus.annotation.DbType; import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; import com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean; import lombok.extern.slf4j.Slf4j; -import net.lab1024.smartadmin.service.module.system.datascope.MyBatisPlugin; +import net.lab1024.smartadmin.service.module.support.datascope.MyBatisPlugin; import org.apache.ibatis.plugin.Interceptor; import org.apache.ibatis.session.SqlSessionFactory; import org.springframework.aop.support.DefaultPointcutAdvisor; diff --git a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/business/notice/dao/NoticeDao.java b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/business/notice/dao/NoticeDao.java index 41a9b0f7..b45f4cfc 100644 --- a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/business/notice/dao/NoticeDao.java +++ b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/business/notice/dao/NoticeDao.java @@ -9,9 +9,9 @@ import net.lab1024.smartadmin.service.module.business.notice.domain.dto.NoticeRe import net.lab1024.smartadmin.service.module.business.notice.domain.entity.NoticeEntity; import net.lab1024.smartadmin.service.module.business.notice.domain.vo.NoticeDetailVO; import net.lab1024.smartadmin.service.module.business.notice.domain.vo.NoticeVO; -import net.lab1024.smartadmin.service.module.system.datascope.DataScope; -import net.lab1024.smartadmin.service.module.system.datascope.constant.DataScopeTypeEnum; -import net.lab1024.smartadmin.service.module.system.datascope.constant.DataScopeWhereInTypeEnum; +import net.lab1024.smartadmin.service.module.support.datascope.DataScope; +import net.lab1024.smartadmin.service.module.support.datascope.constant.DataScopeTypeEnum; +import net.lab1024.smartadmin.service.module.support.datascope.constant.DataScopeWhereInTypeEnum; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Component; diff --git a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/system/datascope/DataScope.java b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/datascope/DataScope.java similarity index 76% rename from admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/system/datascope/DataScope.java rename to admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/datascope/DataScope.java index 4b8faab0..5899b82f 100644 --- a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/system/datascope/DataScope.java +++ b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/datascope/DataScope.java @@ -1,9 +1,9 @@ -package net.lab1024.smartadmin.service.module.system.datascope; +package net.lab1024.smartadmin.service.module.support.datascope; -import net.lab1024.smartadmin.service.module.system.datascope.constant.DataScopeTypeEnum; -import net.lab1024.smartadmin.service.module.system.datascope.constant.DataScopeWhereInTypeEnum; -import net.lab1024.smartadmin.service.module.system.datascope.strategy.DataScopePowerStrategy; +import net.lab1024.smartadmin.service.module.support.datascope.constant.DataScopeTypeEnum; +import net.lab1024.smartadmin.service.module.support.datascope.constant.DataScopeWhereInTypeEnum; +import net.lab1024.smartadmin.service.module.support.datascope.strategy.DataScopePowerStrategy; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; diff --git a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/system/datascope/DataScopeController.java b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/datascope/DataScopeController.java similarity index 80% rename from admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/system/datascope/DataScopeController.java rename to admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/datascope/DataScopeController.java index 18d72099..99e10695 100644 --- a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/system/datascope/DataScopeController.java +++ b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/datascope/DataScopeController.java @@ -1,12 +1,12 @@ -package net.lab1024.smartadmin.service.module.system.datascope; +package net.lab1024.smartadmin.service.module.support.datascope; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import net.lab1024.smartadmin.service.common.controller.SupportBaseController; import net.lab1024.smartadmin.service.common.domain.ResponseDTO; import net.lab1024.smartadmin.service.constant.SwaggerTagConst; -import net.lab1024.smartadmin.service.module.system.datascope.domain.DataScopeAndViewTypeVO; -import net.lab1024.smartadmin.service.module.system.datascope.service.DataScopeService; +import net.lab1024.smartadmin.service.module.support.datascope.domain.DataScopeAndViewTypeVO; +import net.lab1024.smartadmin.service.module.support.datascope.service.DataScopeService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; diff --git a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/system/datascope/MyBatisPlugin.java b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/datascope/MyBatisPlugin.java similarity index 96% rename from admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/system/datascope/MyBatisPlugin.java rename to admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/datascope/MyBatisPlugin.java index 6e62d61a..2bca085e 100644 --- a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/system/datascope/MyBatisPlugin.java +++ b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/datascope/MyBatisPlugin.java @@ -1,9 +1,9 @@ -package net.lab1024.smartadmin.service.module.system.datascope; +package net.lab1024.smartadmin.service.module.support.datascope; import com.google.common.collect.Maps; import net.lab1024.smartadmin.service.common.util.SmartStringUtil; -import net.lab1024.smartadmin.service.module.system.datascope.domain.DataScopeSqlConfig; -import net.lab1024.smartadmin.service.module.system.datascope.service.DataScopeSqlConfigService; +import net.lab1024.smartadmin.service.module.support.datascope.domain.DataScopeSqlConfig; +import net.lab1024.smartadmin.service.module.support.datascope.service.DataScopeSqlConfigService; import org.apache.commons.lang3.StringUtils; import org.apache.ibatis.mapping.*; import org.apache.ibatis.plugin.*; diff --git a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/system/datascope/constant/DataScopeTypeEnum.java b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/datascope/constant/DataScopeTypeEnum.java similarity index 91% rename from admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/system/datascope/constant/DataScopeTypeEnum.java rename to admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/datascope/constant/DataScopeTypeEnum.java index 1d260ac1..56d04113 100644 --- a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/system/datascope/constant/DataScopeTypeEnum.java +++ b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/datascope/constant/DataScopeTypeEnum.java @@ -1,4 +1,4 @@ -package net.lab1024.smartadmin.service.module.system.datascope.constant; +package net.lab1024.smartadmin.service.module.support.datascope.constant; import net.lab1024.smartadmin.service.common.enumeration.BaseEnum; diff --git a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/system/datascope/constant/DataScopeViewTypeEnum.java b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/datascope/constant/DataScopeViewTypeEnum.java similarity index 91% rename from admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/system/datascope/constant/DataScopeViewTypeEnum.java rename to admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/datascope/constant/DataScopeViewTypeEnum.java index f45938b8..3aa36571 100644 --- a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/system/datascope/constant/DataScopeViewTypeEnum.java +++ b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/datascope/constant/DataScopeViewTypeEnum.java @@ -1,4 +1,4 @@ -package net.lab1024.smartadmin.service.module.system.datascope.constant; +package net.lab1024.smartadmin.service.module.support.datascope.constant; import net.lab1024.smartadmin.service.common.enumeration.BaseEnum; diff --git a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/system/datascope/constant/DataScopeWhereInTypeEnum.java b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/datascope/constant/DataScopeWhereInTypeEnum.java similarity index 89% rename from admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/system/datascope/constant/DataScopeWhereInTypeEnum.java rename to admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/datascope/constant/DataScopeWhereInTypeEnum.java index a2ae2439..f99f644c 100644 --- a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/system/datascope/constant/DataScopeWhereInTypeEnum.java +++ b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/datascope/constant/DataScopeWhereInTypeEnum.java @@ -1,4 +1,4 @@ -package net.lab1024.smartadmin.service.module.system.datascope.constant; +package net.lab1024.smartadmin.service.module.support.datascope.constant; import net.lab1024.smartadmin.service.common.enumeration.BaseEnum; diff --git a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/system/datascope/domain/DataScopeAndViewTypeVO.java b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/datascope/domain/DataScopeAndViewTypeVO.java similarity index 89% rename from admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/system/datascope/domain/DataScopeAndViewTypeVO.java rename to admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/datascope/domain/DataScopeAndViewTypeVO.java index 5a074298..bc3a0c98 100644 --- a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/system/datascope/domain/DataScopeAndViewTypeVO.java +++ b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/datascope/domain/DataScopeAndViewTypeVO.java @@ -1,4 +1,4 @@ -package net.lab1024.smartadmin.service.module.system.datascope.domain; +package net.lab1024.smartadmin.service.module.support.datascope.domain; import io.swagger.annotations.ApiModelProperty; import lombok.Data; diff --git a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/system/datascope/domain/DataScopeDTO.java b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/datascope/domain/DataScopeDTO.java similarity index 87% rename from admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/system/datascope/domain/DataScopeDTO.java rename to admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/datascope/domain/DataScopeDTO.java index 8edb02d4..c598fea5 100644 --- a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/system/datascope/domain/DataScopeDTO.java +++ b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/datascope/domain/DataScopeDTO.java @@ -1,4 +1,4 @@ -package net.lab1024.smartadmin.service.module.system.datascope.domain; +package net.lab1024.smartadmin.service.module.support.datascope.domain; import io.swagger.annotations.ApiModelProperty; import lombok.Builder; diff --git a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/system/datascope/domain/DataScopeSqlConfig.java b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/datascope/domain/DataScopeSqlConfig.java similarity index 68% rename from admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/system/datascope/domain/DataScopeSqlConfig.java rename to admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/datascope/domain/DataScopeSqlConfig.java index 8c034520..bb43bf88 100644 --- a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/system/datascope/domain/DataScopeSqlConfig.java +++ b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/datascope/domain/DataScopeSqlConfig.java @@ -1,8 +1,8 @@ -package net.lab1024.smartadmin.service.module.system.datascope.domain; +package net.lab1024.smartadmin.service.module.support.datascope.domain; import lombok.Data; -import net.lab1024.smartadmin.service.module.system.datascope.constant.DataScopeTypeEnum; -import net.lab1024.smartadmin.service.module.system.datascope.constant.DataScopeWhereInTypeEnum; +import net.lab1024.smartadmin.service.module.support.datascope.constant.DataScopeTypeEnum; +import net.lab1024.smartadmin.service.module.support.datascope.constant.DataScopeWhereInTypeEnum; /** * [ ] diff --git a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/system/datascope/domain/DataScopeViewTypeVO.java b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/datascope/domain/DataScopeViewTypeVO.java similarity index 86% rename from admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/system/datascope/domain/DataScopeViewTypeVO.java rename to admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/datascope/domain/DataScopeViewTypeVO.java index 17c4b066..d9fb0a5f 100644 --- a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/system/datascope/domain/DataScopeViewTypeVO.java +++ b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/datascope/domain/DataScopeViewTypeVO.java @@ -1,4 +1,4 @@ -package net.lab1024.smartadmin.service.module.system.datascope.domain; +package net.lab1024.smartadmin.service.module.support.datascope.domain; import io.swagger.annotations.ApiModelProperty; import lombok.Builder; diff --git a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/system/datascope/service/DataScopeService.java b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/datascope/service/DataScopeService.java similarity index 83% rename from admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/system/datascope/service/DataScopeService.java rename to admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/datascope/service/DataScopeService.java index cfccf277..641c0d36 100644 --- a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/system/datascope/service/DataScopeService.java +++ b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/datascope/service/DataScopeService.java @@ -1,14 +1,14 @@ -package net.lab1024.smartadmin.service.module.system.datascope.service; +package net.lab1024.smartadmin.service.module.support.datascope.service; import com.google.common.collect.Lists; import net.lab1024.smartadmin.service.common.util.SmartBeanUtil; import org.springframework.stereotype.Service; import net.lab1024.smartadmin.service.common.domain.ResponseDTO; -import net.lab1024.smartadmin.service.module.system.datascope.constant.DataScopeTypeEnum; -import net.lab1024.smartadmin.service.module.system.datascope.constant.DataScopeViewTypeEnum; -import net.lab1024.smartadmin.service.module.system.datascope.domain.DataScopeAndViewTypeVO; -import net.lab1024.smartadmin.service.module.system.datascope.domain.DataScopeDTO; -import net.lab1024.smartadmin.service.module.system.datascope.domain.DataScopeViewTypeVO; +import net.lab1024.smartadmin.service.module.support.datascope.constant.DataScopeTypeEnum; +import net.lab1024.smartadmin.service.module.support.datascope.constant.DataScopeViewTypeEnum; +import net.lab1024.smartadmin.service.module.support.datascope.domain.DataScopeAndViewTypeVO; +import net.lab1024.smartadmin.service.module.support.datascope.domain.DataScopeDTO; +import net.lab1024.smartadmin.service.module.support.datascope.domain.DataScopeViewTypeVO; import java.util.Comparator; import java.util.List; diff --git a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/system/datascope/service/DataScopeSqlConfigService.java b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/datascope/service/DataScopeSqlConfigService.java similarity index 89% rename from admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/system/datascope/service/DataScopeSqlConfigService.java rename to admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/datascope/service/DataScopeSqlConfigService.java index babdbbff..cda657c2 100644 --- a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/system/datascope/service/DataScopeSqlConfigService.java +++ b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/datascope/service/DataScopeSqlConfigService.java @@ -1,8 +1,7 @@ -package net.lab1024.smartadmin.service.module.system.datascope.service; +package net.lab1024.smartadmin.service.module.support.datascope.service; import lombok.extern.slf4j.Slf4j; import net.lab1024.smartadmin.service.common.util.SmartRequestUtil; -import net.lab1024.smartadmin.service.module.system.datascope.domain.DataScopeDTO; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.reflections.Reflections; @@ -13,12 +12,12 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.ApplicationContext; import org.springframework.stereotype.Service; -import net.lab1024.smartadmin.service.module.system.datascope.DataScope; -import net.lab1024.smartadmin.service.module.system.datascope.constant.DataScopeTypeEnum; -import net.lab1024.smartadmin.service.module.system.datascope.constant.DataScopeViewTypeEnum; -import net.lab1024.smartadmin.service.module.system.datascope.constant.DataScopeWhereInTypeEnum; -import net.lab1024.smartadmin.service.module.system.datascope.domain.DataScopeSqlConfig; -import net.lab1024.smartadmin.service.module.system.datascope.strategy.DataScopePowerStrategy; +import net.lab1024.smartadmin.service.module.support.datascope.DataScope; +import net.lab1024.smartadmin.service.module.support.datascope.constant.DataScopeTypeEnum; +import net.lab1024.smartadmin.service.module.support.datascope.constant.DataScopeViewTypeEnum; +import net.lab1024.smartadmin.service.module.support.datascope.constant.DataScopeWhereInTypeEnum; +import net.lab1024.smartadmin.service.module.support.datascope.domain.DataScopeSqlConfig; +import net.lab1024.smartadmin.service.module.support.datascope.strategy.DataScopePowerStrategy; import javax.annotation.PostConstruct; import java.lang.reflect.Method; diff --git a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/system/datascope/service/DataScopeViewService.java b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/datascope/service/DataScopeViewService.java similarity index 96% rename from admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/system/datascope/service/DataScopeViewService.java rename to admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/datascope/service/DataScopeViewService.java index 4b33387d..73c4ae34 100644 --- a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/system/datascope/service/DataScopeViewService.java +++ b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/datascope/service/DataScopeViewService.java @@ -1,9 +1,9 @@ -package net.lab1024.smartadmin.service.module.system.datascope.service; +package net.lab1024.smartadmin.service.module.support.datascope.service; import com.google.common.collect.Lists; import net.lab1024.smartadmin.service.common.util.SmartBaseEnumUtil; -import net.lab1024.smartadmin.service.module.system.datascope.constant.DataScopeTypeEnum; -import net.lab1024.smartadmin.service.module.system.datascope.constant.DataScopeViewTypeEnum; +import net.lab1024.smartadmin.service.module.support.datascope.constant.DataScopeTypeEnum; +import net.lab1024.smartadmin.service.module.support.datascope.constant.DataScopeViewTypeEnum; import net.lab1024.smartadmin.service.module.system.role.domain.entity.RoleDataScopeEntity; import net.lab1024.smartadmin.service.module.system.department.service.DepartmentService; import net.lab1024.smartadmin.service.module.system.employee.EmployeeDao; diff --git a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/system/datascope/strategy/DataScopePowerStrategy.java b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/datascope/strategy/DataScopePowerStrategy.java similarity index 67% rename from admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/system/datascope/strategy/DataScopePowerStrategy.java rename to admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/datascope/strategy/DataScopePowerStrategy.java index 2a2eb9a9..d2bebba4 100644 --- a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/system/datascope/strategy/DataScopePowerStrategy.java +++ b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/datascope/strategy/DataScopePowerStrategy.java @@ -1,7 +1,7 @@ -package net.lab1024.smartadmin.service.module.system.datascope.strategy; +package net.lab1024.smartadmin.service.module.support.datascope.strategy; -import net.lab1024.smartadmin.service.module.system.datascope.constant.DataScopeViewTypeEnum; -import net.lab1024.smartadmin.service.module.system.datascope.domain.DataScopeSqlConfig; +import net.lab1024.smartadmin.service.module.support.datascope.constant.DataScopeViewTypeEnum; +import net.lab1024.smartadmin.service.module.support.datascope.domain.DataScopeSqlConfig; import java.util.Map; diff --git a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/file/domain/FileFolderTypeEnum.java b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/file/constant/FileFolderTypeEnum.java similarity index 80% rename from admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/file/domain/FileFolderTypeEnum.java rename to admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/file/constant/FileFolderTypeEnum.java index 3b6c07a1..cf83158a 100644 --- a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/file/domain/FileFolderTypeEnum.java +++ b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/file/constant/FileFolderTypeEnum.java @@ -1,4 +1,4 @@ -package net.lab1024.smartadmin.service.module.support.file.domain; +package net.lab1024.smartadmin.service.module.support.file.constant; import lombok.AllArgsConstructor; import lombok.Getter; @@ -21,12 +21,12 @@ public enum FileFolderTypeEnum implements BaseEnum { /** * 公用读取文件夹 public */ - public static final String FOLDER_PUBLIC = "pu"; + public static final String FOLDER_PUBLIC = "public"; /** * 私有读取文件夹 private */ - public static final String FOLDER_PRIVATE = "pr"; + public static final String FOLDER_PRIVATE = "private"; /** * 文件夹格式 diff --git a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/file/FileController.java b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/file/controller/FileController.java similarity index 95% rename from admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/file/FileController.java rename to admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/file/controller/FileController.java index 649c8dfe..7d397abc 100644 --- a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/file/FileController.java +++ b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/file/controller/FileController.java @@ -1,4 +1,4 @@ -package net.lab1024.smartadmin.service.module.support.file; +package net.lab1024.smartadmin.service.module.support.file.controller; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -6,7 +6,7 @@ import net.lab1024.smartadmin.service.common.controller.SupportBaseController; import net.lab1024.smartadmin.service.common.domain.PageResult; import net.lab1024.smartadmin.service.common.domain.ResponseDTO; import net.lab1024.smartadmin.service.constant.SwaggerTagConst; -import net.lab1024.smartadmin.service.module.support.file.domain.FileFolderTypeEnum; +import net.lab1024.smartadmin.service.module.support.file.constant.FileFolderTypeEnum; import net.lab1024.smartadmin.service.module.support.file.domain.form.FileQueryForm; import net.lab1024.smartadmin.service.module.support.file.domain.form.FileUrlUploadForm; import net.lab1024.smartadmin.service.module.support.file.domain.vo.FileUploadVO; diff --git a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/file/FileDao.java b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/file/dao/FileDao.java similarity index 92% rename from admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/file/FileDao.java rename to admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/file/dao/FileDao.java index 57d822e4..49443dbf 100644 --- a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/file/FileDao.java +++ b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/file/dao/FileDao.java @@ -1,8 +1,8 @@ -package net.lab1024.smartadmin.service.module.support.file; +package net.lab1024.smartadmin.service.module.support.file.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import net.lab1024.smartadmin.service.module.support.file.domain.FileEntity; +import net.lab1024.smartadmin.service.module.support.file.domain.entity.FileEntity; import net.lab1024.smartadmin.service.module.support.file.domain.form.FileQueryForm; import net.lab1024.smartadmin.service.module.support.file.domain.vo.FileVO; import org.apache.ibatis.annotations.Mapper; diff --git a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/file/domain/FileEntity.java b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/file/domain/entity/FileEntity.java similarity index 99% rename from admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/file/domain/FileEntity.java rename to admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/file/domain/entity/FileEntity.java index b993782f..64a4bcb8 100644 --- a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/file/domain/FileEntity.java +++ b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/file/domain/entity/FileEntity.java @@ -1,4 +1,4 @@ -package net.lab1024.smartadmin.service.module.support.file.domain; +package net.lab1024.smartadmin.service.module.support.file.domain.entity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; diff --git a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/file/domain/form/FileQueryForm.java b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/file/domain/form/FileQueryForm.java index ba60d14a..013763d3 100644 --- a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/file/domain/form/FileQueryForm.java +++ b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/file/domain/form/FileQueryForm.java @@ -5,7 +5,7 @@ import lombok.Data; import net.lab1024.smartadmin.service.common.domain.PageParam; import net.lab1024.smartadmin.service.common.swagger.ApiModelPropertyEnum; import net.lab1024.smartadmin.service.common.validator.enumeration.CheckEnum; -import net.lab1024.smartadmin.service.module.support.file.domain.FileFolderTypeEnum; +import net.lab1024.smartadmin.service.module.support.file.constant.FileFolderTypeEnum; import org.hibernate.validator.constraints.Length; /** diff --git a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/file/domain/form/FileUrlUploadForm.java b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/file/domain/form/FileUrlUploadForm.java index 57d9499e..217f6000 100644 --- a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/file/domain/form/FileUrlUploadForm.java +++ b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/file/domain/form/FileUrlUploadForm.java @@ -4,7 +4,7 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import net.lab1024.smartadmin.service.common.swagger.ApiModelPropertyEnum; import net.lab1024.smartadmin.service.common.validator.enumeration.CheckEnum; -import net.lab1024.smartadmin.service.module.support.file.domain.FileFolderTypeEnum; +import net.lab1024.smartadmin.service.module.support.file.constant.FileFolderTypeEnum; import javax.validation.constraints.NotBlank; diff --git a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/file/domain/vo/FileVO.java b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/file/domain/vo/FileVO.java index 0abf9ce4..21138412 100644 --- a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/file/domain/vo/FileVO.java +++ b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/file/domain/vo/FileVO.java @@ -3,7 +3,7 @@ package net.lab1024.smartadmin.service.module.support.file.domain.vo; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import net.lab1024.smartadmin.service.common.swagger.ApiModelPropertyEnum; -import net.lab1024.smartadmin.service.module.support.file.domain.FileFolderTypeEnum; +import net.lab1024.smartadmin.service.module.support.file.constant.FileFolderTypeEnum; /** * [ ] diff --git a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/file/service/FileService.java b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/file/service/FileService.java index 2d83c2bf..836968fd 100644 --- a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/file/service/FileService.java +++ b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/file/service/FileService.java @@ -13,9 +13,9 @@ import net.lab1024.smartadmin.service.common.util.SmartBaseEnumUtil; import net.lab1024.smartadmin.service.common.util.SmartBeanUtil; import net.lab1024.smartadmin.service.common.util.SmartPageUtil; import net.lab1024.smartadmin.service.common.util.SmartStringUtil; -import net.lab1024.smartadmin.service.module.support.file.FileDao; -import net.lab1024.smartadmin.service.module.support.file.domain.FileEntity; -import net.lab1024.smartadmin.service.module.support.file.domain.FileFolderTypeEnum; +import net.lab1024.smartadmin.service.module.support.file.dao.FileDao; +import net.lab1024.smartadmin.service.module.support.file.domain.entity.FileEntity; +import net.lab1024.smartadmin.service.module.support.file.constant.FileFolderTypeEnum; import net.lab1024.smartadmin.service.module.support.file.domain.dto.FileDownloadDTO; import net.lab1024.smartadmin.service.module.support.file.domain.dto.FileMetadataDTO; import net.lab1024.smartadmin.service.module.support.file.domain.form.FileQueryForm; diff --git a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/file/service/FileStorageCloudServiceImpl.java b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/file/service/FileStorageCloudServiceImpl.java index 2688953b..1921f6a9 100644 --- a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/file/service/FileStorageCloudServiceImpl.java +++ b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/file/service/FileStorageCloudServiceImpl.java @@ -9,7 +9,7 @@ import net.lab1024.smartadmin.service.common.code.SystemErrorCode; import net.lab1024.smartadmin.service.common.code.UserErrorCode; import net.lab1024.smartadmin.service.common.domain.ResponseDTO; import net.lab1024.smartadmin.service.config.FileCloudConfig; -import net.lab1024.smartadmin.service.module.support.file.domain.FileFolderTypeEnum; +import net.lab1024.smartadmin.service.module.support.file.constant.FileFolderTypeEnum; import net.lab1024.smartadmin.service.module.support.file.domain.dto.FileDownloadDTO; import net.lab1024.smartadmin.service.module.support.file.domain.dto.FileMetadataDTO; import net.lab1024.smartadmin.service.module.support.file.domain.vo.FileUploadVO; diff --git a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/idgenerator/constant/IdGeneratorEnum.java b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/idgenerator/constant/IdGeneratorEnum.java index 3c0403bf..ab0f9f31 100644 --- a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/idgenerator/constant/IdGeneratorEnum.java +++ b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/idgenerator/constant/IdGeneratorEnum.java @@ -19,7 +19,20 @@ public enum IdGeneratorEnum implements BaseEnum { ; - private final Integer value; + private final Integer idGeneratorId; private final String desc; + + @Override + public Integer getValue() { + return idGeneratorId; + } + + @Override + public String toString() { + return "IdGeneratorEnum{" + + "idGeneratorId=" + idGeneratorId + + ", desc='" + desc + '\'' + + '}'; + } } diff --git a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/idgenerator/IdGeneratorController.java b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/idgenerator/controller/IdGeneratorController.java similarity index 86% rename from admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/idgenerator/IdGeneratorController.java rename to admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/idgenerator/controller/IdGeneratorController.java index 39dbba3e..3c74e299 100644 --- a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/idgenerator/IdGeneratorController.java +++ b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/idgenerator/controller/IdGeneratorController.java @@ -1,4 +1,4 @@ -package net.lab1024.smartadmin.service.module.support.idgenerator; +package net.lab1024.smartadmin.service.module.support.idgenerator.controller; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -8,7 +8,6 @@ import net.lab1024.smartadmin.service.common.domain.ResponseDTO; import net.lab1024.smartadmin.service.common.util.SmartBaseEnumUtil; import net.lab1024.smartadmin.service.constant.SwaggerTagConst; import net.lab1024.smartadmin.service.module.support.idgenerator.constant.IdGeneratorEnum; -import net.lab1024.smartadmin.service.module.support.idgenerator.constant.IdGeneratorStrategyTypeEnum; import net.lab1024.smartadmin.service.module.support.idgenerator.service.IdGeneratorService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; @@ -17,9 +16,7 @@ import org.springframework.web.bind.annotation.RestController; /** * id生成器路由 - * - * @author listen - * @date 2019/09/26 21:13 + * @author zhuoda */ @Api(tags = SwaggerTagConst.Support.SUPPORT_ID_GENERATOR) @RestController @@ -28,14 +25,14 @@ public class IdGeneratorController extends SupportBaseController { @Autowired private IdGeneratorService idGeneratorService; - @ApiOperation("生成id by listen") + @ApiOperation("生成id @author zhuoda") @GetMapping("/id/generator/{generatorId}") public ResponseDTO generate(@PathVariable Integer generatorId) { IdGeneratorEnum idGeneratorEnum = SmartBaseEnumUtil.getEnumByValue(generatorId, IdGeneratorEnum.class); if (null == idGeneratorEnum) { return ResponseDTO.error(UserErrorCode.PARAM_ERROR, "IdGenerator,不存在" + generatorId); } - return ResponseDTO.ok(idGeneratorService.generate(idGeneratorEnum, IdGeneratorStrategyTypeEnum.INTERN)); + return ResponseDTO.ok(idGeneratorService.generate(idGeneratorEnum)); } } diff --git a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/idgenerator/service/IdGeneratorCacheManager.java b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/idgenerator/manager/IdGeneratorCacheManager.java similarity index 99% rename from admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/idgenerator/service/IdGeneratorCacheManager.java rename to admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/idgenerator/manager/IdGeneratorCacheManager.java index 5485b248..727c2d0b 100644 --- a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/idgenerator/service/IdGeneratorCacheManager.java +++ b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/idgenerator/manager/IdGeneratorCacheManager.java @@ -1,4 +1,4 @@ -package net.lab1024.smartadmin.service.module.support.idgenerator.service; +package net.lab1024.smartadmin.service.module.support.idgenerator.manager; import lombok.extern.slf4j.Slf4j; import net.lab1024.smartadmin.service.constant.CacheModuleConst; diff --git a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/idgenerator/service/IdGeneratorBaseService.java b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/idgenerator/service/IdGeneratorBaseService.java new file mode 100644 index 00000000..c5b5d291 --- /dev/null +++ b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/idgenerator/service/IdGeneratorBaseService.java @@ -0,0 +1,143 @@ +package net.lab1024.smartadmin.service.module.support.idgenerator.service; + +import net.lab1024.smartadmin.service.common.exception.BusinessException; +import net.lab1024.smartadmin.service.common.util.SmartBaseEnumUtil; +import net.lab1024.smartadmin.service.common.util.SmartRandomUtil; +import net.lab1024.smartadmin.service.module.support.idgenerator.constant.IdGeneratorEnum; +import net.lab1024.smartadmin.service.module.support.idgenerator.constant.IdGeneratorRuleTypeEnum; +import net.lab1024.smartadmin.service.module.support.idgenerator.dao.IdGeneratorDao; +import net.lab1024.smartadmin.service.module.support.idgenerator.dao.IdGeneratorRecordDao; +import net.lab1024.smartadmin.service.module.support.idgenerator.domain.IdGeneratorEntity; +import net.lab1024.smartadmin.service.module.support.idgenerator.domain.IdGeneratorRecordEntity; +import net.lab1024.smartadmin.service.module.support.idgenerator.manager.IdGeneratorCacheManager; +import org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.math.NumberUtils; +import org.springframework.aop.framework.AopContext; +import org.springframework.beans.factory.annotation.Autowired; + +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; + +/** + * @author zhuoda + * @Date 2021-11-10 + */ +public abstract class IdGeneratorBaseService implements IdGeneratorService { + + @Autowired + protected IdGeneratorCacheManager idGeneratorCacheManager; + + @Autowired + protected IdGeneratorRecordDao idGeneratorRecordDao; + + @Autowired + protected IdGeneratorDao idGeneratorDao; + + abstract List tryGenerator(IdGeneratorEnum idGeneratorEnum, int count); + + @Override + public String generate(IdGeneratorEnum idGeneratorEnum) { + List generateList = this.generate(idGeneratorEnum, 1); + if (generateList == null || generateList.isEmpty()) { + throw new BusinessException("cannot generate id : " + idGeneratorEnum.toString()); + } + return generateList.get(0); + } + + @Override + public List generate(IdGeneratorEnum idGeneratorEnum, int count) { + IdGeneratorEntity idGeneratorEntity = idGeneratorCacheManager.getIdGeneratorEntity(idGeneratorEnum.getIdGeneratorId()); + if (idGeneratorEntity == null) { + throw new BusinessException("cannot found id generator : " + idGeneratorEnum.toString()); + } + return this.tryGenerator(idGeneratorEnum, count); + } + + protected List generateIdList(IdGeneratorEntity idGeneratorEntity, int count) { + // 校验生成规则 + IdGeneratorRuleTypeEnum ruleTypeEnum = SmartBaseEnumUtil.getEnumByName(idGeneratorEntity.getRuleType(), IdGeneratorRuleTypeEnum.class); + if (ruleTypeEnum == null) { + throw new BusinessException("cannot found IdGeneratorRuleTypeEnum, id generator : " + idGeneratorEntity.getBusinessName()); + } + + // 有循环周期 + String timeFormat = null; + DateTimeFormatter timeFormatter = null; + if (IdGeneratorRuleTypeEnum.YEAR_CYCLE == ruleTypeEnum || IdGeneratorRuleTypeEnum.MONTH_CYCLE == ruleTypeEnum || IdGeneratorRuleTypeEnum.DAY_CYCLE == ruleTypeEnum) { + timeFormatter = DateTimeFormatter.ofPattern(ruleTypeEnum.getValue()); + timeFormat = LocalDateTime.now().format(timeFormatter); + } + // 上次的值 + Long lastNumber = null; + IdGeneratorRecordEntity recordEntity = idGeneratorRecordDao.selectHistoryLastNumber(idGeneratorEntity.getId(), timeFormat); + // 没有循环 或 在同个循环周期内,起始值 = 上次id + boolean isSameTime = recordEntity != null && Objects.equals(recordEntity.getUpdateTime().format(timeFormatter), timeFormat); + if (IdGeneratorRuleTypeEnum.NO_CYCLE == ruleTypeEnum || isSameTime) { + lastNumber = recordEntity.getLastNumber(); + } else { + // 重头开始 + lastNumber = idGeneratorEntity.getInitNumber(); + } + + //批量生成 + List list = new ArrayList<>(); + long stepValue = lastNumber; + boolean isNeedRandom = idGeneratorEntity.getStepRandomRange() > 1; + boolean existPrefix = StringUtils.isNotBlank(idGeneratorEntity.getPrefix()); + for (int i = 0; i < count; i++) { + // 需要随机 + if (isNeedRandom) { + //随机长度 + int randomLength = SmartRandomUtil.nextInt(1, idGeneratorEntity.getStepRandomRange()); + stepValue = stepValue + randomLength; + } else { + stepValue = stepValue + 1; + } + + // 默认 最低长度 1 + int minLength = NumberUtils.max(idGeneratorEntity.getMinLength(), 1); + // id长度补位 + String finalId = String.format("%0" + minLength + "d", stepValue); + if (null != timeFormat) { + finalId = timeFormat + finalId; + } + // 前缀 + if (existPrefix) { + finalId = idGeneratorEntity.getPrefix() + finalId; + } + list.add(finalId); + } + // 保存记录 + saveRecord(idGeneratorEntity.getId(), recordEntity, timeFormat, stepValue); + return list; + } + + + private void saveRecord(Integer idGeneratorId, IdGeneratorRecordEntity recordEntity, String time, long lastNumber) { + if (recordEntity == null) { + insertRecord(idGeneratorId, time, lastNumber); + } else { + updateRecord(recordEntity, time, lastNumber); + } + } + + private void insertRecord(Integer idGeneratorId, String time, long lastNumber) { + IdGeneratorRecordEntity recordEntity = new IdGeneratorRecordEntity(); + recordEntity.setGeneratorId(idGeneratorId); + recordEntity.setTime(time); + recordEntity.setLastNumber(lastNumber); + recordEntity.setCount(1L); + idGeneratorRecordDao.insert(recordEntity); + } + + private void updateRecord(IdGeneratorRecordEntity updateRecordEntity, String time, long lastNumber) { + updateRecordEntity.setTime(time); + updateRecordEntity.setLastNumber(lastNumber); + updateRecordEntity.setCount(updateRecordEntity.getCount() + 1); + idGeneratorRecordDao.updateById(updateRecordEntity); + } + +} diff --git a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/idgenerator/service/IdGeneratorInternService.java b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/idgenerator/service/IdGeneratorInternService.java new file mode 100644 index 00000000..45d8ddb9 --- /dev/null +++ b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/idgenerator/service/IdGeneratorInternService.java @@ -0,0 +1,28 @@ +package net.lab1024.smartadmin.service.module.support.idgenerator.service; + +import com.google.common.collect.Interner; +import com.google.common.collect.Interners; +import net.lab1024.smartadmin.service.module.support.idgenerator.constant.IdGeneratorEnum; +import net.lab1024.smartadmin.service.module.support.idgenerator.domain.IdGeneratorEntity; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * @author zhuoda + * @Date 2021-11-10 + */ + +@Service +public class IdGeneratorInternService extends IdGeneratorBaseService { + + private static final Interner POOL = Interners.newWeakInterner(); + + @Override + List tryGenerator(IdGeneratorEnum idGeneratorEnum, int count) { + IdGeneratorEntity idGeneratorEntity = idGeneratorCacheManager.getIdGeneratorEntity(idGeneratorEnum.getValue()); + synchronized (POOL.intern(idGeneratorEntity.getId())) { + return generateIdList(idGeneratorEntity, count); + } + } +} diff --git a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/idgenerator/service/IdGeneratorMysqlService.java b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/idgenerator/service/IdGeneratorMysqlService.java new file mode 100644 index 00000000..162a74d9 --- /dev/null +++ b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/idgenerator/service/IdGeneratorMysqlService.java @@ -0,0 +1,55 @@ +package net.lab1024.smartadmin.service.module.support.idgenerator.service; + +import lombok.extern.slf4j.Slf4j; +import net.lab1024.smartadmin.service.common.exception.BusinessException; +import net.lab1024.smartadmin.service.module.support.idgenerator.constant.IdGeneratorEnum; +import net.lab1024.smartadmin.service.module.support.idgenerator.domain.IdGeneratorEntity; +import org.springframework.aop.framework.AopContext; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +/** + * @author zhuoda + * @Date 2021-11-10 + */ + +@Slf4j +public class IdGeneratorMysqlService extends IdGeneratorBaseService { + + private static final int MAX_GET_LOCK_COUNT = 5; + + private static final long SLEEP_MILLISECONDS = 500L; + + private static volatile long lastSleepMilliSeconds = SLEEP_MILLISECONDS; + + @Override + @Transactional(rollbackFor = Throwable.class) + public String generate(IdGeneratorEnum idGeneratorEnum) { + List generateList = this.generate(idGeneratorEnum, 1); + if (generateList == null || generateList.isEmpty()) { + throw new BusinessException("cannot generate id : " + idGeneratorEnum.toString()); + } + return generateList.get(0); + } + + @Override + @Transactional(rollbackFor = Throwable.class) + public List generate(IdGeneratorEnum idGeneratorEnum, int count) { + IdGeneratorEntity idGeneratorEntity = idGeneratorCacheManager.getIdGeneratorEntity(idGeneratorEnum.getIdGeneratorId()); + if (idGeneratorEntity == null) { + throw new BusinessException("cannot found id generator : " + idGeneratorEnum.toString()); + } + IdGeneratorBaseService proxyService = (IdGeneratorBaseService) AopContext.currentProxy(); + return proxyService.tryGenerator(idGeneratorEnum, count); + } + + @Override + List tryGenerator(IdGeneratorEnum idGeneratorEnum, int count) { + IdGeneratorEntity idGeneratorEntity = idGeneratorDao.selectForUpdate(idGeneratorEnum.getValue()); + if (idGeneratorEntity == null) { + throw new BusinessException("IdGenerator, id 数据库不存在"); + } + return generate(idGeneratorEnum, count); + } +} diff --git a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/idgenerator/strategy/IdGeneratorRedisStrategy.java b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/idgenerator/service/IdGeneratorRedisService.java similarity index 64% rename from admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/idgenerator/strategy/IdGeneratorRedisStrategy.java rename to admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/idgenerator/service/IdGeneratorRedisService.java index 2a4d6c01..65f282fa 100644 --- a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/idgenerator/strategy/IdGeneratorRedisStrategy.java +++ b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/idgenerator/service/IdGeneratorRedisService.java @@ -1,25 +1,22 @@ -package net.lab1024.smartadmin.service.module.support.idgenerator.strategy; +package net.lab1024.smartadmin.service.module.support.idgenerator.service; import lombok.extern.slf4j.Slf4j; import net.lab1024.smartadmin.service.common.exception.BusinessException; import net.lab1024.smartadmin.service.constant.RedisKeyConst; import net.lab1024.smartadmin.service.module.support.idgenerator.constant.IdGeneratorEnum; -import net.lab1024.smartadmin.service.module.support.idgenerator.constant.IdGeneratorStrategyTypeEnum; import net.lab1024.smartadmin.service.module.support.idgenerator.domain.IdGeneratorEntity; -import net.lab1024.smartadmin.service.module.support.idgenerator.service.IdGeneratorCacheManager; import net.lab1024.smartadmin.service.module.support.redis.RedisService; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; + +import java.util.List; /** - * [ ] - * - * @author yandanyang - * @date 2021/11/9 18:48 + * @author zhuoda + * @Date 2021-11-10 */ + @Slf4j -@Service -public class IdGeneratorRedisStrategy extends IdGeneratorStrategyBaseService { +public class IdGeneratorRedisService extends IdGeneratorBaseService { private static final int MAX_GET_LOCK_COUNT = 5; @@ -27,30 +24,11 @@ public class IdGeneratorRedisStrategy extends IdGeneratorStrategyBaseService { private static volatile long lastSleepMilliSeconds = SLEEP_MILLISECONDS; - @Autowired - private IdGeneratorCacheManager idGeneratorCacheManager; @Autowired private RedisService redisService; - /** - * 策略类型 - * - * @return - */ @Override - public IdGeneratorStrategyTypeEnum getStrategyType() { - return IdGeneratorStrategyTypeEnum.REDIS; - } - - /** - * 生成 - * - * @param idGeneratorEnum - * @return - */ - @Override - public String generate(IdGeneratorEnum idGeneratorEnum) { - IdGeneratorEntity idGeneratorEntity = idGeneratorCacheManager.getIdGeneratorEntity(idGeneratorEnum.getValue()); + List tryGenerator(IdGeneratorEnum idGeneratorEnum, int count) { String lockKey = RedisKeyConst.Support.ID_GENERATOR + idGeneratorEnum.getValue(); try { boolean lock = false; @@ -70,9 +48,9 @@ public class IdGeneratorRedisStrategy extends IdGeneratorStrategyBaseService { } long beginTime = System.currentTimeMillis(); - String id = generate(idGeneratorEntity); + List list = generate(idGeneratorEnum, count); lastSleepMilliSeconds = System.currentTimeMillis() - beginTime + 100; - return id; + return list; } catch (Throwable e) { log.error(e.getMessage(), e); throw e; diff --git a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/idgenerator/service/IdGeneratorService.java b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/idgenerator/service/IdGeneratorService.java index 5fa1d316..3960344c 100644 --- a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/idgenerator/service/IdGeneratorService.java +++ b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/idgenerator/service/IdGeneratorService.java @@ -1,44 +1,31 @@ package net.lab1024.smartadmin.service.module.support.idgenerator.service; -import lombok.extern.slf4j.Slf4j; import net.lab1024.smartadmin.service.module.support.idgenerator.constant.IdGeneratorEnum; -import net.lab1024.smartadmin.service.module.support.idgenerator.constant.IdGeneratorStrategyTypeEnum; -import net.lab1024.smartadmin.service.module.support.idgenerator.strategy.IdGeneratorStrategyFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; + +import java.util.List; /** - * 全局id生成器 - * - * @author zhuo + * @author zhuoda + * @Date 2021-11-10 */ -@Slf4j -@Service -public class IdGeneratorService { - - @Autowired - private IdGeneratorStrategyFactory idGeneratorStrategyFactory; +public interface IdGeneratorService { /** - * 自定义生成策略生成 - * - * @param idGeneratorEnum - * @param strategyTypeEnum - * @return - */ - public String generate(IdGeneratorEnum idGeneratorEnum, IdGeneratorStrategyTypeEnum strategyTypeEnum) { - return idGeneratorStrategyFactory.getIdGeneratorStrategy(strategyTypeEnum).generate(idGeneratorEnum); - } - - /** - * 简单的生成 依据 intern + * 生成 * * @param idGeneratorEnum * @return */ - public String simpleGenerate(IdGeneratorEnum idGeneratorEnum) { - return idGeneratorStrategyFactory.getIdGeneratorStrategy(IdGeneratorStrategyTypeEnum.INTERN).generate(idGeneratorEnum); - } + String generate(IdGeneratorEnum idGeneratorEnum); + /** + * 生成n个 + * + * @param idGeneratorEnum + * @param count + * @return + */ + List generate(IdGeneratorEnum idGeneratorEnum, int count); + } diff --git a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/idgenerator/strategy/IIdGeneratorStrategy.java b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/idgenerator/strategy/IIdGeneratorStrategy.java deleted file mode 100644 index 9ce2ac4b..00000000 --- a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/idgenerator/strategy/IIdGeneratorStrategy.java +++ /dev/null @@ -1,36 +0,0 @@ -package net.lab1024.smartadmin.service.module.support.idgenerator.strategy; - -import net.lab1024.smartadmin.service.common.util.SmartRandomUtil; -import net.lab1024.smartadmin.service.module.support.idgenerator.constant.IdGeneratorEnum; -import net.lab1024.smartadmin.service.module.support.idgenerator.constant.IdGeneratorRuleTypeEnum; -import net.lab1024.smartadmin.service.module.support.idgenerator.constant.IdGeneratorStrategyTypeEnum; -import net.lab1024.smartadmin.service.module.support.idgenerator.domain.IdGeneratorRecordEntity; -import org.apache.commons.lang3.StringUtils; -import org.apache.commons.lang3.math.NumberUtils; - -import java.time.format.DateTimeFormatter; -import java.util.Objects; - -/** - * [ ] - * - * @author yandanyang - * @date 2021/11/9 18:48 - */ -public interface IIdGeneratorStrategy { - - /** - * 策略类型 - * @return - */ - IdGeneratorStrategyTypeEnum getStrategyType(); - - /** - * 生成 - * @param idGeneratorEnum - * @return - */ - String generate(IdGeneratorEnum idGeneratorEnum); - - -} diff --git a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/idgenerator/strategy/IdGeneratorInternStrategy.java b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/idgenerator/strategy/IdGeneratorInternStrategy.java deleted file mode 100644 index d2465107..00000000 --- a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/idgenerator/strategy/IdGeneratorInternStrategy.java +++ /dev/null @@ -1,48 +0,0 @@ -package net.lab1024.smartadmin.service.module.support.idgenerator.strategy; - -import com.google.common.collect.Interner; -import com.google.common.collect.Interners; -import net.lab1024.smartadmin.service.module.support.idgenerator.constant.IdGeneratorEnum; -import net.lab1024.smartadmin.service.module.support.idgenerator.constant.IdGeneratorStrategyTypeEnum; -import net.lab1024.smartadmin.service.module.support.idgenerator.domain.IdGeneratorEntity; -import net.lab1024.smartadmin.service.module.support.idgenerator.service.IdGeneratorCacheManager; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -/** - * [ ] - * - * @author yandanyang - * @date 2021/11/9 18:48 - */ -@Service -public class IdGeneratorInternStrategy extends IdGeneratorStrategyBaseService { - - private static final Interner POOL = Interners.newWeakInterner(); - @Autowired - private IdGeneratorCacheManager idGeneratorCacheManager; - - /** - * 策略类型 - * - * @return - */ - @Override - public IdGeneratorStrategyTypeEnum getStrategyType() { - return IdGeneratorStrategyTypeEnum.INTERN; - } - - /** - * 生成 - * - * @param idGeneratorEnum - * @return - */ - @Override - public String generate(IdGeneratorEnum idGeneratorEnum) { - IdGeneratorEntity idGeneratorEntity = idGeneratorCacheManager.getIdGeneratorEntity(idGeneratorEnum.getValue()); - synchronized (POOL.intern(idGeneratorEntity.getId())) { - return generate(idGeneratorEntity); - } - } -} diff --git a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/idgenerator/strategy/IdGeneratorMySqlStrategy.java b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/idgenerator/strategy/IdGeneratorMySqlStrategy.java deleted file mode 100644 index ad481bb3..00000000 --- a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/idgenerator/strategy/IdGeneratorMySqlStrategy.java +++ /dev/null @@ -1,53 +0,0 @@ -package net.lab1024.smartadmin.service.module.support.idgenerator.strategy; - -import lombok.extern.slf4j.Slf4j; -import net.lab1024.smartadmin.service.common.exception.BusinessException; -import net.lab1024.smartadmin.service.module.support.idgenerator.constant.IdGeneratorEnum; -import net.lab1024.smartadmin.service.module.support.idgenerator.constant.IdGeneratorStrategyTypeEnum; -import net.lab1024.smartadmin.service.module.support.idgenerator.dao.IdGeneratorDao; -import net.lab1024.smartadmin.service.module.support.idgenerator.domain.IdGeneratorEntity; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -/** - * [ ] - * - * @author yandanyang - * @date 2021/11/9 18:48 - */ -@Slf4j -@Service -public class IdGeneratorMySqlStrategy extends IdGeneratorStrategyBaseService { - - - @Autowired - private IdGeneratorDao idGeneratorDao; - - /** - * 策略类型 - * - * @return - */ - @Override - public IdGeneratorStrategyTypeEnum getStrategyType() { - return IdGeneratorStrategyTypeEnum.MYSQL_LOCK; - } - - /** - * 生成 - * - * @param idGeneratorEnum - * @return - */ - @Override - @Transactional(rollbackFor = Throwable.class) - public String generate(IdGeneratorEnum idGeneratorEnum) { - IdGeneratorEntity idGeneratorEntity = idGeneratorDao.selectForUpdate(idGeneratorEnum.getValue()); - if (idGeneratorEntity == null) { - throw new BusinessException("IdGenerator, id 数据库不存在"); - } - return generate(idGeneratorEntity); - - } -} diff --git a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/idgenerator/strategy/IdGeneratorStrategyBaseService.java b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/idgenerator/strategy/IdGeneratorStrategyBaseService.java deleted file mode 100644 index 140c96f5..00000000 --- a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/idgenerator/strategy/IdGeneratorStrategyBaseService.java +++ /dev/null @@ -1,82 +0,0 @@ -package net.lab1024.smartadmin.service.module.support.idgenerator.strategy; - -import net.lab1024.smartadmin.service.common.util.SmartBaseEnumUtil; -import net.lab1024.smartadmin.service.common.util.SmartRandomUtil; -import net.lab1024.smartadmin.service.module.support.idgenerator.constant.IdGeneratorRuleTypeEnum; -import net.lab1024.smartadmin.service.module.support.idgenerator.dao.IdGeneratorRecordDao; -import net.lab1024.smartadmin.service.module.support.idgenerator.domain.IdGeneratorEntity; -import net.lab1024.smartadmin.service.module.support.idgenerator.domain.IdGeneratorRecordEntity; -import org.apache.commons.lang3.StringUtils; -import org.apache.commons.lang3.math.NumberUtils; -import org.springframework.beans.factory.annotation.Autowired; - -import java.time.LocalDateTime; -import java.time.format.DateTimeFormatter; -import java.util.Objects; - -/** - * [ ] - * - * @author yandanyang - * @date 2021/11/9 19:12 - */ -public abstract class IdGeneratorStrategyBaseService implements IIdGeneratorStrategy{ - - @Autowired - private IdGeneratorRecordDao idGeneratorRecordDao; - - - public String generate(IdGeneratorEntity idGeneratorEntity){ - // 校验生成规则 - IdGeneratorRuleTypeEnum ruleTypeEnum = SmartBaseEnumUtil.getEnumByName(idGeneratorEntity.getRuleType(),IdGeneratorRuleTypeEnum.class); - // 默认起始值 - Long startNumber = idGeneratorEntity.getInitNumber(); - Integer generatorId = idGeneratorEntity.getId(); - // 判断是否有循环规则 - String timeFormat = null; - DateTimeFormatter timeFormatter = null; - if (IdGeneratorRuleTypeEnum.YEAR_CYCLE == ruleTypeEnum || IdGeneratorRuleTypeEnum.MONTH_CYCLE == ruleTypeEnum || IdGeneratorRuleTypeEnum.DAY_CYCLE == ruleTypeEnum) { - timeFormatter = DateTimeFormatter.ofPattern(ruleTypeEnum.getValue()); - timeFormat = LocalDateTime.now().format(timeFormatter); - } - // 获取最后一次生成记录 - boolean isFirst = false; - IdGeneratorRecordEntity recordEntity = idGeneratorRecordDao.selectHistoryLastNumber(generatorId, timeFormat); - if (recordEntity == null) { - recordEntity = new IdGeneratorRecordEntity(); - recordEntity.setGeneratorId(generatorId); - recordEntity.setTime(timeFormat); - recordEntity.setLastNumber(startNumber); - recordEntity.setCount(1L); - idGeneratorRecordDao.insert(recordEntity); - - isFirst = true; - } - - // 没有循环 或 在同个循环周期内,起始值 = 上次id - if (IdGeneratorRuleTypeEnum.NO_CYCLE == ruleTypeEnum || Objects.equals(recordEntity.getUpdateTime().format(timeFormatter), timeFormat)) { - startNumber = recordEntity.getLastNumber(); - } - // 在范围内随机生成此次增加的数值 更新id生成记录 - if (!isFirst) { - startNumber += SmartRandomUtil.nextInt(1, idGeneratorEntity.getStepRandomRange()); - IdGeneratorRecordEntity updateRecordEntity = new IdGeneratorRecordEntity(); - updateRecordEntity.setId(recordEntity.getId()); - updateRecordEntity.setLastNumber(startNumber); - updateRecordEntity.setCount(recordEntity.getCount() + 1); - idGeneratorRecordDao.updateById(updateRecordEntity); - } - // 默认 最低长度 1 - int minLength = NumberUtils.max(idGeneratorEntity.getMinLength(), 1); - // id长度补位 - String finalId = String.format("%0" + minLength + "d", startNumber); - if (null != timeFormat) { - finalId = timeFormat + finalId; - } - // 前缀 - if (StringUtils.isNotBlank(idGeneratorEntity.getPrefix())) { - finalId = idGeneratorEntity.getPrefix() + finalId; - } - return finalId; - } -} diff --git a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/idgenerator/strategy/IdGeneratorStrategyFactory.java b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/idgenerator/strategy/IdGeneratorStrategyFactory.java deleted file mode 100644 index 12d6b0da..00000000 --- a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/idgenerator/strategy/IdGeneratorStrategyFactory.java +++ /dev/null @@ -1,34 +0,0 @@ -package net.lab1024.smartadmin.service.module.support.idgenerator.strategy; - -import net.lab1024.smartadmin.service.module.support.idgenerator.constant.IdGeneratorStrategyTypeEnum; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.util.List; -import java.util.Optional; - -/** - * [ ] - * - * @author yandanyang - * @date 2021/11/9 18:48 - */ -@Service -public class IdGeneratorStrategyFactory { - - @Autowired - private List idGeneratorStrategyList; - - /** - * 获取某个策略 - * @param strategyTypeEnum - * @return - */ - public IIdGeneratorStrategy getIdGeneratorStrategy(IdGeneratorStrategyTypeEnum strategyTypeEnum) { - Optional idGeneratorStrategyOptional = idGeneratorStrategyList.stream().filter(e -> e.getStrategyType() == strategyTypeEnum).findFirst(); - if (!idGeneratorStrategyOptional.isPresent()) { - return null; - } - return idGeneratorStrategyOptional.get(); - } -} diff --git a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/responseencrypt/DecryptDTO.java b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/jwe/DecryptData.java similarity index 54% rename from admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/responseencrypt/DecryptDTO.java rename to admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/jwe/DecryptData.java index 16a2ef56..7a3ca6a3 100644 --- a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/responseencrypt/DecryptDTO.java +++ b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/jwe/DecryptData.java @@ -1,4 +1,4 @@ -package net.lab1024.smartadmin.service.module.support.responseencrypt; +package net.lab1024.smartadmin.service.module.support.jwe; import lombok.Data; @@ -9,7 +9,7 @@ import lombok.Data; * @date 2021/6/29 10:49 */ @Data -public class DecryptDTO { +class DecryptData { private String data; } diff --git a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/responseencrypt/ResponseEncryptDecryptAspect.java b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/jwe/JweAspect.java similarity index 81% rename from admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/responseencrypt/ResponseEncryptDecryptAspect.java rename to admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/jwe/JweAspect.java index 4da19454..6899c56e 100644 --- a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/responseencrypt/ResponseEncryptDecryptAspect.java +++ b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/jwe/JweAspect.java @@ -1,4 +1,4 @@ -package net.lab1024.smartadmin.service.module.support.responseencrypt; +package net.lab1024.smartadmin.service.module.support.jwe; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.serializer.SerializerFeature; @@ -29,19 +29,19 @@ import java.util.function.Function; @Slf4j @Aspect @Order(100) -public class ResponseEncryptDecryptAspect { +public class JweAspect { - private Function userFunction; + private Function userFunction; - public ResponseEncryptDecryptAspect(Function userFunction) { + public JweAspect(Function userFunction) { this.userFunction = userFunction; } - @Before("@annotation(ResponseDecrypt)") + @Before("@annotation(net.lab1024.smartadmin.service.module.support.jwe.JweDecrypt)") public void before(JoinPoint joinPoint) { Method method = ((MethodSignature) joinPoint.getSignature()).getMethod(); - ResponseDecrypt annotation = method.getAnnotation(ResponseDecrypt.class); + JweDecrypt annotation = method.getAnnotation(JweDecrypt.class); if (annotation == null) { return; } @@ -53,16 +53,16 @@ public class ResponseEncryptDecryptAspect { return; } HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); - ResponseEncryptDecryptUserDTO user = this.userFunction.apply(request); + JweUserKey user = this.userFunction.apply(request); if (user == null) { return; } - Boolean decryptParamFlag = params[0] instanceof DecryptDTO; + Boolean decryptParamFlag = params[0] instanceof DecryptData; if (!decryptParamFlag) { return; } - DecryptDTO decryptDTO = (DecryptDTO)params[0]; - String data = decryptDTO.getData(); + DecryptData decryptData = (DecryptData)params[0]; + String data = decryptData.getData(); log.info("解密前数据:{}", data); String key = SmartDigestUtil.md5Hex(user.getUserId().toString()); log.info("解密KEY数据:{}", key); @@ -74,19 +74,19 @@ public class ResponseEncryptDecryptAspect { //base64解码 data = new String(Base64Utils.decodeFromString(data)); log.info("base64解码后数据:{}", data); - decryptDTO.setData(data); + decryptData.setData(data); } - @AfterReturning(returning = "object", pointcut = "@annotation(ResponseEncrypt)") + @AfterReturning(returning = "object", pointcut = "@annotation(net.lab1024.smartadmin.service.module.support.jwe.JweEncrypt)") public void afterReturning(JoinPoint joinPoint, Object object) { Method method = ((MethodSignature) joinPoint.getSignature()).getMethod(); - ResponseEncrypt annotation = method.getAnnotation(ResponseEncrypt.class); + JweEncrypt annotation = method.getAnnotation(JweEncrypt.class); if (annotation == null) { return; } HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); - ResponseEncryptDecryptUserDTO user = this.userFunction.apply(request); + JweUserKey user = this.userFunction.apply(request); if (user == null) { return; } diff --git a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/responseencrypt/ResponseDecrypt.java b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/jwe/JweDecrypt.java similarity index 73% rename from admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/responseencrypt/ResponseDecrypt.java rename to admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/jwe/JweDecrypt.java index c0bc1cac..927c28e0 100644 --- a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/responseencrypt/ResponseDecrypt.java +++ b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/jwe/JweDecrypt.java @@ -1,4 +1,4 @@ -package net.lab1024.smartadmin.service.module.support.responseencrypt; +package net.lab1024.smartadmin.service.module.support.jwe; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; @@ -13,5 +13,5 @@ import java.lang.annotation.Target; */ @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.METHOD) -public @interface ResponseDecrypt { +public @interface JweDecrypt { } \ No newline at end of file diff --git a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/responseencrypt/ResponseEncrypt.java b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/jwe/JweEncrypt.java similarity index 73% rename from admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/responseencrypt/ResponseEncrypt.java rename to admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/jwe/JweEncrypt.java index ec706435..d2779638 100644 --- a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/responseencrypt/ResponseEncrypt.java +++ b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/jwe/JweEncrypt.java @@ -1,4 +1,4 @@ -package net.lab1024.smartadmin.service.module.support.responseencrypt; +package net.lab1024.smartadmin.service.module.support.jwe; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; @@ -13,5 +13,5 @@ import java.lang.annotation.Target; */ @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.METHOD) -public @interface ResponseEncrypt { +public @interface JweEncrypt { } \ No newline at end of file diff --git a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/jwe/JweUserKey.java b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/jwe/JweUserKey.java new file mode 100644 index 00000000..c56ace78 --- /dev/null +++ b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/jwe/JweUserKey.java @@ -0,0 +1,27 @@ +package net.lab1024.smartadmin.service.module.support.jwe; + +import lombok.Data; + +/** + * @Description: 解密用用户信息作为key + * @Author: 罗伊 + */ +@Data +public class JweUserKey { + + /** + * 用户id + */ + private Long userId; + + /** + * 用户名 + */ + private String userName; + + /** + * 扩展信息 + */ + private String extData; + +} diff --git a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/responseencrypt/ResponseEncryptDecryptUserDTO.java b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/responseencrypt/ResponseEncryptDecryptUserDTO.java deleted file mode 100644 index 858d176f..00000000 --- a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/support/responseencrypt/ResponseEncryptDecryptUserDTO.java +++ /dev/null @@ -1,29 +0,0 @@ -package net.lab1024.smartadmin.service.module.support.responseencrypt; - -import lombok.Data; - -/** -* @Description: 用户信息 -* @Author: sbq -* @CreateDate: 2019/8/2 10:41 -* @Version: 1.0 -*/ -@Data -public class ResponseEncryptDecryptUserDTO { - - /** - * 用户id - */ - private Long userId; - - /** - * 用户名 - */ - private String userName; - - /** - * 扩展信息 - */ - private String extData; - -} diff --git a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/system/role/domain/entity/RoleDataScopeEntity.java b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/system/role/domain/entity/RoleDataScopeEntity.java index a9c3c1c2..72248cab 100644 --- a/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/system/role/domain/entity/RoleDataScopeEntity.java +++ b/admin-api/java-api/src/main/java/net/lab1024/smartadmin/service/module/system/role/domain/entity/RoleDataScopeEntity.java @@ -23,12 +23,12 @@ public class RoleDataScopeEntity { private Long id; /** * 数据范围id - * {@link net.lab1024.smartadmin.service.module.system.datascope.constant.DataScopeTypeEnum} + * {@link net.lab1024.smartadmin.service.module.support.datascope.constant.DataScopeTypeEnum} */ private Integer dataScopeType; /** * 数据范围类型 - * {@link net.lab1024.smartadmin.service.module.system.datascope.constant.DataScopeViewTypeEnum} + * {@link net.lab1024.smartadmin.service.module.support.datascope.constant.DataScopeViewTypeEnum} */ private Integer viewType; /** diff --git a/admin-api/java-api/src/main/resources/dev/application.properties b/admin-api/java-api/src/main/resources/dev/application.properties index 2cbfe8d8..b023359b 100644 --- a/admin-api/java-api/src/main/resources/dev/application.properties +++ b/admin-api/java-api/src/main/resources/dev/application.properties @@ -28,7 +28,7 @@ spring.jackson.serialization.write-dates-as-timestamps=false spring.datasource.url=jdbc:p6spy:mysql://127.0.0.1:11024/smart_admin_v2?autoReconnect=true&useServerPreparedStmts=false&rewriteBatchedStatements=true&characterEncoding=UTF-8&useSSL=false&allowMultiQueries=true&serverTimezone=Asia/Shanghai spring.datasource.username=root -spring.datasource.password=xxxx +spring.datasource.password=xxx spring.datasource.initial-size=2 spring.datasource.min-idle=1 diff --git a/admin-api/java-api/src/main/resources/mapper/support/FileMapper.xml b/admin-api/java-api/src/main/resources/mapper/support/FileMapper.xml index 1395a00a..8a50cb03 100644 --- a/admin-api/java-api/src/main/resources/mapper/support/FileMapper.xml +++ b/admin-api/java-api/src/main/resources/mapper/support/FileMapper.xml @@ -1,6 +1,6 @@ - +