package com.ssm.manage.entity;

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

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;
import java.math.BigDecimal;
import java.util.Date;
import java.io.Serializable;

/**
 * (BaseZengka)实体类
 *
 * @author makejava
 * @since 2022-04-26 16:23:00
 */
@Table(name = "base_zengka")
public class BaseZengka implements Serializable {
    private static final long serialVersionUID = -75032027771945970L;

    /**
     * id
     */
    @Id
    private Long id;
    /**
     * 状态
     */
    @Column(name = "state")
    private Integer state;
    /**
     * 单据号码
     */
    @Column(name = "doc_num")
    private String docNum;
    /**
     * 单据日期
     */
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Column(name = "doc_date")
    private Date docDate;
    /**
     * 充值类型ID
     */
    @Column(name = "recharge_type_id")
    private Long rechargeTypeId;
    /**
     * 充值类型编码
     */
    @Column(name = "recharge_type_num")
    private String rechargeTypeNum;
    /**
     * 充值类型名称
     */
    @Column(name = "recharge_type_name")
    private String rechargeTypeName;
    /**
     * 门店编码
     */
    @Column(name = "store_id")
    private Long storeId;
    /**
     * 门店名称
     */
    @Column(name = "store_name")
    private String storeName;
    /**
     * 到期日期
     */
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Column(name = "expire_date")
    private Date expireDate;
    /**
     * 享受优惠
     */
    @Column(name = "discount")
    private BigDecimal discount;
    /**
     * 类别充值金额
     */
    @Column(name = "recharge_money")
    private BigDecimal rechargeMoney;
    /**
     * 数量（份数）
     */
    @Column(name = "quantity")
    private Integer quantity;
    /**
     * 建立人（用户名称（用户编码）），来源于员工档案
     */
    @Column(name = "input_by")
    private String inputBy;
    /**
     * 建立日期
     */
    @Column(name = "input_date")
    private Date inputDate;
    /**
     * 最近修改人（用户名称（用户编码）），来源于员工档案
     */
    @Column(name = "update_by")
    private String updateBy;
    /**
     * 最近修改时间
     */
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Column(name = "update_date")
    private Date updateDate;
    /**
     * 审核人
     */
    @Column(name = "audit_by")
    private String auditBy;
    /**
     * 审核时间
     */
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Column(name = "audit_date")
    private Date auditDate;


    public Long getId() {
        return id;
    }

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

    public Integer getState() {
        return state;
    }

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

    public String getDocNum() {
        return docNum;
    }

    public void setDocNum(String docNum) {
        this.docNum = docNum;
    }

    public Date getDocDate() {
        return docDate;
    }

    public void setDocDate(Date docDate) {
        this.docDate = docDate;
    }

    public Long getRechargeTypeId() {
        return rechargeTypeId;
    }

    public void setRechargeTypeId(Long rechargeTypeId) {
        this.rechargeTypeId = rechargeTypeId;
    }

    public String getRechargeTypeNum() {
        return rechargeTypeNum;
    }

    public void setRechargeTypeNum(String rechargeTypeNum) {
        this.rechargeTypeNum = rechargeTypeNum;
    }

    public String getRechargeTypeName() {
        return rechargeTypeName;
    }

    public void setRechargeTypeName(String rechargeTypeName) {
        this.rechargeTypeName = rechargeTypeName;
    }

    public Long getStoreId() {
        return storeId;
    }

    public void setStoreId(Long storeId) {
        this.storeId = storeId;
    }

    public String getStoreName() {
        return storeName;
    }

    public void setStoreName(String storeName) {
        this.storeName = storeName;
    }

    public Date getExpireDate() {
        return expireDate;
    }

    public void setExpireDate(Date expireDate) {
        this.expireDate = expireDate;
    }

    public BigDecimal getDiscount() {
        return discount;
    }

    public void setDiscount(BigDecimal discount) {
        this.discount = discount;
    }

    public BigDecimal getRechargeMoney() {
        return rechargeMoney;
    }

    public void setRechargeMoney(BigDecimal rechargeMoney) {
        this.rechargeMoney = rechargeMoney;
    }

    public Integer getQuantity() {
        return quantity;
    }

    public void setQuantity(Integer quantity) {
        this.quantity = quantity;
    }

    public String getInputBy() {
        return inputBy;
    }

    public void setInputBy(String inputBy) {
        this.inputBy = inputBy;
    }

    public Date getInputDate() {
        return inputDate;
    }

    public void setInputDate(Date inputDate) {
        this.inputDate = inputDate;
    }

    public String getUpdateBy() {
        return updateBy;
    }

    public void setUpdateBy(String updateBy) {
        this.updateBy = updateBy;
    }

    public Date getUpdateDate() {
        return updateDate;
    }

    public void setUpdateDate(Date updateDate) {
        this.updateDate = updateDate;
    }

    public String getAuditBy() {
        return auditBy;
    }

    public void setAuditBy(String auditBy) {
        this.auditBy = auditBy;
    }

    public Date getAuditDate() {
        return auditDate;
    }

    public void setAuditDate(Date auditDate) {
        this.auditDate = auditDate;
    }

}

