Skip to content
本页目录

区间字段类型(Range)

区间类型用来表达一个数据范围, 比如 出发日期和回程日期, 或者是 最小金额和最大金额.

所有的区间类型在后端都是使用同一个类型包装 Range<T>, 并且提供了 getStartgetEnd 方法.

我们通过泛型包装相关的内容类型即可, 上述的 出发日期和回程日期, 就可以用 Range<Date> 来表达.

最小金额和最大金额 则可以使用 Range<BigDecimal>, 亦或是 Range<Double> 来接收数据.

以下是目前支持的一些区间类型, 可以直接使用.

关于 支持类型默认推断类型

下文的 支持类型, 是值其可支持的类型范围, 而 默认推断类型 是指为特殊声明类型的情况下, 这些 Java 类型会被推断为当前类型.

日期时间 为例, 其 支持类型java.util.Date, java.time.LocalDateTime, 而 默认推断类型 为: java.time.LocalDateTime.

即如果不通过 @Field(type=?) 的方式声明的情况下, 字段类型为 java.time.LocalDateTime 会自动推断为 DateTime.

但如果字段类型为 java.util.Date, 且为未声明 @Field(type=?) 的情况下, 则会自动推断为 Date, 因为 日期 类型的默认推断类型中包含了 java.util.Date.

数字区间(DIGIT_RANGE)

  • 字段类型: DIGIT_RANGE
  • 支持类型: Range<? extends java.lang.Number>
  • 默认推断类型: Range<? extends java.lang.Number>

数字的区间类型, 即有数字的最小值和最大值, 后端可以用 Range<? extends java.lang.Number> 类型来接, 数据格式具体参考 字段类型: 数字.

日期区间(DATE_RANGE)

  • 字段类型: DATE_RANGE
  • 支持类型: Range<java.util.Date>, Range<java.time.LocalDate>
  • 默认推断类型: Range<java.util.Date>, Range<java.time.LocalDate>

日期类型的区间选择器, 仅通过 Range 类型进行包装, 数据格式具体参考 字段类型: 日期

日期时间区间(DATE_TIME_RANGE)

  • 字段类型: DATE_TIME
  • 支持类型: Range<java.util.Date>, Range<java.time.LocalDateTime>
  • 默认推断类型: Range<java.time.LocalDateTime>

日期时间类型的区间选择器, 仅通过 Range 类型进行包装, 数据格式具体参考 字段类型: 日期时间

时间区间(TIME_RANGE)

  • 字段类型: TIME
  • 支持类型: Range<java.time.LocalTime>, Range<java.lang.String>
  • 默认推断类型: Range<java.time.LocalTime>

时间类型的区间选择器, 仅通过 Range 类型进行包装, 数据格式具体参考 字段类型: 时间

周区间(DATE_WEEK_RANGE)

  • 字段类型: DATE_WEEK_RANGE
  • 支持类型: Range<java.lang.String>
  • 默认推断类型: 无, 需要声明 @Field(type=ValueType.DATE_WEEK_RANGE)

日期类型的周区间选择器, 以周为单位的区间选择, 仅通过 Range 类型进行包装, 数据格式具体参考 字段类型: 时间-周

月区间(DATE_MONTH_RANGE)

  • 字段类型: DATE_MONTH_RANGE
  • 支持 Java 类型: Range<java.lang.String>
  • 默认推断类型: 无, 需要声明 @Field(type=ValueType.DATE_MONTH_RANGE)

日期类型的月区间选择器, 以月为单位的区间选择, 仅通过 Range 类型进行包装, 数据格式具体参考 字段类型: 时间-月

季度区间(DATE_QUARTER_RANGE)

  • 字段类型: DATE_QUARTER_RANGE
  • 支持 Java 类型: Range<java.lang.String>
  • 默认推断类型: 无, 需要声明 @Field(type=ValueType.DATE_QUARTER_RANGE)

日期类型的季度区间选择器, 以季度为单位的区间选择, 仅通过 Range 类型进行包装, 数据格式具体参考 字段类型: 时间-季度

年度区间(DATE_YEAR_RANGE)

  • 字段类型: DATE_YEAR_RANGE
  • 支持 Java 类型: Range<java.lang.String>
  • 默认推断类型: 无, 需要声明 @Field(type=ValueType.DATE_YEAR_RANGE)

日期类型的年度区间选择器, 以年为单位的区间选择, 仅通过 Range 类型进行包装, 数据格式具体参考 字段类型: 时间-年度