package com.ssm.manage.entity;

import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Getter;
import lombok.Setter;
import org.springframework.format.annotation.DateTimeFormat;

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

@Table(name = "store_member_list")
public class StoreMemberList {

    @Getter
    @Setter
    @Transient
    private String staffNum;

    /**
     * 主键ID
     */
    @Id
    private Long id;

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

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

    /**
     * 性别：1：男；0：女
     */
    @ExcelProperty("性别*")
    private Integer sex;

    /**
     * 手机
     */
    @Column(name = "mobile_phone")
    @ExcelProperty("手机号*")
    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;

    /**
     * 会员标签
     */
    @ExcelProperty("标签")
    private String label;

    /**
     * 门店编码
     */
    @Column(name = "store_id")
    private Long storeId;

    /**
     * 门店名称
     */
    @Column(name = "store_name")
    private String storeName;

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

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

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

    /**
     * 服务人编码（来源于员工档案）
     */
    @Column(name = "staff_id")
    private Long staffId;

    /**
     * 服务人名称（来源于员工档案）
     */
    @Column(name = "staff_name")
    private String staffName;

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

    /**
     * 最近消费日期
     */
    @Column(name = "consume_date")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ExcelProperty("最近消费日期")
    private Date consumeDate;

    /**
     * 状态修改人
     */
    @Column(name = "modify_by")
    private String modifyBy;

    /**
     * 状态修改日期
     */
    @Column(name = "modify_date")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date modifyDate;

    /**
     * 状态 1:启用/0:停用2/启用中
     */
    @ExcelProperty("状态*")
    private Integer state;

    /**
     * 分派状态 1:已分派/0:未分派
     */
    @Column(name = "assign_state")
    private Integer assignState;

    /**
     * 平台会员ID
     */
    @Column(name = "platform_member_id")
    private Long platformMemberId;

    /**
     * 积分
     */
    @ExcelProperty("积分")
    private Integer integral;

    /**
     * 会员登录密码
     */
    @ExcelProperty("登录密码")
    private String password;

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

    /**
     * 录入人ID
     */
    @Column(name = "input_id")
    private Long inputId;

    /**
     * 录入人名称
     */
    @Column(name = "input_by")
    private String inputBy;

    /**
     * 录入时间
     */
    @Column(name = "input_date")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date inputDate;

    /**
     * 状态修改人ID
     */
    @Column(name = "modify_id")
    private Long modifyId;

    /**
     * 关联门店ID
     */
    @Column(name = "conn_store_id")
    private Long connStoreId;

    /**
     * 关联门店名称
     */
    @Column(name = "conn_store_name")
    private String connStoreName;

    /**
     * 注册会员的门店ID
     */
    @Column(name = "member_store_id")
    private Long memberStoreId;


    /**
     * 注册会员的门店编码
     */
    @Column(name = "member_store_num")
    private String memberStoreNum;

    /**
     * 注册会员的门店名称
     */
    @Column(name = "member_store_name")
    private String memberStoreName;


    /**
     * 备注
     */
    @Column(name = "remark")
    private String remark;

    /**
     * 会员等级Id
     */
    @Column(name = "class_id")
    private Long classId;

    /**
     * 会员等级编码
     */
    @Column(name = "class_num")
    private String classNum;


    /**
     * 会员等级名称
     */
    @Column(name = "class_name")
    private String className;

    public Long getClassId() {
        return classId;
    }

    public void setClassId(Long classId) {
        this.classId = classId;
    }

    public String getClassNum() {
        return classNum;
    }

    public void setClassNum(String classNum) {
        this.classNum = classNum;
    }

    public String getClassName() {
        return className;
    }

    public void setClassName(String className) {
        this.className = className;
    }

    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 store_id - 门店编码
     */
    public Long getStoreId() {
        return storeId;
    }

    /**
     * 设置门店编码
     *
     * @param storeId 门店编码
     */
    public void setStoreId(Long storeId) {
        this.storeId = storeId;
    }

