feat: 升级版本

This commit is contained in:
wangyu 2022-08-03 17:35:15 +08:00
parent 45940fc5e8
commit ff6929ed6d
18 changed files with 145 additions and 18 deletions

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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;
}
}

View File

@ -124,7 +124,7 @@ public class BaseQo<T extends Domain> implements Qo<T> {
* @return 结果
*/
public CriteriaBuilder<T> criteriaBuilder() {
return null;
return CriteriaBuilder.accept(this);
}
/**

View File

@ -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)

View File

@ -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) {
}
}

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -6,7 +6,7 @@
<groupId>com.flyfish.framework</groupId>
<artifactId>flyfish-framework</artifactId>
<version>0.0.1-SNAPSHOT</version>
<version>0.1.0-SNAPSHOT</version>
<packaging>pom</packaging>
<parent>