package com.panzhihua.common.model.vos.community; import java.util.Date; import java.util.List; import javax.validation.constraints.NotBlank; 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.helper.encrypt.EncryptDecryptClass; import com.panzhihua.common.model.helper.encrypt.EncryptDecryptField; import com.panzhihua.common.model.helper.sensitive.Sensitive; import com.panzhihua.common.model.helper.sensitive.SensitiveStrategy; import com.panzhihua.common.model.vos.user.ComHouseMemberVo; import com.panzhihua.common.model.vos.user.ComMngFamilyInfoVO; import com.panzhihua.common.model.vos.user.ComMngHouseVo; import com.panzhihua.common.model.vos.user.UserElectronicFileVO; import com.panzhihua.common.validated.AddGroup; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** * 实有人口Vo */ @Data @ApiModel("实有人口表") @EncryptDecryptClass public class ComMngPopulationVO { /** * 自增 id */ @ApiModelProperty("实有人口id") @JsonSerialize(using = ToStringSerializer.class) private Long id; /** * 街道id */ @ApiModelProperty("街道id") private Long streetId; /** * 社区id */ @ApiModelProperty("社区id") private Long actId; /** * 小区id(实有房屋id) */ @ApiModelProperty("小区id(实有房屋id)") @JsonSerialize(using = ToStringSerializer.class) private long villageId; /** * 家庭成员(姓名) */ @ApiModelProperty("家庭成员(姓名)") @NotBlank(groups = {AddGroup.class}, message = "家庭成员(姓名)不可为空") private String name; @ApiModelProperty("性别(1.男 2.女 3.未知)") @NotBlank(groups = {AddGroup.class}, message = "性别不可为空") private Integer sex; @ApiModelProperty("年龄") @NotBlank(groups = {AddGroup.class}, message = "年龄不可为空") private Integer age; @ApiModelProperty("身份证号码") @NotBlank(groups = {AddGroup.class}, message = "身份证号码不可为空") @EncryptDecryptField private String cardNo; @ApiModelProperty("出生年月") private String birthday; @ApiModelProperty("街路巷") @NotBlank(groups = {AddGroup.class}, message = "街路巷不可为空") private String road; @ApiModelProperty("门牌号") @NotBlank(groups = {AddGroup.class}, message = "门牌号不可为空") private String doorNo; @ApiModelProperty("楼排号") @NotBlank(groups = {AddGroup.class}, message = "楼排号不可为空") private String floor; @ApiModelProperty("单元号") @NotBlank(groups = {AddGroup.class}, message = "单元号不可为空") private String unitNo; @ApiModelProperty("户室(房间号)") @NotBlank(groups = {AddGroup.class}, message = "户室(房间号)不可为空") private String houseNo; @ApiModelProperty("政治面貌(1.中共党员2.中共预备党员3.共青团员4.民革党员5.民盟盟员6.民建会员7.8.农工党党员9.致公党党员10.九三学社社员11.台盟盟员12.无党派人士13.群众)") @NotBlank(groups = {AddGroup.class}, message = "政治面貌不可为空") private Integer politicalOutlook; @ApiModelProperty("政治面貌名称") private String politicalOutlookName; @ApiModelProperty("工作单位") private String workCompany; @ApiModelProperty("特殊情况") private String specialSituation; @ApiModelProperty("联系方式") @NotBlank(groups = {AddGroup.class}, message = "联系方式不可为空") @EncryptDecryptField @Sensitive(strategy = SensitiveStrategy.PHONE) private String phone; @ApiModelProperty("备注") private String remark; @ApiModelProperty("标签集合(多个标签以,隔开,如物业工作人员,物业") private String label; @ApiModelProperty("创建时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date createAt; @ApiModelProperty("修改时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date updateAt; @ApiModelProperty("籍贯") private String nativePlace; @ApiModelProperty("民族") private String nationCode; @ApiModelProperty("民族") private String nation; @ApiModelProperty("小区名字") private String alley; @ApiModelProperty("户主关系列表") private List comMngFamilyInfoVOS; @ApiModelProperty("家庭成员信息") private List familyInfoVOList; @ApiModelProperty("用户电子档信息") private UserElectronicFileVO userElectronicFileVO; @ApiModelProperty("是否租住 是否租住(0.否 1.是)") @NotBlank(groups = {AddGroup.class}, message = "是否租住不可为空") private Integer isRent; @ApiModelProperty("文化程度(1.小学 2.初中 3.高中 4.中专 5.大专 6.本科 7.硕士 8.博士 9.其他)") private Integer cultureLevel; @ApiModelProperty("文化程度名称") private String cultureLevelName; @ApiModelProperty("职业") private String profession; @ApiModelProperty("婚姻状况(10.未婚 20.已婚 21.初婚 22.再婚 23.复婚 30.丧偶 40.离婚 90.未说明的婚姻状况 60.其他)") private Integer marriage; @ApiModelProperty("婚姻状况名称") private String marriageName; @ApiModelProperty("健康状况") private String healthy; @ApiModelProperty("外地or本地(1.本地 2.外地)") private Integer outOrLocal; @ApiModelProperty("户口所在地") private String censusRegister; /** * 居住地址 */ @ApiModelProperty("居住地址") private String address; @ApiModelProperty("与户主关系(1.户主 2.配偶 3.子女 4.孙女 5.父母 6.其他)") private Integer relation; @ApiModelProperty("与户主关系名称") private String relationName; @ApiModelProperty("身份证无加密字段") private String cardNoStr; @ApiModelProperty("是否健在 0是 、1否") private Integer death; @ApiModelProperty("人员类型 1 80-89 2 90-99 3 100以上") private Integer type; @ApiModelProperty("人员类型(1、户籍人口2、留守人员3、外地人员4、境外人员5、流动人口6、常住人口7、暂住人口)") private String personType; @ApiModelProperty("房屋列表") private List houseList; @ApiModelProperty("车辆列表") private List carList; @ApiModelProperty("吸毒信息") private List comDrugPopulationVOs; @ApiModelProperty("社区矫正信息") private List comCorrectPopulationVOs; @ApiModelProperty("精神障碍信息") private List comMajorPopulationVOs; @ApiModelProperty("邪教信息") private List comCultPopulationVOs; @ApiModelProperty("刑释信息") private List comRehabilitationPopulationVOs; @ApiModelProperty("上访信息") private List comKeyPopulationVOs; @ApiModelProperty("退役军人信息") private List comVeteransPopulationVOs; @ApiModelProperty("残疾人信息") private List comDisabilityPopulationVOs; @ApiModelProperty("低保户信息") private List comLowSecurityPopulationVOs; @ApiModelProperty("高龄老人信息") private List comElderAuthElderliesVOList; @ApiModelProperty("养老人员信息") private List comPensionAuthPensionerVOList; public interface sex { int nan = 1; int nv = 2; int no = 3; } /** * 是否租住 */ public interface isOk { int yes = 1; int no = 0; } /** * 政治面貌 */ public interface politicalOutlook { int dang = 1; int tuan = 3; int wu = 12; int qun = 13; int no = 13; } }