    /**
     * 获取门店名称
     *
     * @return store_name - 门店名称
     */
    public String getStoreName() {
        return storeName;
    }

    /**
     * 设置门店名称
     *
     * @param storeName 门店名称
     */
    public void setStoreName(String storeName) {
        this.storeName = storeName;
    }

    /**
     * 获取等级
     *
     * @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 staff_id - 服务人编码（来源于员工档案）
     */
    public Long getStaffId() {
        return staffId;
    }

    /**
     * 设置服务人编码（来源于员工档案）
     *
     * @param staffId 服务人编码（来源于员工档案）
     */
    public void setStaffId(Long staffId) {
        this.staffId = staffId;
    }

    /**
     * 获取服务人名称（来源于员工档案）
     *
     * @return staff_name - 服务人名称（来源于员工档案）
     */
    public String getStaffName() {
        return staffName;
    }

    /**
     * 设置服务人名称（来源于员工档案）
     *
     * @param staffName 服务人名称（来源于员工档案）
     */
    public void setStaffName(String staffName) {
        this.staffName = staffName;
    }

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

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

    /**
     * 获取最近消费日期
     *
     * @return consume_date - 最近消费日期
     */
    public Date getConsumeDate() {
        return consumeDate;
    }

    /**
     * 设置最近消费日期
     *
     * @param consumeDate 最近消费日期
     */
    public void setConsumeDate(Date consumeDate) {
        this.consumeDate = consumeDate;
    }

    /**
     * 获取状态修改人
     *
     * @return modify_by - 状态修改人
     */
    public String getModifyBy() {
        return modifyBy;
    }

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

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

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

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

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

    /**
     * 获取分派状态 1:已分派/0:未分派
     *
     * @return assign_state - 分派状态 1:已分派/0:未分派
     */
    public Integer getAssignState() {
        return assignState;
    }

    /**
     * 设置分派状态 1:已分派/0:未分派
     *
     * @param assignState 分派状态 1:已分派/0:未分派
     */
    public void setAssignState(Integer assignState) {
        this.assignState = assignState;
    }

    /**
     * 获取平台会员ID
     *
     * @return platform_member_id - 平台会员ID
     */
    public Long getPlatformMemberId() {
        return platformMemberId;
    }

    /**
     * 设置平台会员ID
     *
     * @param platformMemberId 平台会员ID
     */
    public void setPlatformMemberId(Long platformMemberId) {
        this.platformMemberId = platformMemberId;
    }

    /**
     * 获取积分
     *
     * @return integral - 积分
     */
    public Integer getIntegral() {
        return integral;
    }

    /**
     * 设置积分
     *
     * @param integral 积分
     */
    public void setIntegral(Integer integral) {
        this.integral = integral;
    }

    /**
     * 获取会员登录密码
     *
     * @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;
    }

    /**
     * 获取录入人ID
     *
     * @return input_id - 录入人ID
     */
    public Long getInputId() {
        return inputId;
    }

    /**
     * 设置录入人ID
     *
     * @param inputId 录入人ID
     */
    public void setInputId(Long inputId) {
        this.inputId = inputId;
    }

    /**
     * 获取录入人名称
     *
     * @return input_by - 录入人名称
     */
    public String getInputBy() {
        return inputBy;
    }

    /**
     * 设置录入人名称
     *
     * @param inputBy 录入人名称
     */
    public void setInputBy(String inputBy) {
        this.inputBy = inputBy;
    }

    /**
     * 获取录入时间
     *
     * @return input_date - 录入时间
     */
    public Date getInputDate() {
        return inputDate;
    }

    /**
     * 设置录入时间
     *
     * @param inputDate 录入时间
     */
    public void setInputDate(Date inputDate) {
        this.inputDate = inputDate;
    }

    /**
     * 获取状态修改人ID
     *
     * @return modify_id - 状态修改人ID
     */
    public Long getModifyId() {
        return modifyId;
    }

    /**
     * 设置状态修改人ID
     *
     * @param modifyId 状态修改人ID
     */
    public void setModifyId(Long modifyId) {
        this.modifyId = modifyId;
    }

