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 8d986b9c..a94eeade 100644 --- a/eladmin-common/src/main/java/me/zhengjie/annotation/Query.java +++ b/eladmin-common/src/main/java/me/zhengjie/annotation/Query.java @@ -52,6 +52,8 @@ public @interface Query { , IN // 不等于 ,NOT_EQUAL + // between + ,BETWEEN } /** 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 e8c59d79..607e618c 100644 --- a/eladmin-common/src/main/java/me/zhengjie/utils/QueryHelp.java +++ b/eladmin-common/src/main/java/me/zhengjie/utils/QueryHelp.java @@ -109,6 +109,11 @@ public class QueryHelp { case NOT_EQUAL: list.add(cb.notEqual(getExpression(attributeName,join,root), val)); break; + case BETWEEN: + List between = new ArrayList<>((List)val); + list.add(cb.between(getExpression(attributeName, join, root).as((Class) between.get(0).getClass()), + (Comparable) between.get(0), (Comparable) between.get(1))); + break; default: break; } } diff --git a/eladmin-generator/src/main/java/me/zhengjie/domain/ColumnInfo.java b/eladmin-generator/src/main/java/me/zhengjie/domain/ColumnInfo.java index 727be0aa..fcdcfc2d 100644 --- a/eladmin-generator/src/main/java/me/zhengjie/domain/ColumnInfo.java +++ b/eladmin-generator/src/main/java/me/zhengjie/domain/ColumnInfo.java @@ -56,9 +56,6 @@ public class ColumnInfo { // 字典名称 private String dictName; - // 关联表名 - private String joinName; - // 日期注解 private String dateAnnotation; 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 678a1aeb..88b6af9d 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 @@ -118,9 +118,11 @@ public class GeneratorServiceImpl implements GeneratorService { throw new BadRequestException("请先配置生成器"); } try { - GenUtil.generatorCode(columns,genConfig); + // 查询是否存在关联实体字段信息 + GenUtil.generatorCode(columns, genConfig); } catch (IOException e) { - throw new RuntimeException(e); + e.printStackTrace(); + throw new BadRequestException("生成失败,请手动处理已生成的文件"); } return null; } 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 a8868105..ae7c352e 100644 --- a/eladmin-generator/src/main/java/me/zhengjie/utils/GenUtil.java +++ b/eladmin-generator/src/main/java/me/zhengjie/utils/GenUtil.java @@ -170,8 +170,6 @@ public class GenUtil { listMap.put("capitalColumnName",capitalColumnName); // 字典名称 listMap.put("dictName",column.getDictName()); - // 关联字段 - listMap.put("joinName",column.getJoinName()); // 日期注解 listMap.put("dateAnnotation",column.getDateAnnotation()); if(StringUtils.isNotBlank(column.getDateAnnotation())){ diff --git a/eladmin-logging/src/main/java/me/zhengjie/service/dto/LogQueryCriteria.java b/eladmin-logging/src/main/java/me/zhengjie/service/dto/LogQueryCriteria.java index bc1499a7..651f55c2 100644 --- a/eladmin-logging/src/main/java/me/zhengjie/service/dto/LogQueryCriteria.java +++ b/eladmin-logging/src/main/java/me/zhengjie/service/dto/LogQueryCriteria.java @@ -2,8 +2,8 @@ package me.zhengjie.service.dto; import lombok.Data; import me.zhengjie.annotation.Query; - import java.sql.Timestamp; +import java.util.List; /** * 日志查询类 @@ -20,9 +20,6 @@ public class LogQueryCriteria { @Query private String logType; - @Query(type = Query.Type.GREATER_THAN,propName = "createTime") - private Timestamp startTime; - - @Query(type = Query.Type.LESS_THAN,propName = "createTime") - private Timestamp endTime; + @Query(type = Query.Type.BETWEEN) + private List createTime; } 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 518f7b0c..e0d66488 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 @@ -54,7 +54,7 @@ public class QuartzJobController { @Log("导出日志数据") @ApiOperation("导出日志数据") - @GetMapping(value = "/download/log") + @GetMapping(value = "/logs/download") @PreAuthorize("@el.check('timing:list')") public void downloadLog(HttpServletResponse response, JobQueryCriteria criteria) throws IOException { quartzJobService.downloadLog(quartzJobService.queryAllLog(criteria), response); diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/quartz/service/dto/JobQueryCriteria.java b/eladmin-system/src/main/java/me/zhengjie/modules/quartz/service/dto/JobQueryCriteria.java index 486760b0..b9351dd0 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/quartz/service/dto/JobQueryCriteria.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/quartz/service/dto/JobQueryCriteria.java @@ -4,6 +4,7 @@ import lombok.Data; import me.zhengjie.annotation.Query; import java.sql.Timestamp; +import java.util.List; /** * @author Zheng Jie @@ -18,9 +19,6 @@ public class JobQueryCriteria { @Query private Boolean isSuccess; - @Query(type = Query.Type.GREATER_THAN,propName = "createTime") - private Timestamp startTime; - - @Query(type = Query.Type.LESS_THAN,propName = "createTime") - private Timestamp endTime; + @Query(type = Query.Type.BETWEEN) + private List createTime; } 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 97b88ae2..58b15aaf 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 @@ -18,6 +18,7 @@ import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; import java.io.IOException; +import java.util.List; /** * @author Zheng Jie @@ -51,8 +52,7 @@ public class JobController { @ApiOperation("查询岗位") @GetMapping @PreAuthorize("@el.check('job:list','user:list')") - public ResponseEntity getJobs(JobQueryCriteria criteria, - Pageable pageable){ + public ResponseEntity getJobs(JobQueryCriteria criteria, Pageable pageable){ // 数据权限 criteria.setDeptIds(dataScope.getDeptIds()); return new ResponseEntity<>(jobService.queryAll(criteria, pageable),HttpStatus.OK); diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/DeptQueryCriteria.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/DeptQueryCriteria.java index 165851b7..688be144 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/DeptQueryCriteria.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/DeptQueryCriteria.java @@ -4,6 +4,7 @@ import lombok.Data; import me.zhengjie.annotation.Query; import java.sql.Timestamp; +import java.util.List; import java.util.Set; /** @@ -25,9 +26,6 @@ public class DeptQueryCriteria{ @Query private Long pid; - @Query(type = Query.Type.GREATER_THAN,propName = "createTime") - private Timestamp startTime; - - @Query(type = Query.Type.LESS_THAN,propName = "createTime") - private Timestamp endTime; + @Query(type = Query.Type.BETWEEN) + private List createTime; } \ No newline at end of file diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/DictDetailDTO.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/DictDetailDTO.java index 6cadec24..85b65e0a 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/DictDetailDTO.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/DictDetailDTO.java @@ -22,5 +22,7 @@ public class DictDetailDTO implements Serializable { private String sort; + private DictSmallDTO dict; + private Timestamp createTime; } \ No newline at end of file diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/DictSmallDTO.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/DictSmallDTO.java new file mode 100644 index 00000000..6748df07 --- /dev/null +++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/DictSmallDTO.java @@ -0,0 +1,16 @@ +package me.zhengjie.modules.system.service.dto; + +import lombok.Getter; +import lombok.Setter; +import java.io.Serializable; + +/** +* @author Zheng Jie +* @date 2019-04-10 +*/ +@Getter +@Setter +public class DictSmallDTO implements Serializable { + + private Long id; +} diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/JobQueryCriteria.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/JobQueryCriteria.java index 313dd9e9..1e90cfbd 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/JobQueryCriteria.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/JobQueryCriteria.java @@ -3,9 +3,8 @@ package me.zhengjie.modules.system.service.dto; import lombok.Data; import lombok.NoArgsConstructor; import me.zhengjie.annotation.Query; - -import java.io.Serializable; import java.sql.Timestamp; +import java.util.List; import java.util.Set; /** @@ -28,9 +27,6 @@ public class JobQueryCriteria { @Query(propName = "id", joinName = "dept", type = Query.Type.IN) private Set deptIds; - @Query(type = Query.Type.GREATER_THAN,propName = "createTime") - private Timestamp startTime; - - @Query(type = Query.Type.LESS_THAN,propName = "createTime") - private Timestamp endTime; + @Query(type = Query.Type.BETWEEN) + private List createTime; } \ No newline at end of file diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/MenuQueryCriteria.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/MenuQueryCriteria.java index d0bf0693..0a4275a3 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/MenuQueryCriteria.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/MenuQueryCriteria.java @@ -4,6 +4,7 @@ import lombok.Data; import me.zhengjie.annotation.Query; import java.sql.Timestamp; +import java.util.List; /** * 公共查询类 @@ -15,9 +16,6 @@ public class MenuQueryCriteria { @Query(blurry = "name,path,component") private String blurry; - @Query(type = Query.Type.GREATER_THAN,propName = "createTime") - private Timestamp startTime; - - @Query(type = Query.Type.LESS_THAN,propName = "createTime") - private Timestamp endTime; + @Query(type = Query.Type.BETWEEN) + private List createTime; } diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/RoleQueryCriteria.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/RoleQueryCriteria.java index 59b00556..29db87c6 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/RoleQueryCriteria.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/RoleQueryCriteria.java @@ -4,6 +4,7 @@ import lombok.Data; import me.zhengjie.annotation.Query; import java.sql.Timestamp; +import java.util.List; /** * 公共查询类 @@ -15,9 +16,6 @@ public class RoleQueryCriteria { @Query(blurry = "name,remark") private String blurry; - @Query(type = Query.Type.GREATER_THAN,propName = "createTime") - private Timestamp startTime; - - @Query(type = Query.Type.LESS_THAN,propName = "createTime") - private Timestamp endTime; + @Query(type = Query.Type.BETWEEN) + private List createTime; } diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/UserQueryCriteria.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/UserQueryCriteria.java index 8195d732..56b1ddc0 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/UserQueryCriteria.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/UserQueryCriteria.java @@ -4,6 +4,7 @@ import lombok.Data; import me.zhengjie.annotation.Query; import java.io.Serializable; import java.sql.Timestamp; +import java.util.List; import java.util.Set; /** @@ -28,9 +29,6 @@ public class UserQueryCriteria implements Serializable { private Long deptId; - @Query(type = Query.Type.GREATER_THAN,propName = "createTime") - private Timestamp startTime; - - @Query(type = Query.Type.LESS_THAN,propName = "createTime") - private Timestamp endTime; + @Query(type = Query.Type.BETWEEN) + private List createTime; } diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/mapper/DictDetailMapper.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/mapper/DictDetailMapper.java index f82c1bd5..51fd1f9c 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/mapper/DictDetailMapper.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/mapper/DictDetailMapper.java @@ -10,7 +10,7 @@ import org.mapstruct.ReportingPolicy; * @author Zheng Jie * @date 2019-04-10 */ -@Mapper(componentModel = "spring",unmappedTargetPolicy = ReportingPolicy.IGNORE) +@Mapper(componentModel = "spring", uses = {DictSmallMapper.class}, unmappedTargetPolicy = ReportingPolicy.IGNORE) public interface DictDetailMapper extends BaseMapper { } \ No newline at end of file diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/mapper/DictSmallMapper.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/mapper/DictSmallMapper.java new file mode 100644 index 00000000..22dce56d --- /dev/null +++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/mapper/DictSmallMapper.java @@ -0,0 +1,17 @@ +package me.zhengjie.modules.system.service.mapper; + +import me.zhengjie.base.BaseMapper; +import me.zhengjie.modules.system.domain.Dict; +import me.zhengjie.modules.system.service.dto.DictDTO; +import me.zhengjie.modules.system.service.dto.DictSmallDTO; +import org.mapstruct.Mapper; +import org.mapstruct.ReportingPolicy; + +/** +* @author Zheng Jie +* @date 2019-04-10 +*/ +@Mapper(componentModel = "spring",unmappedTargetPolicy = ReportingPolicy.IGNORE) +public interface DictSmallMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/eladmin-system/src/main/resources/template/generator/admin/QueryCriteria.ftl b/eladmin-system/src/main/resources/template/generator/admin/QueryCriteria.ftl index d46682e5..ab87ee3f 100644 --- a/eladmin-system/src/main/resources/template/generator/admin/QueryCriteria.ftl +++ b/eladmin-system/src/main/resources/template/generator/admin/QueryCriteria.ftl @@ -7,6 +7,9 @@ import java.sql.Timestamp; <#if queryHasBigDecimal> import java.math.BigDecimal; +<#if dateRanges??> +import java.util.List; + <#if queryColumns??> import me.zhengjie.annotation.Query; @@ -49,13 +52,8 @@ public class ${className}QueryCriteria{ <#if dateRanges??> <#list dateRanges as column> - - // 时间段查询 - @Query(type = Query.Type.GREATER_THAN, propName = "${column.changeColumnName}") - private ${column.columnType} ${column.changeColumnName}Start; - - @Query(type = Query.Type.LESS_THAN, propName = "${column.changeColumnName}") - private ${column.columnType} ${column.changeColumnName}End; + @Query(type = Query.Type.BETWEEN) + private List<${column.columnType}> createTime; } \ No newline at end of file diff --git a/eladmin-system/src/test/java/me/zhengjie/EladminSystemApplicationTests.java b/eladmin-system/src/test/java/me/zhengjie/EladminSystemApplicationTests.java index 793ee5c1..2b050b2b 100644 --- a/eladmin-system/src/test/java/me/zhengjie/EladminSystemApplicationTests.java +++ b/eladmin-system/src/test/java/me/zhengjie/EladminSystemApplicationTests.java @@ -5,6 +5,9 @@ import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; +import java.util.ArrayList; +import java.util.List; + @RunWith(SpringRunner.class) @SpringBootTest public class EladminSystemApplicationTests { @@ -13,5 +16,8 @@ public class EladminSystemApplicationTests { public void contextLoads() { } + + public static void main(String[] args) { + } } 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 e8f5bc03..ad44571b 100644 --- a/eladmin-tools/src/main/java/me/zhengjie/rest/QiniuController.java +++ b/eladmin-tools/src/main/java/me/zhengjie/rest/QiniuController.java @@ -52,7 +52,7 @@ public class QiniuController { @Log("导出数据") @ApiOperation("导出数据") - @GetMapping(value = "/download/list") + @GetMapping(value = "/download") public void download(HttpServletResponse response, QiniuQueryCriteria criteria) throws IOException { qiNiuService.downloadList(qiNiuService.queryAll(criteria), response); } diff --git a/eladmin-tools/src/main/java/me/zhengjie/service/dto/LocalStorageQueryCriteria.java b/eladmin-tools/src/main/java/me/zhengjie/service/dto/LocalStorageQueryCriteria.java index 089aeda7..25d7389c 100644 --- a/eladmin-tools/src/main/java/me/zhengjie/service/dto/LocalStorageQueryCriteria.java +++ b/eladmin-tools/src/main/java/me/zhengjie/service/dto/LocalStorageQueryCriteria.java @@ -2,6 +2,8 @@ package me.zhengjie.service.dto; import lombok.Data; import java.sql.Timestamp; +import java.util.List; + import me.zhengjie.annotation.Query; /** @@ -15,9 +17,6 @@ public class LocalStorageQueryCriteria{ @Query(blurry = "name,suffix,type,operate,size") private String blurry; - @Query(type = Query.Type.GREATER_THAN,propName = "createTime") - private Timestamp startTime; - - @Query(type = Query.Type.LESS_THAN,propName = "createTime") - private Timestamp endTime; + @Query(type = Query.Type.BETWEEN) + private List createTime; } \ No newline at end of file diff --git a/eladmin-tools/src/main/java/me/zhengjie/service/dto/PictureQueryCriteria.java b/eladmin-tools/src/main/java/me/zhengjie/service/dto/PictureQueryCriteria.java index 2869e7ee..44b8363e 100644 --- a/eladmin-tools/src/main/java/me/zhengjie/service/dto/PictureQueryCriteria.java +++ b/eladmin-tools/src/main/java/me/zhengjie/service/dto/PictureQueryCriteria.java @@ -4,6 +4,7 @@ import lombok.Data; import me.zhengjie.annotation.Query; import java.sql.Timestamp; +import java.util.List; /** * sm.ms图床 @@ -20,9 +21,6 @@ public class PictureQueryCriteria{ @Query(type = Query.Type.INNER_LIKE) private String username; - @Query(type = Query.Type.GREATER_THAN,propName = "createTime") - private Timestamp startTime; - - @Query(type = Query.Type.LESS_THAN,propName = "createTime") - private Timestamp endTime; + @Query(type = Query.Type.BETWEEN) + private List createTime; } diff --git a/eladmin-tools/src/main/java/me/zhengjie/service/dto/QiniuQueryCriteria.java b/eladmin-tools/src/main/java/me/zhengjie/service/dto/QiniuQueryCriteria.java index 6f02941a..4b73eb9b 100644 --- a/eladmin-tools/src/main/java/me/zhengjie/service/dto/QiniuQueryCriteria.java +++ b/eladmin-tools/src/main/java/me/zhengjie/service/dto/QiniuQueryCriteria.java @@ -4,6 +4,7 @@ import lombok.Data; import me.zhengjie.annotation.Query; import java.sql.Timestamp; +import java.util.List; /** * @author Zheng Jie @@ -15,9 +16,6 @@ public class QiniuQueryCriteria{ @Query(type = Query.Type.INNER_LIKE) private String key; - @Query(type = Query.Type.GREATER_THAN,propName = "updateTime") - private Timestamp startTime; - - @Query(type = Query.Type.LESS_THAN,propName = "updateTime") - private Timestamp endTime; + @Query(type = Query.Type.BETWEEN) + private List createTime; }