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 PageComActEasyPhotoDTO { @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 = "发起人id", hidden = false, example = "1") private Long sponsorId; @NotBlank() @Length(max = 100) @ApiModelProperty(value = "发生地址", hidden = false, example = "") private String happenAddr; @NotBlank(message = "地址备注不能为空") @Length(max = 50) @ApiModelProperty(value = "地址备注", hidden = false, example = "") private String addrRemark; @NotNull() @Max(127) @ApiModelProperty(value = "状态 1待处理 2已处理", hidden = false, example = "1") private Integer status; @Max(9223372036854775807L) @ApiModelProperty(value = "处理人id", hidden = false, example = "1") private Long handlerId; @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; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @ApiModelProperty(value = "审核时间-开始时间", hidden = false, example = "2021-05-01 18:05:50") private Date examineAtBegin; @ApiModelProperty(value = "审核时间-结束时间", hidden = false, example = "2021-05-01 18:05:50") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date examineAtEnd; @Length(max = 65535) @ApiModelProperty(value = "详情", hidden = false, example = "") private String detail; @Length(max = 65535) @ApiModelProperty(value = "图片路径列表,逗号分隔", hidden = false, example = "") private String photoPathList; @Length(max = 65535) @ApiModelProperty(value = "处理结果", hidden = false, example = "") private String handleResult; @Length(max = 65535) @ApiModelProperty(value = "处理结果,图片路径列表,逗号分隔", hidden = false, example = "") private String handlePhotoList; @Max(9223372036854775807L) @ApiModelProperty(value = "社区id", hidden = false, example = "1") private Long communityId; @Max(127) @ApiModelProperty(value = "是否匿名发布 0 否 1 是", hidden = false, example = "1") private Integer isHide; @Max(127) @ApiModelProperty(value = "是否需要反馈 0 不需要 1 需要", hidden = false, example = "1") private Integer isNeedFeedBack; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @ApiModelProperty(value = "反馈时间-开始时间", hidden = false, example = "2021-05-01 18:05:50") private Date feedbackAtBegin; @ApiModelProperty(value = "反馈时间-结束时间", hidden = false, example = "2021-05-01 18:05:50") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date feedbackAtEnd; @Length(max = 500) @ApiModelProperty(value = "驳回原因", hidden = false, example = "") private String rejectReason; @Length(max = 65535) @ApiModelProperty(value = "封面图片", hidden = false, example = "") private String cover; @Max(127) @ApiModelProperty(value = "是否删除 0 否 1 是", hidden = false, example = "1") private Integer delTag; @Max(127) @ApiModelProperty(value = "是否上报社区处理(0.否 1.是)", hidden = false, example = "1") private Integer isReport; @Max(127) @ApiModelProperty(value = "是否公示(0.否 1.是)", hidden = false, example = "1") private Integer isPublicity; @ApiModelProperty(value = "(当前操作)用户ID", hidden = true, example = "1") private Long userId; public String getSortColumns() { String dbColumn = CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE, sortAttr); return dbColumn; } }