feat: 升级版本
This commit is contained in:
parent
45940fc5e8
commit
ff6929ed6d
@ -5,7 +5,7 @@
|
||||
<parent>
|
||||
<artifactId>flyfish-framework</artifactId>
|
||||
<groupId>com.flyfish.framework</groupId>
|
||||
<version>0.0.1-SNAPSHOT</version>
|
||||
<version>0.1.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
|
@ -5,7 +5,7 @@
|
||||
<parent>
|
||||
<artifactId>flyfish-framework</artifactId>
|
||||
<groupId>com.flyfish.framework</groupId>
|
||||
<version>0.0.1-SNAPSHOT</version>
|
||||
<version>0.1.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
|
@ -5,7 +5,7 @@
|
||||
<parent>
|
||||
<artifactId>flyfish-framework</artifactId>
|
||||
<groupId>com.flyfish.framework</groupId>
|
||||
<version>0.0.1-SNAPSHOT</version>
|
||||
<version>0.1.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
|
@ -5,7 +5,7 @@
|
||||
<parent>
|
||||
<artifactId>flyfish-data</artifactId>
|
||||
<groupId>com.flyfish.framework</groupId>
|
||||
<version>0.0.1-SNAPSHOT</version>
|
||||
<version>0.1.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
|
@ -0,0 +1,100 @@
|
||||
package com.flyfish.framework.annotations.query;
|
||||
|
||||
import com.flyfish.framework.enums.NamedEnum;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
import org.springframework.core.annotation.AliasFor;
|
||||
|
||||
import java.lang.annotation.*;
|
||||
|
||||
/**
|
||||
* 查询字段注解,声明映射,查询逻辑
|
||||
*
|
||||
* @author wangyu
|
||||
*/
|
||||
@Target(ElementType.FIELD)
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
@Documented
|
||||
public @interface QueryField {
|
||||
|
||||
/**
|
||||
* @return 绑定的持久层字段
|
||||
*/
|
||||
@AliasFor("name")
|
||||
String value() default "";
|
||||
|
||||
/**
|
||||
* @return 绑定的持久层字段
|
||||
*/
|
||||
String name() default "";
|
||||
|
||||
/**
|
||||
* @return 表达式类型
|
||||
*/
|
||||
Type type() default Type.EQ;
|
||||
|
||||
/**
|
||||
* 拼接在某个字段前
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
String before() default "";
|
||||
|
||||
/**
|
||||
* @return 和前面条件表达式的连接方式
|
||||
*/
|
||||
Logistic[] start() default Logistic.AND;
|
||||
|
||||
/**
|
||||
* @return 和后面条件表达式的连接方式
|
||||
*/
|
||||
Logistic[] end() default Logistic.NULL;
|
||||
|
||||
/**
|
||||
* @return 当前类内排序值
|
||||
*/
|
||||
int order() default 0;
|
||||
|
||||
/**
|
||||
* 查询类型
|
||||
*/
|
||||
@AllArgsConstructor
|
||||
@Getter
|
||||
enum Type implements NamedEnum {
|
||||
|
||||
EQ("等于字段值"),
|
||||
NE("不等于字段值"),
|
||||
GT("大于字段值"),
|
||||
GTE("大于等于字段值"),
|
||||
LT("小于字段值"),
|
||||
LTE("小于等于字段值"),
|
||||
LIKE("模糊匹配字段值"),
|
||||
LIKE_LEFT("匹配左半部分字段值"),
|
||||
LIKE_RIGHT("匹配有半部分字段值"),
|
||||
IN("在字段值列表内"),
|
||||
NIN("不再字段值列表内"),
|
||||
NOT_NULL("不为空"),
|
||||
IS_NULL("为空"),
|
||||
BETWEEN("介于列表下标0和1的值之间"),
|
||||
DATE_GTE("日期大于字段值"),
|
||||
DATE_LTE("日期小于字段值");
|
||||
|
||||
private final String name;
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询逻辑
|
||||
*/
|
||||
@AllArgsConstructor
|
||||
@Getter
|
||||
enum Logistic implements NamedEnum {
|
||||
|
||||
NULL("无"),
|
||||
AND("与"),
|
||||
OR("或"),
|
||||
BRACKET_START("左括号"),
|
||||
BRACKET_END("右括号");
|
||||
|
||||
private final String name;
|
||||
}
|
||||
}
|
@ -124,7 +124,7 @@ public class BaseQo<T extends Domain> implements Qo<T> {
|
||||
* @return 结果
|
||||
*/
|
||||
public CriteriaBuilder<T> criteriaBuilder() {
|
||||
return null;
|
||||
return CriteriaBuilder.accept(this);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -1,6 +1,8 @@
|
||||
package com.flyfish.framework.domain.base;
|
||||
|
||||
import com.flyfish.framework.annotations.query.QueryField;
|
||||
import com.flyfish.framework.builder.CriteriaBuilder;
|
||||
import com.flyfish.framework.query.Queries;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import org.springframework.data.domain.Sort;
|
||||
@ -17,22 +19,31 @@ import java.util.List;
|
||||
@Setter
|
||||
public class NameLikeQo<T extends Domain> extends BaseQo<T> {
|
||||
|
||||
@QueryField(type = QueryField.Type.LIKE)
|
||||
protected String name;
|
||||
|
||||
@QueryField
|
||||
protected String code;
|
||||
|
||||
@QueryField(name = "createTime", type = QueryField.Type.BETWEEN)
|
||||
protected List<String> createTimeRange;
|
||||
|
||||
@QueryField(name = "modifyTime", type = QueryField.Type.BETWEEN)
|
||||
protected List<String> modifyTimeRange;
|
||||
|
||||
@QueryField
|
||||
protected String creatorId;
|
||||
|
||||
@QueryField
|
||||
protected String modifierId;
|
||||
|
||||
@QueryField
|
||||
protected Boolean enable;
|
||||
|
||||
@QueryField(type = QueryField.Type.IN)
|
||||
protected Collection<String> ids;
|
||||
|
||||
@QueryField(name = "id", type = QueryField.Type.NE)
|
||||
protected String excludeId;
|
||||
|
||||
/**
|
||||
@ -47,7 +58,7 @@ public class NameLikeQo<T extends Domain> extends BaseQo<T> {
|
||||
|
||||
@Override
|
||||
public CriteriaBuilder<T> criteriaBuilder() {
|
||||
return CriteriaBuilder.accept(this)
|
||||
return super.criteriaBuilder()
|
||||
.with("name", CriteriaBuilder.Builders.LIKE)
|
||||
.with("enable", "code", "creatorId", "modifierId")
|
||||
.with("ids", "id", CriteriaBuilder.Builders.IN)
|
||||
|
@ -0,0 +1,16 @@
|
||||
package com.flyfish.framework.query;
|
||||
|
||||
import com.flyfish.framework.domain.base.Qo;
|
||||
|
||||
/**
|
||||
* 查询工具类
|
||||
* 基于Fluent API风格实现
|
||||
* 底层基于适配器兼容各种数据库,包括关系型数据库和
|
||||
* @author wangyu
|
||||
*/
|
||||
public final class Queries {
|
||||
|
||||
public static Queries of(Qo<?> qo) {
|
||||
|
||||
}
|
||||
}
|
@ -5,7 +5,7 @@
|
||||
<parent>
|
||||
<artifactId>flyfish-data</artifactId>
|
||||
<groupId>com.flyfish.framework</groupId>
|
||||
<version>0.0.1-SNAPSHOT</version>
|
||||
<version>0.1.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
|
@ -5,7 +5,7 @@
|
||||
<parent>
|
||||
<artifactId>flyfish-data</artifactId>
|
||||
<groupId>com.flyfish.framework</groupId>
|
||||
<version>0.0.1-SNAPSHOT</version>
|
||||
<version>0.1.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
|
@ -5,7 +5,7 @@
|
||||
<parent>
|
||||
<artifactId>flyfish-framework</artifactId>
|
||||
<groupId>com.flyfish.framework</groupId>
|
||||
<version>0.0.1-SNAPSHOT</version>
|
||||
<version>0.1.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
|
@ -5,7 +5,7 @@
|
||||
<parent>
|
||||
<artifactId>flyfish-framework</artifactId>
|
||||
<groupId>com.flyfish.framework</groupId>
|
||||
<version>0.0.1-SNAPSHOT</version>
|
||||
<version>0.1.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
|
@ -5,7 +5,7 @@
|
||||
<parent>
|
||||
<artifactId>flyfish-framework</artifactId>
|
||||
<groupId>com.flyfish.framework</groupId>
|
||||
<version>0.0.1-SNAPSHOT</version>
|
||||
<version>0.1.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
|
@ -5,7 +5,7 @@
|
||||
<parent>
|
||||
<artifactId>flyfish-framework</artifactId>
|
||||
<groupId>com.flyfish.framework</groupId>
|
||||
<version>0.0.1-SNAPSHOT</version>
|
||||
<version>0.1.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
|
@ -5,7 +5,7 @@
|
||||
<parent>
|
||||
<artifactId>flyfish-framework</artifactId>
|
||||
<groupId>com.flyfish.framework</groupId>
|
||||
<version>0.0.1-SNAPSHOT</version>
|
||||
<version>0.1.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
|
@ -5,7 +5,7 @@
|
||||
<parent>
|
||||
<artifactId>flyfish-framework</artifactId>
|
||||
<groupId>com.flyfish.framework</groupId>
|
||||
<version>0.0.1-SNAPSHOT</version>
|
||||
<version>0.1.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
|
@ -5,7 +5,7 @@
|
||||
<parent>
|
||||
<artifactId>flyfish-framework</artifactId>
|
||||
<groupId>com.flyfish.framework</groupId>
|
||||
<version>0.0.1-SNAPSHOT</version>
|
||||
<version>0.1.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user