diff --git a/smart-admin-service/pom.xml b/smart-admin-service/pom.xml index 3726290a..39a6f3ce 100644 --- a/smart-admin-service/pom.xml +++ b/smart-admin-service/pom.xml @@ -22,13 +22,15 @@ 1.7 2.0 2.7.0 + 2.0.4 3.3.1 - 1.2.66 + 1.2.73 28.2-jre 2.7.0 [7.2.0, 7.2.99] 0.9.1 1.1.21 + 3.9.1 1.4.2 4.1.2 1.3.1 @@ -124,6 +126,13 @@ ${druid.version} + + + p6spy + p6spy + ${p6spy.version} + + io.springfox @@ -137,6 +146,14 @@ + + + com.github.xiaoymin + knife4j-spring-boot-starter + ${knife4j.version} + + + com.google.guava diff --git a/smart-admin-service/smart-admin-api/pom.xml b/smart-admin-service/smart-admin-api/pom.xml index 293b3116..f7ec8db4 100644 --- a/smart-admin-service/smart-admin-api/pom.xml +++ b/smart-admin-service/smart-admin-api/pom.xml @@ -109,12 +109,18 @@ fastjson - + com.alibaba druid + + + p6spy + p6spy + + io.springfox @@ -126,6 +132,14 @@ + + + com.github.xiaoymin + knife4j-spring-boot-starter + ${knife4j.version} + + + com.google.guava diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/anno/DataScope.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/anno/DataScope.java index 802b0a9b..01a045c9 100644 --- a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/anno/DataScope.java +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/anno/DataScope.java @@ -1,6 +1,7 @@ package net.lab1024.smartadmin.common.anno; import net.lab1024.smartadmin.module.system.datascope.constant.DataScopeTypeEnum; +import net.lab1024.smartadmin.module.system.datascope.constant.DataScopeWhereInTypeEnum; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; @@ -23,6 +24,8 @@ public @interface DataScope { DataScopeTypeEnum dataScopeType() default DataScopeTypeEnum.DEFAULT; + DataScopeWhereInTypeEnum whereInType() default DataScopeWhereInTypeEnum.EMPLOYEE; + /** * 第几个where 条件 从0开始 * @return diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/constant/ResponseCodeConst.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/constant/ResponseCodeConst.java index 31f3f4c9..c572eecd 100644 --- a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/constant/ResponseCodeConst.java +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/constant/ResponseCodeConst.java @@ -4,7 +4,7 @@ import net.lab1024.smartadmin.module.system.department.DepartmentResponseCodeCon import net.lab1024.smartadmin.module.system.employee.constant.EmployeeResponseCodeConst; import net.lab1024.smartadmin.module.support.file.constant.FileResponseCodeConst; import net.lab1024.smartadmin.module.business.log.orderoperatelog.constant.OrderOperateLogOperateTypeConst; -import net.lab1024.smartadmin.module.business.login.LoginResponseCodeConst; +import net.lab1024.smartadmin.module.system.login.LoginResponseCodeConst; import net.lab1024.smartadmin.module.system.position.PositionResponseCodeConst; import net.lab1024.smartadmin.module.system.privilege.constant.PrivilegeResponseCodeConst; import net.lab1024.smartadmin.module.system.role.basic.RoleResponseCodeConst; diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/domain/PageParamDTO.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/domain/PageParamDTO.java index 14abc61a..73590fc5 100644 --- a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/domain/PageParamDTO.java +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/domain/PageParamDTO.java @@ -22,7 +22,7 @@ public class PageParamDTO { @NotNull(message = "每页数量不能为空") @ApiModelProperty(value = "每页数量(不能为空)", example = "10") - @Max(value = 200, message = "每页最大为200") + @Max(value = 500, message = "每页最大为500") protected Integer pageSize; @ApiModelProperty("是否查询总条数") diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/mybatis/MyBatisSqlQuerySqlDebugPlugin.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/mybatis/MyBatisSqlQuerySqlDebugPlugin.java deleted file mode 100644 index dcd18c02..00000000 --- a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/mybatis/MyBatisSqlQuerySqlDebugPlugin.java +++ /dev/null @@ -1,46 +0,0 @@ -package net.lab1024.smartadmin.common.mybatis; - -import lombok.extern.slf4j.Slf4j; -import org.apache.ibatis.mapping.BoundSql; -import org.apache.ibatis.mapping.MappedStatement; -import org.apache.ibatis.plugin.*; -import org.apache.ibatis.session.ResultHandler; -import org.apache.ibatis.session.RowBounds; - -import java.util.Properties; - -/** - * [ mybaits sql 拦截 ] - * - * @author zhuoda - * @version 1.0 - * @company 1024lab.net - * @copyright (c) 2019 1024lab.netInc. All rights reserved. - * @date - * @since JDK1.8 - */ -@Intercepts({@Signature(type = org.apache.ibatis.executor.Executor.class, method = "query", args = {MappedStatement.class, Object.class, RowBounds.class, ResultHandler.class})}) -@Slf4j -public class MyBatisSqlQuerySqlDebugPlugin implements Interceptor { - - @Override - public Object intercept(Invocation invocation) throws Throwable { - MappedStatement mappedStatement = (MappedStatement) invocation.getArgs()[0]; - Object parameter = invocation.getArgs()[1]; - BoundSql boundSql = mappedStatement.getBoundSql(parameter); - log.info(boundSql.getSql()+"\r\n"+boundSql.getParameterMappings().toString()); - Object obj = invocation.proceed(); - return obj; - } - - @Override - public Object plugin(Object arg0) { - return Plugin.wrap(arg0,this); - } - - @Override - public void setProperties(Properties arg0) { - - } - -} \ No newline at end of file diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/mybatis/MyBatisSqlUpdateSqlDebugPlugin.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/mybatis/MyBatisSqlUpdateSqlDebugPlugin.java deleted file mode 100644 index 5f8f5850..00000000 --- a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/common/mybatis/MyBatisSqlUpdateSqlDebugPlugin.java +++ /dev/null @@ -1,44 +0,0 @@ -package net.lab1024.smartadmin.common.mybatis; - -import lombok.extern.slf4j.Slf4j; -import org.apache.ibatis.mapping.BoundSql; -import org.apache.ibatis.mapping.MappedStatement; -import org.apache.ibatis.plugin.*; - -import java.util.Properties; - -/** - * [ mybaits sql 拦截 ] - * - * @author zhuoda - * @version 1.0 - * @company 1024lab.net - * @copyright (c) 2019 1024lab.netInc. All rights reserved. - * @date - * @since JDK1.8 - */ -@Intercepts({@Signature(type = org.apache.ibatis.executor.Executor.class, method = "update", args = {MappedStatement.class, Object.class})}) -@Slf4j -public class MyBatisSqlUpdateSqlDebugPlugin implements Interceptor { - - @Override - public Object intercept(Invocation invocation) throws Throwable { - MappedStatement mappedStatement = (MappedStatement) invocation.getArgs()[0]; - Object parameter = invocation.getArgs()[1]; - BoundSql boundSql = mappedStatement.getBoundSql(parameter); - log.info(boundSql.getSql()+"\r\n"+boundSql.getParameterMappings().toString()); - Object obj = invocation.proceed(); - return obj; - } - - @Override - public Object plugin(Object arg0) { - return Plugin.wrap(arg0,this); - } - - @Override - public void setProperties(Properties arg0) { - - } - -} \ No newline at end of file diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/config/SmartKaptchaConfig.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/config/SmartKaptchaConfig.java index 44744a8c..06dd1c95 100644 --- a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/config/SmartKaptchaConfig.java +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/config/SmartKaptchaConfig.java @@ -30,8 +30,8 @@ public class SmartKaptchaConfig { properties.setProperty("kaptcha.border.color", "34,114,200"); properties.setProperty("kaptcha.image.width", "125"); properties.setProperty("kaptcha.image.height", "45"); - properties.setProperty("kaptcha.textproducer.char.string", "ABCDEFG23456789"); - properties.setProperty("kaptcha.textproducer.char.length", "5"); + properties.setProperty("kaptcha.textproducer.char.string", "0123456789"); + properties.setProperty("kaptcha.textproducer.char.length", "4"); properties.setProperty("kaptcha.textproducer.font.names", "Arial,Arial Narrow,Serif,Helvetica,Tahoma,Times New Roman,Verdana"); properties.setProperty("kaptcha.textproducer.font.size", "38"); diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/config/SmartMybatisPlusConfig.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/config/SmartMybatisPlusConfig.java index 95d20208..6bdcfb08 100644 --- a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/config/SmartMybatisPlusConfig.java +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/config/SmartMybatisPlusConfig.java @@ -1,15 +1,10 @@ package net.lab1024.smartadmin.config; -import com.baomidou.mybatisplus.autoconfigure.ConfigurationCustomizer; import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor; import com.baomidou.mybatisplus.extension.plugins.pagination.optimize.JsqlParserCountOptimize; -import net.lab1024.smartadmin.common.mybatis.MyBatisSqlQuerySqlDebugPlugin; -import net.lab1024.smartadmin.common.mybatis.MyBatisSqlUpdateSqlDebugPlugin; -import net.lab1024.smartadmin.constant.SystemEnvironmentEnum; import org.mybatis.spring.annotation.MapperScan; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.Profile; import org.springframework.transaction.annotation.EnableTransactionManagement; /** @@ -29,16 +24,4 @@ public class SmartMybatisPlusConfig { return new PaginationInterceptor().setCountSqlParser(new JsqlParserCountOptimize(true)); } - /** - * 打印sql log - * @return - */ - @Bean - @Profile(SystemEnvironmentEnum.DEV_ENV) - ConfigurationCustomizer mybatisConfigurationCustomizer() { - return configuration -> { - configuration.addInterceptor(new MyBatisSqlUpdateSqlDebugPlugin()); - configuration.addInterceptor(new MyBatisSqlQuerySqlDebugPlugin()); - }; - } } diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/config/SmartSwaggerDynamicGroupConfig.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/config/SmartSwaggerDynamicGroupConfig.java index b3ca6d9a..649b1508 100644 --- a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/config/SmartSwaggerDynamicGroupConfig.java +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/config/SmartSwaggerDynamicGroupConfig.java @@ -1,5 +1,6 @@ package net.lab1024.smartadmin.config; +import com.github.xiaoymin.knife4j.spring.annotations.EnableKnife4j; import net.lab1024.smartadmin.constant.SwaggerTagConst; import com.google.common.base.Optional; import com.google.common.base.Predicate; @@ -48,6 +49,7 @@ import java.util.Map; */ @Slf4j @EnableSwagger2 +@EnableKnife4j @Configuration @Profile({"dev", "sit", "pre", "prod"}) public class SmartSwaggerDynamicGroupConfig implements EnvironmentAware, BeanDefinitionRegistryPostProcessor { diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/handler/SmartOperateLogAspect.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/handler/SmartOperateLogAspect.java index 7bf5e923..0dd49cd2 100644 --- a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/handler/SmartOperateLogAspect.java +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/handler/SmartOperateLogAspect.java @@ -5,7 +5,7 @@ import net.lab1024.smartadmin.common.anno.OperateLog; import net.lab1024.smartadmin.common.constant.JudgeEnum; import net.lab1024.smartadmin.module.business.log.LogService; import net.lab1024.smartadmin.module.business.log.useroperatelog.domain.UserOperateLogEntity; -import net.lab1024.smartadmin.module.business.login.domain.RequestTokenBO; +import net.lab1024.smartadmin.module.system.login.domain.RequestTokenBO; import net.lab1024.smartadmin.util.SmartRequestTokenUtil; import net.lab1024.smartadmin.util.SmartStringUtil; import io.swagger.annotations.Api; diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/interceptor/SmartAuthenticationInterceptor.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/interceptor/SmartAuthenticationInterceptor.java index 4d949393..c4d2f1b0 100644 --- a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/interceptor/SmartAuthenticationInterceptor.java +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/interceptor/SmartAuthenticationInterceptor.java @@ -5,9 +5,9 @@ import net.lab1024.smartadmin.common.anno.NoNeedLogin; import net.lab1024.smartadmin.common.anno.NoValidPrivilege; import net.lab1024.smartadmin.common.domain.ResponseDTO; import net.lab1024.smartadmin.constant.CommonConst; -import net.lab1024.smartadmin.module.business.login.LoginResponseCodeConst; -import net.lab1024.smartadmin.module.business.login.LoginTokenService; -import net.lab1024.smartadmin.module.business.login.domain.RequestTokenBO; +import net.lab1024.smartadmin.module.system.login.LoginResponseCodeConst; +import net.lab1024.smartadmin.module.system.login.LoginTokenService; +import net.lab1024.smartadmin.module.system.login.domain.RequestTokenBO; import net.lab1024.smartadmin.module.system.privilege.service.PrivilegeEmployeeService; import net.lab1024.smartadmin.util.SmartRequestTokenUtil; import net.lab1024.smartadmin.util.SmartStringUtil; diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/notice/NoticeManage.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/notice/NoticeManage.java index 4fe6b183..eb159634 100644 --- a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/notice/NoticeManage.java +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/notice/NoticeManage.java @@ -1,7 +1,7 @@ package net.lab1024.smartadmin.module.business.notice; import net.lab1024.smartadmin.common.constant.JudgeEnum; -import net.lab1024.smartadmin.module.business.login.domain.RequestTokenBO; +import net.lab1024.smartadmin.module.system.login.domain.RequestTokenBO; import net.lab1024.smartadmin.module.business.notice.dao.NoticeDao; import net.lab1024.smartadmin.module.business.notice.dao.NoticeReceiveRecordDao; import net.lab1024.smartadmin.module.business.notice.domain.dto.NoticeUpdateDTO; diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/notice/NoticeService.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/notice/NoticeService.java index 4faf77b7..224a28d3 100644 --- a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/notice/NoticeService.java +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/notice/NoticeService.java @@ -6,7 +6,7 @@ import net.lab1024.smartadmin.common.constant.ResponseCodeConst; import net.lab1024.smartadmin.common.domain.PageParamDTO; import net.lab1024.smartadmin.common.domain.PageResultDTO; import net.lab1024.smartadmin.common.domain.ResponseDTO; -import net.lab1024.smartadmin.module.business.login.domain.RequestTokenBO; +import net.lab1024.smartadmin.module.system.login.domain.RequestTokenBO; import net.lab1024.smartadmin.module.business.notice.dao.NoticeDao; import net.lab1024.smartadmin.module.business.notice.dao.NoticeReceiveRecordDao; import net.lab1024.smartadmin.module.business.notice.domain.dto.*; diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/notice/dao/NoticeDao.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/notice/dao/NoticeDao.java index bb8cca72..9e07e2ea 100644 --- a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/notice/dao/NoticeDao.java +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/notice/dao/NoticeDao.java @@ -2,8 +2,10 @@ package net.lab1024.smartadmin.module.business.notice.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import net.lab1024.smartadmin.common.anno.DataScope; import net.lab1024.smartadmin.module.business.notice.domain.dto.*; import net.lab1024.smartadmin.module.business.notice.domain.entity.NoticeEntity; +import net.lab1024.smartadmin.module.system.datascope.constant.DataScopeWhereInTypeEnum; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Component; @@ -29,6 +31,7 @@ public interface NoticeDao extends BaseMapper { * @param queryDTO * @return NoticeEntity */ + @DataScope(joinSql = "n.create_user in (#employeeIds)", whereInType = DataScopeWhereInTypeEnum.EMPLOYEE) List queryByPage(Page page, @Param("queryDTO") NoticeQueryDTO queryDTO); @@ -38,6 +41,7 @@ public interface NoticeDao extends BaseMapper { * @param employeeId * @return */ + @DataScope(joinSql = "n.create_user_department_id in (#departmentIds)", whereInType = DataScopeWhereInTypeEnum.DEPARTMENT) List queryUnreadByPage(Page page, @Param("employeeId") Long employeeId, @Param("sendStatus") Integer sendStatus); diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/FileController.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/FileController.java index 408f2aac..001e99d2 100644 --- a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/FileController.java +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/FileController.java @@ -10,7 +10,7 @@ import net.lab1024.smartadmin.module.support.file.domain.dto.FileQueryDTO; import net.lab1024.smartadmin.module.support.file.domain.vo.FileVO; import net.lab1024.smartadmin.module.support.file.domain.vo.UploadVO; import net.lab1024.smartadmin.module.support.file.service.FileService; -import net.lab1024.smartadmin.module.business.login.domain.RequestTokenBO; +import net.lab1024.smartadmin.module.system.login.domain.RequestTokenBO; import net.lab1024.smartadmin.util.SmartRequestTokenUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/service/FileService.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/service/FileService.java index b889c077..b21e8cf7 100644 --- a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/service/FileService.java +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/file/service/FileService.java @@ -13,7 +13,7 @@ import net.lab1024.smartadmin.module.support.file.domain.dto.FileQueryDTO; import net.lab1024.smartadmin.module.support.file.domain.entity.FileEntity; import net.lab1024.smartadmin.module.support.file.domain.vo.FileVO; import net.lab1024.smartadmin.module.support.file.domain.vo.UploadVO; -import net.lab1024.smartadmin.module.business.login.domain.RequestTokenBO; +import net.lab1024.smartadmin.module.system.login.domain.RequestTokenBO; import net.lab1024.smartadmin.util.SmartBaseEnumUtil; import net.lab1024.smartadmin.util.SmartBeanUtil; import net.lab1024.smartadmin.util.SmartPageUtil; diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/quartz/domain/entity/QuartzTaskEntity.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/quartz/domain/entity/QuartzTaskEntity.java index f010c604..cb419b84 100644 --- a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/quartz/domain/entity/QuartzTaskEntity.java +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/quartz/domain/entity/QuartzTaskEntity.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableName; import net.lab1024.smartadmin.common.domain.BaseEntity; import lombok.Data; + /** * [ ] * diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/quartz/service/QuartzTask.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/quartz/service/QuartzTask.java index c09e7ba2..c0e8beb8 100644 --- a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/quartz/service/QuartzTask.java +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/support/quartz/service/QuartzTask.java @@ -35,7 +35,7 @@ public class QuartzTask extends QuartzJobBean { @Override protected void executeInternal(JobExecutionContext context) throws JobExecutionException { JobDetail jobDetail = context.getJobDetail(); - Object params = jobDetail.getJobDataMap().get(QuartzConst.QUARTZ_PARAMS_KEY); + Object params = context.getMergedJobDataMap().get(QuartzConst.QUARTZ_PARAMS_KEY); JobKey jobKey = jobDetail.getKey(); Long taskId = SmartQuartzUtil.getTaskIdByJobKey(jobKey); diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/datascope/service/DataScopeSqlConfigService.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/datascope/service/DataScopeSqlConfigService.java index 70a9b358..b6285481 100644 --- a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/datascope/service/DataScopeSqlConfigService.java +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/datascope/service/DataScopeSqlConfigService.java @@ -3,7 +3,7 @@ package net.lab1024.smartadmin.module.system.datascope.service; import net.lab1024.smartadmin.common.anno.DataScope; import net.lab1024.smartadmin.module.system.datascope.constant.DataScopeWhereInTypeEnum; import net.lab1024.smartadmin.module.system.datascope.domain.dto.DataScopeSqlConfigDTO; -import net.lab1024.smartadmin.module.business.login.domain.RequestTokenBO; +import net.lab1024.smartadmin.module.system.login.domain.RequestTokenBO; import net.lab1024.smartadmin.util.SmartRequestTokenUtil; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; @@ -70,6 +70,7 @@ public class DataScopeSqlConfigService { configDTO.setDataScopeType(dataScopeAnnotation.dataScopeType().getType()); configDTO.setJoinSql(dataScopeAnnotation.joinSql()); configDTO.setWhereIndex(dataScopeAnnotation.whereIndex()); + configDTO.setDataScopeWhereInType(dataScopeAnnotation.whereInType().getType()); dataScopeMethodMap.put(method.getDeclaringClass().getSimpleName() + "." + method.getName(), configDTO); } } diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/EmployeeController.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/EmployeeController.java index eb7befe0..0bf03828 100644 --- a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/EmployeeController.java +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/EmployeeController.java @@ -7,7 +7,7 @@ import net.lab1024.smartadmin.common.domain.ResponseDTO; import net.lab1024.smartadmin.constant.SwaggerTagConst; import net.lab1024.smartadmin.module.system.employee.domain.dto.*; import net.lab1024.smartadmin.module.system.employee.domain.vo.EmployeeVO; -import net.lab1024.smartadmin.module.business.login.domain.RequestTokenBO; +import net.lab1024.smartadmin.module.system.login.domain.RequestTokenBO; import net.lab1024.smartadmin.util.SmartRequestTokenUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/EmployeeService.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/EmployeeService.java index 700ca99a..5d10ec9b 100644 --- a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/EmployeeService.java +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/employee/EmployeeService.java @@ -13,7 +13,7 @@ import net.lab1024.smartadmin.module.system.employee.domain.bo.EmployeeBO; import net.lab1024.smartadmin.module.system.employee.domain.dto.*; import net.lab1024.smartadmin.module.system.employee.domain.entity.EmployeeEntity; import net.lab1024.smartadmin.module.system.employee.domain.vo.EmployeeVO; -import net.lab1024.smartadmin.module.business.login.domain.RequestTokenBO; +import net.lab1024.smartadmin.module.system.login.domain.RequestTokenBO; import net.lab1024.smartadmin.module.system.position.PositionDao; import net.lab1024.smartadmin.module.system.position.PositionService; import net.lab1024.smartadmin.module.system.position.domain.dto.PositionRelationAddDTO; diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/login/LoginController.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/login/LoginController.java similarity index 89% rename from smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/login/LoginController.java rename to smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/login/LoginController.java index ddbf0fb8..9b1d9882 100644 --- a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/login/LoginController.java +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/login/LoginController.java @@ -1,4 +1,4 @@ -package net.lab1024.smartadmin.module.business.login; +package net.lab1024.smartadmin.module.system.login; import net.lab1024.smartadmin.common.anno.NoNeedLogin; import net.lab1024.smartadmin.common.anno.NoValidPrivilege; @@ -6,9 +6,9 @@ import net.lab1024.smartadmin.common.anno.OperateLog; import net.lab1024.smartadmin.common.domain.ResponseDTO; import net.lab1024.smartadmin.constant.SwaggerTagConst; import net.lab1024.smartadmin.module.system.employee.domain.dto.EmployeeLoginFormDTO; -import net.lab1024.smartadmin.module.business.login.domain.KaptchaVO; -import net.lab1024.smartadmin.module.business.login.domain.LoginDetailVO; -import net.lab1024.smartadmin.module.business.login.domain.RequestTokenBO; +import net.lab1024.smartadmin.module.system.login.domain.KaptchaVO; +import net.lab1024.smartadmin.module.system.login.domain.LoginDetailVO; +import net.lab1024.smartadmin.module.system.login.domain.RequestTokenBO; import net.lab1024.smartadmin.util.SmartRequestTokenUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/login/LoginResponseCodeConst.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/login/LoginResponseCodeConst.java similarity index 91% rename from smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/login/LoginResponseCodeConst.java rename to smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/login/LoginResponseCodeConst.java index 0bb69e96..0cfb8d22 100644 --- a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/login/LoginResponseCodeConst.java +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/login/LoginResponseCodeConst.java @@ -1,4 +1,4 @@ -package net.lab1024.smartadmin.module.business.login; +package net.lab1024.smartadmin.module.system.login; import net.lab1024.smartadmin.common.constant.ResponseCodeConst; diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/login/LoginService.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/login/LoginService.java similarity index 96% rename from smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/login/LoginService.java rename to smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/login/LoginService.java index 9e346082..55e6f67c 100644 --- a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/login/LoginService.java +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/login/LoginService.java @@ -1,4 +1,4 @@ -package net.lab1024.smartadmin.module.business.login; +package net.lab1024.smartadmin.module.system.login; import net.lab1024.smartadmin.common.constant.JudgeEnum; import net.lab1024.smartadmin.common.domain.ResponseDTO; @@ -12,10 +12,10 @@ import net.lab1024.smartadmin.module.system.employee.domain.dto.EmployeeDTO; import net.lab1024.smartadmin.module.system.employee.domain.dto.EmployeeLoginFormDTO; import net.lab1024.smartadmin.module.business.log.LogService; import net.lab1024.smartadmin.module.business.log.userloginlog.domain.UserLoginLogEntity; -import net.lab1024.smartadmin.module.business.login.domain.KaptchaVO; -import net.lab1024.smartadmin.module.business.login.domain.LoginDetailVO; -import net.lab1024.smartadmin.module.business.login.domain.LoginPrivilegeDTO; -import net.lab1024.smartadmin.module.business.login.domain.RequestTokenBO; +import net.lab1024.smartadmin.module.system.login.domain.KaptchaVO; +import net.lab1024.smartadmin.module.system.login.domain.LoginDetailVO; +import net.lab1024.smartadmin.module.system.login.domain.LoginPrivilegeDTO; +import net.lab1024.smartadmin.module.system.login.domain.RequestTokenBO; import net.lab1024.smartadmin.module.system.privilege.domain.entity.PrivilegeEntity; import net.lab1024.smartadmin.module.system.privilege.service.PrivilegeEmployeeService; import net.lab1024.smartadmin.util.SmartBeanUtil; diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/login/LoginTokenService.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/login/LoginTokenService.java similarity index 96% rename from smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/login/LoginTokenService.java rename to smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/login/LoginTokenService.java index 961532e8..56ec269a 100644 --- a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/login/LoginTokenService.java +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/login/LoginTokenService.java @@ -1,11 +1,11 @@ -package net.lab1024.smartadmin.module.business.login; +package net.lab1024.smartadmin.module.system.login; import net.lab1024.smartadmin.common.constant.JudgeEnum; import net.lab1024.smartadmin.module.system.employee.EmployeeService; import net.lab1024.smartadmin.module.system.employee.constant.EmployeeStatusEnum; import net.lab1024.smartadmin.module.system.employee.domain.bo.EmployeeBO; import net.lab1024.smartadmin.module.system.employee.domain.dto.EmployeeDTO; -import net.lab1024.smartadmin.module.business.login.domain.RequestTokenBO; +import net.lab1024.smartadmin.module.system.login.domain.RequestTokenBO; import io.jsonwebtoken.Claims; import io.jsonwebtoken.Jwts; import io.jsonwebtoken.SignatureAlgorithm; diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/login/domain/KaptchaVO.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/login/domain/KaptchaVO.java similarity index 86% rename from smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/login/domain/KaptchaVO.java rename to smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/login/domain/KaptchaVO.java index 4c5a4f4e..61814e63 100644 --- a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/login/domain/KaptchaVO.java +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/login/domain/KaptchaVO.java @@ -1,4 +1,4 @@ -package net.lab1024.smartadmin.module.business.login.domain; +package net.lab1024.smartadmin.module.system.login.domain; import lombok.Data; diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/login/domain/LoginCacheDTO.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/login/domain/LoginCacheDTO.java similarity index 88% rename from smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/login/domain/LoginCacheDTO.java rename to smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/login/domain/LoginCacheDTO.java index c8f8835f..c8e5f62f 100644 --- a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/login/domain/LoginCacheDTO.java +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/login/domain/LoginCacheDTO.java @@ -1,4 +1,4 @@ -package net.lab1024.smartadmin.module.business.login.domain; +package net.lab1024.smartadmin.module.system.login.domain; import net.lab1024.smartadmin.module.system.employee.domain.dto.EmployeeDTO; import lombok.Data; diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/login/domain/LoginDetailVO.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/login/domain/LoginDetailVO.java similarity index 95% rename from smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/login/domain/LoginDetailVO.java rename to smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/login/domain/LoginDetailVO.java index 5cd924b5..72a27087 100644 --- a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/login/domain/LoginDetailVO.java +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/login/domain/LoginDetailVO.java @@ -1,4 +1,4 @@ -package net.lab1024.smartadmin.module.business.login.domain; +package net.lab1024.smartadmin.module.system.login.domain; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModelProperty; diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/login/domain/LoginPrivilegeDTO.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/login/domain/LoginPrivilegeDTO.java similarity index 92% rename from smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/login/domain/LoginPrivilegeDTO.java rename to smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/login/domain/LoginPrivilegeDTO.java index cdfb3988..e1812b35 100644 --- a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/login/domain/LoginPrivilegeDTO.java +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/login/domain/LoginPrivilegeDTO.java @@ -1,4 +1,4 @@ -package net.lab1024.smartadmin.module.business.login.domain; +package net.lab1024.smartadmin.module.system.login.domain; import net.lab1024.smartadmin.common.anno.ApiModelPropertyEnum; import net.lab1024.smartadmin.module.system.privilege.constant.PrivilegeTypeEnum; diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/login/domain/RequestTokenBO.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/login/domain/RequestTokenBO.java similarity index 90% rename from smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/login/domain/RequestTokenBO.java rename to smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/login/domain/RequestTokenBO.java index 40bf1b2e..101f66db 100644 --- a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/business/login/domain/RequestTokenBO.java +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/login/domain/RequestTokenBO.java @@ -1,4 +1,4 @@ -package net.lab1024.smartadmin.module.business.login.domain; +package net.lab1024.smartadmin.module.system.login.domain; import net.lab1024.smartadmin.module.system.employee.domain.bo.EmployeeBO; import lombok.Getter; diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/privilege/dao/PrivilegeDao.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/privilege/dao/PrivilegeDao.java index c16692ef..291480d1 100644 --- a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/privilege/dao/PrivilegeDao.java +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/privilege/dao/PrivilegeDao.java @@ -54,6 +54,13 @@ public interface PrivilegeDao extends BaseMapper { */ List selectByParentKey(@Param("parentKey") String parentKey); + /** + * 根据父节点key查询 + * @param keyList + * @return + */ + List selectByKeyList(@Param("keyList") List keyList); + /** * 根据权限key查询 * @param key diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/privilege/service/PrivilegeEmployeeService.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/privilege/service/PrivilegeEmployeeService.java index 366e567f..602a5b59 100644 --- a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/privilege/service/PrivilegeEmployeeService.java +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/privilege/service/PrivilegeEmployeeService.java @@ -3,7 +3,7 @@ package net.lab1024.smartadmin.module.system.privilege.service; import net.lab1024.smartadmin.common.constant.JudgeEnum; import net.lab1024.smartadmin.common.exception.SmartBusinessException; import net.lab1024.smartadmin.module.system.employee.domain.dto.EmployeeDTO; -import net.lab1024.smartadmin.module.business.login.domain.RequestTokenBO; +import net.lab1024.smartadmin.module.system.login.domain.RequestTokenBO; import net.lab1024.smartadmin.module.system.privilege.constant.PrivilegeTypeEnum; import net.lab1024.smartadmin.module.system.privilege.dao.PrivilegeDao; import net.lab1024.smartadmin.module.system.privilege.domain.entity.PrivilegeEntity; diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/privilege/service/PrivilegeService.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/privilege/service/PrivilegeService.java index dd3861dc..c66a919e 100644 --- a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/privilege/service/PrivilegeService.java +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/privilege/service/PrivilegeService.java @@ -216,10 +216,18 @@ public class PrivilegeService { return ResponseDTO.wrap(PrivilegeResponseCodeConst.MENU_NOT_EXIST); } - //数据库中存在的数据 - List existFunctionList = privilegeDao.selectByParentKey(menuKey); - Map privilegeEntityMap = existFunctionList.stream().collect(Collectors.toMap(PrivilegeEntity::getKey, e -> e)); + List functionKeyList = functionList.stream().map(PrivilegeFunctionDTO::getFunctionKey).collect(Collectors.toList()); + //数据库中存在的数据 + List existFunctionList = privilegeDao.selectByKeyList(functionKeyList); + //校验是否parent key重复 + boolean parentKeyExist = existFunctionList.stream().anyMatch(e -> !menuKey.equals(e.getParentKey())); + if(parentKeyExist){ + return ResponseDTO.wrap(PrivilegeResponseCodeConst.ROUTER_KEY_NO_REPEAT); + } + + existFunctionList = privilegeDao.selectByParentKey(menuKey); + Map privilegeEntityMap = existFunctionList.stream().collect(Collectors.toMap(PrivilegeEntity::getKey, e -> e)); //如果没有,则保存全部 if (existFunctionList.isEmpty()) { List privilegeEntityList = functionList.stream().map(e -> function2Privilege(e)).collect(Collectors.toList()); diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/SmartFileUtil.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/SmartFileUtil.java new file mode 100644 index 00000000..45735c9a --- /dev/null +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/SmartFileUtil.java @@ -0,0 +1,91 @@ +package net.lab1024.smartadmin.util; + +import java.io.BufferedReader; +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStreamReader; +import java.io.OutputStreamWriter; +import java.nio.charset.Charset; + +import org.apache.commons.io.FileUtils; + +/** + * @author zhuoda + */ +public class SmartFileUtil extends FileUtils { + + public static boolean isXmlFile(File file) { + return "xml".equalsIgnoreCase(getFileExtension(file.getName())); + } + + /** + * 文件后缀名 + * + * @param fullName + * @return + */ + public static String getFileExtension(String fullName) { + String fileName = new File(fullName).getName(); + int dotIndex = fileName.lastIndexOf('.'); + return (dotIndex == -1) ? "" : fileName.substring(dotIndex + 1); + } + + /** + * 不带后缀名的文件名 + * + * @param file + * @return + */ + public static String getNameWithoutExtension(String file) { + String fileName = new File(file).getName(); + int dotIndex = fileName.lastIndexOf('.'); + return (dotIndex == -1) ? fileName : fileName.substring(0, dotIndex); + } + + public static boolean isFileExist(String filePath) { + File file = new File(filePath); + return file.exists(); + } + + /** + * 验证文件是否存在,如果不存在则抛出异常 + * + * @param filePath + * @throws IOException + */ + public static void isFileExistThrowException(String filePath) throws IOException { + File file = new File(filePath); + if (!file.exists()) { + throw new FileNotFoundException(filePath); + } + } + + public static BufferedReader newBufferedReader(File file, Charset charset) throws FileNotFoundException { + return new BufferedReader(new InputStreamReader(new FileInputStream(file), charset)); + } + + public static BufferedWriter newBufferedWriter(File file, Charset charset) throws FileNotFoundException { + return new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file), charset)); + } + + public static boolean createParentDirs(File file) throws IOException { + File parent = file.getCanonicalFile().getParentFile(); + if (parent == null) { + return false; + } + return parent.mkdirs(); + } + + public static boolean createNotExistParentDirFile(File file) throws IOException { + boolean createParentDirsRes = createParentDirs(file); + if (!createParentDirsRes) { + throw new IOException("cannot create parent Directory of " + file.getName()); + } + return file.createNewFile(); + } + +} diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/SmartRequestTokenUtil.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/SmartRequestTokenUtil.java index c8342f35..7ae5f5fc 100644 --- a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/SmartRequestTokenUtil.java +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/SmartRequestTokenUtil.java @@ -1,6 +1,6 @@ package net.lab1024.smartadmin.util; -import net.lab1024.smartadmin.module.business.login.domain.RequestTokenBO; +import net.lab1024.smartadmin.module.system.login.domain.RequestTokenBO; import org.springframework.web.context.request.RequestAttributes; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/excel/SmartExcel.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/excel/SmartExcel.java new file mode 100644 index 00000000..47f6e8cd --- /dev/null +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/excel/SmartExcel.java @@ -0,0 +1,83 @@ +package net.lab1024.smartadmin.util.excel; + +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; + +import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; + +/** + * zhuoda + */ +public class SmartExcel { + + List sheetList = new ArrayList();; + + public SmartExcel(String fileName) { + org.apache.poi.ss.usermodel.Workbook workbook = null; + try { + workbook = fileName.endsWith(".xls") ? new HSSFWorkbook(new FileInputStream(fileName)) : new XSSFWorkbook(new FileInputStream(fileName)); + int numberOfSheets = workbook.getNumberOfSheets(); + for (int index = 0; index < numberOfSheets; index++) { + addSheet(new SmartSheet(workbook.getSheetAt(index))); + } + } catch (Throwable t) { + throw new RuntimeException(t); + } finally { + if (workbook != null) { + try { + workbook.close(); + } catch (IOException e) { + } + workbook = null; + } + } + } + + public SmartExcel(InputStream ins, SmartExcelFileType fileType) { + org.apache.poi.ss.usermodel.Workbook workbook = null; + try { + workbook = fileType == SmartExcelFileType.XLS ? new HSSFWorkbook(ins) : new XSSFWorkbook(ins); + int numberOfSheets = workbook.getNumberOfSheets(); + for (int index = 0; index < numberOfSheets; index++) { + addSheet(new SmartSheet(workbook.getSheetAt(index))); + } + } catch (Throwable t) { + throw new RuntimeException(t); + } finally { + if (workbook != null) { + try { + workbook.close(); + } catch (IOException e) { + } + workbook = null; + } + } + } + + final protected void addSheet(SmartSheet sheet) { + this.sheetList.add(sheet); + } + + final protected void addSheetList(Collection sheets) { + this.sheetList.addAll(sheets); + } + + final public List getSheetList() { + return sheetList; + } + + final public SmartSheet getSheet(String sheetName) { + for (SmartSheet sheet : sheetList) { + if (sheet.getName().equals(sheetName)) { + return sheet; + } + } + return null; + } +} + diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/excel/SmartExcelFileType.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/excel/SmartExcelFileType.java new file mode 100644 index 00000000..499e43db --- /dev/null +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/excel/SmartExcelFileType.java @@ -0,0 +1,10 @@ +package net.lab1024.smartadmin.util.excel; + +/** + * @author zhuoda + */ +public enum SmartExcelFileType { + XLS, + XLSX + +} diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/excel/SmartExcelReader.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/excel/SmartExcelReader.java new file mode 100644 index 00000000..e5c1ba5b --- /dev/null +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/excel/SmartExcelReader.java @@ -0,0 +1,32 @@ +package net.lab1024.smartadmin.util.excel; + +/** + * @author zhuoda + * @Date 2020/8/10 + */ + +import net.lab1024.smartadmin.util.SmartFileUtil; + +import java.io.*; + +public class SmartExcelReader { + + public static SmartExcel openExcel(String filePath) throws IOException { + SmartFileUtil.isFileExistThrowException(filePath); + return new SmartExcel(new File(filePath).getCanonicalPath()); + } + + public static SmartExcel openExcel(File file) throws IOException { + return new SmartExcel(file.getCanonicalPath()); + } + + public static SmartExcel openExcel(InputStream ins, SmartExcelFileType fileType) throws IOException { + return new SmartExcel(ins, fileType); + } + + public static void main(String[] args) throws Exception { + SmartExcel smartExcel = openExcel(new FileInputStream(new File("F:/privilege.xlsx")), SmartExcelFileType.XLSX); + System.out.println(smartExcel.getSheetList()); + } + +} diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/excel/SmartSheet.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/excel/SmartSheet.java new file mode 100644 index 00000000..80aed760 --- /dev/null +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/excel/SmartSheet.java @@ -0,0 +1,113 @@ +package net.lab1024.smartadmin.util.excel; + + +import org.apache.poi.ss.usermodel.Cell; +import org.apache.poi.ss.usermodel.CellType; +import org.apache.poi.ss.usermodel.Row; +import org.apache.poi.ss.util.CellRangeAddress; + +/** + * @author zhuoda + */ +public class SmartSheet { + final String name; + + private final int rowCount; + private final int columnCount; + private final String[][] datas; + + public SmartSheet(org.apache.poi.ss.usermodel.Sheet sheet) { + this.name = sheet.getSheetName(); + this.rowCount = sheet.getLastRowNum() + 1; + // 初始化基本数据 + int maxColumnCount = 0; + this.datas = new String[rowCount][]; + for (int rowIndex = 0; rowIndex < rowCount; rowIndex++) { + Row row = sheet.getRow(rowIndex); + if (row == null) { + continue; + } + int _columnCount = row.getLastCellNum() + 1; + this.datas[rowIndex] = new String[_columnCount]; + for (int colIndex = 0; colIndex < _columnCount; colIndex++) { + this.datas[rowIndex][colIndex] = getCellContents(row.getCell(colIndex)); + } + if (maxColumnCount < _columnCount) { + maxColumnCount = _columnCount; + } + } + this.columnCount = maxColumnCount; + // 根据单元格合并情况,填充内容 + for (int index = 0; index < sheet.getNumMergedRegions(); index++) { + CellRangeAddress mergedRegion = sheet.getMergedRegion(index); + String upperLeftData = this.datas[mergedRegion.getFirstRow()][mergedRegion.getFirstColumn()]; + for (int rowIndex = mergedRegion.getFirstRow(); rowIndex <= mergedRegion.getLastRow(); rowIndex++) { + String[] _rowDatas = this.datas[rowIndex]; + if (_rowDatas == null) { + this.datas[rowIndex] = new String[mergedRegion.getLastColumn() + 1]; + } else if (_rowDatas.length < mergedRegion.getLastColumn() + 1) { + String[] newStrArray = new String[mergedRegion.getLastColumn() + 1]; + System.arraycopy(_rowDatas, 0, newStrArray, 0, _rowDatas.length); + this.datas[rowIndex] = newStrArray; + } + for (int colIndex = mergedRegion.getFirstColumn(); colIndex <= mergedRegion.getLastColumn(); colIndex++) { + this.datas[rowIndex][colIndex] = upperLeftData; + } + } + } + } + + private String getCellContents(Cell cell) { + if (cell == null) { + return null; + } + return getCellContents(cell.getCellType(), cell); + } + + private String getCellContents(CellType type, Cell cell) { + switch (type) { + case BLANK: + return ""; + case NUMERIC: + return cell.getStringCellValue(); + case STRING: + return cell.getStringCellValue(); + case FORMULA: + return getCellContents(cell.getCachedFormulaResultType(), cell); + case BOOLEAN: + return String.valueOf(cell.getBooleanCellValue()); + case ERROR: + default: + throw new IllegalArgumentException(String.format("unsupported cell type:%d, col:%d, row:%d, sheet:%s", cell.getCellType(), cell.getColumnIndex(), + cell.getRowIndex(), getName())); + } + } + + public int getRowCount() { + return rowCount; + } + + public int getColumnCount() { + return columnCount; + } + + public String getValue(int rowIndex, int columnIndex) { + if (rowIndex < 0 || rowIndex >= datas.length) { + return ""; + } + if (columnIndex < 0 || datas[rowIndex] == null || columnIndex >= datas[rowIndex].length) { + return ""; + } + String value = datas[rowIndex][columnIndex]; + return value == null ? "": value; + } + + + public String getName() { + return name; + } + + + +} + diff --git a/smart-admin-service/smart-admin-api/src/main/resources/dev/application.properties b/smart-admin-service/smart-admin-api/src/main/resources/dev/application.properties index 061552d8..00084918 100644 --- a/smart-admin-service/smart-admin-api/src/main/resources/dev/application.properties +++ b/smart-admin-service/smart-admin-api/src/main/resources/dev/application.properties @@ -23,7 +23,7 @@ spring.servlet.multipart.max-request-size=30MB file-upload-service.path=/home/upload/ ######################### database ######################### -spring.datasource.url=jdbc:mysql://127.0.0.1:3306/smart-admin-dev?autoReconnect=true&useServerPreparedStmts=false&rewriteBatchedStatements=true&characterEncoding=UTF-8&useSSL=false&allowMultiQueries=true&serverTimezone=UTC +spring.datasource.url=jdbc:p6spy:mysql://127.0.0.1:3306/smart-admin-dev?autoReconnect=true&useServerPreparedStmts=false&rewriteBatchedStatements=true&characterEncoding=UTF-8&useSSL=false&allowMultiQueries=true&serverTimezone=UTC spring.datasource.username=root spring.datasource.password=Root.123 spring.datasource.initial-size=2 @@ -32,7 +32,7 @@ spring.datasource.max-active=10 spring.datasource.max-wait=60000 spring.datasource.time-between-eviction-runs-millis=60000 spring.datasource.min-evictable-edle-time-millis=300000 -spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver +spring.datasource.driver-class-name=com.p6spy.engine.spy.P6SpyDriver spring.datasource.filters=stat spring.datasource.druid.username=druid spring.datasource.druid.password=123456 @@ -83,14 +83,14 @@ jwt.key=smart-admin-jwt-key ########################## smart reload ######################### smart-reload.thread-count=1 -smart-reload.time-interval=5 +smart-reload.time-interval=300 ######################### cros ######################### access-control-allow-origin=* ######################### heart beat ######################### heart-beat.delayHandlerTime=60000 -heart-beat.intervalTime=180000 +heart-beat.intervalTime=300000 ######################### quartz ############################# #\u8C03\u5EA6\u6807\u8BC6\u540D \u96C6\u7FA4\u4E2D\u6BCF\u4E00\u4E2A\u5B9E\u4F8B\u90FD\u5FC5\u987B\u4F7F\u7528\u76F8\u540C\u7684\u540D\u79F0 @@ -106,8 +106,8 @@ spring.quartz.properties.org.quartz.jobStore.class=org.quartz.impl.jdbcjobstore. spring.quartz.properties.org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.StdJDBCDelegate spring.quartz.properties.org.quartz.jobStore.tablePrefix=QRTZ_ spring.quartz.properties.org.quartz.jobStore.isClustered=true -#\u8C03\u5EA6\u5B9E\u4F8B\u5931\u6548\u7684\u68C0\u67E5\u65F6\u95F4\u95F4\u9694 -spring.quartz.properties.org.quartz.jobStore.clusterCheckinInterval=10000 +#\u8C03\u5EA6\u5B9E\u4F8B\u5931\u6548\u7684\u68C0\u67E5\u65F6\u95F4\u95F4\u9694, \u5F00\u53D1\u73AF\u5883\u6539\u4E3A\u4E8660\u79D2 +spring.quartz.properties.org.quartz.jobStore.clusterCheckinInterval=60000 spring.quartz.properties.org.quartz.jobStore.useProperties=false #\u8C03\u5EA6\u7EBF\u7A0B spring.quartz.properties.org.quartz.threadPool.class=org.quartz.simpl.SimpleThreadPool @@ -119,3 +119,5 @@ spring.quartz.job-store-type=jdbc #ALWAYS,EMBEDDED,NEVER spring.quartz.jdbc.initialize-schema=NEVER spring.quartz.jdbc.schema=classpath:sql/quartz_mysql_2.3.0.sql +#\u81EA\u52A8\u626B\u63CF\u4EFB\u52A1\u5355\u5E76\u53D1\u73B0\u6539\u52A8\u7684\u65F6\u95F4\u95F4\u9694,\u5355\u4F4D\u4E3A\u79D2 +org.quartz.plugin.jobInitializer.scanInterval = 300 diff --git a/smart-admin-service/smart-admin-api/src/main/resources/dev/spy.properties b/smart-admin-service/smart-admin-api/src/main/resources/dev/spy.properties new file mode 100644 index 00000000..22c91d1e --- /dev/null +++ b/smart-admin-service/smart-admin-api/src/main/resources/dev/spy.properties @@ -0,0 +1,20 @@ +#modulelist=com.baomidou.mybatisplus.extension.p6spy.MybatisPlusLogFactory +# \u81EA\u5B9A\u4E49\u65E5\u5FD7\u6253\u5370 +logMessageFormat=com.baomidou.mybatisplus.extension.p6spy.P6SpyLogger +#\u65E5\u5FD7\u8F93\u51FA\u5230\u63A7\u5236\u53F0 +appender=com.baomidou.mybatisplus.extension.p6spy.StdoutLogger +# \u4F7F\u7528\u65E5\u5FD7\u7CFB\u7EDF\u8BB0\u5F55 sql +#appender=com.p6spy.engine.spy.appender.Slf4JLogger +# \u8BBE\u7F6E p6spy driver \u4EE3\u7406 +deregisterdrivers=true +# \u53D6\u6D88JDBC URL\u524D\u7F00 +useprefix=true +# \u914D\u7F6E\u8BB0\u5F55 Log \u4F8B\u5916,\u53EF\u53BB\u6389\u7684\u7ED3\u679C\u96C6\u6709error,info,batch,debug,statement,commit,rollback,result,resultset. +#excludecategories=info,debug,result,commit,resultset +# \u65E5\u671F\u683C\u5F0F +dateformat=yyyy-MM-dd HH:mm:ss + +# \u662F\u5426\u5F00\u542F\u6162SQL\u8BB0\u5F55 +outagedetection=true +# \u6162SQL\u8BB0\u5F55\u6807\u51C6 2 \u79D2 +outagedetectioninterval=2 \ No newline at end of file diff --git a/smart-admin-service/smart-admin-api/src/main/resources/mapper/system/privilege/PrivilegeMapper.xml b/smart-admin-service/smart-admin-api/src/main/resources/mapper/system/privilege/PrivilegeMapper.xml index 3b3d3695..7d224b22 100644 --- a/smart-admin-service/smart-admin-api/src/main/resources/mapper/system/privilege/PrivilegeMapper.xml +++ b/smart-admin-service/smart-admin-api/src/main/resources/mapper/system/privilege/PrivilegeMapper.xml @@ -99,6 +99,19 @@ p.key = #{key} + + - +