diff --git a/LICENSE b/LICENSE index ca38718f..9f53f735 100644 --- a/LICENSE +++ b/LICENSE @@ -176,7 +176,7 @@ recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright 2019-2020 Zheng Jie + Copyright 2019-2023 Zheng Jie Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/eladmin-common/src/main/java/me/zhengjie/annotation/Query.java b/eladmin-common/src/main/java/me/zhengjie/annotation/Query.java index e1758c9b..fe616f1c 100644 --- a/eladmin-common/src/main/java/me/zhengjie/annotation/Query.java +++ b/eladmin-common/src/main/java/me/zhengjie/annotation/Query.java @@ -74,7 +74,9 @@ public @interface Query { // 不为空 ,NOT_NULL // 为空 - ,IS_NULL + ,IS_NULL, + // Aborn Jiang 2022/06/01, 对应SQL: SELECT * FROM table WHERE FIND_IN_SET('querytag', table.tags); + FIND_IN_SET } /** diff --git a/eladmin-common/src/main/java/me/zhengjie/utils/PageResult.java b/eladmin-common/src/main/java/me/zhengjie/utils/PageResult.java new file mode 100644 index 00000000..0f1fdfe2 --- /dev/null +++ b/eladmin-common/src/main/java/me/zhengjie/utils/PageResult.java @@ -0,0 +1,16 @@ +package me.zhengjie.utils; + +import lombok.AccessLevel; +import lombok.Getter; +import lombok.RequiredArgsConstructor; + +import java.util.List; + +@Getter +@RequiredArgsConstructor(access = AccessLevel.PACKAGE) +public class PageResult { + + private final List content; + + private final long totalElements; +} diff --git a/eladmin-common/src/main/java/me/zhengjie/utils/PageUtil.java b/eladmin-common/src/main/java/me/zhengjie/utils/PageUtil.java index 44db68dd..56020d98 100644 --- a/eladmin-common/src/main/java/me/zhengjie/utils/PageUtil.java +++ b/eladmin-common/src/main/java/me/zhengjie/utils/PageUtil.java @@ -28,11 +28,11 @@ public class PageUtil extends cn.hutool.core.util.PageUtil { /** * List 分页 */ - public static List toPage(int page, int size , List list) { + public static List paging(int page, int size , List list) { int fromIndex = page * size; int toIndex = page * size + size; if(fromIndex > list.size()){ - return new ArrayList(); + return Collections.emptyList(); } else if(toIndex >= list.size()) { return list.subList(fromIndex,list.size()); } else { @@ -43,21 +43,21 @@ public class PageUtil extends cn.hutool.core.util.PageUtil { /** * Page 数据处理,预防redis反序列化报错 */ - public static Map toPage(Page page) { - Map map = new LinkedHashMap<>(2); - map.put("content",page.getContent()); - map.put("totalElements",page.getTotalElements()); - return map; + public static PageResult toPage(Page page) { + return new PageResult<>(page.getContent(), page.getTotalElements()); } /** * 自定义分页 */ - public static Map toPage(Object object, Object totalElements) { - Map map = new LinkedHashMap<>(2); - map.put("content",object); - map.put("totalElements",totalElements); - return map; + public static PageResult toPage(List list, long totalElements) { + return new PageResult<>(list, totalElements); } + /** + * 返回空数据 + */ + public static PageResult noData () { + return new PageResult<>(null, 0); + } } diff --git a/eladmin-common/src/main/java/me/zhengjie/utils/QueryHelp.java b/eladmin-common/src/main/java/me/zhengjie/utils/QueryHelp.java index 671fff71..5b542faa 100644 --- a/eladmin-common/src/main/java/me/zhengjie/utils/QueryHelp.java +++ b/eladmin-common/src/main/java/me/zhengjie/utils/QueryHelp.java @@ -166,6 +166,10 @@ public class QueryHelp { (Comparable) between.get(0), (Comparable) between.get(1))); } break; + case FIND_IN_SET: + list.add(cb.greaterThan(cb.function("FIND_IN_SET", Integer.class, + cb.literal(val.toString()), root.get(attributeName)), 0)); + break; default: break; } } diff --git a/eladmin-common/src/main/java/me/zhengjie/utils/RedisUtils.java b/eladmin-common/src/main/java/me/zhengjie/utils/RedisUtils.java index eb292ed9..65d02789 100644 --- a/eladmin-common/src/main/java/me/zhengjie/utils/RedisUtils.java +++ b/eladmin-common/src/main/java/me/zhengjie/utils/RedisUtils.java @@ -19,13 +19,11 @@ import com.google.common.collect.Lists; import com.google.common.collect.Sets; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Value; import org.springframework.data.redis.connection.RedisConnection; import org.springframework.data.redis.connection.RedisConnectionFactory; import org.springframework.data.redis.core.*; import org.springframework.data.redis.serializer.StringRedisSerializer; import org.springframework.stereotype.Component; - import java.util.*; import java.util.concurrent.TimeUnit; @@ -36,9 +34,8 @@ import java.util.concurrent.TimeUnit; @SuppressWarnings({"unchecked", "all"}) public class RedisUtils { private static final Logger log = LoggerFactory.getLogger(RedisUtils.class); + private RedisTemplate redisTemplate; - @Value("${jwt.online-key}") - private String onlineKey; public RedisUtils(RedisTemplate redisTemplate) { this.redisTemplate = redisTemplate; @@ -51,7 +48,7 @@ public class RedisUtils { * 指定缓存失效时间 * * @param key 键 - * @param time 时间(秒) + * @param time 时间(秒) 注意:这里将会替换原有的时间 */ public boolean expire(String key, long time) { try { @@ -69,7 +66,7 @@ public class RedisUtils { * 指定缓存失效时间 * * @param key 键 - * @param time 时间(秒) + * @param time 时间(秒) 注意:这里将会替换原有的时间 * @param timeUnit 单位 */ public boolean expire(String key, long time, TimeUnit timeUnit) { @@ -197,6 +194,21 @@ public class RedisUtils { } } + /** + * 批量模糊删除key + * @param pattern + */ + public void scanDel(String pattern){ + ScanOptions options = ScanOptions.scanOptions().match(pattern).build(); + try (Cursor cursor = redisTemplate.executeWithStickyConnection( + (RedisCallback>) connection -> (Cursor) new ConvertingCursor<>( + connection.scan(options), redisTemplate.getKeySerializer()::deserialize))) { + while (cursor.hasNext()) { + redisTemplate.delete(cursor.next()); + } + } + } + // ============================String============================= /** @@ -244,7 +256,7 @@ public class RedisUtils { * * @param key 键 * @param value 值 - * @param time 时间(秒) time要大于0 如果time小于等于0 将设置无限期 + * @param time 时间(秒) time要大于0 如果time小于等于0 将设置无限期,注意:这里将会替换原有的时间 * @return true成功 false 失败 */ public boolean set(String key, Object value, long time) { @@ -266,7 +278,7 @@ public class RedisUtils { * * @param key 键 * @param value 值 - * @param time 时间 + * @param time 时间,注意:这里将会替换原有的时间 * @param timeUnit 类型 * @return true成功 false 失败 */ @@ -326,11 +338,11 @@ public class RedisUtils { } /** - * HashSet 并设置时间 + * HashSet * * @param key 键 * @param map 对应多个键值 - * @param time 时间(秒) + * @param time 时间(秒) 注意:如果已存在的hash表有时间,这里将会替换原有的时间 * @return true成功 false失败 */ public boolean hmset(String key, Map map, long time) { @@ -484,7 +496,7 @@ public class RedisUtils { * 将set数据放入缓存 * * @param key 键 - * @param time 时间(秒) + * @param time 时间(秒) 注意:这里将会替换原有的时间 * @param values 值 可以是多个 * @return 成功个数 */ @@ -605,7 +617,7 @@ public class RedisUtils { * * @param key 键 * @param value 值 - * @param time 时间(秒) + * @param time 时间(秒) 注意:这里将会替换原有的时间 * @return */ public boolean lSet(String key, Object value, long time) { @@ -643,7 +655,7 @@ public class RedisUtils { * * @param key 键 * @param value 值 - * @param time 时间(秒) + * @param time 时间(秒) 注意:这里将会替换原有的时间 * @return */ public boolean lSet(String key, List value, long time) { diff --git a/eladmin-generator/src/main/java/me/zhengjie/rest/GenConfigController.java b/eladmin-generator/src/main/java/me/zhengjie/rest/GenConfigController.java index 1c099993..d4cbec91 100644 --- a/eladmin-generator/src/main/java/me/zhengjie/rest/GenConfigController.java +++ b/eladmin-generator/src/main/java/me/zhengjie/rest/GenConfigController.java @@ -39,7 +39,7 @@ public class GenConfigController { @ApiOperation("查询") @GetMapping(value = "/{tableName}") - public ResponseEntity queryGenConfig(@PathVariable String tableName){ + public ResponseEntity queryGenConfig(@PathVariable String tableName){ return new ResponseEntity<>(genConfigService.find(tableName), HttpStatus.OK); } diff --git a/eladmin-generator/src/main/java/me/zhengjie/rest/GeneratorController.java b/eladmin-generator/src/main/java/me/zhengjie/rest/GeneratorController.java index bfdfecc0..4a1f1e4e 100644 --- a/eladmin-generator/src/main/java/me/zhengjie/rest/GeneratorController.java +++ b/eladmin-generator/src/main/java/me/zhengjie/rest/GeneratorController.java @@ -19,9 +19,11 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import me.zhengjie.domain.ColumnInfo; +import me.zhengjie.domain.vo.TableInfo; import me.zhengjie.exception.BadRequestException; import me.zhengjie.service.GenConfigService; import me.zhengjie.service.GeneratorService; +import me.zhengjie.utils.PageResult; import me.zhengjie.utils.PageUtil; import org.springframework.beans.factory.annotation.Value; import org.springframework.http.HttpStatus; @@ -55,16 +57,16 @@ public class GeneratorController { @ApiOperation("查询数据库数据") @GetMapping(value = "/tables") - public ResponseEntity queryTables(@RequestParam(defaultValue = "") String name, - @RequestParam(defaultValue = "0")Integer page, - @RequestParam(defaultValue = "10")Integer size){ + public ResponseEntity> queryTables(@RequestParam(defaultValue = "") String name, + @RequestParam(defaultValue = "0")Integer page, + @RequestParam(defaultValue = "10")Integer size){ int[] startEnd = PageUtil.transToStartEnd(page, size); return new ResponseEntity<>(generatorService.getTables(name,startEnd), HttpStatus.OK); } @ApiOperation("查询字段数据") @GetMapping(value = "/columns") - public ResponseEntity queryColumns(@RequestParam String tableName){ + public ResponseEntity> queryColumns(@RequestParam String tableName){ List columnInfos = generatorService.getColumns(tableName); return new ResponseEntity<>(PageUtil.toPage(columnInfos,columnInfos.size()), HttpStatus.OK); } diff --git a/eladmin-generator/src/main/java/me/zhengjie/service/GeneratorService.java b/eladmin-generator/src/main/java/me/zhengjie/service/GeneratorService.java index b5a1e0a5..b9c2a2f5 100644 --- a/eladmin-generator/src/main/java/me/zhengjie/service/GeneratorService.java +++ b/eladmin-generator/src/main/java/me/zhengjie/service/GeneratorService.java @@ -17,6 +17,8 @@ package me.zhengjie.service; import me.zhengjie.domain.GenConfig; import me.zhengjie.domain.ColumnInfo; +import me.zhengjie.domain.vo.TableInfo; +import me.zhengjie.utils.PageResult; import org.springframework.http.ResponseEntity; import org.springframework.scheduling.annotation.Async; import javax.servlet.http.HttpServletRequest; @@ -35,7 +37,7 @@ public interface GeneratorService { * @param startEnd 分页参数 * @return / */ - Object getTables(String name, int[] startEnd); + PageResult getTables(String name, int[] startEnd); /** * 得到数据表的元数据 diff --git a/eladmin-generator/src/main/java/me/zhengjie/service/impl/GeneratorServiceImpl.java b/eladmin-generator/src/main/java/me/zhengjie/service/impl/GeneratorServiceImpl.java index 0341b115..604cf2db 100644 --- a/eladmin-generator/src/main/java/me/zhengjie/service/impl/GeneratorServiceImpl.java +++ b/eladmin-generator/src/main/java/me/zhengjie/service/impl/GeneratorServiceImpl.java @@ -25,10 +25,7 @@ import me.zhengjie.domain.vo.TableInfo; import me.zhengjie.exception.BadRequestException; import me.zhengjie.repository.ColumnInfoRepository; import me.zhengjie.service.GeneratorService; -import me.zhengjie.utils.FileUtil; -import me.zhengjie.utils.GenUtil; -import me.zhengjie.utils.PageUtil; -import me.zhengjie.utils.StringUtils; +import me.zhengjie.utils.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.http.HttpStatus; @@ -41,6 +38,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.File; import java.io.IOException; +import java.math.BigInteger; import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -71,7 +69,7 @@ public class GeneratorServiceImpl implements GeneratorService { } @Override - public Object getTables(String name, int[] startEnd) { + public PageResult getTables(String name, int[] startEnd) { // 使用预编译防止sql注入 String sql = "select table_name ,create_time , engine, table_collation, table_comment from information_schema.tables " + "where table_schema = (select database()) " + @@ -90,8 +88,8 @@ public class GeneratorServiceImpl implements GeneratorService { "where table_schema = (select database()) and table_name like :table"; Query queryCount = em.createNativeQuery(countSql); queryCount.setParameter("table", StringUtils.isNotBlank(name) ? ("%" + name + "%") : "%%"); - Object totalElements = queryCount.getSingleResult(); - return PageUtil.toPage(tableInfos, totalElements); + BigInteger totalElements = (BigInteger) queryCount.getSingleResult(); + return PageUtil.toPage(tableInfos, totalElements.longValue()); } @Override diff --git a/eladmin-generator/src/main/java/me/zhengjie/utils/GenUtil.java b/eladmin-generator/src/main/java/me/zhengjie/utils/GenUtil.java index b62efa2d..8c8a95aa 100644 --- a/eladmin-generator/src/main/java/me/zhengjie/utils/GenUtil.java +++ b/eladmin-generator/src/main/java/me/zhengjie/utils/GenUtil.java @@ -87,7 +87,7 @@ public class GenUtil { TemplateEngine engine = TemplateUtil.createEngine(new TemplateConfig("template", TemplateConfig.ResourceMode.CLASSPATH)); for (String templateName : templates) { Map map = new HashMap<>(1); - Template template = engine.getTemplate("generator/admin/" + templateName + ".ftl"); + Template template = engine.getTemplate("admin/" + templateName + ".ftl"); map.put("content", template.render(genMap)); map.put("name", templateName); genList.add(map); @@ -96,7 +96,7 @@ public class GenUtil { templates = getFrontTemplateNames(); for (String templateName : templates) { Map map = new HashMap<>(1); - Template template = engine.getTemplate("generator/front/" + templateName + ".ftl"); + Template template = engine.getTemplate("front/" + templateName + ".ftl"); map.put(templateName, template.render(genMap)); map.put("content", template.render(genMap)); map.put("name", templateName); @@ -114,7 +114,7 @@ public class GenUtil { // 生成后端代码 List templates = getAdminTemplateNames(); for (String templateName : templates) { - Template template = engine.getTemplate("generator/admin/" + templateName + ".ftl"); + Template template = engine.getTemplate("admin/" + templateName + ".ftl"); String filePath = getAdminFilePath(templateName, genConfig, genMap.get("className").toString(), tempPath + "eladmin" + File.separator); assert filePath != null; File file = new File(filePath); @@ -128,7 +128,7 @@ public class GenUtil { // 生成前端代码 templates = getFrontTemplateNames(); for (String templateName : templates) { - Template template = engine.getTemplate("generator/front/" + templateName + ".ftl"); + Template template = engine.getTemplate("front/" + templateName + ".ftl"); String path = tempPath + "eladmin-web" + File.separator; String apiPath = path + "src" + File.separator + "api" + File.separator; String srcPath = path + "src" + File.separator + "views" + File.separator + genMap.get("changeClassName").toString() + File.separator; @@ -151,7 +151,7 @@ public class GenUtil { // 生成后端代码 List templates = getAdminTemplateNames(); for (String templateName : templates) { - Template template = engine.getTemplate("generator/admin/" + templateName + ".ftl"); + Template template = engine.getTemplate("admin/" + templateName + ".ftl"); String rootPath = System.getProperty("user.dir"); String filePath = getAdminFilePath(templateName, genConfig, genMap.get("className").toString(), rootPath); @@ -169,7 +169,7 @@ public class GenUtil { // 生成前端代码 templates = getFrontTemplateNames(); for (String templateName : templates) { - Template template = engine.getTemplate("generator/front/" + templateName + ".ftl"); + Template template = engine.getTemplate("front/" + templateName + ".ftl"); String filePath = getFrontFilePath(templateName, genConfig.getApiPath(), genConfig.getPath(), genMap.get("changeClassName").toString()); assert filePath != null; diff --git a/eladmin-system/src/main/resources/generator.properties b/eladmin-generator/src/main/resources/generator.properties similarity index 85% rename from eladmin-system/src/main/resources/generator.properties rename to eladmin-generator/src/main/resources/generator.properties index 2ed93706..e64d0608 100644 --- a/eladmin-system/src/main/resources/generator.properties +++ b/eladmin-generator/src/main/resources/generator.properties @@ -1,4 +1,4 @@ -#数据库类型转Java类型 +# Database type to Java type tinyint=Integer smallint=Integer mediumint=Integer diff --git a/eladmin-system/src/main/resources/template/generator/admin/Controller.ftl b/eladmin-generator/src/main/resources/template/admin/Controller.ftl similarity index 90% rename from eladmin-system/src/main/resources/template/generator/admin/Controller.ftl rename to eladmin-generator/src/main/resources/template/admin/Controller.ftl index 5af73ddb..a7d6d754 100644 --- a/eladmin-system/src/main/resources/template/generator/admin/Controller.ftl +++ b/eladmin-generator/src/main/resources/template/admin/Controller.ftl @@ -29,6 +29,8 @@ import org.springframework.web.bind.annotation.*; import io.swagger.annotations.*; import java.io.IOException; import javax.servlet.http.HttpServletResponse; +import me.zhengjie.utils.PageResult; +import ${package}.service.dto.${className}Dto; /** * @website https://eladmin.vip @@ -55,7 +57,7 @@ public class ${className}Controller { @Log("查询${apiAlias}") @ApiOperation("查询${apiAlias}") @PreAuthorize("@el.check('${changeClassName}:list')") - public ResponseEntity query${className}(${className}QueryCriteria criteria, Pageable pageable){ + public ResponseEntity> query${className}(${className}QueryCriteria criteria, Pageable pageable){ return new ResponseEntity<>(${changeClassName}Service.queryAll(criteria,pageable),HttpStatus.OK); } @@ -64,7 +66,8 @@ public class ${className}Controller { @ApiOperation("新增${apiAlias}") @PreAuthorize("@el.check('${changeClassName}:add')") public ResponseEntity create${className}(@Validated @RequestBody ${className} resources){ - return new ResponseEntity<>(${changeClassName}Service.create(resources),HttpStatus.CREATED); + ${changeClassName}Service.create(resources); + return new ResponseEntity<>(HttpStatus.CREATED); } @PutMapping diff --git a/eladmin-system/src/main/resources/template/generator/admin/Dto.ftl b/eladmin-generator/src/main/resources/template/admin/Dto.ftl similarity index 100% rename from eladmin-system/src/main/resources/template/generator/admin/Dto.ftl rename to eladmin-generator/src/main/resources/template/admin/Dto.ftl diff --git a/eladmin-system/src/main/resources/template/generator/admin/Entity.ftl b/eladmin-generator/src/main/resources/template/admin/Entity.ftl similarity index 100% rename from eladmin-system/src/main/resources/template/generator/admin/Entity.ftl rename to eladmin-generator/src/main/resources/template/admin/Entity.ftl diff --git a/eladmin-system/src/main/resources/template/generator/admin/Mapper.ftl b/eladmin-generator/src/main/resources/template/admin/Mapper.ftl similarity index 100% rename from eladmin-system/src/main/resources/template/generator/admin/Mapper.ftl rename to eladmin-generator/src/main/resources/template/admin/Mapper.ftl diff --git a/eladmin-system/src/main/resources/template/generator/admin/QueryCriteria.ftl b/eladmin-generator/src/main/resources/template/admin/QueryCriteria.ftl similarity index 100% rename from eladmin-system/src/main/resources/template/generator/admin/QueryCriteria.ftl rename to eladmin-generator/src/main/resources/template/admin/QueryCriteria.ftl diff --git a/eladmin-system/src/main/resources/template/generator/admin/Repository.ftl b/eladmin-generator/src/main/resources/template/admin/Repository.ftl similarity index 100% rename from eladmin-system/src/main/resources/template/generator/admin/Repository.ftl rename to eladmin-generator/src/main/resources/template/admin/Repository.ftl diff --git a/eladmin-system/src/main/resources/template/generator/admin/Service.ftl b/eladmin-generator/src/main/resources/template/admin/Service.ftl similarity index 92% rename from eladmin-system/src/main/resources/template/generator/admin/Service.ftl rename to eladmin-generator/src/main/resources/template/admin/Service.ftl index ef337149..9329e8b5 100644 --- a/eladmin-system/src/main/resources/template/generator/admin/Service.ftl +++ b/eladmin-generator/src/main/resources/template/admin/Service.ftl @@ -23,6 +23,7 @@ import java.util.Map; import java.util.List; import java.io.IOException; import javax.servlet.http.HttpServletResponse; +import me.zhengjie.utils.PageResult; /** * @website https://eladmin.vip @@ -38,7 +39,7 @@ public interface ${className}Service { * @param pageable 分页参数 * @return Map */ - Map queryAll(${className}QueryCriteria criteria, Pageable pageable); + PageResult<${className}Dto> queryAll(${className}QueryCriteria criteria, Pageable pageable); /** * 查询所有数据不分页 @@ -57,9 +58,8 @@ public interface ${className}Service { /** * 创建 * @param resources / - * @return ${className}Dto */ - ${className}Dto create(${className} resources); + void create(${className} resources); /** * 编辑 diff --git a/eladmin-system/src/main/resources/template/generator/admin/ServiceImpl.ftl b/eladmin-generator/src/main/resources/template/admin/ServiceImpl.ftl similarity index 96% rename from eladmin-system/src/main/resources/template/generator/admin/ServiceImpl.ftl rename to eladmin-generator/src/main/resources/template/admin/ServiceImpl.ftl index 4f1f07da..e79205c2 100644 --- a/eladmin-system/src/main/resources/template/generator/admin/ServiceImpl.ftl +++ b/eladmin-generator/src/main/resources/template/admin/ServiceImpl.ftl @@ -52,6 +52,7 @@ import java.io.IOException; import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; import java.util.LinkedHashMap; +import me.zhengjie.utils.PageResult; /** * @website https://eladmin.vip @@ -67,7 +68,7 @@ public class ${className}ServiceImpl implements ${className}Service { private final ${className}Mapper ${changeClassName}Mapper; @Override - public Map queryAll(${className}QueryCriteria criteria, Pageable pageable){ + public PageResult<${className}Dto> queryAll(${className}QueryCriteria criteria, Pageable pageable){ Page<${className}> page = ${changeClassName}Repository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder),pageable); return PageUtil.toPage(page.map(${changeClassName}Mapper::toDto)); } @@ -87,7 +88,7 @@ public class ${className}ServiceImpl implements ${className}Service { @Override @Transactional(rollbackFor = Exception.class) - public ${className}Dto create(${className} resources) { + public void create(${className} resources) { <#if !auto && pkColumnType = 'Long'> Snowflake snowflake = IdUtil.createSnowflake(1, 1); resources.set${pkCapitalColName}(snowflake.nextId()); @@ -104,7 +105,7 @@ public class ${className}ServiceImpl implements ${className}Service { - return ${changeClassName}Mapper.toDto(${changeClassName}Repository.save(resources)); + ${changeClassName}Repository.save(resources); } @Override diff --git a/eladmin-system/src/main/resources/template/generator/front/api.ftl b/eladmin-generator/src/main/resources/template/front/api.ftl similarity index 100% rename from eladmin-system/src/main/resources/template/generator/front/api.ftl rename to eladmin-generator/src/main/resources/template/front/api.ftl diff --git a/eladmin-system/src/main/resources/template/generator/front/index.ftl b/eladmin-generator/src/main/resources/template/front/index.ftl similarity index 100% rename from eladmin-system/src/main/resources/template/generator/front/index.ftl rename to eladmin-generator/src/main/resources/template/front/index.ftl diff --git a/eladmin-logging/src/main/java/me/zhengjie/rest/SysLogController.java b/eladmin-logging/src/main/java/me/zhengjie/rest/SysLogController.java index 163988cb..fa173705 100644 --- a/eladmin-logging/src/main/java/me/zhengjie/rest/SysLogController.java +++ b/eladmin-logging/src/main/java/me/zhengjie/rest/SysLogController.java @@ -21,6 +21,8 @@ import lombok.RequiredArgsConstructor; import me.zhengjie.annotation.Log; import me.zhengjie.service.SysLogService; import me.zhengjie.service.dto.SysLogQueryCriteria; +import me.zhengjie.service.dto.SysLogSmallDto; +import me.zhengjie.utils.PageResult; import me.zhengjie.utils.SecurityUtils; import org.springframework.data.domain.Pageable; import org.springframework.http.HttpStatus; @@ -69,7 +71,7 @@ public class SysLogController { @GetMapping(value = "/user") @ApiOperation("用户日志查询") - public ResponseEntity queryUserLog(SysLogQueryCriteria criteria, Pageable pageable){ + public ResponseEntity> queryUserLog(SysLogQueryCriteria criteria, Pageable pageable){ criteria.setLogType("INFO"); criteria.setUsername(SecurityUtils.getCurrentUsername()); return new ResponseEntity<>(sysLogService.queryAllByUser(criteria,pageable), HttpStatus.OK); diff --git a/eladmin-logging/src/main/java/me/zhengjie/service/SysLogService.java b/eladmin-logging/src/main/java/me/zhengjie/service/SysLogService.java index 3f7eebb4..80f2d1c4 100644 --- a/eladmin-logging/src/main/java/me/zhengjie/service/SysLogService.java +++ b/eladmin-logging/src/main/java/me/zhengjie/service/SysLogService.java @@ -17,6 +17,8 @@ package me.zhengjie.service; import me.zhengjie.domain.SysLog; import me.zhengjie.service.dto.SysLogQueryCriteria; +import me.zhengjie.service.dto.SysLogSmallDto; +import me.zhengjie.utils.PageResult; import org.aspectj.lang.ProceedingJoinPoint; import org.springframework.data.domain.Pageable; import org.springframework.scheduling.annotation.Async; @@ -52,7 +54,7 @@ public interface SysLogService { * @param pageable 分页参数 * @return - */ - Object queryAllByUser(SysLogQueryCriteria criteria, Pageable pageable); + PageResult queryAllByUser(SysLogQueryCriteria criteria, Pageable pageable); /** * 保存日志数据 diff --git a/eladmin-logging/src/main/java/me/zhengjie/service/impl/SysLogServiceImpl.java b/eladmin-logging/src/main/java/me/zhengjie/service/impl/SysLogServiceImpl.java index 528bc20b..19089bf8 100644 --- a/eladmin-logging/src/main/java/me/zhengjie/service/impl/SysLogServiceImpl.java +++ b/eladmin-logging/src/main/java/me/zhengjie/service/impl/SysLogServiceImpl.java @@ -24,6 +24,7 @@ import me.zhengjie.domain.SysLog; import me.zhengjie.repository.LogRepository; import me.zhengjie.service.SysLogService; import me.zhengjie.service.dto.SysLogQueryCriteria; +import me.zhengjie.service.dto.SysLogSmallDto; import me.zhengjie.service.mapstruct.LogErrorMapper; import me.zhengjie.service.mapstruct.LogSmallMapper; import me.zhengjie.utils.*; @@ -60,7 +61,7 @@ public class SysLogServiceImpl implements SysLogService { if (status.equals(criteria.getLogType())) { return PageUtil.toPage(page.map(logErrorMapper::toDto)); } - return page; + return PageUtil.toPage(page); } @Override @@ -69,7 +70,7 @@ public class SysLogServiceImpl implements SysLogService { } @Override - public Object queryAllByUser(SysLogQueryCriteria criteria, Pageable pageable) { + public PageResult queryAllByUser(SysLogQueryCriteria criteria, Pageable pageable) { Page page = logRepository.findAll(((root, criteriaQuery, cb) -> QueryHelp.getPredicate(root, criteria, cb)), pageable); return PageUtil.toPage(page.map(logSmallMapper::toDto)); } diff --git a/eladmin-system/src/main/java/me/zhengjie/AppRun.java b/eladmin-system/src/main/java/me/zhengjie/AppRun.java index a7652fc1..a09ee26e 100644 --- a/eladmin-system/src/main/java/me/zhengjie/AppRun.java +++ b/eladmin-system/src/main/java/me/zhengjie/AppRun.java @@ -21,8 +21,6 @@ import me.zhengjie.utils.SpringContextHolder; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.context.ApplicationPidFileWriter; -import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory; -import org.springframework.boot.web.servlet.server.ServletWebServerFactory; import org.springframework.context.annotation.Bean; import org.springframework.data.jpa.repository.config.EnableJpaAuditing; import org.springframework.http.HttpStatus; diff --git a/eladmin-system/src/main/java/me/zhengjie/config/RelaxedQueryCharsConnectorCustomizer b/eladmin-system/src/main/java/me/zhengjie/config/RelaxedQueryCharsConnectorCustomizer deleted file mode 100644 index 2ca2ad47..00000000 --- a/eladmin-system/src/main/java/me/zhengjie/config/RelaxedQueryCharsConnectorCustomizer +++ /dev/null @@ -1,16 +0,0 @@ -package me.zhengjie.config; - -import org.apache.catalina.connector.Connector; -import org.springframework.boot.web.embedded.tomcat.TomcatConnectorCustomizer; -import org.springframework.context.annotation.Configuration; - -/** - * @author bearBoy80 - */ -@Configuration(proxyBeanMethods = false) -public class RelaxedQueryCharsConnectorCustomizer implements TomcatConnectorCustomizer { - @Override - public void customize(Connector connector) { - connector.setProperty("relaxedQueryChars", "[]{}"); - } -} diff --git a/eladmin-system/src/main/java/me/zhengjie/config/RelaxedQueryCharsConnectorCustomizer.java b/eladmin-system/src/main/java/me/zhengjie/config/RelaxedQueryCharsConnectorCustomizer.java new file mode 100644 index 00000000..14a6b20d --- /dev/null +++ b/eladmin-system/src/main/java/me/zhengjie/config/RelaxedQueryCharsConnectorCustomizer.java @@ -0,0 +1,31 @@ +/* + * Copyright 2019-2023 Zheng Jie + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package me.zhengjie.config; + +import org.apache.catalina.connector.Connector; +import org.springframework.boot.web.embedded.tomcat.TomcatConnectorCustomizer; +import org.springframework.context.annotation.Configuration; + +/** + * @author bearBoy80 + */ +@Configuration(proxyBeanMethods = false) +public class RelaxedQueryCharsConnectorCustomizer implements TomcatConnectorCustomizer { + @Override + public void customize(Connector connector) { + connector.setProperty("relaxedQueryChars", "[]{}"); + } +} diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/rest/AppController.java b/eladmin-system/src/main/java/me/zhengjie/modules/mnt/rest/AppController.java index 61ce07c1..5dac15eb 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/rest/AppController.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/mnt/rest/AppController.java @@ -21,7 +21,9 @@ import lombok.RequiredArgsConstructor; import me.zhengjie.annotation.Log; import me.zhengjie.modules.mnt.domain.App; import me.zhengjie.modules.mnt.service.AppService; +import me.zhengjie.modules.mnt.service.dto.AppDto; import me.zhengjie.modules.mnt.service.dto.AppQueryCriteria; +import me.zhengjie.utils.PageResult; import org.springframework.data.domain.Pageable; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; @@ -54,7 +56,7 @@ public class AppController { @ApiOperation(value = "查询应用") @GetMapping @PreAuthorize("@el.check('app:list')") - public ResponseEntity queryApp(AppQueryCriteria criteria, Pageable pageable){ + public ResponseEntity> queryApp(AppQueryCriteria criteria, Pageable pageable){ return new ResponseEntity<>(appService.queryAll(criteria,pageable),HttpStatus.OK); } diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/rest/DatabaseController.java b/eladmin-system/src/main/java/me/zhengjie/modules/mnt/rest/DatabaseController.java index 215c802a..0ce1a4e8 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/rest/DatabaseController.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/mnt/rest/DatabaseController.java @@ -26,6 +26,7 @@ import me.zhengjie.modules.mnt.service.dto.DatabaseDto; import me.zhengjie.modules.mnt.service.dto.DatabaseQueryCriteria; import me.zhengjie.modules.mnt.util.SqlUtils; import me.zhengjie.utils.FileUtil; +import me.zhengjie.utils.PageResult; import org.springframework.data.domain.Pageable; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; @@ -62,7 +63,7 @@ public class DatabaseController { @ApiOperation(value = "查询数据库") @GetMapping @PreAuthorize("@el.check('database:list')") - public ResponseEntity queryDatabase(DatabaseQueryCriteria criteria, Pageable pageable){ + public ResponseEntity> queryDatabase(DatabaseQueryCriteria criteria, Pageable pageable){ return new ResponseEntity<>(databaseService.queryAll(criteria,pageable),HttpStatus.OK); } diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/rest/DeployController.java b/eladmin-system/src/main/java/me/zhengjie/modules/mnt/rest/DeployController.java index f48b5b51..1875c046 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/rest/DeployController.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/mnt/rest/DeployController.java @@ -23,8 +23,10 @@ import me.zhengjie.exception.BadRequestException; import me.zhengjie.modules.mnt.domain.Deploy; import me.zhengjie.modules.mnt.domain.DeployHistory; import me.zhengjie.modules.mnt.service.DeployService; +import me.zhengjie.modules.mnt.service.dto.DeployDto; import me.zhengjie.modules.mnt.service.dto.DeployQueryCriteria; import me.zhengjie.utils.FileUtil; +import me.zhengjie.utils.PageResult; import org.springframework.data.domain.Pageable; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; @@ -65,7 +67,7 @@ public class DeployController { @ApiOperation(value = "查询部署") @GetMapping @PreAuthorize("@el.check('deploy:list')") - public ResponseEntity queryDeployData(DeployQueryCriteria criteria, Pageable pageable){ + public ResponseEntity> queryDeployData(DeployQueryCriteria criteria, Pageable pageable){ return new ResponseEntity<>(deployService.queryAll(criteria,pageable),HttpStatus.OK); } diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/rest/DeployHistoryController.java b/eladmin-system/src/main/java/me/zhengjie/modules/mnt/rest/DeployHistoryController.java index 2d1037ba..8d3c902d 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/rest/DeployHistoryController.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/mnt/rest/DeployHistoryController.java @@ -20,7 +20,9 @@ import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import me.zhengjie.annotation.Log; import me.zhengjie.modules.mnt.service.DeployHistoryService; +import me.zhengjie.modules.mnt.service.dto.DeployHistoryDto; import me.zhengjie.modules.mnt.service.dto.DeployHistoryQueryCriteria; +import me.zhengjie.utils.PageResult; import org.springframework.data.domain.Pageable; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; @@ -52,7 +54,7 @@ public class DeployHistoryController { @ApiOperation(value = "查询部署历史") @GetMapping @PreAuthorize("@el.check('deployHistory:list')") - public ResponseEntity queryDeployHistory(DeployHistoryQueryCriteria criteria, Pageable pageable){ + public ResponseEntity> queryDeployHistory(DeployHistoryQueryCriteria criteria, Pageable pageable){ return new ResponseEntity<>(deployhistoryService.queryAll(criteria,pageable),HttpStatus.OK); } diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/rest/ServerDeployController.java b/eladmin-system/src/main/java/me/zhengjie/modules/mnt/rest/ServerDeployController.java index 894a90a9..5ccb0ed3 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/rest/ServerDeployController.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/mnt/rest/ServerDeployController.java @@ -21,7 +21,9 @@ import lombok.RequiredArgsConstructor; import me.zhengjie.annotation.Log; import me.zhengjie.modules.mnt.domain.ServerDeploy; import me.zhengjie.modules.mnt.service.ServerDeployService; +import me.zhengjie.modules.mnt.service.dto.ServerDeployDto; import me.zhengjie.modules.mnt.service.dto.ServerDeployQueryCriteria; +import me.zhengjie.utils.PageResult; import org.springframework.data.domain.Pageable; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; @@ -54,7 +56,7 @@ public class ServerDeployController { @ApiOperation(value = "查询服务器") @GetMapping @PreAuthorize("@el.check('serverDeploy:list')") - public ResponseEntity queryServerDeploy(ServerDeployQueryCriteria criteria, Pageable pageable){ + public ResponseEntity> queryServerDeploy(ServerDeployQueryCriteria criteria, Pageable pageable){ return new ResponseEntity<>(serverDeployService.queryAll(criteria,pageable),HttpStatus.OK); } diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/AppService.java b/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/AppService.java index c8227785..9bded4d8 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/AppService.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/AppService.java @@ -18,6 +18,7 @@ package me.zhengjie.modules.mnt.service; import me.zhengjie.modules.mnt.domain.App; import me.zhengjie.modules.mnt.service.dto.AppDto; import me.zhengjie.modules.mnt.service.dto.AppQueryCriteria; +import me.zhengjie.utils.PageResult; import org.springframework.data.domain.Pageable; import javax.servlet.http.HttpServletResponse; @@ -37,7 +38,7 @@ public interface AppService { * @param pageable 分页参数 * @return / */ - Object queryAll(AppQueryCriteria criteria, Pageable pageable); + PageResult queryAll(AppQueryCriteria criteria, Pageable pageable); /** * 查询全部数据 diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/DatabaseService.java b/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/DatabaseService.java index e8a3acb7..904f73ca 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/DatabaseService.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/DatabaseService.java @@ -18,6 +18,7 @@ package me.zhengjie.modules.mnt.service; import me.zhengjie.modules.mnt.domain.Database; import me.zhengjie.modules.mnt.service.dto.DatabaseDto; import me.zhengjie.modules.mnt.service.dto.DatabaseQueryCriteria; +import me.zhengjie.utils.PageResult; import org.springframework.data.domain.Pageable; import javax.servlet.http.HttpServletResponse; @@ -37,7 +38,7 @@ public interface DatabaseService { * @param pageable 分页参数 * @return / */ - Object queryAll(DatabaseQueryCriteria criteria, Pageable pageable); + PageResult queryAll(DatabaseQueryCriteria criteria, Pageable pageable); /** * 查询全部 diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/DeployHistoryService.java b/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/DeployHistoryService.java index 5eb1b3de..07bcb642 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/DeployHistoryService.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/DeployHistoryService.java @@ -18,6 +18,7 @@ package me.zhengjie.modules.mnt.service; import me.zhengjie.modules.mnt.domain.DeployHistory; import me.zhengjie.modules.mnt.service.dto.DeployHistoryDto; import me.zhengjie.modules.mnt.service.dto.DeployHistoryQueryCriteria; +import me.zhengjie.utils.PageResult; import org.springframework.data.domain.Pageable; import javax.servlet.http.HttpServletResponse; @@ -36,7 +37,7 @@ public interface DeployHistoryService { * @param pageable 分页参数 * @return / */ - Object queryAll(DeployHistoryQueryCriteria criteria, Pageable pageable); + PageResult queryAll(DeployHistoryQueryCriteria criteria, Pageable pageable); /** * 查询全部 diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/DeployService.java b/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/DeployService.java index 583474d7..7fb78f59 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/DeployService.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/DeployService.java @@ -19,6 +19,7 @@ import me.zhengjie.modules.mnt.domain.Deploy; import me.zhengjie.modules.mnt.domain.DeployHistory; import me.zhengjie.modules.mnt.service.dto.DeployDto; import me.zhengjie.modules.mnt.service.dto.DeployQueryCriteria; +import me.zhengjie.utils.PageResult; import org.springframework.data.domain.Pageable; import javax.servlet.http.HttpServletResponse; @@ -38,7 +39,7 @@ public interface DeployService { * @param pageable 分页参数 * @return / */ - Object queryAll(DeployQueryCriteria criteria, Pageable pageable); + PageResult queryAll(DeployQueryCriteria criteria, Pageable pageable); /** * 查询全部数据 diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/ServerDeployService.java b/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/ServerDeployService.java index be8bb573..6dd343fd 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/ServerDeployService.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/ServerDeployService.java @@ -18,6 +18,7 @@ package me.zhengjie.modules.mnt.service; import me.zhengjie.modules.mnt.domain.ServerDeploy; import me.zhengjie.modules.mnt.service.dto.ServerDeployDto; import me.zhengjie.modules.mnt.service.dto.ServerDeployQueryCriteria; +import me.zhengjie.utils.PageResult; import org.springframework.data.domain.Pageable; import javax.servlet.http.HttpServletResponse; @@ -37,7 +38,7 @@ public interface ServerDeployService { * @param pageable 分页参数 * @return / */ - Object queryAll(ServerDeployQueryCriteria criteria, Pageable pageable); + PageResult queryAll(ServerDeployQueryCriteria criteria, Pageable pageable); /** * 查询全部数据 diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/impl/AppServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/impl/AppServiceImpl.java index 42b088ff..7d66d0bf 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/impl/AppServiceImpl.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/impl/AppServiceImpl.java @@ -23,10 +23,7 @@ import me.zhengjie.modules.mnt.service.AppService; import me.zhengjie.modules.mnt.service.dto.AppDto; import me.zhengjie.modules.mnt.service.dto.AppQueryCriteria; import me.zhengjie.modules.mnt.service.mapstruct.AppMapper; -import me.zhengjie.utils.FileUtil; -import me.zhengjie.utils.PageUtil; -import me.zhengjie.utils.QueryHelp; -import me.zhengjie.utils.ValidationUtil; +import me.zhengjie.utils.*; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; @@ -47,7 +44,7 @@ public class AppServiceImpl implements AppService { private final AppMapper appMapper; @Override - public Object queryAll(AppQueryCriteria criteria, Pageable pageable){ + public PageResult queryAll(AppQueryCriteria criteria, Pageable pageable){ Page page = appRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder),pageable); return PageUtil.toPage(page.map(appMapper::toDto)); } diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/impl/DatabaseServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/impl/DatabaseServiceImpl.java index c7740285..fa55782e 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/impl/DatabaseServiceImpl.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/impl/DatabaseServiceImpl.java @@ -25,10 +25,7 @@ import me.zhengjie.modules.mnt.service.dto.DatabaseDto; import me.zhengjie.modules.mnt.service.dto.DatabaseQueryCriteria; import me.zhengjie.modules.mnt.service.mapstruct.DatabaseMapper; import me.zhengjie.modules.mnt.util.SqlUtils; -import me.zhengjie.utils.FileUtil; -import me.zhengjie.utils.PageUtil; -import me.zhengjie.utils.QueryHelp; -import me.zhengjie.utils.ValidationUtil; +import me.zhengjie.utils.*; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; @@ -50,7 +47,7 @@ public class DatabaseServiceImpl implements DatabaseService { private final DatabaseMapper databaseMapper; @Override - public Object queryAll(DatabaseQueryCriteria criteria, Pageable pageable){ + public PageResult queryAll(DatabaseQueryCriteria criteria, Pageable pageable){ Page page = databaseRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder),pageable); return PageUtil.toPage(page.map(databaseMapper::toDto)); } diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/impl/DeployHistoryServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/impl/DeployHistoryServiceImpl.java index 7431113d..762b783e 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/impl/DeployHistoryServiceImpl.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/impl/DeployHistoryServiceImpl.java @@ -23,10 +23,7 @@ import me.zhengjie.modules.mnt.service.DeployHistoryService; import me.zhengjie.modules.mnt.service.dto.DeployHistoryDto; import me.zhengjie.modules.mnt.service.dto.DeployHistoryQueryCriteria; import me.zhengjie.modules.mnt.service.mapstruct.DeployHistoryMapper; -import me.zhengjie.utils.FileUtil; -import me.zhengjie.utils.PageUtil; -import me.zhengjie.utils.QueryHelp; -import me.zhengjie.utils.ValidationUtil; +import me.zhengjie.utils.*; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; @@ -47,7 +44,7 @@ public class DeployHistoryServiceImpl implements DeployHistoryService { private final DeployHistoryMapper deployhistoryMapper; @Override - public Object queryAll(DeployHistoryQueryCriteria criteria, Pageable pageable){ + public PageResult queryAll(DeployHistoryQueryCriteria criteria, Pageable pageable){ Page page = deployhistoryRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder),pageable); return PageUtil.toPage(page.map(deployhistoryMapper::toDto)); } diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/impl/DeployServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/impl/DeployServiceImpl.java index f2491cda..1c16f9c6 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/impl/DeployServiceImpl.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/impl/DeployServiceImpl.java @@ -68,7 +68,7 @@ public class DeployServiceImpl implements DeployService { @Override - public Object queryAll(DeployQueryCriteria criteria, Pageable pageable) { + public PageResult queryAll(DeployQueryCriteria criteria, Pageable pageable) { Page page = deployRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root, criteria, criteriaBuilder), pageable); return PageUtil.toPage(page.map(deployMapper::toDto)); } diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/impl/ServerDeployServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/impl/ServerDeployServiceImpl.java index 63272dae..9e25eb4a 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/impl/ServerDeployServiceImpl.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/impl/ServerDeployServiceImpl.java @@ -23,10 +23,7 @@ import me.zhengjie.modules.mnt.service.dto.ServerDeployDto; import me.zhengjie.modules.mnt.service.dto.ServerDeployQueryCriteria; import me.zhengjie.modules.mnt.service.mapstruct.ServerDeployMapper; import me.zhengjie.modules.mnt.util.ExecuteShellUtil; -import me.zhengjie.utils.FileUtil; -import me.zhengjie.utils.PageUtil; -import me.zhengjie.utils.QueryHelp; -import me.zhengjie.utils.ValidationUtil; +import me.zhengjie.utils.*; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; @@ -47,7 +44,7 @@ public class ServerDeployServiceImpl implements ServerDeployService { private final ServerDeployMapper serverDeployMapper; @Override - public Object queryAll(ServerDeployQueryCriteria criteria, Pageable pageable){ + public PageResult queryAll(ServerDeployQueryCriteria criteria, Pageable pageable){ Page page = serverDeployRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder),pageable); return PageUtil.toPage(page.map(serverDeployMapper::toDto)); } diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/quartz/rest/QuartzJobController.java b/eladmin-system/src/main/java/me/zhengjie/modules/quartz/rest/QuartzJobController.java index ee70d76b..e1f1a5de 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/quartz/rest/QuartzJobController.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/quartz/rest/QuartzJobController.java @@ -22,8 +22,10 @@ import lombok.extern.slf4j.Slf4j; import me.zhengjie.annotation.Log; import me.zhengjie.exception.BadRequestException; import me.zhengjie.modules.quartz.domain.QuartzJob; +import me.zhengjie.modules.quartz.domain.QuartzLog; import me.zhengjie.modules.quartz.service.QuartzJobService; import me.zhengjie.modules.quartz.service.dto.JobQueryCriteria; +import me.zhengjie.utils.PageResult; import me.zhengjie.utils.SpringContextHolder; import org.springframework.data.domain.Pageable; import org.springframework.http.HttpStatus; @@ -52,7 +54,7 @@ public class QuartzJobController { @ApiOperation("查询定时任务") @GetMapping @PreAuthorize("@el.check('timing:list')") - public ResponseEntity queryQuartzJob(JobQueryCriteria criteria, Pageable pageable){ + public ResponseEntity> queryQuartzJob(JobQueryCriteria criteria, Pageable pageable){ return new ResponseEntity<>(quartzJobService.queryAll(criteria,pageable), HttpStatus.OK); } @@ -73,7 +75,7 @@ public class QuartzJobController { @ApiOperation("查询任务执行日志") @GetMapping(value = "/logs") @PreAuthorize("@el.check('timing:list')") - public ResponseEntity queryQuartzJobLog(JobQueryCriteria criteria, Pageable pageable){ + public ResponseEntity> queryQuartzJobLog(JobQueryCriteria criteria, Pageable pageable){ return new ResponseEntity<>(quartzJobService.queryAllLog(criteria,pageable), HttpStatus.OK); } diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/quartz/service/QuartzJobService.java b/eladmin-system/src/main/java/me/zhengjie/modules/quartz/service/QuartzJobService.java index b32850e9..2e93c7b8 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/quartz/service/QuartzJobService.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/quartz/service/QuartzJobService.java @@ -18,6 +18,7 @@ package me.zhengjie.modules.quartz.service; import me.zhengjie.modules.quartz.domain.QuartzJob; import me.zhengjie.modules.quartz.domain.QuartzLog; import me.zhengjie.modules.quartz.service.dto.JobQueryCriteria; +import me.zhengjie.utils.PageResult; import org.springframework.data.domain.Pageable; import javax.servlet.http.HttpServletResponse; import java.io.IOException; @@ -36,7 +37,7 @@ public interface QuartzJobService { * @param pageable 分页参数 * @return / */ - Object queryAll(JobQueryCriteria criteria, Pageable pageable); + PageResult queryAll(JobQueryCriteria criteria, Pageable pageable); /** * 查询全部 @@ -51,7 +52,7 @@ public interface QuartzJobService { * @param pageable 分页参数 * @return / */ - Object queryAllLog(JobQueryCriteria criteria, Pageable pageable); + PageResult queryAllLog(JobQueryCriteria criteria, Pageable pageable); /** * 查询全部 diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/quartz/service/impl/QuartzJobServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/quartz/service/impl/QuartzJobServiceImpl.java index 42ee326f..06341e20 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/quartz/service/impl/QuartzJobServiceImpl.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/quartz/service/impl/QuartzJobServiceImpl.java @@ -50,12 +50,12 @@ public class QuartzJobServiceImpl implements QuartzJobService { private final RedisUtils redisUtils; @Override - public Object queryAll(JobQueryCriteria criteria, Pageable pageable){ + public PageResult queryAll(JobQueryCriteria criteria, Pageable pageable){ return PageUtil.toPage(quartzJobRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder),pageable)); } @Override - public Object queryAllLog(JobQueryCriteria criteria, Pageable pageable){ + public PageResult queryAllLog(JobQueryCriteria criteria, Pageable pageable){ return PageUtil.toPage(quartzLogRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder),pageable)); } diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/quartz/utils/ExecutionJob.java b/eladmin-system/src/main/java/me/zhengjie/modules/quartz/utils/ExecutionJob.java index 5929995c..4de11205 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/quartz/utils/ExecutionJob.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/quartz/utils/ExecutionJob.java @@ -124,7 +124,7 @@ public class ExecutionJob extends QuartzJobBean { data.put("task", quartzJob); data.put("msg", msg); TemplateEngine engine = TemplateUtil.createEngine(new TemplateConfig("template", TemplateConfig.ResourceMode.CLASSPATH)); - Template template = engine.getTemplate("email/taskAlarm.ftl"); + Template template = engine.getTemplate("taskAlarm.ftl"); emailVo.setContent(template.render(data)); List emails = Arrays.asList(quartzJob.getEmail().split("[,,]")); emailVo.setTos(emails); diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/security/config/bean/LoginProperties.java b/eladmin-system/src/main/java/me/zhengjie/modules/security/config/bean/LoginProperties.java index 164c0073..0201a13d 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/security/config/bean/LoginProperties.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/security/config/bean/LoginProperties.java @@ -39,7 +39,7 @@ public class LoginProperties { private LoginCode loginCode; - public static final String cacheKey = "USER-LOGIN-DATA"; + public static final String cacheKey = "user-login-cache:"; public boolean isSingleLogin() { return singleLogin; diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/security/rest/AuthorizationController.java b/eladmin-system/src/main/java/me/zhengjie/modules/security/rest/AuthorizationController.java index e14ff2b1..89a6d665 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/security/rest/AuthorizationController.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/security/rest/AuthorizationController.java @@ -44,6 +44,7 @@ import org.springframework.security.authentication.UsernamePasswordAuthenticatio import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder; import org.springframework.security.core.Authentication; import org.springframework.security.core.context.SecurityContextHolder; +import org.springframework.security.core.userdetails.UserDetails; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -105,23 +106,24 @@ public class AuthorizationController { // SecurityContextHolder.getContext().setAuthentication(authentication); String token = tokenProvider.createToken(authentication); final JwtUserDto jwtUserDto = (JwtUserDto) authentication.getPrincipal(); - // 保存在线信息 - onlineUserService.save(jwtUserDto, token, request); // 返回 token 与 用户信息 Map authInfo = new HashMap(2) {{ put("token", properties.getTokenStartWith() + token); put("user", jwtUserDto); }}; if (loginProperties.isSingleLogin()) { - //踢掉之前已经登录的token - onlineUserService.checkLoginOnUser(authUser.getUsername(), token); + // 踢掉之前已经登录的token + onlineUserService.kickOutForUsername(authUser.getUsername()); } + // 保存在线信息 + onlineUserService.save(jwtUserDto, token, request); + // 返回登录信息 return ResponseEntity.ok(authInfo); } @ApiOperation("获取用户信息") @GetMapping(value = "/info") - public ResponseEntity getUserInfo() { + public ResponseEntity getUserInfo() { return ResponseEntity.ok(SecurityUtils.getCurrentUser()); } diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/security/rest/OnlineController.java b/eladmin-system/src/main/java/me/zhengjie/modules/security/rest/OnlineController.java index 61529a00..db1026da 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/security/rest/OnlineController.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/security/rest/OnlineController.java @@ -15,11 +15,13 @@ */ package me.zhengjie.modules.security.rest; +import cn.hutool.db.PageResult; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import me.zhengjie.exception.BadRequestException; import me.zhengjie.modules.security.service.OnlineUserService; +import me.zhengjie.modules.security.service.dto.OnlineUserDto; import org.springframework.data.domain.Pageable; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; @@ -43,15 +45,15 @@ public class OnlineController { @ApiOperation("查询在线用户") @GetMapping @PreAuthorize("@el.check()") - public ResponseEntity queryOnlineUser(String filter, Pageable pageable){ - return new ResponseEntity<>(onlineUserService.getAll(filter, pageable),HttpStatus.OK); + public ResponseEntity> queryOnlineUser(String username, Pageable pageable){ + return new ResponseEntity<>(onlineUserService.getAll(username, pageable),HttpStatus.OK); } @ApiOperation("导出数据") @GetMapping(value = "/download") @PreAuthorize("@el.check()") - public void exportOnlineUser(HttpServletResponse response, String filter) throws IOException { - onlineUserService.download(onlineUserService.getAll(filter), response); + public void exportOnlineUser(HttpServletResponse response, String username) throws IOException { + onlineUserService.download(onlineUserService.getAll(username), response); } @ApiOperation("踢出用户") diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/security/security/TokenFilter.java b/eladmin-system/src/main/java/me/zhengjie/modules/security/security/TokenFilter.java index d235cb81..7cb8a03f 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/security/security/TokenFilter.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/security/security/TokenFilter.java @@ -70,7 +70,8 @@ public class TokenFilter extends GenericFilterBean { OnlineUserDto onlineUserDto = null; boolean cleanUserCache = false; try { - onlineUserDto = onlineUserService.getOne(properties.getOnlineKey() + token); + String loginKey = tokenProvider.loginKey(token); + onlineUserDto = onlineUserService.getOne(loginKey); } catch (ExpiredJwtException e) { log.error(e.getMessage()); cleanUserCache = true; diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/security/security/TokenProvider.java b/eladmin-system/src/main/java/me/zhengjie/modules/security/security/TokenProvider.java index db98fba4..d2db83c0 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/security/security/TokenProvider.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/security/security/TokenProvider.java @@ -18,6 +18,7 @@ package me.zhengjie.modules.security.security; import cn.hutool.core.date.DateField; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.IdUtil; +import cn.hutool.crypto.digest.DigestUtil; import io.jsonwebtoken.*; import io.jsonwebtoken.io.Decoders; import io.jsonwebtoken.security.Keys; @@ -120,4 +121,15 @@ public class TokenProvider implements InitializingBean { } return null; } + + /** + * 获取登录用户RedisKey + * @param token / + * @return key + */ + public String loginKey(String token) { + Claims claims = getClaims(token); + String md5Token = DigestUtil.md5Hex(token); + return properties.getOnlineKey() + claims.getSubject() + "-" + md5Token; + } } diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/security/service/OnlineUserService.java b/eladmin-system/src/main/java/me/zhengjie/modules/security/service/OnlineUserService.java index af8d2986..ede78681 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/security/service/OnlineUserService.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/security/service/OnlineUserService.java @@ -15,7 +15,10 @@ */ package me.zhengjie.modules.security.service; +import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; +import me.zhengjie.modules.security.security.TokenProvider; +import me.zhengjie.utils.PageResult; import me.zhengjie.modules.security.config.bean.SecurityProperties; import me.zhengjie.modules.security.service.dto.JwtUserDto; import me.zhengjie.modules.security.service.dto.OnlineUserDto; @@ -27,6 +30,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.*; +import java.util.concurrent.TimeUnit; /** * @author Zheng Jie @@ -34,16 +38,13 @@ import java.util.*; */ @Service @Slf4j +@AllArgsConstructor public class OnlineUserService { private final SecurityProperties properties; + private final TokenProvider tokenProvider; private final RedisUtils redisUtils; - public OnlineUserService(SecurityProperties properties, RedisUtils redisUtils) { - this.properties = properties; - this.redisUtils = redisUtils; - } - /** * 保存在线用户信息 * @param jwtUserDto / @@ -61,62 +62,49 @@ public class OnlineUserService { } catch (Exception e) { log.error(e.getMessage(),e); } - redisUtils.set(properties.getOnlineKey() + token, onlineUserDto, properties.getTokenValidityInSeconds()/1000); + String loginKey = tokenProvider.loginKey(token); + redisUtils.set(loginKey, onlineUserDto, properties.getTokenValidityInSeconds(), TimeUnit.MILLISECONDS); } /** * 查询全部数据 - * @param filter / + * @param username / * @param pageable / * @return / */ - public Map getAll(String filter, Pageable pageable){ - List onlineUserDtos = getAll(filter); + public PageResult getAll(String username, Pageable pageable){ + List onlineUserDtos = getAll(username); return PageUtil.toPage( - PageUtil.toPage(pageable.getPageNumber(),pageable.getPageSize(), onlineUserDtos), + PageUtil.paging(pageable.getPageNumber(),pageable.getPageSize(), onlineUserDtos), onlineUserDtos.size() ); } /** * 查询全部数据,不分页 - * @param filter / + * @param username / * @return / */ - public List getAll(String filter){ - List keys = redisUtils.scan(properties.getOnlineKey() + "*"); + public List getAll(String username){ + String loginKey = properties.getOnlineKey() + + (StringUtils.isBlank(username) ? "" : "*" + username); + List keys = redisUtils.scan(loginKey + "*"); Collections.reverse(keys); List onlineUserDtos = new ArrayList<>(); for (String key : keys) { - OnlineUserDto onlineUserDto = (OnlineUserDto) redisUtils.get(key); - if(StringUtils.isNotBlank(filter)){ - if(onlineUserDto.toString().contains(filter)){ - onlineUserDtos.add(onlineUserDto); - } - } else { - onlineUserDtos.add(onlineUserDto); - } + onlineUserDtos.add((OnlineUserDto) redisUtils.get(key)); } onlineUserDtos.sort((o1, o2) -> o2.getLoginTime().compareTo(o1.getLoginTime())); return onlineUserDtos; } - /** - * 踢出用户 - * @param key / - */ - public void kickOut(String key){ - key = properties.getOnlineKey() + key; - redisUtils.del(key); - } - /** * 退出登录 * @param token / */ public void logout(String token) { - String key = properties.getOnlineKey() + token; - redisUtils.del(key); + String loginKey = tokenProvider.loginKey(token); + redisUtils.del(loginKey); } /** @@ -149,43 +137,13 @@ public class OnlineUserService { return (OnlineUserDto)redisUtils.get(key); } - /** - * 检测用户是否在之前已经登录,已经登录踢下线 - * @param userName 用户名 - */ - public void checkLoginOnUser(String userName, String igoreToken){ - List onlineUserDtos = getAll(userName); - if(onlineUserDtos ==null || onlineUserDtos.isEmpty()){ - return; - } - for(OnlineUserDto onlineUserDto : onlineUserDtos){ - if(onlineUserDto.getUserName().equals(userName)){ - try { - String token =EncryptUtils.desDecrypt(onlineUserDto.getKey()); - if(StringUtils.isNotBlank(igoreToken)&&!igoreToken.equals(token)){ - this.kickOut(token); - }else if(StringUtils.isBlank(igoreToken)){ - this.kickOut(token); - } - } catch (Exception e) { - log.error("checkUser is error",e); - } - } - } - } - /** * 根据用户名强退用户 * @param username / */ @Async - public void kickOutForUsername(String username) throws Exception { - List onlineUsers = getAll(username); - for (OnlineUserDto onlineUser : onlineUsers) { - if (onlineUser.getUserName().equals(username)) { - String token =EncryptUtils.desDecrypt(onlineUser.getKey()); - kickOut(token); - } - } + public void kickOutForUsername(String username) { + String loginKey = properties.getOnlineKey() + username + "*"; + redisUtils.scanDel(loginKey); } } diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/security/service/UserCacheManager.java b/eladmin-system/src/main/java/me/zhengjie/modules/security/service/UserCacheManager.java index 3a8afe72..0808e65d 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/security/service/UserCacheManager.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/security/service/UserCacheManager.java @@ -46,7 +46,7 @@ public class UserCacheManager { public JwtUserDto getUserCache(String userName) { if (StringUtils.isNotEmpty(userName)) { // 获取数据 - Object obj = redisUtils.hget(LoginProperties.cacheKey, userName); + Object obj = redisUtils.get(LoginProperties.cacheKey + userName); if(obj != null){ return (JwtUserDto)obj; } @@ -63,7 +63,7 @@ public class UserCacheManager { if (StringUtils.isNotEmpty(userName)) { // 添加数据, 避免数据同时过期 long time = idleTime + RandomUtil.randomInt(900, 1800); - redisUtils.hset(LoginProperties.cacheKey, userName, user, time); + redisUtils.set(LoginProperties.cacheKey + userName, user, time); } } @@ -76,7 +76,7 @@ public class UserCacheManager { public void cleanUserCache(String userName) { if (StringUtils.isNotEmpty(userName)) { // 清除数据 - redisUtils.hdel(LoginProperties.cacheKey, userName); + redisUtils.del(LoginProperties.cacheKey + userName); } } } \ No newline at end of file diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/DeptController.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/DeptController.java index c44763fc..46770e0f 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/DeptController.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/DeptController.java @@ -25,6 +25,7 @@ import me.zhengjie.modules.system.domain.Dept; import me.zhengjie.modules.system.service.DeptService; import me.zhengjie.modules.system.service.dto.DeptDto; import me.zhengjie.modules.system.service.dto.DeptQueryCriteria; +import me.zhengjie.utils.PageResult; import me.zhengjie.utils.PageUtil; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; @@ -57,22 +58,22 @@ public class DeptController { @ApiOperation("查询部门") @GetMapping @PreAuthorize("@el.check('user:list','dept:list')") - public ResponseEntity queryDept(DeptQueryCriteria criteria) throws Exception { - List deptDtos = deptService.queryAll(criteria, true); - return new ResponseEntity<>(PageUtil.toPage(deptDtos, deptDtos.size()),HttpStatus.OK); + public ResponseEntity> queryDept(DeptQueryCriteria criteria) throws Exception { + List depts = deptService.queryAll(criteria, true); + return new ResponseEntity<>(PageUtil.toPage(depts, depts.size()),HttpStatus.OK); } @ApiOperation("查询部门:根据ID获取同级与上级数据") @PostMapping("/superior") @PreAuthorize("@el.check('user:list','dept:list')") public ResponseEntity getDeptSuperior(@RequestBody List ids) { - Set deptDtos = new LinkedHashSet<>(); + Set deptSet = new LinkedHashSet<>(); for (Long id : ids) { DeptDto deptDto = deptService.findById(id); List depts = deptService.getSuperior(deptDto, new ArrayList<>()); - deptDtos.addAll(depts); + deptSet.addAll(depts); } - return new ResponseEntity<>(deptService.buildTree(new ArrayList<>(deptDtos)),HttpStatus.OK); + return new ResponseEntity<>(deptService.buildTree(new ArrayList<>(deptSet)),HttpStatus.OK); } @Log("新增部门") diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/DictController.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/DictController.java index 1b6768e4..b2b55b29 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/DictController.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/DictController.java @@ -22,7 +22,10 @@ import me.zhengjie.annotation.Log; import me.zhengjie.exception.BadRequestException; import me.zhengjie.modules.system.domain.Dict; import me.zhengjie.modules.system.service.DictService; +import me.zhengjie.modules.system.service.dto.DictDto; import me.zhengjie.modules.system.service.dto.DictQueryCriteria; +import me.zhengjie.utils.PageResult; +import me.zhengjie.utils.PageUtil; import org.springframework.data.domain.Pageable; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; @@ -31,6 +34,7 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; import java.io.IOException; +import java.util.List; import java.util.Set; /** @@ -56,14 +60,14 @@ public class DictController { @ApiOperation("查询字典") @GetMapping(value = "/all") @PreAuthorize("@el.check('dict:list')") - public ResponseEntity queryAllDict(){ + public ResponseEntity> queryAllDict(){ return new ResponseEntity<>(dictService.queryAll(new DictQueryCriteria()),HttpStatus.OK); } @ApiOperation("查询字典") @GetMapping @PreAuthorize("@el.check('dict:list')") - public ResponseEntity queryDict(DictQueryCriteria resources, Pageable pageable){ + public ResponseEntity> queryDict(DictQueryCriteria resources, Pageable pageable){ return new ResponseEntity<>(dictService.queryAll(resources,pageable),HttpStatus.OK); } diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/DictDetailController.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/DictDetailController.java index dc27fd24..891d3730 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/DictDetailController.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/DictDetailController.java @@ -24,6 +24,7 @@ import me.zhengjie.modules.system.domain.DictDetail; import me.zhengjie.modules.system.service.DictDetailService; import me.zhengjie.modules.system.service.dto.DictDetailDto; import me.zhengjie.modules.system.service.dto.DictDetailQueryCriteria; +import me.zhengjie.utils.PageResult; import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Sort; import org.springframework.data.web.PageableDefault; @@ -51,8 +52,8 @@ public class DictDetailController { @ApiOperation("查询字典详情") @GetMapping - public ResponseEntity queryDictDetail(DictDetailQueryCriteria criteria, - @PageableDefault(sort = {"dictSort"}, direction = Sort.Direction.ASC) Pageable pageable){ + public ResponseEntity> queryDictDetail(DictDetailQueryCriteria criteria, + @PageableDefault(sort = {"dictSort"}, direction = Sort.Direction.ASC) Pageable pageable){ return new ResponseEntity<>(dictDetailService.queryAll(criteria,pageable),HttpStatus.OK); } diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/JobController.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/JobController.java index d904e278..fa10176e 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/JobController.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/JobController.java @@ -22,7 +22,9 @@ import me.zhengjie.annotation.Log; import me.zhengjie.exception.BadRequestException; import me.zhengjie.modules.system.domain.Job; import me.zhengjie.modules.system.service.JobService; +import me.zhengjie.modules.system.service.dto.JobDto; import me.zhengjie.modules.system.service.dto.JobQueryCriteria; +import me.zhengjie.utils.PageResult; import org.springframework.data.domain.Pageable; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; @@ -56,7 +58,7 @@ public class JobController { @ApiOperation("查询岗位") @GetMapping @PreAuthorize("@el.check('job:list','user:list')") - public ResponseEntity queryJob(JobQueryCriteria criteria, Pageable pageable){ + public ResponseEntity> queryJob(JobQueryCriteria criteria, Pageable pageable){ return new ResponseEntity<>(jobService.queryAll(criteria, pageable),HttpStatus.OK); } diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/MenuController.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/MenuController.java index 63b8a981..73df102f 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/MenuController.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/MenuController.java @@ -22,10 +22,12 @@ import lombok.RequiredArgsConstructor; import me.zhengjie.annotation.Log; import me.zhengjie.modules.system.domain.Menu; import me.zhengjie.exception.BadRequestException; +import me.zhengjie.modules.system.domain.vo.MenuVo; import me.zhengjie.modules.system.service.MenuService; import me.zhengjie.modules.system.service.dto.MenuDto; import me.zhengjie.modules.system.service.dto.MenuQueryCriteria; import me.zhengjie.modules.system.service.mapstruct.MenuMapper; +import me.zhengjie.utils.PageResult; import me.zhengjie.utils.PageUtil; import me.zhengjie.utils.SecurityUtils; import org.springframework.http.HttpStatus; @@ -61,16 +63,16 @@ public class MenuController { @GetMapping(value = "/build") @ApiOperation("获取前端所需菜单") - public ResponseEntity buildMenus(){ + public ResponseEntity> buildMenus(){ List menuDtoList = menuService.findByUser(SecurityUtils.getCurrentUserId()); - List menuDtos = menuService.buildTree(menuDtoList); - return new ResponseEntity<>(menuService.buildMenus(menuDtos),HttpStatus.OK); + List menus = menuService.buildTree(menuDtoList); + return new ResponseEntity<>(menuService.buildMenus(menus),HttpStatus.OK); } @ApiOperation("返回全部的菜单") @GetMapping(value = "/lazy") @PreAuthorize("@el.check('menu:list','roles:list')") - public ResponseEntity queryAllMenu(@RequestParam Long pid){ + public ResponseEntity> queryAllMenu(@RequestParam Long pid){ return new ResponseEntity<>(menuService.getMenus(pid),HttpStatus.OK); } @@ -89,7 +91,7 @@ public class MenuController { @GetMapping @ApiOperation("查询菜单") @PreAuthorize("@el.check('menu:list')") - public ResponseEntity queryMenu(MenuQueryCriteria criteria) throws Exception { + public ResponseEntity> queryMenu(MenuQueryCriteria criteria) throws Exception { List menuDtoList = menuService.queryAll(criteria, true); return new ResponseEntity<>(PageUtil.toPage(menuDtoList, menuDtoList.size()),HttpStatus.OK); } @@ -97,7 +99,7 @@ public class MenuController { @ApiOperation("查询菜单:根据ID获取同级与上级数据") @PostMapping("/superior") @PreAuthorize("@el.check('menu:list')") - public ResponseEntity getMenuSuperior(@RequestBody List ids) { + public ResponseEntity> getMenuSuperior(@RequestBody List ids) { Set menuDtos = new LinkedHashSet<>(); if(CollectionUtil.isNotEmpty(ids)){ for (Long id : ids) { diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/RoleController.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/RoleController.java index ded94bab..1404c382 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/RoleController.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/RoleController.java @@ -26,6 +26,7 @@ import me.zhengjie.modules.system.service.RoleService; import me.zhengjie.modules.system.service.dto.RoleDto; import me.zhengjie.modules.system.service.dto.RoleQueryCriteria; import me.zhengjie.modules.system.service.dto.RoleSmallDto; +import me.zhengjie.utils.PageResult; import me.zhengjie.utils.SecurityUtils; import org.springframework.data.domain.Pageable; import org.springframework.http.HttpStatus; @@ -57,7 +58,7 @@ public class RoleController { @ApiOperation("获取单个role") @GetMapping(value = "/{id}") @PreAuthorize("@el.check('roles:list')") - public ResponseEntity findRoleById(@PathVariable Long id){ + public ResponseEntity findRoleById(@PathVariable Long id){ return new ResponseEntity<>(roleService.findById(id), HttpStatus.OK); } @@ -71,14 +72,14 @@ public class RoleController { @ApiOperation("返回全部的角色") @GetMapping(value = "/all") @PreAuthorize("@el.check('roles:list','user:add','user:edit')") - public ResponseEntity queryAllRole(){ + public ResponseEntity> queryAllRole(){ return new ResponseEntity<>(roleService.queryAll(),HttpStatus.OK); } @ApiOperation("查询角色") @GetMapping @PreAuthorize("@el.check('roles:list')") - public ResponseEntity queryRole(RoleQueryCriteria criteria, Pageable pageable){ + public ResponseEntity> queryRole(RoleQueryCriteria criteria, Pageable pageable){ return new ResponseEntity<>(roleService.queryAll(criteria,pageable),HttpStatus.OK); } diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/UserController.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/UserController.java index e521baaf..acfcfaeb 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/UserController.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/UserController.java @@ -20,6 +20,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import me.zhengjie.annotation.Log; +import me.zhengjie.utils.PageResult; import me.zhengjie.config.RsaProperties; import me.zhengjie.modules.system.domain.Dept; import me.zhengjie.modules.system.service.DataService; @@ -77,7 +78,7 @@ public class UserController { @ApiOperation("查询用户") @GetMapping @PreAuthorize("@el.check('user:list')") - public ResponseEntity queryUser(UserQueryCriteria criteria, Pageable pageable){ + public ResponseEntity> queryUser(UserQueryCriteria criteria, Pageable pageable){ if (!ObjectUtils.isEmpty(criteria.getDeptId())) { criteria.getDeptIds().add(criteria.getDeptId()); // 先查找是否存在子节点 @@ -99,7 +100,7 @@ public class UserController { criteria.getDeptIds().addAll(dataScopes); return new ResponseEntity<>(userService.queryAll(criteria,pageable),HttpStatus.OK); } - return new ResponseEntity<>(PageUtil.toPage(null,0),HttpStatus.OK); + return new ResponseEntity<>(PageUtil.noData(),HttpStatus.OK); } @Log("新增用户") diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/DeptService.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/DeptService.java index d589bf88..902f6034 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/DeptService.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/DeptService.java @@ -111,8 +111,8 @@ public interface DeptService { /** * 获取 - * @param deptList - * @return + * @param deptList / + * @return / */ List getDeptChildren(List deptList); diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/DictDetailService.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/DictDetailService.java index 3912a475..7e2efb7f 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/DictDetailService.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/DictDetailService.java @@ -15,12 +15,12 @@ */ package me.zhengjie.modules.system.service; +import me.zhengjie.utils.PageResult; import me.zhengjie.modules.system.domain.DictDetail; import me.zhengjie.modules.system.service.dto.DictDetailDto; import me.zhengjie.modules.system.service.dto.DictDetailQueryCriteria; import org.springframework.data.domain.Pageable; import java.util.List; -import java.util.Map; /** * @author Zheng Jie @@ -52,7 +52,7 @@ public interface DictDetailService { * @param pageable 分页参数 * @return / */ - Map queryAll(DictDetailQueryCriteria criteria, Pageable pageable); + PageResult queryAll(DictDetailQueryCriteria criteria, Pageable pageable); /** * 根据字典名称获取字典详情 @@ -60,4 +60,4 @@ public interface DictDetailService { * @return / */ List getDictByName(String name); -} \ No newline at end of file +} diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/DictService.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/DictService.java index 9a89e4c2..05077b7e 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/DictService.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/DictService.java @@ -15,6 +15,7 @@ */ package me.zhengjie.modules.system.service; +import me.zhengjie.utils.PageResult; import me.zhengjie.modules.system.domain.Dict; import me.zhengjie.modules.system.service.dto.DictDto; import me.zhengjie.modules.system.service.dto.DictQueryCriteria; @@ -22,7 +23,6 @@ import org.springframework.data.domain.Pageable; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.List; -import java.util.Map; import java.util.Set; /** @@ -37,7 +37,7 @@ public interface DictService { * @param pageable 分页参数 * @return / */ - Map queryAll(DictQueryCriteria criteria, Pageable pageable); + PageResult queryAll(DictQueryCriteria criteria, Pageable pageable); /** * 查询全部数据 @@ -72,4 +72,4 @@ public interface DictService { * @throws IOException / */ void download(List queryAll, HttpServletResponse response) throws IOException; -} \ No newline at end of file +} diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/JobService.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/JobService.java index 5b6fa85b..dab9f586 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/JobService.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/JobService.java @@ -15,6 +15,7 @@ */ package me.zhengjie.modules.system.service; +import me.zhengjie.utils.PageResult; import me.zhengjie.modules.system.domain.Job; import me.zhengjie.modules.system.service.dto.JobDto; import me.zhengjie.modules.system.service.dto.JobQueryCriteria; @@ -22,7 +23,6 @@ import org.springframework.data.domain.Pageable; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.List; -import java.util.Map; import java.util.Set; /** @@ -63,7 +63,7 @@ public interface JobService { * @param pageable 分页参数 * @return / */ - Map queryAll(JobQueryCriteria criteria, Pageable pageable); + PageResult queryAll(JobQueryCriteria criteria, Pageable pageable); /** * 查询全部数据 @@ -85,4 +85,4 @@ public interface JobService { * @param ids / */ void verification(Set ids); -} \ No newline at end of file +} diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/MenuService.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/MenuService.java index f7b8ecea..1116d10a 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/MenuService.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/MenuService.java @@ -16,6 +16,7 @@ package me.zhengjie.modules.system.service; import me.zhengjie.modules.system.domain.Menu; +import me.zhengjie.modules.system.domain.vo.MenuVo; import me.zhengjie.modules.system.service.dto.MenuDto; import me.zhengjie.modules.system.service.dto.MenuQueryCriteria; @@ -78,7 +79,7 @@ public interface MenuService { * @param menuDtos / * @return / */ - Object buildMenus(List menuDtos); + List buildMenus(List menuDtos); /** * 根据ID查询 diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/RoleService.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/RoleService.java index feb614b9..6bc8cce7 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/RoleService.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/RoleService.java @@ -21,6 +21,7 @@ import me.zhengjie.modules.system.service.dto.RoleDto; import me.zhengjie.modules.system.service.dto.RoleQueryCriteria; import me.zhengjie.modules.system.service.dto.RoleSmallDto; import me.zhengjie.modules.system.service.dto.UserDto; +import me.zhengjie.utils.PageResult; import org.springframework.data.domain.Pageable; import javax.servlet.http.HttpServletResponse; import java.io.IOException; @@ -97,7 +98,7 @@ public interface RoleService { * @param pageable 分页参数 * @return / */ - Object queryAll(RoleQueryCriteria criteria, Pageable pageable); + PageResult queryAll(RoleQueryCriteria criteria, Pageable pageable); /** * 查询全部 diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/UserService.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/UserService.java index 8d63fa86..24fc6677 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/UserService.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/UserService.java @@ -15,6 +15,7 @@ */ package me.zhengjie.modules.system.service; +import me.zhengjie.utils.PageResult; import me.zhengjie.modules.system.domain.User; import me.zhengjie.modules.system.service.dto.UserDto; import me.zhengjie.modules.system.service.dto.UserLoginDto; @@ -100,7 +101,7 @@ public interface UserService { * @param pageable 分页参数 * @return / */ - Object queryAll(UserQueryCriteria criteria, Pageable pageable); + PageResult queryAll(UserQueryCriteria criteria, Pageable pageable); /** * 查询全部不分页 diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DataServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DataServiceImpl.java index cd9cfd43..782fbd8f 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DataServiceImpl.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DataServiceImpl.java @@ -65,7 +65,7 @@ public class DataServiceImpl implements DataService { deptIds.addAll(getCustomize(deptIds, role)); break; default: - return new ArrayList<>(deptIds); + return new ArrayList<>(); } } return new ArrayList<>(deptIds); diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DictDetailServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DictDetailServiceImpl.java index 3f5fc742..5da4d056 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DictDetailServiceImpl.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DictDetailServiceImpl.java @@ -16,6 +16,7 @@ package me.zhengjie.modules.system.service.impl; import lombok.RequiredArgsConstructor; +import me.zhengjie.utils.PageResult; import me.zhengjie.modules.system.domain.Dict; import me.zhengjie.modules.system.domain.DictDetail; import me.zhengjie.modules.system.repository.DictRepository; @@ -32,7 +33,6 @@ import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.List; -import java.util.Map; /** * @author Zheng Jie @@ -49,7 +49,7 @@ public class DictDetailServiceImpl implements DictDetailService { private final RedisUtils redisUtils; @Override - public Map queryAll(DictDetailQueryCriteria criteria, Pageable pageable) { + public PageResult queryAll(DictDetailQueryCriteria criteria, Pageable pageable) { Page page = dictDetailRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder),pageable); return PageUtil.toPage(page.map(dictDetailMapper::toDto)); } @@ -92,4 +92,4 @@ public class DictDetailServiceImpl implements DictDetailService { Dict dict = dictRepository.findById(dictDetail.getDict().getId()).orElseGet(Dict::new); redisUtils.del(CacheKey.DICT_NAME + dict.getName()); } -} \ No newline at end of file +} diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DictServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DictServiceImpl.java index 3a2bcd9d..68265121 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DictServiceImpl.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DictServiceImpl.java @@ -17,6 +17,7 @@ package me.zhengjie.modules.system.service.impl; import cn.hutool.core.collection.CollectionUtil; import lombok.RequiredArgsConstructor; +import me.zhengjie.utils.PageResult; import me.zhengjie.modules.system.domain.Dict; import me.zhengjie.modules.system.service.dto.DictDetailDto; import me.zhengjie.modules.system.service.dto.DictQueryCriteria; @@ -48,7 +49,7 @@ public class DictServiceImpl implements DictService { private final RedisUtils redisUtils; @Override - public Map queryAll(DictQueryCriteria dict, Pageable pageable){ + public PageResult queryAll(DictQueryCriteria dict, Pageable pageable){ Page page = dictRepository.findAll((root, query, cb) -> QueryHelp.getPredicate(root, dict, cb), pageable); return PageUtil.toPage(page.map(dictMapper::toDto)); } @@ -118,4 +119,4 @@ public class DictServiceImpl implements DictService { public void delCaches(Dict dict){ redisUtils.del(CacheKey.DICT_NAME + dict.getName()); } -} \ No newline at end of file +} diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/JobServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/JobServiceImpl.java index f98782ce..a608b97a 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/JobServiceImpl.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/JobServiceImpl.java @@ -16,6 +16,7 @@ package me.zhengjie.modules.system.service.impl; import lombok.RequiredArgsConstructor; +import me.zhengjie.utils.PageResult; import me.zhengjie.exception.BadRequestException; import me.zhengjie.exception.EntityExistException; import me.zhengjie.modules.system.domain.Job; @@ -52,7 +53,7 @@ public class JobServiceImpl implements JobService { private final UserRepository userRepository; @Override - public Map queryAll(JobQueryCriteria criteria, Pageable pageable) { + public PageResult queryAll(JobQueryCriteria criteria, Pageable pageable) { Page page = jobRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder),pageable); return PageUtil.toPage(page.map(jobMapper::toDto).getContent(),page.getTotalElements()); } @@ -122,4 +123,4 @@ public class JobServiceImpl implements JobService { throw new BadRequestException("所选的岗位中存在用户关联,请解除关联再试!"); } } -} \ No newline at end of file +} diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/RoleServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/RoleServiceImpl.java index def575ea..e416aa89 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/RoleServiceImpl.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/RoleServiceImpl.java @@ -74,7 +74,7 @@ public class RoleServiceImpl implements RoleService { } @Override - public Object queryAll(RoleQueryCriteria criteria, Pageable pageable) { + public PageResult queryAll(RoleQueryCriteria criteria, Pageable pageable) { Page page = roleRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root, criteria, criteriaBuilder), pageable); return PageUtil.toPage(page.map(roleMapper::toDto)); } diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/UserServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/UserServiceImpl.java index 867509d3..a9fef8c0 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/UserServiceImpl.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/UserServiceImpl.java @@ -16,6 +16,7 @@ package me.zhengjie.modules.system.service.impl; import lombok.RequiredArgsConstructor; +import me.zhengjie.utils.PageResult; import me.zhengjie.config.FileProperties; import me.zhengjie.exception.BadRequestException; import me.zhengjie.modules.security.service.OnlineUserService; @@ -61,7 +62,7 @@ public class UserServiceImpl implements UserService { private final UserLoginMapper userLoginMapper; @Override - public Object queryAll(UserQueryCriteria criteria, Pageable pageable) { + public PageResult queryAll(UserQueryCriteria criteria, Pageable pageable) { Page page = userRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root, criteria, criteriaBuilder), pageable); return PageUtil.toPage(page.map(userMapper::toDto)); } diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/VerifyServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/VerifyServiceImpl.java index 79d307f9..9f8c8ac5 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/VerifyServiceImpl.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/VerifyServiceImpl.java @@ -51,7 +51,7 @@ public class VerifyServiceImpl implements VerifyService { String redisKey = key + email; // 如果不存在有效的验证码,就创建一个新的 TemplateEngine engine = TemplateUtil.createEngine(new TemplateConfig("template", TemplateConfig.ResourceMode.CLASSPATH)); - Template template = engine.getTemplate("email/email.ftl"); + Template template = engine.getTemplate("email.ftl"); Object oldCode = redisUtils.get(redisKey); if(oldCode == null){ String code = RandomUtil.randomNumbers (6); diff --git a/eladmin-system/src/main/resources/config/application-dev.yml b/eladmin-system/src/main/resources/config/application-dev.yml index fcd9a561..8ed56d53 100644 --- a/eladmin-system/src/main/resources/config/application-dev.yml +++ b/eladmin-system/src/main/resources/config/application-dev.yml @@ -56,7 +56,7 @@ login: # Redis用户登录缓存配置 user-cache: # 存活时间/秒 - idle-time: 7200 + idle-time: 21600 # 验证码 login-code: # 验证码类型配置 查看 LoginProperties 类 @@ -84,9 +84,9 @@ jwt: # 令牌过期时间 此处单位/毫秒 ,默认4小时,可在此网站生成 https://www.convertworld.com/zh-hans/time/milliseconds.html token-validity-in-seconds: 14400000 # 在线用户key - online-key: online-token- + online-key: "online-token:" # 验证码 - code-key: code-key- + code-key: "captcha-code:" # token 续期检查时间范围(默认30分钟,单位毫秒),在token即将过期的一段时间内用户操作了,则给用户的token续期 detect: 1800000 # 续期时间范围,默认1小时,单位毫秒 diff --git a/eladmin-system/src/main/resources/config/application-prod.yml b/eladmin-system/src/main/resources/config/application-prod.yml index 1ef9294f..41397551 100644 --- a/eladmin-system/src/main/resources/config/application-prod.yml +++ b/eladmin-system/src/main/resources/config/application-prod.yml @@ -58,7 +58,7 @@ login: # Redis用户登录缓存配置 user-cache: # 存活时间/秒 - idle-time: 7200 + idle-time: 21600 # 验证码 login-code: # 验证码类型配置 查看 LoginProperties 类 @@ -86,9 +86,9 @@ jwt: # 令牌过期时间 此处单位/毫秒 ,默认2小时,可在此网站生成 https://www.convertworld.com/zh-hans/time/milliseconds.html token-validity-in-seconds: 7200000 # 在线用户key - online-key: online-token- + online-key: "online-token:" # 验证码 - code-key: code-key- + code-key: "captcha-code:" # token 续期检查时间范围(默认30分钟,单位默认毫秒),在token即将过期的一段时间内用户操作了,则给用户的token续期 detect: 1800000 # 续期时间范围,默认 1小时,这里单位毫秒 diff --git a/eladmin-system/src/main/resources/template/email/email.ftl b/eladmin-system/src/main/resources/template/email.ftl similarity index 100% rename from eladmin-system/src/main/resources/template/email/email.ftl rename to eladmin-system/src/main/resources/template/email.ftl diff --git a/eladmin-system/src/main/resources/template/email/taskAlarm.ftl b/eladmin-system/src/main/resources/template/taskAlarm.ftl similarity index 100% rename from eladmin-system/src/main/resources/template/email/taskAlarm.ftl rename to eladmin-system/src/main/resources/template/taskAlarm.ftl diff --git a/eladmin-tools/src/main/java/me/zhengjie/rest/EmailController.java b/eladmin-tools/src/main/java/me/zhengjie/rest/EmailController.java index 952f8ba2..eb7832c8 100644 --- a/eladmin-tools/src/main/java/me/zhengjie/rest/EmailController.java +++ b/eladmin-tools/src/main/java/me/zhengjie/rest/EmailController.java @@ -41,7 +41,7 @@ public class EmailController { private final EmailService emailService; @GetMapping - public ResponseEntity queryEmailConfig(){ + public ResponseEntity queryEmailConfig(){ return new ResponseEntity<>(emailService.find(),HttpStatus.OK); } diff --git a/eladmin-tools/src/main/java/me/zhengjie/rest/LocalStorageController.java b/eladmin-tools/src/main/java/me/zhengjie/rest/LocalStorageController.java index 45f39366..2b61260d 100644 --- a/eladmin-tools/src/main/java/me/zhengjie/rest/LocalStorageController.java +++ b/eladmin-tools/src/main/java/me/zhengjie/rest/LocalStorageController.java @@ -20,8 +20,10 @@ import me.zhengjie.annotation.Log; import me.zhengjie.domain.LocalStorage; import me.zhengjie.exception.BadRequestException; import me.zhengjie.service.LocalStorageService; +import me.zhengjie.service.dto.LocalStorageDto; import me.zhengjie.service.dto.LocalStorageQueryCriteria; import me.zhengjie.utils.FileUtil; +import me.zhengjie.utils.PageResult; import org.springframework.data.domain.Pageable; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; @@ -48,7 +50,7 @@ public class LocalStorageController { @GetMapping @ApiOperation("查询文件") @PreAuthorize("@el.check('storage:list')") - public ResponseEntity queryFile(LocalStorageQueryCriteria criteria, Pageable pageable){ + public ResponseEntity> queryFile(LocalStorageQueryCriteria criteria, Pageable pageable){ return new ResponseEntity<>(localStorageService.queryAll(criteria,pageable),HttpStatus.OK); } @@ -69,7 +71,7 @@ public class LocalStorageController { @ApiOperation("上传图片") @PostMapping("/pictures") - public ResponseEntity uploadPicture(@RequestParam MultipartFile file){ + public ResponseEntity uploadPicture(@RequestParam MultipartFile file){ // 判断文件是否为图片 String suffix = FileUtil.getExtensionName(file.getOriginalFilename()); if(!FileUtil.IMAGE.equals(FileUtil.getFileType(suffix))){ diff --git a/eladmin-tools/src/main/java/me/zhengjie/rest/QiniuController.java b/eladmin-tools/src/main/java/me/zhengjie/rest/QiniuController.java index a601bdfd..f414579c 100644 --- a/eladmin-tools/src/main/java/me/zhengjie/rest/QiniuController.java +++ b/eladmin-tools/src/main/java/me/zhengjie/rest/QiniuController.java @@ -24,6 +24,7 @@ import me.zhengjie.domain.QiniuConfig; import me.zhengjie.domain.QiniuContent; import me.zhengjie.service.dto.QiniuQueryCriteria; import me.zhengjie.service.QiNiuService; +import me.zhengjie.utils.PageResult; import org.springframework.data.domain.Pageable; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; @@ -50,7 +51,7 @@ public class QiniuController { private final QiNiuService qiNiuService; @GetMapping(value = "/config") - public ResponseEntity queryQiNiuConfig(){ + public ResponseEntity queryQiNiuConfig(){ return new ResponseEntity<>(qiNiuService.find(), HttpStatus.OK); } @@ -71,7 +72,7 @@ public class QiniuController { @ApiOperation("查询文件") @GetMapping - public ResponseEntity queryQiNiu(QiniuQueryCriteria criteria, Pageable pageable){ + public ResponseEntity> queryQiNiu(QiniuQueryCriteria criteria, Pageable pageable){ return new ResponseEntity<>(qiNiuService.queryAll(criteria,pageable),HttpStatus.OK); } diff --git a/eladmin-tools/src/main/java/me/zhengjie/service/EmailService.java b/eladmin-tools/src/main/java/me/zhengjie/service/EmailService.java index aabfcb0a..d62cadc2 100644 --- a/eladmin-tools/src/main/java/me/zhengjie/service/EmailService.java +++ b/eladmin-tools/src/main/java/me/zhengjie/service/EmailService.java @@ -43,7 +43,6 @@ public interface EmailService { * 发送邮件 * @param emailVo 邮件发送的内容 * @param emailConfig 邮件配置 - * @throws Exception / */ void send(EmailVo emailVo, EmailConfig emailConfig); } diff --git a/eladmin-tools/src/main/java/me/zhengjie/service/LocalStorageService.java b/eladmin-tools/src/main/java/me/zhengjie/service/LocalStorageService.java index 6df06243..71c57d27 100644 --- a/eladmin-tools/src/main/java/me/zhengjie/service/LocalStorageService.java +++ b/eladmin-tools/src/main/java/me/zhengjie/service/LocalStorageService.java @@ -18,6 +18,7 @@ package me.zhengjie.service; import me.zhengjie.domain.LocalStorage; import me.zhengjie.service.dto.LocalStorageDto; import me.zhengjie.service.dto.LocalStorageQueryCriteria; +import me.zhengjie.utils.PageResult; import org.springframework.data.domain.Pageable; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; @@ -36,7 +37,7 @@ public interface LocalStorageService { * @param pageable 分页参数 * @return / */ - Object queryAll(LocalStorageQueryCriteria criteria, Pageable pageable); + PageResult queryAll(LocalStorageQueryCriteria criteria, Pageable pageable); /** * 查询全部数据 diff --git a/eladmin-tools/src/main/java/me/zhengjie/service/QiNiuService.java b/eladmin-tools/src/main/java/me/zhengjie/service/QiNiuService.java index 09dca6a8..5321208e 100644 --- a/eladmin-tools/src/main/java/me/zhengjie/service/QiNiuService.java +++ b/eladmin-tools/src/main/java/me/zhengjie/service/QiNiuService.java @@ -18,6 +18,7 @@ package me.zhengjie.service; import me.zhengjie.domain.QiniuConfig; import me.zhengjie.domain.QiniuContent; import me.zhengjie.service.dto.QiniuQueryCriteria; +import me.zhengjie.utils.PageResult; import org.springframework.data.domain.Pageable; import org.springframework.web.multipart.MultipartFile; @@ -50,7 +51,7 @@ public interface QiNiuService { * @param pageable 分页参数 * @return / */ - Object queryAll(QiniuQueryCriteria criteria, Pageable pageable); + PageResult queryAll(QiniuQueryCriteria criteria, Pageable pageable); /** * 查询全部 diff --git a/eladmin-tools/src/main/java/me/zhengjie/service/impl/LocalStorageServiceImpl.java b/eladmin-tools/src/main/java/me/zhengjie/service/impl/LocalStorageServiceImpl.java index 77174c44..94548538 100644 --- a/eladmin-tools/src/main/java/me/zhengjie/service/impl/LocalStorageServiceImpl.java +++ b/eladmin-tools/src/main/java/me/zhengjie/service/impl/LocalStorageServiceImpl.java @@ -52,7 +52,7 @@ public class LocalStorageServiceImpl implements LocalStorageService { private final FileProperties properties; @Override - public Object queryAll(LocalStorageQueryCriteria criteria, Pageable pageable){ + public PageResult queryAll(LocalStorageQueryCriteria criteria, Pageable pageable){ Page page = localStorageRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder),pageable); return PageUtil.toPage(page.map(localStorageMapper::toDto)); } diff --git a/eladmin-tools/src/main/java/me/zhengjie/service/impl/QiNiuServiceImpl.java b/eladmin-tools/src/main/java/me/zhengjie/service/impl/QiNiuServiceImpl.java index 942f437e..485b54b7 100644 --- a/eladmin-tools/src/main/java/me/zhengjie/service/impl/QiNiuServiceImpl.java +++ b/eladmin-tools/src/main/java/me/zhengjie/service/impl/QiNiuServiceImpl.java @@ -29,14 +29,10 @@ import me.zhengjie.domain.QiniuConfig; import me.zhengjie.domain.QiniuContent; import me.zhengjie.repository.QiniuContentRepository; import me.zhengjie.service.dto.QiniuQueryCriteria; -import me.zhengjie.utils.QiNiuUtil; +import me.zhengjie.utils.*; import me.zhengjie.exception.BadRequestException; import me.zhengjie.repository.QiNiuConfigRepository; import me.zhengjie.service.QiNiuService; -import me.zhengjie.utils.FileUtil; -import me.zhengjie.utils.PageUtil; -import me.zhengjie.utils.QueryHelp; -import me.zhengjie.utils.ValidationUtil; import org.springframework.beans.factory.annotation.Value; import org.springframework.cache.annotation.CacheConfig; import org.springframework.cache.annotation.CachePut; @@ -84,7 +80,7 @@ public class QiNiuServiceImpl implements QiNiuService { } @Override - public Object queryAll(QiniuQueryCriteria criteria, Pageable pageable){ + public PageResult queryAll(QiniuQueryCriteria criteria, Pageable pageable){ return PageUtil.toPage(qiniuContentRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder),pageable)); } diff --git a/pom.xml b/pom.xml index 07311fd7..9668b9ca 100644 --- a/pom.xml +++ b/pom.xml @@ -51,7 +51,6 @@ org.springframework.boot spring-boot-starter-web - diff --git a/sql/eladmin.sql b/sql/eladmin.sql index 00234d29..30ce1118 100644 --- a/sql/eladmin.sql +++ b/sql/eladmin.sql @@ -23,7 +23,7 @@ SET FOREIGN_KEY_CHECKS = 0; DROP TABLE IF EXISTS `code_column_config`; CREATE TABLE `code_column_config` ( `column_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID', - `table_name` varchar(255) DEFAULT NULL, + `table_name` varchar(180) DEFAULT NULL, `column_name` varchar(255) DEFAULT NULL, `column_type` varchar(255) DEFAULT NULL, `dict_name` varchar(255) DEFAULT NULL, @@ -35,10 +35,9 @@ CREATE TABLE `code_column_config` ( `not_null` bit(1) DEFAULT NULL, `query_type` varchar(255) DEFAULT NULL, `remark` varchar(255) DEFAULT NULL, - `date_annotation` varchar(255) DEFAULT NULL, PRIMARY KEY (`column_id`) USING BTREE, KEY `idx_table_name` (`table_name`) -) ENGINE=InnoDB AUTO_INCREMENT=191 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='代码生成字段信息存储'; +) ENGINE=InnoDB AUTO_INCREMENT=191 ROW_FORMAT=COMPACT COMMENT='代码生成字段信息存储'; -- ---------------------------- -- Table structure for code_gen_config @@ -55,9 +54,10 @@ CREATE TABLE `code_gen_config` ( `api_path` varchar(255) DEFAULT NULL COMMENT '前端Api文件路径', `prefix` varchar(255) DEFAULT NULL COMMENT '表前缀', `api_alias` varchar(255) DEFAULT NULL COMMENT '接口名称', + `date_annotation` varchar(255) DEFAULT NULL, PRIMARY KEY (`config_id`) USING BTREE, KEY `idx_table_name` (`table_name`(100)) -) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='代码生成器配置'; +) ENGINE=InnoDB AUTO_INCREMENT=7 ROW_FORMAT=COMPACT COMMENT='代码生成器配置'; -- ---------------------------- -- Table structure for mnt_app @@ -77,7 +77,7 @@ CREATE TABLE `mnt_app` ( `create_time` datetime DEFAULT NULL COMMENT '创建日期', `update_time` datetime DEFAULT NULL COMMENT '更新时间', PRIMARY KEY (`app_id`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='应用管理'; +) ENGINE=InnoDB ROW_FORMAT=COMPACT COMMENT='应用管理'; -- ---------------------------- -- Records of mnt_app @@ -100,7 +100,7 @@ CREATE TABLE `mnt_database` ( `create_time` datetime DEFAULT NULL COMMENT '创建时间', `update_time` datetime DEFAULT NULL COMMENT '更新时间', PRIMARY KEY (`db_id`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='数据库管理'; +) ENGINE=InnoDB ROW_FORMAT=COMPACT COMMENT='数据库管理'; -- ---------------------------- -- Records of mnt_database @@ -121,7 +121,7 @@ CREATE TABLE `mnt_deploy` ( `update_time` datetime DEFAULT NULL COMMENT '更新时间', PRIMARY KEY (`deploy_id`) USING BTREE, KEY `FK6sy157pseoxx4fmcqr1vnvvhy` (`app_id`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='部署管理'; +) ENGINE=InnoDB ROW_FORMAT=COMPACT COMMENT='部署管理'; -- ---------------------------- -- Records of mnt_deploy @@ -141,7 +141,7 @@ CREATE TABLE `mnt_deploy_history` ( `ip` varchar(20) NOT NULL COMMENT '服务器IP', `deploy_id` bigint(20) DEFAULT NULL COMMENT '部署编号', PRIMARY KEY (`history_id`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='部署历史管理'; +) ENGINE=InnoDB ROW_FORMAT=COMPACT COMMENT='部署历史管理'; -- ---------------------------- -- Records of mnt_deploy_history @@ -158,7 +158,7 @@ CREATE TABLE `mnt_deploy_server` ( `server_id` bigint(20) NOT NULL COMMENT '服务ID', PRIMARY KEY (`deploy_id`,`server_id`) USING BTREE, KEY `FKeaaha7jew9a02b3bk9ghols53` (`server_id`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='应用与服务器关联'; +) ENGINE=InnoDB ROW_FORMAT=COMPACT COMMENT='应用与服务器关联'; -- ---------------------------- -- Records of mnt_deploy_server @@ -183,7 +183,7 @@ CREATE TABLE `mnt_server` ( `update_time` datetime DEFAULT NULL COMMENT '更新时间', PRIMARY KEY (`server_id`) USING BTREE, KEY `idx_ip` (`ip`) -) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='服务器管理'; +) ENGINE=InnoDB AUTO_INCREMENT=2 ROW_FORMAT=COMPACT COMMENT='服务器管理'; -- ---------------------------- -- Table structure for sys_dept @@ -203,7 +203,7 @@ CREATE TABLE `sys_dept` ( PRIMARY KEY (`dept_id`) USING BTREE, KEY `inx_pid` (`pid`), KEY `inx_enabled` (`enabled`) -) ENGINE=InnoDB AUTO_INCREMENT=18 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='部门'; +) ENGINE=InnoDB AUTO_INCREMENT=18 ROW_FORMAT=COMPACT COMMENT='部门'; -- ---------------------------- -- Records of sys_dept @@ -231,7 +231,7 @@ CREATE TABLE `sys_dict` ( `create_time` datetime DEFAULT NULL COMMENT '创建日期', `update_time` datetime DEFAULT NULL COMMENT '更新时间', PRIMARY KEY (`dict_id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='数据字典'; +) ENGINE=InnoDB AUTO_INCREMENT=6 ROW_FORMAT=COMPACT COMMENT='数据字典'; -- ---------------------------- -- Records of sys_dict @@ -258,7 +258,7 @@ CREATE TABLE `sys_dict_detail` ( `update_time` datetime DEFAULT NULL COMMENT '更新时间', PRIMARY KEY (`detail_id`) USING BTREE, KEY `FK5tpkputc6d9nboxojdbgnpmyb` (`dict_id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='数据字典详情'; +) ENGINE=InnoDB AUTO_INCREMENT=7 ROW_FORMAT=COMPACT COMMENT='数据字典详情'; -- ---------------------------- -- Records of sys_dict_detail @@ -278,7 +278,7 @@ COMMIT; DROP TABLE IF EXISTS `sys_job`; CREATE TABLE `sys_job` ( `job_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID', - `name` varchar(255) NOT NULL COMMENT '岗位名称', + `name` varchar(180) NOT NULL COMMENT '岗位名称', `enabled` bit(1) NOT NULL COMMENT '岗位状态', `job_sort` int(5) DEFAULT NULL COMMENT '排序', `create_by` varchar(255) DEFAULT NULL COMMENT '创建者', @@ -288,7 +288,7 @@ CREATE TABLE `sys_job` ( PRIMARY KEY (`job_id`) USING BTREE, UNIQUE KEY `uniq_name` (`name`), KEY `inx_enabled` (`enabled`) -) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='岗位'; +) ENGINE=InnoDB AUTO_INCREMENT=13 ROW_FORMAT=COMPACT COMMENT='岗位'; -- ---------------------------- -- Records of sys_job @@ -307,7 +307,7 @@ DROP TABLE IF EXISTS `sys_log`; CREATE TABLE `sys_log` ( `log_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID', `description` varchar(255) DEFAULT NULL, - `log_type` varchar(255) DEFAULT NULL, + `log_type` varchar(10) DEFAULT NULL, `method` varchar(255) DEFAULT NULL, `params` text DEFAULT NULL, `request_ip` varchar(255) DEFAULT NULL, @@ -320,7 +320,7 @@ CREATE TABLE `sys_log` ( PRIMARY KEY (`log_id`) USING BTREE, KEY `log_create_time_index` (`create_time`), KEY `inx_log_type` (`log_type`) -) ENGINE=InnoDB AUTO_INCREMENT=3537 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='系统日志'; +) ENGINE=InnoDB AUTO_INCREMENT=3537 ROW_FORMAT=COMPACT COMMENT='系统日志'; -- ---------------------------- -- Table structure for sys_menu @@ -331,8 +331,8 @@ CREATE TABLE `sys_menu` ( `pid` bigint(20) DEFAULT NULL COMMENT '上级菜单ID', `sub_count` int(5) DEFAULT 0 COMMENT '子菜单数目', `type` int(11) DEFAULT NULL COMMENT '菜单类型', - `title` varchar(255) DEFAULT NULL COMMENT '菜单标题', - `name` varchar(255) DEFAULT NULL COMMENT '组件名称', + `title` varchar(100) DEFAULT NULL COMMENT '菜单标题', + `name` varchar(100) DEFAULT NULL COMMENT '组件名称', `component` varchar(255) DEFAULT NULL COMMENT '组件', `menu_sort` int(5) DEFAULT NULL COMMENT '排序', `icon` varchar(255) DEFAULT NULL COMMENT '图标', @@ -349,7 +349,7 @@ CREATE TABLE `sys_menu` ( UNIQUE KEY `uniq_title` (`title`), UNIQUE KEY `uniq_name` (`name`), KEY `inx_pid` (`pid`) -) ENGINE=InnoDB AUTO_INCREMENT=118 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='系统菜单'; +) ENGINE=InnoDB AUTO_INCREMENT=118 ROW_FORMAT=COMPACT COMMENT='系统菜单'; -- ---------------------------- -- Records of sys_menu @@ -456,7 +456,7 @@ CREATE TABLE `sys_quartz_job` ( `update_time` datetime DEFAULT NULL COMMENT '更新时间', PRIMARY KEY (`job_id`) USING BTREE, KEY `inx_is_pause` (`is_pause`) -) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='定时任务'; +) ENGINE=InnoDB AUTO_INCREMENT=7 ROW_FORMAT=COMPACT COMMENT='定时任务'; -- ---------------------------- -- Records of sys_quartz_job @@ -484,7 +484,7 @@ CREATE TABLE `sys_quartz_log` ( `params` varchar(255) DEFAULT NULL, `time` bigint(20) DEFAULT NULL, PRIMARY KEY (`log_id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=151 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='定时任务日志'; +) ENGINE=InnoDB AUTO_INCREMENT=151 ROW_FORMAT=COMPACT COMMENT='定时任务日志'; -- ---------------------------- -- Table structure for sys_role @@ -492,8 +492,8 @@ CREATE TABLE `sys_quartz_log` ( DROP TABLE IF EXISTS `sys_role`; CREATE TABLE `sys_role` ( `role_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID', - `name` varchar(255) NOT NULL COMMENT '名称', - `level` int(255) DEFAULT NULL COMMENT '角色级别', + `name` varchar(100) NOT NULL COMMENT '名称', + `level` int(50) DEFAULT NULL COMMENT '角色级别', `description` varchar(255) DEFAULT NULL COMMENT '描述', `data_scope` varchar(255) DEFAULT NULL COMMENT '数据权限', `create_by` varchar(255) DEFAULT NULL COMMENT '创建者', @@ -503,7 +503,7 @@ CREATE TABLE `sys_role` ( PRIMARY KEY (`role_id`) USING BTREE, UNIQUE KEY `uniq_name` (`name`), KEY `role_name_index` (`name`) -) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='角色表'; +) ENGINE=InnoDB AUTO_INCREMENT=3 ROW_FORMAT=COMPACT COMMENT='角色表'; -- ---------------------------- -- Records of sys_role @@ -522,7 +522,7 @@ CREATE TABLE `sys_roles_depts` ( `dept_id` bigint(20) NOT NULL, PRIMARY KEY (`role_id`,`dept_id`) USING BTREE, KEY `FK7qg6itn5ajdoa9h9o78v9ksur` (`dept_id`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='角色部门关联'; +) ENGINE=InnoDB ROW_FORMAT=COMPACT COMMENT='角色部门关联'; -- ---------------------------- -- Table structure for sys_roles_menus @@ -533,7 +533,7 @@ CREATE TABLE `sys_roles_menus` ( `role_id` bigint(20) NOT NULL COMMENT '角色ID', PRIMARY KEY (`menu_id`,`role_id`) USING BTREE, KEY `FKcngg2qadojhi3a651a5adkvbq` (`role_id`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='角色菜单关联'; +) ENGINE=InnoDB ROW_FORMAT=COMPACT COMMENT='角色菜单关联'; -- ---------------------------- -- Records of sys_roles_menus @@ -649,11 +649,11 @@ DROP TABLE IF EXISTS `sys_user`; CREATE TABLE `sys_user` ( `user_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID', `dept_id` bigint(20) DEFAULT NULL COMMENT '部门名称', - `username` varchar(255) DEFAULT NULL COMMENT '用户名', + `username` varchar(180) DEFAULT NULL COMMENT '用户名', `nick_name` varchar(255) DEFAULT NULL COMMENT '昵称', `gender` varchar(2) DEFAULT NULL COMMENT '性别', `phone` varchar(255) DEFAULT NULL COMMENT '手机号码', - `email` varchar(255) DEFAULT NULL COMMENT '邮箱', + `email` varchar(180) DEFAULT NULL COMMENT '邮箱', `avatar_name` varchar(255) DEFAULT NULL COMMENT '头像地址', `avatar_path` varchar(255) DEFAULT NULL COMMENT '头像真实路径', `password` varchar(255) DEFAULT NULL COMMENT '密码', @@ -670,9 +670,8 @@ CREATE TABLE `sys_user` ( UNIQUE KEY `uniq_username` (`username`), UNIQUE KEY `uniq_email` (`email`), KEY `FK5rwmryny6jthaaxkogownknqp` (`dept_id`) USING BTREE, - KEY `FKpq2dhypk2qgt68nauh2by22jb` (`avatar_name`) USING BTREE, KEY `inx_enabled` (`enabled`) -) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='系统用户'; +) ENGINE=InnoDB AUTO_INCREMENT=3 ROW_FORMAT=COMPACT COMMENT='系统用户'; -- ---------------------------- -- Records of sys_user @@ -709,7 +708,7 @@ CREATE TABLE `sys_users_roles` ( `role_id` bigint(20) NOT NULL COMMENT '角色ID', PRIMARY KEY (`user_id`,`role_id`) USING BTREE, KEY `FKq4eq273l04bpu4efj0jd0jb98` (`role_id`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='用户角色关联'; +) ENGINE=InnoDB ROW_FORMAT=COMPACT COMMENT='用户角色关联'; -- ---------------------------- -- Records of sys_users_roles @@ -736,7 +735,7 @@ CREATE TABLE `tool_alipay_config` ( `sign_type` varchar(255) DEFAULT NULL COMMENT '签名方式', `sys_service_provider_id` varchar(255) DEFAULT NULL COMMENT '商户号', PRIMARY KEY (`config_id`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='支付宝配置类'; +) ENGINE=InnoDB ROW_FORMAT=COMPACT COMMENT='支付宝配置类'; -- ---------------------------- -- Records of tool_alipay_config @@ -757,7 +756,7 @@ CREATE TABLE `tool_email_config` ( `port` varchar(255) DEFAULT NULL COMMENT '端口', `user` varchar(255) DEFAULT NULL COMMENT '发件者用户名', PRIMARY KEY (`config_id`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='邮箱配置'; +) ENGINE=InnoDB ROW_FORMAT=COMPACT COMMENT='邮箱配置'; -- ---------------------------- -- Table structure for tool_local_storage @@ -776,7 +775,7 @@ CREATE TABLE `tool_local_storage` ( `create_time` datetime DEFAULT NULL COMMENT '创建日期', `update_time` datetime DEFAULT NULL COMMENT '更新时间', PRIMARY KEY (`storage_id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='本地存储'; +) ENGINE=InnoDB AUTO_INCREMENT=10 ROW_FORMAT=COMPACT COMMENT='本地存储'; -- ---------------------------- -- Records of tool_local_storage @@ -797,7 +796,7 @@ CREATE TABLE `tool_qiniu_config` ( `type` varchar(255) DEFAULT NULL COMMENT '空间类型', `zone` varchar(255) DEFAULT NULL COMMENT '机房', PRIMARY KEY (`config_id`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='七牛云配置'; +) ENGINE=InnoDB ROW_FORMAT=COMPACT COMMENT='七牛云配置'; -- ---------------------------- -- Table structure for tool_qiniu_content @@ -806,7 +805,7 @@ DROP TABLE IF EXISTS `tool_qiniu_content`; CREATE TABLE `tool_qiniu_content` ( `content_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID', `bucket` varchar(255) DEFAULT NULL COMMENT 'Bucket 识别符', - `name` varchar(255) DEFAULT NULL COMMENT '文件名称', + `name` varchar(180) DEFAULT NULL COMMENT '文件名称', `size` varchar(255) DEFAULT NULL COMMENT '文件大小', `type` varchar(255) DEFAULT NULL COMMENT '文件类型:私有或公开', `url` varchar(255) DEFAULT NULL COMMENT '文件url', @@ -814,7 +813,7 @@ CREATE TABLE `tool_qiniu_content` ( `update_time` datetime DEFAULT NULL COMMENT '上传或同步的时间', PRIMARY KEY (`content_id`) USING BTREE, UNIQUE KEY `uniq_name` (`name`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='七牛云文件存储'; +) ENGINE=InnoDB ROW_FORMAT=COMPACT COMMENT='七牛云文件存储'; -- ---------------------------- -- Records of tool_qiniu_content @@ -822,4 +821,4 @@ CREATE TABLE `tool_qiniu_content` ( BEGIN; COMMIT; -SET FOREIGN_KEY_CHECKS = 1; +SET FOREIGN_KEY_CHECKS = 1; \ No newline at end of file