package com.panzhihua.common.model.vos; import java.util.Date; import java.util.List; import java.util.Set; import javax.validation.constraints.Min; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; 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.model.vos.community.ComActVO; import com.panzhihua.common.model.vos.community.ComMngStructAreaVO; import com.panzhihua.common.model.vos.community.ComMngStructHouseVO; import com.panzhihua.common.model.vos.shop.ComShopUserAddressVO; import com.panzhihua.common.model.vos.user.ComMngFamilyInfoVO; import com.panzhihua.common.model.vos.user.RoleVO; import com.panzhihua.common.validated.AddGroup; import com.panzhihua.common.validated.PutGroup; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** * @program: springcloud_k8s_panzhihuazhihuishequ * @description: 登录用户信息 * @author: huang.hongfa weixin hhf9596 qq 959656820 * @create: 2020-11-24 09:35 **/ @Data @ApiModel(value = "用户信息") public class LoginUserInfoVO { @ApiModelProperty("user_id") @JsonSerialize(using = ToStringSerializer.class) private Long userId; @ApiModelProperty("微信会话密钥") private String sessionKey; @ApiModelProperty("用户在开放平台的唯一标识符") private String unionid; @ApiModelProperty("登录账户") private String account; @ApiModelProperty("登录密码") private String password; @ApiModelProperty("微信小程序唯一标识") private String openid; @ApiModelProperty("手机号") private String phone; @ApiModelProperty("昵称") private String nickName; @ApiModelProperty("真实名字") @NotBlank(groups = {AddGroup.class}, message = "真实名字不能为空") private String name; @ApiModelProperty("社区id") @Min(value = 1, groups = {PutGroup.class}, message = "社区id不能为空") @NotNull(groups = {PutGroup.class}, message = "社区id不能为空") @JsonSerialize(using = ToStringSerializer.class) private Long communityId; @ApiModelProperty("社区名字") private String communityName; @ApiModelProperty("性别 1 男 2 女") private Integer sex; @ApiModelProperty("是否本社区的团队或者党委、或是系统管理人员 1 是 2 否") private Integer ismemberrole; @ApiModelProperty("生日") @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") private Date birthday; @ApiModelProperty("头像") private String imageUrl; @ApiModelProperty(value = "用户类型 1 小程序 2 运营平台 3 社区平台 5 商家后台 6 网格综治APP 7 网格综治后台") private Integer type; @ApiModelProperty("职业") private String job; @ApiModelProperty("是否志愿者 0否 1 是") private Integer isVolunteer; @ApiModelProperty("是否党员 0 否 1 是") private Integer isPartymember; @ApiModelProperty("1 启用 2 禁用") private Integer status; @ApiModelProperty("创建时间") private Date createAt; @ApiModelProperty("最后登录时间") private Date lastLoginTime; @ApiModelProperty("角色集合") private Set roles; @ApiModelProperty("权限集合") private Set permissions; @ApiModelProperty("人脸采集照片url") private String faceUrl; @ApiModelProperty("驳回原因") private String rejectReson; @ApiModelProperty("身份证号") @NotBlank(groups = {AddGroup.class}, message = "身份证号不能为空") private String idCard; @ApiModelProperty("标签 多个用,隔开") private String tags; @ApiModelProperty("家庭id") @JsonSerialize(using = ToStringSerializer.class) private Long familyId; @ApiModelProperty(value = "分页每页数量", example = "10") private Long pageSize; @ApiModelProperty(value = "分页当前记录数", example = "1") private Long pageNum; @ApiModelProperty("人脸采集审核状态 0 待审核 1 审核通过 2驳回") private Integer faceState; @ApiModelProperty("操作类型 1通过 2驳回 3删除") private Integer operationType; @ApiModelProperty("家庭成员") private List comMngFamilyInfoVOS; @ApiModelProperty("房屋信息") private List comMngStructHouseVOS; @ApiModelProperty("用户小区id") @JsonSerialize(using = ToStringSerializer.class) // @Min(value = 1,groups = {PutGroup.class},message = "用户小区id不能为空") // @NotNull(groups = {PutGroup.class},message = "用户小区id不能为空") private Long areaId; @ApiModelProperty("用户所在社区信息") private ComActVO comActVO; @ApiModelProperty("小区信息") private ComMngStructAreaVO comMngStructAreaVO; @ApiModelProperty("0 未申请 1 申请中 2 通过 3 驳回") private Integer volunteerStatus; @ApiModelProperty("是否注册 0 否 1 是") private Integer isRegister; @ApiModelProperty("年龄") private Integer age; @ApiModelProperty("政治面貌:1 - 党员;2 - 团员;3 - 群众") private Integer politicalOutlook; @ApiModelProperty("小程序首页是否显示公告(1.是 2.否)") private Integer isTips; @ApiModelProperty("是否已实名") private Boolean isRealNamed; @ApiModelProperty("上班时间") private Integer workStartTime; @ApiModelProperty("下班时间") private Integer workEndTime; @ApiModelProperty("高龄认证显示提示(1.是 2.否)") private Integer bigAgeTips; @ApiModelProperty("是否四长四员 1.是 2.否") private Integer isFourMember; @ApiModelProperty("是否社区工作人员 1.是 2.否") private Integer isCommunityWorker; @ApiModelProperty("是否社工 1.是 2.否") private Integer isSocialWorker; @ApiModelProperty("实名认证地址") private String address; @ApiModelProperty("是否物业工作人员 1.是 2.否") private Integer isPropertyWorker; @ApiModelProperty("是否微团队成员 1.是 2.否") private Integer isFmsMember; @ApiModelProperty("是否网格员 1.是 2.否") private Integer isEasyPhotoMember; @ApiModelProperty("是否社会组织联系人 1.是 2.否") private Integer isOrgContactPeople; @ApiModelProperty("是否人大代表成员 1.是 2.否") private Integer isDpcMember; @ApiModelProperty("appid") private String appId; @ApiModelProperty("appSecret") private String appSecret; @ApiModelProperty("areaCode") private String areaCode; @ApiModelProperty("街道id") @JsonSerialize(using = ToStringSerializer.class) private Long streetId; @ApiModelProperty("账号类型 1街道 2社区 3社会组织") private Integer userType; @ApiModelProperty("社会组织Id") @JsonSerialize(using = ToStringSerializer.class) private Long orgId; @ApiModelProperty("是否是防疫工作人员 1.是 2.否") private Integer isAcidMember; @ApiModelProperty("绑定单位") private String relationName; @ApiModelProperty("区域划分") private String areaName; @ApiModelProperty("爱心积分") private String loveIntegral; @ApiModelProperty("爱心积分密码") private String playPwd; @ApiModelProperty("是否单位管理员 1是 0否") private Integer isCheckUnitAdmin; @ApiModelProperty("报道单位id") @JsonSerialize(using = ToStringSerializer.class) private Long checkUnitId; private Long bindingCheckUnitId; @ApiModelProperty("后台账号类型") private Integer backstageType; public String retrieveRelationName() { return this.type == 3 ? relationName : name; } @ApiModelProperty("权限等级1-5:超管-行业分中心-街道-社区-专家") private Integer level; @ApiModelProperty("物业公司id") private Long propertyId; @ApiModelProperty("商家后台账号id") private Long backstageUserId; @ApiModelProperty("是否为自提点") private Boolean isPoint; @ApiModelProperty("默认地址") private ComShopUserAddressVO comShopUserAddressVO; @ApiModelProperty("商家id") private Long storeIdId; @ApiModelProperty("角色id") private String roleId; }