package org.dromara.domain.residentInfo.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.dromara.domain.residentInfo.ResidentInfo;

import java.io.Serial;
import java.io.Serializable;



/**
 * 居住人员信息，存储居住人员的详细信息视图对象 resident_info
 *
 * @author boman
 * @date 2025-04-11
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = ResidentInfo.class)
public class ResidentInfoVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 居住人员主键，唯一标识每条居住人员信息
     */
    @ExcelProperty(value = "居住人员主键，唯一标识每条居住人员信息")
    private Long residentId;

    /**
     * 人员类型：1:业主 2:租户 3:其他
     */
    private String residentType;

    /**
     * 租户ID
     */
    private String tenantId;

    /**
     * 关联房屋信息表的house_id，标识居住人员所属房屋
     */
    @ExcelProperty(value = "关联房屋信息表的house_id，标识居住人员所属房屋")
    private Long houseId;

    /**
     * 关联sys_user表中user_id
     */
    @ExcelProperty(value = "关联sys_user表中user_id")
    private Long userId;

    /**
     * 居住人员的详细门牌号
     */
    @ExcelProperty(value = "居住人员的详细门牌号")
    private String detailedAddress;

    /**
     * 居住人员姓名
     */
    @ExcelProperty(value = "居住人员姓名")
    private String residentName;

    /**
     * 居住人员身份证号码，18位
     */
    @ExcelProperty(value = "居住人员身份证号码，18位")
    private String residentIdCard;

    /**
     * 居住人员出生日期
     */
    @ExcelProperty(value = "居住人员出生日期")
    private String residentBirthday;

    /**
     * 居住人员手机号
     */
    @ExcelProperty(value = "居住人员手机号")
    private String residentPhone;

    /**
     * 居住人员性别：1-男，2-女
     */
    @ExcelProperty(value = "居住人员性别：1-男，2-女")
    private Long residentGender;

    /**
     * 居住人员与户主的关系，如父子、夫妻等
     */
    @ExcelProperty(value = "居住人员与户主的关系，如父子、夫妻等")
    private String residentRelationship;

    /**
     * 是否是户主：Y-是，N-否
     */
    @ExcelProperty(value = "是否是户主：Y-是，N-否")
    private String isHouseholder;

    /**
     * 是否是租户：Y-是，N-否
     */
    @ExcelProperty(value = "是否是租户：Y-是，N-否")
    private String isTenant;

    /**
     * 居住人员工作单位
     */
    @ExcelProperty(value = "居住人员工作单位")
    private String residentEmployer;

    /**
     * 特殊类型
     */
    @ExcelProperty(value = "特殊类型")
    private String specialType;

    /**
     * 爱好字典值多选
     */
    @ExcelProperty(value = "爱好字典值多选")
    private String residentHobby;

    /**
     * 居住人员面貌，如党员、群众等
     */
    @ExcelProperty(value = "居住人员面貌，如党员、群众等")
    private String residentAppearance;

    /**
     * 身份证正面
     */
    @ExcelProperty(value = "身份证正面")
    private String idCardFront;

    /**
     * 身份证反面
     */
    @ExcelProperty(value = "身份证反面")
    private String idCardBack;

    /**
     * 身份证住址
     */
    @ExcelProperty(value = "身份证住址")
    private String idCardAddress;

    /**
     * 人脸地址
     */
    @ExcelProperty(value = "人脸地址")
    private String facePhoto;

    /**
     * 备注
     */
    @ExcelProperty(value = "备注")
    private String remark;

    /**
     * 审核状态 1:未审核 2：审核通过 3：审核未通过
     */
    private String examine;
}
