package com.ssm.manage.entity;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import javax.persistence.*;

@Table(name = "member_list")
public class MemberList implements Serializable {
    /**
     * 主键ID
     */
    @Id
    private Long id;

    /**
     * 会员编码
     */
    @Column(name = "member_num")
    private String memberNum;

    /**
     * 会员名称
     */
    @Column(name = "member_name")
    private String memberName;

    /**
     * 性别：1：男；0：女
     */
    private Integer sex;

    /**
     * 手机
     */
    @Column(name = "mobile_phone")
    private String mobilePhone;

    /**
     * 入会日期
     */
    @Column(name = "opening_date")
    private Date openingDate;

    /**
     * 缴费年限
     */
    @Column(name = "opening_year")
    private Integer openingYear;

    /**
     * 会员资格结束日期
     */
    @Column(name = "end_date")
    private Date endDate;

    /**
     * 年费
     */
    @Column(name = "annual_fee")
    private BigDecimal annualFee;

    /**
     * 会员标签
     */
    private String label;

    /**
     * 等级
     */
    private String grade;

    /**
     * 1:长/2：适中/3:短
     */
    @Column(name = "hair_long")
    private Integer hairLong;

    /**
     * 1:油性/2：中性/3：干性
     */
    @Column(name = "skin_type")
    private Integer skinType;

    /**
     * 会员卡号
     */
    private String card;

    /**
     * 状态修改人
     */
    private String modify;

    /**
     * 状态修改日期
     */
    @Column(name = "modify_date")
    private Date modifyDate;

    /**
     * 会员登录密码
     */
    private String password;

    /**
     * 会员消费密码
     */
    @Column(name = "cash_password")
    private String cashPassword;

    /**
     * 状态 1:启用/0:停用
     */
    private Integer state;

    private static final long serialVersionUID = 1L;

    /**
     * 获取主键ID
     *
     * @return id - 主键ID
     */
    public Long getId() {
        return id;
    }

    /**
     * 设置主键ID
     *
     * @param id 主键ID
     */
    public void setId(Long id) {
        this.id = id;
    }

    /**
     * 获取会员编码
     *
     * @return member_num - 会员编码
     */
    public String getMemberNum() {
        return memberNum;
    }

    /**
     * 设置会员编码
     *
     * @param memberNum 会员编码
     */
    public void setMemberNum(String memberNum) {
        this.memberNum = memberNum;
    }

    /**
     * 获取会员名称
     *
     * @return member_name - 会员名称
     */
    public String getMemberName() {
        return memberName;
    }

    /**
     * 设置会员名称
     *
     * @param memberName 会员名称
     */
    public void setMemberName(String memberName) {
        this.memberName = memberName;
    }

    /**
     * 获取性别：1：男；0：女
     *
     * @return sex - 性别：1：男；0：女
     */
    public Integer getSex() {
        return sex;
    }

    /**
     * 设置性别：1：男；0：女
     *
     * @param sex 性别：1：男；0：女
     */
    public void setSex(Integer sex) {
        this.sex = sex;
    }

    /**
     * 获取手机
     *
     * @return mobile_phone - 手机
     */
    public String getMobilePhone() {
        return mobilePhone;
    }

    /**
     * 设置手机
     *
     * @param mobilePhone 手机
     */
    public void setMobilePhone(String mobilePhone) {
        this.mobilePhone = mobilePhone;
    }

    /**
     * 获取入会日期
     *
     * @return opening_date - 入会日期
     */
    public Date getOpeningDate() {
        return openingDate;
    }

    /**
     * 设置入会日期
     *
     * @param openingDate 入会日期
     */
    public void setOpeningDate(Date openingDate) {
        this.openingDate = openingDate;
    }

    /**
     * 获取缴费年限
     *
     * @return opening_year - 缴费年限
     */
    public Integer getOpeningYear() {
        return openingYear;
    }

    /**
     * 设置缴费年限
     *
     * @param openingYear 缴费年限
     */
    public void setOpeningYear(Integer openingYear) {
        this.openingYear = openingYear;
    }

    /**
     * 获取会员资格结束日期
     *
     * @return end_date - 会员资格结束日期
     */
    public Date getEndDate() {
        return endDate;
    }