    /**
     * 获取关联门店ID
     *
     * @return conn_store_id - 关联门店ID
     */
    public Long getConnStoreId() {
        return connStoreId;
    }

    /**
     * 设置关联门店ID
     *
     * @param connStoreId 关联门店ID
     */
    public void setConnStoreId(Long connStoreId) {
        this.connStoreId = connStoreId;
    }

    /**
     * 获取关联门店名称
     *
     * @return conn_store_name - 关联门店名称
     */
    public String getConnStoreName() {
        return connStoreName;
    }

    /**
     * 设置关联门店名称
     *
     * @param connStoreName 关联门店名称
     */
    public void setConnStoreName(String connStoreName) {
        this.connStoreName = connStoreName;
    }

    public Long getMemberStoreId() {
        return memberStoreId;
    }

    public void setMemberStoreId(Long memberStoreId) {
        this.memberStoreId = memberStoreId;
    }

    public String getMemberStoreNum() {
        return memberStoreNum;
    }

    public void setMemberStoreNum(String memberStoreNum) {
        this.memberStoreNum = memberStoreNum;
    }

    public String getMemberStoreName() {
        return memberStoreName;
    }

    public void setMemberStoreName(String memberStoreName) {
        this.memberStoreName = memberStoreName;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        StoreMemberList other = (StoreMemberList) 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.getStoreId() == null ? other.getStoreId() == null : this.getStoreId().equals(other.getStoreId()))
            && (this.getStoreName() == null ? other.getStoreName() == null : this.getStoreName().equals(other.getStoreName()))
            && (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.getStaffId() == null ? other.getStaffId() == null : this.getStaffId().equals(other.getStaffId()))
            && (this.getStaffName() == null ? other.getStaffName() == null : this.getStaffName().equals(other.getStaffName()))
            && (this.getCard() == null ? other.getCard() == null : this.getCard().equals(other.getCard()))
            && (this.getConsumeDate() == null ? other.getConsumeDate() == null : this.getConsumeDate().equals(other.getConsumeDate()))
            && (this.getModifyBy() == null ? other.getModifyBy() == null : this.getModifyBy().equals(other.getModifyBy()))
            && (this.getModifyDate() == null ? other.getModifyDate() == null : this.getModifyDate().equals(other.getModifyDate()))
            && (this.getState() == null ? other.getState() == null : this.getState().equals(other.getState()))
            && (this.getAssignState() == null ? other.getAssignState() == null : this.getAssignState().equals(other.getAssignState()))
            && (this.getPlatformMemberId() == null ? other.getPlatformMemberId() == null : this.getPlatformMemberId().equals(other.getPlatformMemberId()))
            && (this.getIntegral() == null ? other.getIntegral() == null : this.getIntegral().equals(other.getIntegral()))
            && (this.getPassword() == null ? other.getPassword() == null : this.getPassword().equals(other.getPassword()))
            && (this.getCashPassword() == null ? other.getCashPassword() == null : this.getCashPassword().equals(other.getCashPassword()))
            && (this.getInputId() == null ? other.getInputId() == null : this.getInputId().equals(other.getInputId()))
            && (this.getInputBy() == null ? other.getInputBy() == null : this.getInputBy().equals(other.getInputBy()))
            && (this.getInputDate() == null ? other.getInputDate() == null : this.getInputDate().equals(other.getInputDate()))
            && (this.getModifyId() == null ? other.getModifyId() == null : this.getModifyId().equals(other.getModifyId()))
            && (this.getConnStoreId() == null ? other.getConnStoreId() == null : this.getConnStoreId().equals(other.getConnStoreId()))
            && (this.getMemberStoreId() == null ? other.getMemberStoreId() == null : this.getMemberStoreId().equals(other.getMemberStoreId()))
            && (this.getMemberStoreNum() == null ? other.getMemberStoreNum() == null : this.getMemberStoreNum().equals(other.getMemberStoreNum()))
            && (this.getRemark() == null ? other.getRemark() == null : this.getRemark().equals(other.getRemark()))
            && (this.getMemberStoreName() == null ? other.getMemberStoreName() == null : this.getMemberStoreName().equals(other.getMemberStoreName()))
            && (this.getConnStoreName() == null ? other.getConnStoreName() == null : this.getConnStoreName().equals(other.getConnStoreName()));
    }

    @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 + ((getStoreId() == null) ? 0 : getStoreId().hashCode());
        result = prime * result + ((getStoreName() == null) ? 0 : getStoreName().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 + ((getStaffId() == null) ? 0 : getStaffId().hashCode());
        result = prime * result + ((getStaffName() == null) ? 0 : getStaffName().hashCode());
        result = prime * result + ((getCard() == null) ? 0 : getCard().hashCode());
        result = prime * result + ((getConsumeDate() == null) ? 0 : getConsumeDate().hashCode());
        result = prime * result + ((getModifyBy() == null) ? 0 : getModifyBy().hashCode());
        result = prime * result + ((getModifyDate() == null) ? 0 : getModifyDate().hashCode());
        result = prime * result + ((getState() == null) ? 0 : getState().hashCode());
        result = prime * result + ((getAssignState() == null) ? 0 : getAssignState().hashCode());
        result = prime * result + ((getPlatformMemberId() == null) ? 0 : getPlatformMemberId().hashCode());
        result = prime * result + ((getIntegral() == null) ? 0 : getIntegral().hashCode());
        result = prime * result + ((getPassword() == null) ? 0 : getPassword().hashCode());
        result = prime * result + ((getCashPassword() == null) ? 0 : getCashPassword().hashCode());
        result = prime * result + ((getInputId() == null) ? 0 : getInputId().hashCode());
        result = prime * result + ((getInputBy() == null) ? 0 : getInputBy().hashCode());
        result = prime * result + ((getInputDate() == null) ? 0 : getInputDate().hashCode());
        result = prime * result + ((getModifyId() == null) ? 0 : getModifyId().hashCode());
        result = prime * result + ((getConnStoreId() == null) ? 0 : getConnStoreId().hashCode());
        result = prime * result + ((getConnStoreName() == null) ? 0 : getConnStoreName().hashCode());
        result = prime * result + ((getMemberStoreNum() == null) ? 0 : getMemberStoreNum().hashCode());
        result = prime * result + ((getMemberStoreId() == null) ? 0 : getMemberStoreId().hashCode());
        result = prime * result + ((getMemberStoreName() == null) ? 0 : getMemberStoreName().hashCode());
        result = prime * result + ((getRemark() == null) ? 0 : getRemark().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(", storeId=").append(storeId);
        sb.append(", storeName=").append(storeName);
        sb.append(", grade=").append(grade);
        sb.append(", hairLong=").append(hairLong);
        sb.append(", skinType=").append(skinType);
        sb.append(", staffId=").append(staffId);
        sb.append(", staffName=").append(staffName);
        sb.append(", card=").append(card);
        sb.append(", consumeDate=").append(consumeDate);
        sb.append(", modifyBy=").append(modifyBy);
        sb.append(", modifyDate=").append(modifyDate);
        sb.append(", state=").append(state);
        sb.append(", assignState=").append(assignState);
        sb.append(", platformMemberId=").append(platformMemberId);
        sb.append(", integral=").append(integral);
        sb.append(", password=").append(password);
        sb.append(", cashPassword=").append(cashPassword);
        sb.append(", inputId=").append(inputId);
        sb.append(", inputBy=").append(inputBy);
        sb.append(", inputDate=").append(inputDate);
        sb.append(", modifyId=").append(modifyId);
        sb.append(", connStoreId=").append(connStoreId);
        sb.append(", connStoreName=").append(connStoreName);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append(", memberStoreId=").append(memberStoreId);
        sb.append(", memberStoreNum=").append(memberStoreNum);
        sb.append(", memberStoreName=").append(memberStoreName);
        sb.append(", remark=").append(remark);
        sb.append("]");
        return sb.toString();
    }
}