package com.panzhihua.common.model.vos.community; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import com.panzhihua.common.validated.AddGroup; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.Min; import javax.validation.constraints.Pattern; import java.util.Arrays; import java.util.Date; import java.util.List; import java.util.stream.Collectors; /** * @author zzj */ @Data @ApiModel("四长四员实体") public class ComActFourMemberVO { @JsonSerialize(using = ToStringSerializer.class) private Long id; /** * 用户id */ @ApiModelProperty(value = "用户id") @JsonSerialize(using = ToStringSerializer.class) private Long userId; /** * 职位 */ @ApiModelProperty(value = "职位") private String position; /** * 管辖区域 */ @ApiModelProperty(value = "管辖区域") private String jurisdiction; /** * 社区id */ @ApiModelProperty(value = "社区id") @JsonSerialize(using = ToStringSerializer.class) private Long communityId; /** * 创建时间 */ @ApiModelProperty(value = "创建时间") private Date createTime; @ApiModelProperty("账户") @Pattern(groups = {AddGroup.class}, message = "【账户】2-20个字符,英文,数字", regexp = "^[0-9A-Za-z]{2,20}$") private String account; @ApiModelProperty("密码") @Pattern(groups = {AddGroup.class}, message = "【密码】格式为6-16个字符,英文,数字,且必须包含英文和数字", regexp = "^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,16}$") private String password; @ApiModelProperty("用户名称") @Pattern(groups = {AddGroup.class}, message = "【用户名称】2-16个字符,英文,中文,数字", regexp = "^[0-9A-Za-z\u4e00-\u9fa5]{2,16}$") private String name; @ApiModelProperty("角色") @Min(value = 1, groups = {AddGroup.class}, message = "角色不能为空") @JsonSerialize(using = ToStringSerializer.class) private Long roleId; @ApiModelProperty("手机号") @Pattern(groups = {AddGroup.class}, message = "【手机号】格式错误", regexp = "1[3|4|5|7|8][0-9]\\d{8}") private String phone; @ApiModelProperty("状态 1 启用 2 禁用") @Min(groups = {AddGroup.class}, value = 1, message = "账户状态不能为空") private Integer status; @ApiModelProperty("身份证号码") private String idCard; @ApiModelProperty("管辖区域内容") private List buildings; @ApiModelProperty("图片") private String url; @ApiModelProperty("id数组") private Integer[] ids; @ApiModelProperty("管辖区域") private String jurisdictionContent; @ApiModelProperty("管辖区域数组") private List jurisdictionContentList; }