package com.zhentao.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.util.Date;
import lombok.Data;

/**
 * 红娘资源表

 * @TableName my_resource
 */
@TableName(value ="my_resource")
@Data
public class MyResource {
    /**
     * 
     */
    @TableId(type = IdType.AUTO)
    private Integer resourceId;

    /**
     * 用户id
     */
    private Integer userId;

    /**
     * 审核状态（0：待审核，1：审核通过，2：审核失败）
     */
    private Integer status;

    /**
     * 审核失败原因
     */
    private String rejectReason;

    /**
     * 奖励积分（用于后台开发人员计算红娘积分）
     */
    private Integer rewardPoints;

    /**
     * 红娘id
     */
    private Integer matchmakerId;

    /**
     * 名称
     */
    private String name;

    /**
     * 年龄
     */
    private Integer age;

    /**
     * 性别（1：男，2：女）
     */
    private Integer gender;

    /**
     * 星座
     */
    private String constellation;

    /**
     * 身高
     */
    private Integer height;

    /**
     * 体重
     */
    private Integer weight;

    /**
     * 婚姻状况(0未婚，1离异，2丧偶)
     */
    private Integer marrStatus;

    /**
     * 学历('高中', '专科', '本科', '硕士', '博士', '无')
     */
    private String diploma;

    /**
     * 收入('1-5k', '5-10k', '10-20k', '20-50k', '50k+')
     */
    private String income;

    /**
     * 住址
     */
    private String address;

    /**
     * 户籍所在地
     */
    private String domicile;

    /**
     * 职业
     */
    private String occupation;

    /**
     * 购房(0：无,1:有)
     */
    private Integer house;

    /**
     * 择偶要求
     */
    private String mateSelectionCriteria;

    /**
     * 手机号
     */
    private String phone;

    /**
     * 备用手机号
     */
    private String backupPhone;

    /**
     * 购车(0:无，1：有)
     */
    private Integer car;

    /**
     * 
     */
    private Date createTime;

    /**
     * 
     */
    private Date updateTime;

