package com.panzhihua.common.model.dtos.grid; import java.util.Date; import javax.validation.constraints.Max; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import javax.validation.constraints.Pattern; import org.hibernate.validator.constraints.Length; import com.fasterxml.jackson.annotation.JsonFormat; import com.google.common.base.CaseFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** * 分页查询表单 * * @author cedoo email:cedoo(a)qq.com * @version 1.0 * @since 1.0 * @date 2021-05-26 */ @Data @ApiModel("查询网格数据管理请求参数") public class PageEventGridDataDTO { @ApiModelProperty(value = "分页-当前页数", example = "1") private Long pageNum = 1L; @ApiModelProperty(value = "分页-每页记录数", example = "10") private Long pageSize = 10L; @ApiModelProperty(value = "排序字段, 默认createAt", example = "createAt") private String sortAttr = "createAt"; @ApiModelProperty(value = "排序方式: asc/desc(默认)", example = "desc") @Pattern(regexp = "asc|desc|ASC|DESC") private String sortType = "desc"; @Max(9223372036854775807L) @ApiModelProperty(value = "主键ID", hidden = false, example = "1") private Long id; @NotNull() @Max(9223372036854775807L) @ApiModelProperty(value = "类型,1、区县网格2街道网格3社区网格", hidden = false, example = "1") private Long type; @Max(9223372036854775807L) @ApiModelProperty(value = "区/县ID", hidden = false, example = "1") private Long zoneId; @Max(9223372036854775807L) @ApiModelProperty(value = "网格所属街道", hidden = false, example = "1") private Long gridStreetId; @Max(9223372036854775807L) @ApiModelProperty(value = "网格所属社区ID", hidden = false, example = "1") private Long gridCommunityId; @NotBlank() @Length(max = 100) @ApiModelProperty(value = "网格名称", hidden = false, example = "") private String gridName; @Max(32767) @ApiModelProperty(value = "所属图层", hidden = false, example = "1") private Integer mapLevel; @Length(max = 100) @ApiModelProperty(value = "面积", hidden = false, example = "") private String area; @Length(max = 100) @ApiModelProperty(value = "线条颜色", hidden = false, example = "") private String lineColor; @Length(max = 100) @ApiModelProperty(value = "线条宽度", hidden = false, example = "") private String lineBroadband; @Length(max = 100) @ApiModelProperty(value = "填充颜色", hidden = false, example = "") private String fillColor; @Length(max = 255) @ApiModelProperty(value = "备注", hidden = false, example = "") private String remarks; @Length(max = 2147483647) @ApiModelProperty(value = "围栏数据", hidden = false, example = "") private String data; @NotNull() @Max(9223372036854775807L) @ApiModelProperty(value = "创建人", hidden = false, example = "1") private Long createBy; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @ApiModelProperty(value = "创建时间-开始时间", hidden = false, example = "2021-05-01 18:05:50") private Date createAtBegin; @ApiModelProperty(value = "创建时间-结束时间", hidden = false, example = "2021-05-01 18:05:50") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date createAtEnd; @Max(9223372036854775807L) @ApiModelProperty(value = "修改人", hidden = false, example = "1") private Long updateBy; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @ApiModelProperty(value = "修改时间-开始时间", hidden = false, example = "2021-05-01 18:05:50") private Date updateAtBegin; @ApiModelProperty(value = "修改时间-结束时间", hidden = false, example = "2021-05-01 18:05:50") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date updateAtEnd; @ApiModelProperty(value = "(当前操作)用户ID", hidden = true, example = "1") private Long userId; @ApiModelProperty(value = "关键字", example = "") private String keyWord; public String getSortColumns() { String dbColumn = CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE, sortAttr); return dbColumn; } }