package com.ruoyi.xq.dto.app.user.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.time.LocalDate;
import java.util.List;

@Data
public class HomeUserVo {

    @Schema(description = "认证信息")
    private UserAuthMinVo userAuthInfo;


    @Schema(description = "是否可以查看头像，当不可以查看的时候头像和图片是空")
    private Boolean showAvatarBool = true;

    @Schema(description = "最近登录时间")
    private String lastLoginTime;
    @Schema(description = "用户ID")
    private Long userId;
    @Schema(description = "用户编号")
    private String usercode;
    @Schema(description = "用户头像")
    private String avatar;
    @Schema(description = "是否关注")
    private Boolean star = false;
    @Schema(description = "相册")
    private List<String> userPictureList;
    @Schema(description = "自我描述")
    private String remark;
    @Schema(description = "昵称")
    private String nickname;
    @Schema(description = "性别 0-未知 1-女 2-男")
    private Integer gender;
    /**
     * 生日
     */
    @Schema(description = "生日")
    private LocalDate birthday;
    /**
     * 生肖
     */
    @Schema(description = "生肖")
    private Integer zodiac;
    /**
     * 星座
     */
    @Schema(description = "星座")
    private Integer sign;
    /**
     * 身高
     */
    @Schema(description = "身高")
    private Integer height;
    /**
     * 体重
     */
    @Schema(description = "体重")
    private Integer weight;
    /**
     * 体型
     */
    @Schema(description = "体型")
    private Integer somatotype;

    /**
     * 居住地
     */
    @Schema(description = "居住地名称")
    private String residenceName;
    @Schema(description = "居住地城市名称")
    private String residenceCityName;
    @Schema(description = "居住地编码")
    private Integer residenceCode;
    /**
     * 户籍地
     */
    @Schema(description = "户籍地名称")
    private String addressName;
    @Schema(description = "户籍地编码")
    private Integer addressCode;
    /**
     * 学历
     */
    @Schema(description = "学历")
    private Integer education;
    /**
     * 婚况
     */
    @Schema(description = "婚况")
    private Integer marriage;
    /**
     * 职业
     */
    @Schema(description = "职业")
    private Integer profession;
    /**
     * 年收入
     */
    @Schema(description = "年收入")
    private Integer annualIncome;
    /**
     * 公司性质
     */
    @Schema(description = "公司性质")
    private Integer companyNature;
    /**
     * 为谁征婚
     */
    @Schema(description = "为谁征婚")
    private Integer forPersonals;

    /**
     * 住房情况
     */
    @Schema(description = "住房情况")
    private Integer housingStatus;
    /**
     * 购车情况
     */
    @Schema(description = "购车情况")
    private Integer carStatus;
    /**
     * 是否吸烟
     */
    @Schema(description = "是否吸烟")
    private Integer smokeStatus;
    /**
     * 是否喝酒
     */
    @Schema(description = "是否喝酒")
    private Integer drinkStatus;
    /**
     * 民族
     */
    @Schema(description = "民族")
    private String nation;
    /**
     * 有没有小孩
     */
    @Schema(description = "有没有小孩")
    private Integer childStatus;
    /**
     * 家庭背景
     */
    @Schema(description = "家庭背景")
    private Integer familyBackground;
    /**
     * 家中排行
     */
    @Schema(description = "家中排行")
    private Integer familyRanking;
    /**
     * 是否接受异地恋
     */
    @Schema(description = "是否接受异地恋")
    private Integer loveAtDistance;
    /**
     * 何时结婚
     */
    @Schema(description = "何时结婚")
    private Integer whenMarriage;
    /**
     * 是否要小孩
     */
    @Schema(description = "是否要小孩")
    private Integer wantChild;
    /**
     * 愿与对方父母同住
     */
    @Schema(description = "愿与对方父母同住")
    private Integer liveAtParent;
    /**
     * 交友目的
     */
    @Schema(description = "交友目的")
    private Integer findTag;
    /**
     * 毕业院校
     */
    @Schema(description = "毕业院校")
    private String graduateSchool;
    /**
     * 兴趣爱好
     */
    @Schema(description = "兴趣爱好")
    private String hobbys;
    /**
     * 择偶条件-年龄
     */
    @Schema(description = "择偶条件-年龄")
    private String filterAge;
    /**
     * 择偶条件-身高
     */
    @Schema(description = "择偶条件-身高")
    private String filterHeight;
    /**
     * 择偶条件-体型
     */
    @Schema(description = "择偶条件-体型")
    private String filterSomatotype;
    /**
     * 择偶条件-婚况
     */
    @Schema(description = "择偶条件-婚况")
    private String filterMarriage;
    /**
     * 择偶条件-学历
     */
    @Schema(description = "择偶条件-学历")
    private String filterEducation;
    /**
     * 择偶条件-地区
     */
    @Schema(description = "择偶条件-地区")
    private String filterResidence;

    @Schema(description = "择偶条件-地区Code")
    private Integer filterResidenceCode;
    /**
     * 择偶条件-年收入
     */
    @Schema(description = "择偶条件-年收入")
    private Integer filterAnnualIncome;
    /**
     * 择偶条件-小孩情况
     */
    @Schema(description = "择偶条件-小孩情况")
    private Integer filterChildStatus;
    /**
     * 择偶条件-住房情况
     */
    @Schema(description = "择偶条件-住房情况")
    private Integer filterHousingStatus;
    /**
     * 择偶条件-购车情况
     */
    @Schema(description = "择偶条件-购车情况")
    private Integer filterCarStatus;

    @Schema(description = "是否开通VIP")
    private Boolean openVip = false;
    /**
     * @see com.ruoyi.xq.enums.vip.VipTypeEnum
     */
    @Schema(description = "开通的VIP类型")
    private Integer vipType;

}
