package com.ssm.manage.entity;

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

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

    /**
     * 收银主键ID
     */
    @Column(name = "cash_id")
    private Long cashId;

    /**
     * 收银单号
     */
    @Column(name = "cash_num")
    private String cashNum;

    /**
     * 充值账户ID
     */
    @Column(name = "rec_account_id")
    private Long recAccountId;

    /**
     * 录入时间
     */
    @Column(name = "input_date")
    private Date inputDate;

    /**
     * 账户剩余金额
     */
    @Column(name = "card_rest_money")
    private BigDecimal cardRestMoney;

    /**
     * 赠送卡赠送金额
     */
    @Column(name = "card_gift_money")
    private BigDecimal cardGiftMoney;

    /**
     * 账户可用金额
     */
    @Column(name = "card_consume_money")
    private BigDecimal cardConsumeMoney;

    /**
     * 赠送卡可用金额
     */
    @Column(name = "gift_consume_money")
    private BigDecimal giftConsumeMoney;

    /**
     * 充值支付金额
     */
    @Column(name = "card_pay_money")
    private BigDecimal cardPayMoney;

    /**
     * 充值赠品支付金额
     */
    @Column(name = "gift_pay_money")
    private BigDecimal giftPayMoney;

    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;
    }

    /**
     * 获取收银主键ID
     *
     * @return cash_id - 收银主键ID
     */
    public Long getCashId() {
        return cashId;
    }

    /**
     * 设置收银主键ID
     *
     * @param cashId 收银主键ID
     */
    public void setCashId(Long cashId) {
        this.cashId = cashId;
    }

    /**
     * 获取收银单号
     *
     * @return cash_num - 收银单号
     */
    public String getCashNum() {
        return cashNum;
    }

    /**
     * 设置收银单号
     *
     * @param cashNum 收银单号
     */
    public void setCashNum(String cashNum) {
        this.cashNum = cashNum;
    }

    /**
     * 获取充值账户ID
     *
     * @return rec_account_id - 充值账户ID
     */
    public Long getRecAccountId() {
        return recAccountId;
    }

    /**
     * 设置充值账户ID
     *
     * @param recAccountId 充值账户ID
     */
    public void setRecAccountId(Long recAccountId) {
        this.recAccountId = recAccountId;
    }

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

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

    /**
     * 获取账户剩余金额
     *
     * @return card_rest_money - 账户剩余金额
     */
    public BigDecimal getCardRestMoney() {
        return cardRestMoney;
    }

    /**
     * 设置账户剩余金额
     *
     * @param cardRestMoney 账户剩余金额
     */
    public void setCardRestMoney(BigDecimal cardRestMoney) {
        this.cardRestMoney = cardRestMoney;
    }

    /**
     * 获取赠送卡赠送金额
     *
     * @return card_gift_money - 赠送卡赠送金额
     */
    public BigDecimal getCardGiftMoney() {
        return cardGiftMoney;
    }

    /**
     * 设置赠送卡赠送金额
     *
     * @param cardGiftMoney 赠送卡赠送金额
     */
    public void setCardGiftMoney(BigDecimal cardGiftMoney) {
        this.cardGiftMoney = cardGiftMoney;
    }

    /**
     * 获取账户可用金额
     *
     * @return card_consume_money - 账户可用金额
     */
    public BigDecimal getCardConsumeMoney() {
        return cardConsumeMoney;
    }

    /**
     * 设置账户可用金额
     *
     * @param cardConsumeMoney 账户可用金额
     */
    public void setCardConsumeMoney(BigDecimal cardConsumeMoney) {
        this.cardConsumeMoney = cardConsumeMoney;
    }

    /**
     * 获取赠送卡可用金额
     *
     * @return gift_consume_money - 赠送卡可用金额
     */
    public BigDecimal getGiftConsumeMoney() {
        return giftConsumeMoney;
    }

    /**
     * 设置赠送卡可用金额
     *
     * @param giftConsumeMoney 赠送卡可用金额
     */
    public void setGiftConsumeMoney(BigDecimal giftConsumeMoney) {
        this.giftConsumeMoney = giftConsumeMoney;
    }

    /**
     * 获取充值支付金额
     *
     * @return card_pay_money - 充值支付金额
     */
    public BigDecimal getCardPayMoney() {
        return cardPayMoney;
    }

    /**
     * 设置充值支付金额
     *
     * @param cardPayMoney 充值支付金额
     */
    public void setCardPayMoney(BigDecimal cardPayMoney) {
        this.cardPayMoney = cardPayMoney;
    }

    /**
     * 获取充值赠品支付金额
     *
     * @return gift_pay_money - 充值赠品支付金额
     */
    public BigDecimal getGiftPayMoney() {
        return giftPayMoney;
    }

    /**
     * 设置充值赠品支付金额
     *
     * @param giftPayMoney 充值赠品支付金额
     */
    public void setGiftPayMoney(BigDecimal giftPayMoney) {
        this.giftPayMoney = giftPayMoney;
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        CashAccountList other = (CashAccountList) that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
            && (this.getCashId() == null ? other.getCashId() == null : this.getCashId().equals(other.getCashId()))
            && (this.getCashNum() == null ? other.getCashNum() == null : this.getCashNum().equals(other.getCashNum()))
            && (this.getRecAccountId() == null ? other.getRecAccountId() == null : this.getRecAccountId().equals(other.getRecAccountId()))
            && (this.getInputDate() == null ? other.getInputDate() == null : this.getInputDate().equals(other.getInputDate()))
            && (this.getCardRestMoney() == null ? other.getCardRestMoney() == null : this.getCardRestMoney().equals(other.getCardRestMoney()))
            && (this.getCardGiftMoney() == null ? other.getCardGiftMoney() == null : this.getCardGiftMoney().equals(other.getCardGiftMoney()))
            && (this.getCardConsumeMoney() == null ? other.getCardConsumeMoney() == null : this.getCardConsumeMoney().equals(other.getCardConsumeMoney()))
            && (this.getGiftConsumeMoney() == null ? other.getGiftConsumeMoney() == null : this.getGiftConsumeMoney().equals(other.getGiftConsumeMoney()))
            && (this.getCardPayMoney() == null ? other.getCardPayMoney() == null : this.getCardPayMoney().equals(other.getCardPayMoney()))
            && (this.getGiftPayMoney() == null ? other.getGiftPayMoney() == null : this.getGiftPayMoney().equals(other.getGiftPayMoney()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getCashId() == null) ? 0 : getCashId().hashCode());
        result = prime * result + ((getCashNum() == null) ? 0 : getCashNum().hashCode());
        result = prime * result + ((getRecAccountId() == null) ? 0 : getRecAccountId().hashCode());
        result = prime * result + ((getInputDate() == null) ? 0 : getInputDate().hashCode());
        result = prime * result + ((getCardRestMoney() == null) ? 0 : getCardRestMoney().hashCode());
        result = prime * result + ((getCardGiftMoney() == null) ? 0 : getCardGiftMoney().hashCode());
        result = prime * result + ((getCardConsumeMoney() == null) ? 0 : getCardConsumeMoney().hashCode());
        result = prime * result + ((getGiftConsumeMoney() == null) ? 0 : getGiftConsumeMoney().hashCode());
        result = prime * result + ((getCardPayMoney() == null) ? 0 : getCardPayMoney().hashCode());
        result = prime * result + ((getGiftPayMoney() == null) ? 0 : getGiftPayMoney().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(", cashId=").append(cashId);
        sb.append(", cashNum=").append(cashNum);
        sb.append(", recAccountId=").append(recAccountId);
        sb.append(", inputDate=").append(inputDate);
        sb.append(", cardRestMoney=").append(cardRestMoney);
        sb.append(", cardGiftMoney=").append(cardGiftMoney);
        sb.append(", cardConsumeMoney=").append(cardConsumeMoney);
        sb.append(", giftConsumeMoney=").append(giftConsumeMoney);
        sb.append(", cardPayMoney=").append(cardPayMoney);
        sb.append(", giftPayMoney=").append(giftPayMoney);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}