    /**
     * 设置会员资格结束日期
     *
     * @param endDate 会员资格结束日期
     */
    public void setEndDate(Date endDate) {
        this.endDate = endDate;
    }

    /**
     * 获取年费
     *
     * @return annual_fee - 年费
     */
    public BigDecimal getAnnualFee() {
        return annualFee;
    }

    /**
     * 设置年费
     *
     * @param annualFee 年费
     */
    public void setAnnualFee(BigDecimal annualFee) {
        this.annualFee = annualFee;
    }

    /**
     * 获取会员标签
     *
     * @return label - 会员标签
     */
    public String getLabel() {
        return label;
    }

    /**
     * 设置会员标签
     *
     * @param label 会员标签
     */
    public void setLabel(String label) {
        this.label = label;
    }

    /**
     * 获取等级
     *
     * @return grade - 等级
     */
    public String getGrade() {
        return grade;
    }

    /**
     * 设置等级
     *
     * @param grade 等级
     */
    public void setGrade(String grade) {
        this.grade = grade;
    }

    /**
     * 获取1:长/2：适中/3:短
     *
     * @return hair_long - 1:长/2：适中/3:短
     */
    public Integer getHairLong() {
        return hairLong;
    }

    /**
     * 设置1:长/2：适中/3:短
     *
     * @param hairLong 1:长/2：适中/3:短
     */
    public void setHairLong(Integer hairLong) {
        this.hairLong = hairLong;
    }

    /**
     * 获取1:油性/2：中性/3：干性
     *
     * @return skin_type - 1:油性/2：中性/3：干性
     */
    public Integer getSkinType() {
        return skinType;
    }

    /**
     * 设置1:油性/2：中性/3：干性
     *
     * @param skinType 1:油性/2：中性/3：干性
     */
    public void setSkinType(Integer skinType) {
        this.skinType = skinType;
    }

    /**
     * 获取会员卡号
     *
     * @return card - 会员卡号
     */
    public String getCard() {
        return card;
    }

    /**
     * 设置会员卡号
     *
     * @param card 会员卡号
     */
    public void setCard(String card) {
        this.card = card;
    }

    /**
     * 获取状态修改人
     *
     * @return modify - 状态修改人
     */
    public String getModify() {
        return modify;
    }

    /**
     * 设置状态修改人
     *
     * @param modify 状态修改人
     */
    public void setModify(String modify) {
        this.modify = modify;
    }

    /**
     * 获取状态修改日期
     *
     * @return modify_date - 状态修改日期
     */
    public Date getModifyDate() {
        return modifyDate;
    }

    /**
     * 设置状态修改日期
     *
     * @param modifyDate 状态修改日期
     */
    public void setModifyDate(Date modifyDate) {
        this.modifyDate = modifyDate;
    }

    /**
     * 获取会员登录密码
     *
     * @return password - 会员登录密码
     */
    public String getPassword() {
        return password;
    }

    /**
     * 设置会员登录密码
     *
     * @param password 会员登录密码
     */
    public void setPassword(String password) {
        this.password = password;
    }

    /**
     * 获取会员消费密码
     *
     * @return cash_password - 会员消费密码
     */
    public String getCashPassword() {
        return cashPassword;
    }

    /**
     * 设置会员消费密码
     *
     * @param cashPassword 会员消费密码
     */
    public void setCashPassword(String cashPassword) {
        this.cashPassword = cashPassword;
    }

    /**
     * 获取状态 1:启用/0:停用
     *
     * @return state - 状态 1:启用/0:停用
     */
    public Integer getState() {
        return state;
    }