    /**
     * 该资源是否已注册用户 0未注册 1已注册 默认0 未注册标签为待审核 已注册标签为已审核 2审核失败
     */
    private Integer isUser;

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        MyResource other = (MyResource) that;
        return (this.getResourceId() == null ? other.getResourceId() == null : this.getResourceId().equals(other.getResourceId()))
            && (this.getUserId() == null ? other.getUserId() == null : this.getUserId().equals(other.getUserId()))
            && (this.getStatus() == null ? other.getStatus() == null : this.getStatus().equals(other.getStatus()))
            && (this.getRejectReason() == null ? other.getRejectReason() == null : this.getRejectReason().equals(other.getRejectReason()))
            && (this.getRewardPoints() == null ? other.getRewardPoints() == null : this.getRewardPoints().equals(other.getRewardPoints()))
            && (this.getMatchmakerId() == null ? other.getMatchmakerId() == null : this.getMatchmakerId().equals(other.getMatchmakerId()))
            && (this.getName() == null ? other.getName() == null : this.getName().equals(other.getName()))
            && (this.getAge() == null ? other.getAge() == null : this.getAge().equals(other.getAge()))
            && (this.getGender() == null ? other.getGender() == null : this.getGender().equals(other.getGender()))
            && (this.getConstellation() == null ? other.getConstellation() == null : this.getConstellation().equals(other.getConstellation()))
            && (this.getHeight() == null ? other.getHeight() == null : this.getHeight().equals(other.getHeight()))
            && (this.getWeight() == null ? other.getWeight() == null : this.getWeight().equals(other.getWeight()))
            && (this.getMarrStatus() == null ? other.getMarrStatus() == null : this.getMarrStatus().equals(other.getMarrStatus()))
            && (this.getDiploma() == null ? other.getDiploma() == null : this.getDiploma().equals(other.getDiploma()))
            && (this.getIncome() == null ? other.getIncome() == null : this.getIncome().equals(other.getIncome()))
            && (this.getAddress() == null ? other.getAddress() == null : this.getAddress().equals(other.getAddress()))
            && (this.getDomicile() == null ? other.getDomicile() == null : this.getDomicile().equals(other.getDomicile()))
            && (this.getOccupation() == null ? other.getOccupation() == null : this.getOccupation().equals(other.getOccupation()))
            && (this.getHouse() == null ? other.getHouse() == null : this.getHouse().equals(other.getHouse()))
            && (this.getMateSelectionCriteria() == null ? other.getMateSelectionCriteria() == null : this.getMateSelectionCriteria().equals(other.getMateSelectionCriteria()))
            && (this.getPhone() == null ? other.getPhone() == null : this.getPhone().equals(other.getPhone()))
            && (this.getBackupPhone() == null ? other.getBackupPhone() == null : this.getBackupPhone().equals(other.getBackupPhone()))
            && (this.getCar() == null ? other.getCar() == null : this.getCar().equals(other.getCar()))
            && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
            && (this.getUpdateTime() == null ? other.getUpdateTime() == null : this.getUpdateTime().equals(other.getUpdateTime()))
            && (this.getIsUser() == null ? other.getIsUser() == null : this.getIsUser().equals(other.getIsUser()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getResourceId() == null) ? 0 : getResourceId().hashCode());
        result = prime * result + ((getUserId() == null) ? 0 : getUserId().hashCode());
        result = prime * result + ((getStatus() == null) ? 0 : getStatus().hashCode());
        result = prime * result + ((getRejectReason() == null) ? 0 : getRejectReason().hashCode());
        result = prime * result + ((getRewardPoints() == null) ? 0 : getRewardPoints().hashCode());
        result = prime * result + ((getMatchmakerId() == null) ? 0 : getMatchmakerId().hashCode());
        result = prime * result + ((getName() == null) ? 0 : getName().hashCode());
        result = prime * result + ((getAge() == null) ? 0 : getAge().hashCode());
        result = prime * result + ((getGender() == null) ? 0 : getGender().hashCode());
        result = prime * result + ((getConstellation() == null) ? 0 : getConstellation().hashCode());
        result = prime * result + ((getHeight() == null) ? 0 : getHeight().hashCode());
        result = prime * result + ((getWeight() == null) ? 0 : getWeight().hashCode());
        result = prime * result + ((getMarrStatus() == null) ? 0 : getMarrStatus().hashCode());
        result = prime * result + ((getDiploma() == null) ? 0 : getDiploma().hashCode());
        result = prime * result + ((getIncome() == null) ? 0 : getIncome().hashCode());
        result = prime * result + ((getAddress() == null) ? 0 : getAddress().hashCode());
        result = prime * result + ((getDomicile() == null) ? 0 : getDomicile().hashCode());
        result = prime * result + ((getOccupation() == null) ? 0 : getOccupation().hashCode());
        result = prime * result + ((getHouse() == null) ? 0 : getHouse().hashCode());
        result = prime * result + ((getMateSelectionCriteria() == null) ? 0 : getMateSelectionCriteria().hashCode());
        result = prime * result + ((getPhone() == null) ? 0 : getPhone().hashCode());
        result = prime * result + ((getBackupPhone() == null) ? 0 : getBackupPhone().hashCode());
        result = prime * result + ((getCar() == null) ? 0 : getCar().hashCode());
        result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
        result = prime * result + ((getUpdateTime() == null) ? 0 : getUpdateTime().hashCode());
        result = prime * result + ((getIsUser() == null) ? 0 : getIsUser().hashCode());
        return result;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", resourceId=").append(resourceId);
        sb.append(", userId=").append(userId);
        sb.append(", status=").append(status);
        sb.append(", rejectReason=").append(rejectReason);
        sb.append(", rewardPoints=").append(rewardPoints);
        sb.append(", matchmakerId=").append(matchmakerId);
        sb.append(", name=").append(name);
        sb.append(", age=").append(age);
        sb.append(", gender=").append(gender);
        sb.append(", constellation=").append(constellation);
        sb.append(", height=").append(height);
        sb.append(", weight=").append(weight);
        sb.append(", marrStatus=").append(marrStatus);
        sb.append(", diploma=").append(diploma);
        sb.append(", income=").append(income);
        sb.append(", address=").append(address);
        sb.append(", domicile=").append(domicile);
        sb.append(", occupation=").append(occupation);
        sb.append(", house=").append(house);
        sb.append(", mateSelectionCriteria=").append(mateSelectionCriteria);
        sb.append(", phone=").append(phone);
        sb.append(", backupPhone=").append(backupPhone);
        sb.append(", car=").append(car);
        sb.append(", createTime=").append(createTime);
        sb.append(", updateTime=").append(updateTime);
        sb.append(", isUser=").append(isUser);
        sb.append("]");
        return sb.toString();
    }
}