Wow

Modern Reactive CQRS Architecture Microservice development framework based on DDD and EventSourcing | 基于 DDD & EventSourcing 的现代响应式 CQRS 架构微服务开发框架

APACHE-2.0 License

Stars
146
Committers
5

Bot releases are visible (Hide)

Wow - v2.16.18

Published by Ahoo-Wang 8 months ago

What's Changed

Full Changelog: https://github.com/Ahoo-Wang/Wow/compare/v2.16.16...v2.16.18

Wow - v2.16.16

Published by Ahoo-Wang 8 months ago

What's Changed

Full Changelog: https://github.com/Ahoo-Wang/Wow/compare/v2.16.15...v2.16.16

Wow - v2.16.15

Published by Ahoo-Wang 8 months ago

What's Changed

class OrderService(
    @Qualifier("example.order.SnapshotQueryService")
    private val queryService: SnapshotQueryService<OrderState>
){
    fun getById(id:String): Mono<OrderState> {
        return condition {
            id(id)
        }.single(queryService).toState()
    }
}
@Qualifier("example.order.SnapshotQueryService")
@Autowired
private lateinit var queryService: SnapshotQueryService<OrderState>

Full Changelog: https://github.com/Ahoo-Wang/Wow/compare/v2.16.12...v2.16.15

Wow - v2.16.12

Published by Ahoo-Wang 8 months ago

What's Changed

操作符

操作符 描述
AND 对提供的条件列表执行逻辑与
OR 对提供的条件列表执行逻辑或
ID 匹配id字段值等于指定值的所有文档
IDS 匹配id字段值等于指定值列表中的任何值的所有文档
ALL 匹配所有文档
EQ 匹配字段名称值等于指定值的所有文档
NE 匹配字段名称值不等于指定值的所有文档
GT 匹配给定字段的值大于指定值的所有文档
LT 匹配给定字段的值小于指定值的所有文档
GTE 匹配给定字段的值大于或等于指定值的所有文档
LTE 匹配给定字段的值小于或等于指定值的所有文档
CONTAINS 匹配给定字段的值包含指定值的所有文档
IN 匹配字段值等于指定值列表中的任何值的所有文档
NOT_IN 匹配字段值不等于任何指定值或不存在的所有文档
BETWEEN 匹配字段值在指定值范围区间的所有文档
ALL_IN 匹配所有文档,其中字段值是包含所有指定值的数组
STARTS_WITH 匹配字段值以指定字符串开头的文档
ENDS_WITH 匹配字段值以指定字符串结尾的文档
ELEM_MATCH 条件与包含数组字段的所有文档相匹配,其中数组中至少有一个成员与给定的条件匹配。
NULL 匹配字段值在指定值为null的所有文档
NOT_NULL 匹配字段值在指定值不为null的所有文档
TRUE 匹配字段值在指定值为true的所有文档
FALSE 匹配字段值在指定值为false的所有文档
RAW 原始操作符,将条件值直接作为原始的数据库查询条件
TODAY 匹配字段在指定值今天范围区间的所有文档
TOMORROW 匹配字段在指定值明天范围区间的所有文档
THIS_WEEK 匹配字段在指定值本周范围区间的所有文档
NEXT_WEEK 匹配字段在指定值下周范围区间的所有文档
LAST_WEEK 匹配字段在指定值上周范围区间的所有文档
THIS_MONTH 匹配字段在指定值本月范围区间的所有文档
LAST_MONTH 匹配字段在指定值上个月范围区间的所有文档
RECENT_DAYS 匹配字段在指定值最近天数范围区间的所有文档
RECENT_WEEKS 匹配字段在指定值最近周数范围区间的所有文档
RECENT_MONTHS 匹配字段在指定值最近月数范围区间的所有文档

Full Changelog: https://github.com/Ahoo-Wang/Wow/compare/v2.16.11...v2.16.12

Wow - v2.16.11

Published by Ahoo-Wang 8 months ago

What's Changed

操作符

