package beilv.usermembershipcard.domain;

import beilv.common.annotation.Excel;
import beilv.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 用户会员卡对象 user_membership_card
 *
 * @author ruoyi
 * @date 2025-01-02
 */
public class UserMembershipCard extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    private Long id;

    /**
     * 用户id
     */
//    @Excel(name = "用户id")
    private String userId;

    /**
     * 卡种id
     */
//    @Excel(name = "卡种id")
    private String recordId;

    @Excel(name = "用户账户")
    private String userName;

    @Excel(name = "姓名")
    private String realName;

    @Excel(name = "手机号码")
    private String mobile;

    @Excel(name = "卡种名称")
    private String cardName;

    /**
     * 总次数
     */
    @Excel(name = "总次数")
    private Integer totalNumber;

    /**
     * 剩余次数
     */
    @Excel(name = "剩余次数")
    private Integer remainingNumber;

    /**
     * 版本
     */
//    @Excel(name = "版本")
    private String version;

    private String cardType;

    //卡种类型
    private String cardTypeLable;

    private String state;

    @Excel(name = "状态")
    private String stateLabel;

    public String getCardType() {
        return cardType;
    }

    public void setCardType(String cardType) {
        this.cardType = cardType;
    }

    public String getCardTypeLable() {
        return cardTypeLable;
    }

    public void setCardTypeLable(String cardTypeLable) {
        this.cardTypeLable = cardTypeLable;
    }

    public String getStateLabel() {

        return stateLabel;
    }

    public void setStateLabel(String stateLabel) {
        this.stateLabel = stateLabel;
    }

    public String getState() {
        return state;
    }

    public void setState(String state) {
        this.state = state;
    }

    public String getRecordId() {
        return recordId;
    }

    public void setRecordId(String recordId) {
        this.recordId = recordId;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getRealName() {
        return realName;
    }

    public void setRealName(String realName) {
        this.realName = realName;
    }

    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    public String getCardName() {
        return cardName;
    }

    public void setCardName(String cardName) {
        this.cardName = cardName;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    public String getUserId() {
        return userId;
    }

    public void setTotalNumber(Integer totalNumber) {
        this.totalNumber = totalNumber;
    }

    public Integer getTotalNumber() {
        return totalNumber;
    }

    public void setRemainingNumber(Integer remainingNumber) {
        this.remainingNumber = remainingNumber;
    }

    public Integer getRemainingNumber() {
        return remainingNumber;
    }

    public void setVersion(String version) {
        this.version = version;
    }

    public String getVersion() {
        return version;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("userId", getUserId())
                .append("totalNumber", getTotalNumber())
                .append("remainingNumber", getRemainingNumber())
                .append("version", getVersion())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .toString();
    }
}
