package beilv.cardpurchaserecord.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import beilv.common.annotation.Excel;
import beilv.common.core.domain.BaseEntity;

/**
 * 购卡记录对象 card_purchase_record
 *
 * @author ruoyi
 * @date 2025-01-02
 */
public class CardPurchaseRecord extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

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

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

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

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

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

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

    private String cardType;

    @Excel(name = "卡种类型")
    private String cardTypeLabel;

    private Integer totalNumber;

    private BigDecimal originalPrice;

    /** 价格 */
    @Excel(name = "价格")
    private BigDecimal memberPrice;

    private String point;

    /** 时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Excel(name = "时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date time;

    /** 支付方式 */
    @Excel(name = "支付方式")
    private String paymentWay;

    /** 状态（1：购卡：退卡） */
//    @Excel(name = "状态", readConverterExp = "待=使用、已使用、已退款")
    private String type;

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

    /** 备注 */
    @Excel(name = "备注")
    private String notes;

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

    public String getCardTypeLabel() {
        return cardTypeLabel;
    }

    public void setCardTypeLabel(String cardTypeLabel) {
        this.cardTypeLabel = cardTypeLabel;
    }

    public BigDecimal getOriginalPrice() {
        return originalPrice;
    }

    public void setOriginalPrice(BigDecimal originalPrice) {
        this.originalPrice = originalPrice;
    }

    public String getPoint() {
        return point;
    }

    public void setPoint(String point) {
        this.point = point;
    }

    public String getCardType() {
        return cardType;
    }

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

    public BigDecimal getMemberPrice() {
        return memberPrice;
    }

    public void setMemberPrice(BigDecimal memberPrice) {
        this.memberPrice = memberPrice;
    }

    public Date getTime() {
        return time;
    }

    public void setTime(Date time) {
        this.time = time;
    }

    public Integer getTotalNumber() {
        return totalNumber;
    }

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

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getTypeLabel() {
        return typeLabel;
    }

    public void setTypeLabel(String typeLabel) {
        this.typeLabel = typeLabel;
    }

    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 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 String getCardId() {
        return cardId;
    }

    public void setCardId(String cardId) {
        this.cardId = cardId;
    }

    public String getCardName() {
        return cardName;
    }

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

    public void setPaymentWay(String paymentWay)
    {
        this.paymentWay = paymentWay;
    }

    public String getPaymentWay()
    {
        return paymentWay;
    }

    public void setNotes(String notes)
    {
        this.notes = notes;
    }

    public String getNotes()
    {
        return notes;
    }

    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("carId", getCardId())
            .append("carName", getCardName())
            .append("paymentWay", getPaymentWay())
            .append("notes", getNotes())
            .append("version", getVersion())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