    /**
     * 设置状态 1:启用/0:停用
     *
     * @param state 状态 1:启用/0:停用
     */
    public void setState(Integer state) {
        this.state = state;
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        MemberList other = (MemberList) that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
            && (this.getMemberNum() == null ? other.getMemberNum() == null : this.getMemberNum().equals(other.getMemberNum()))
            && (this.getMemberName() == null ? other.getMemberName() == null : this.getMemberName().equals(other.getMemberName()))
            && (this.getSex() == null ? other.getSex() == null : this.getSex().equals(other.getSex()))
            && (this.getMobilePhone() == null ? other.getMobilePhone() == null : this.getMobilePhone().equals(other.getMobilePhone()))
            && (this.getOpeningDate() == null ? other.getOpeningDate() == null : this.getOpeningDate().equals(other.getOpeningDate()))
            && (this.getOpeningYear() == null ? other.getOpeningYear() == null : this.getOpeningYear().equals(other.getOpeningYear()))
            && (this.getEndDate() == null ? other.getEndDate() == null : this.getEndDate().equals(other.getEndDate()))
            && (this.getAnnualFee() == null ? other.getAnnualFee() == null : this.getAnnualFee().equals(other.getAnnualFee()))
            && (this.getLabel() == null ? other.getLabel() == null : this.getLabel().equals(other.getLabel()))
            && (this.getGrade() == null ? other.getGrade() == null : this.getGrade().equals(other.getGrade()))
            && (this.getHairLong() == null ? other.getHairLong() == null : this.getHairLong().equals(other.getHairLong()))
            && (this.getSkinType() == null ? other.getSkinType() == null : this.getSkinType().equals(other.getSkinType()))
            && (this.getCard() == null ? other.getCard() == null : this.getCard().equals(other.getCard()))
            && (this.getModify() == null ? other.getModify() == null : this.getModify().equals(other.getModify()))
            && (this.getModifyDate() == null ? other.getModifyDate() == null : this.getModifyDate().equals(other.getModifyDate()))
            && (this.getPassword() == null ? other.getPassword() == null : this.getPassword().equals(other.getPassword()))
            && (this.getCashPassword() == null ? other.getCashPassword() == null : this.getCashPassword().equals(other.getCashPassword()))
            && (this.getState() == null ? other.getState() == null : this.getState().equals(other.getState()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getMemberNum() == null) ? 0 : getMemberNum().hashCode());
        result = prime * result + ((getMemberName() == null) ? 0 : getMemberName().hashCode());
        result = prime * result + ((getSex() == null) ? 0 : getSex().hashCode());
        result = prime * result + ((getMobilePhone() == null) ? 0 : getMobilePhone().hashCode());
        result = prime * result + ((getOpeningDate() == null) ? 0 : getOpeningDate().hashCode());
        result = prime * result + ((getOpeningYear() == null) ? 0 : getOpeningYear().hashCode());
        result = prime * result + ((getEndDate() == null) ? 0 : getEndDate().hashCode());
        result = prime * result + ((getAnnualFee() == null) ? 0 : getAnnualFee().hashCode());
        result = prime * result + ((getLabel() == null) ? 0 : getLabel().hashCode());
        result = prime * result + ((getGrade() == null) ? 0 : getGrade().hashCode());
        result = prime * result + ((getHairLong() == null) ? 0 : getHairLong().hashCode());
        result = prime * result + ((getSkinType() == null) ? 0 : getSkinType().hashCode());
        result = prime * result + ((getCard() == null) ? 0 : getCard().hashCode());
        result = prime * result + ((getModify() == null) ? 0 : getModify().hashCode());
        result = prime * result + ((getModifyDate() == null) ? 0 : getModifyDate().hashCode());
        result = prime * result + ((getPassword() == null) ? 0 : getPassword().hashCode());
        result = prime * result + ((getCashPassword() == null) ? 0 : getCashPassword().hashCode());
        result = prime * result + ((getState() == null) ? 0 : getState().hashCode());
        return result;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", memberNum=").append(memberNum);
        sb.append(", memberName=").append(memberName);
        sb.append(", sex=").append(sex);
        sb.append(", mobilePhone=").append(mobilePhone);
        sb.append(", openingDate=").append(openingDate);
        sb.append(", openingYear=").append(openingYear);
        sb.append(", endDate=").append(endDate);
        sb.append(", annualFee=").append(annualFee);
        sb.append(", label=").append(label);
        sb.append(", grade=").append(grade);
        sb.append(", hairLong=").append(hairLong);
        sb.append(", skinType=").append(skinType);
        sb.append(", card=").append(card);
        sb.append(", modify=").append(modify);
        sb.append(", modifyDate=").append(modifyDate);
        sb.append(", password=").append(password);
        sb.append(", cashPassword=").append(cashPassword);
        sb.append(", state=").append(state);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}