操作符 描述
AND 对提供的条件列表执行逻辑与
OR 对提供的条件列表执行逻辑或
ID 匹配id字段值等于指定值的所有文档
IDS 匹配id字段值等于指定值列表中的任何值的所有文档
TENANT_ID 匹配tenantId字段值等于指定值的所有文档
DELETED 匹配deleted字段值等于指定值的所有文档
ALL 匹配所有文档
EQ 匹配字段名称值等于指定值的所有文档
NE 匹配字段名称值不等于指定值的所有文档
GT 匹配给定字段的值大于指定值的所有文档
LT 匹配给定字段的值小于指定值的所有文档
GTE 匹配给定字段的值大于或等于指定值的所有文档
LTE 匹配给定字段的值小于或等于指定值的所有文档
CONTAINS 匹配给定字段的值包含指定值的所有文档
IN 匹配字段值等于指定值列表中的任何值的所有文档
NOT_IN 匹配字段值不等于任何指定值或不存在的所有文档
BETWEEN 匹配字段值在指定值范围区间的所有文档
ALL_IN 匹配所有文档,其中字段值是包含所有指定值的数组
STARTS_WITH 匹配字段值以指定字符串开头的文档
ENDS_WITH 匹配字段值以指定字符串结尾的文档
ELEM_MATCH 条件与包含数组字段的所有文档相匹配,其中数组中至少有一个成员与给定的条件匹配。
NULL 匹配字段值在指定值为null的所有文档
NOT_NULL 匹配字段值在指定值不为null的所有文档
TRUE 匹配字段值在指定值为true的所有文档
FALSE 匹配字段值在指定值为false的所有文档
RAW 原始操作符,将条件值直接作为原始的数据库查询条件

Full Changelog: https://github.com/Ahoo-Wang/Wow/compare/v2.16.10...v2.16.11

Wow - v2.16.10

Published by Ahoo-Wang 8 months ago

What's Changed

操作符 描述
AND 对提供的条件列表执行逻辑与
OR 对提供的条件列表执行逻辑或
ID 匹配id字段值等于指定值的所有文档
IDS 匹配id字段值等于指定值列表中的任何值的所有文档
ALL 匹配所有文档
EQ 匹配字段名称值等于指定值的所有文档
NE 匹配字段名称值不等于指定值的所有文档
GT 匹配给定字段的值大于指定值的所有文档
LT 匹配给定字段的值小于指定值的所有文档
GTE 匹配给定字段的值大于或等于指定值的所有文档
LTE 匹配给定字段的值小于或等于指定值的所有文档
CONTAINS 匹配给定字段的值包含指定值的所有文档
IN 匹配字段值等于指定值列表中的任何值的所有文档
NOT_IN 匹配字段值不等于任何指定值或不存在的所有文档
BETWEEN 匹配字段值在指定值范围区间的所有文档
ALL_IN 匹配所有文档,其中字段值是包含所有指定值的数组
STARTS_WITH 匹配字段值以指定字符串开头的文档
ENDS_WITH 匹配字段值以指定字符串结尾的文档
ELEM_MATCH 条件与包含数组字段的所有文档相匹配,其中数组中至少有一个成员与给定的条件匹配。
NULL 匹配字段值在指定值为null的所有文档
NOT_NULL 匹配字段值在指定值不为null的所有文档
TRUE 匹配字段值在指定值为true的所有文档
FALSE 匹配字段值在指定值为false的所有文档
RAW 原始操作符,将条件值直接作为原始的数据库查询条件

Full Changelog: https://github.com/Ahoo-Wang/Wow/compare/v2.16.9...v2.16.10

Wow - v2.16.9

Published by Ahoo-Wang 8 months ago

What's Changed

Full Changelog: https://github.com/Ahoo-Wang/Wow/compare/v2.16.8...v2.16.9

Wow - v2.16.8

Published by Ahoo-Wang 8 months ago

What's Changed

https://wow.ahoo.me/guide/query.html

Full Changelog: https://github.com/Ahoo-Wang/Wow/compare/v2.16.6...v2.16.8

Wow - v2.16.6

Published by Ahoo-Wang 8 months ago

What's Changed

https://wow.ahoo.me/guide/query.html

QueryDsl

通过 QueryDsl,您可以轻松构建复杂的查询条件,例如:

pagedQuery {
    pagination {
        index(1)
        size(10)
    }
    sort {
        "field1".asc()
    }
    condition {
        "field1" eq "value1"
        "field2" ne "value2"
        "filed3" gt 1
        "field4" lt 1
        "field5" gte 1
        "field6" lte 1
        "field7" like "value7"
        "field8" isIn listOf("value8")
        "field9" notIn listOf("value9")
        "field10" between (1 to 2)
        "field11" all listOf("value11")
        "field12" startsWith "value12"
        "field13" elemMatch {
            "field14" eq "value14"
        }
        "field15".isNull()
        "field16".notNull()
        and {
            "field3" eq "value3"
            "field4" eq "value4"
        }
        or {
            "field3" eq "value3"
            "field4" eq "value4"
        }
    }
}

OpenAPI

以下是一个示例 curl 命令,用于执行查询:

  curl -X 'POST' \
  'http://localhost:8080/execution_failed/snapshot/pagination' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
  "sort": [
    {
      "field": "_id",
      "direction": "DESC"
    }
  ],
  "pagination": {
    "index": 1,
    "size": 10
  },
  "condition": {
    "field": "",
    "operator": "AND",
    "value": "",
    "children": [
      {
        "field": "state.recoverable",
        "operator": "NE",
        "value": "UNRECOVERABLE",
        "children": []
      },
      {
        "field": "state.status",
        "operator": "NE",
        "value": "SUCCEEDED",
        "children": []
      },
      {
        "field": "state.isBelowRetryThreshold",
        "operator": "EQ",
        "value": false,
        "children": []
      }
    ]
  }
}'

TypeScript

TypeScript 中,您可以使用 Conditions 类来构建复杂的查询条件,例如:

Conditions.and(
    [
        Conditions.ne(ExecutionFailedFields.RECOVERABLE, RecoverableType.UNRECOVERABLE),
        Conditions.ne(ExecutionFailedFields.STATUS, ExecutionFailedStatus.SUCCEEDED),
        Conditions.eq(ExecutionFailedFields.IS_BELOW_RETRY_THRESHOLD, false)
    ]
)

Full Changelog: https://github.com/Ahoo-Wang/Wow/compare/v2.16.5...v2.16.6

Wow - v2.16.5

Published by Ahoo-Wang 8 months ago

What's Changed

Full Changelog: https://github.com/Ahoo-Wang/Wow/compare/v2.16.2...v2.16.5

Wow - v2.16.2

Published by Ahoo-Wang 8 months ago

What's Changed

Full Changelog: https://github.com/Ahoo-Wang/Wow/compare/v2.16.0...v2.16.2

Wow - v2.16.0

Published by Ahoo-Wang 8 months ago

What's Changed

Full Changelog: https://github.com/Ahoo-Wang/Wow/compare/v2.15.5...v2.16.0

Wow - v2.15.5

Published by Ahoo-Wang 8 months ago

What's Changed

Full Changelog: https://github.com/Ahoo-Wang/Wow/compare/v2.15.4...v2.15.5

Wow - v2.15.4

Published by Ahoo-Wang 8 months ago

What's Changed

Full Changelog: https://github.com/Ahoo-Wang/Wow/compare/v2.15.3...v2.15.4

Wow - v2.15.3

Published by Ahoo-Wang 8 months ago

What's Changed

Full Changelog: https://github.com/Ahoo-Wang/Wow/compare/v2.15.2...v2.15.3

Wow - v2.15.2

Published by Ahoo-Wang 9 months ago

What's Changed

Full Changelog: https://github.com/Ahoo-Wang/Wow/compare/v2.15.1...v2.15.2

Wow - v2.15.1

Published by Ahoo-Wang 9 months ago

What's Changed

Full Changelog: https://github.com/Ahoo-Wang/Wow/compare/v2.15.0...v2.15.1

Wow - v2.15.0

Published by Ahoo-Wang 9 months ago

What's Changed

Full Changelog: https://github.com/Ahoo-Wang/Wow/compare/v2.14.3...v2.15.0

Wow - v2.14.3

Published by Ahoo-Wang 9 months ago

What's Changed

Full Changelog: https://github.com/Ahoo-Wang/Wow/compare/v2.14.2...v2.14.3

Wow - v2.14.2

Published by Ahoo-Wang 9 months ago

What's Changed

Full Changelog: https://github.com/Ahoo-Wang/Wow/compare/v2.14.1...v2.14.2