package com.ssm.manage.entity;

import com.ssm.manage.utils.BigDecimalUtils;

import javax.persistence.Id;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Objects;

public class RechargeDemotioneingRun implements Serializable {
    private static final long serialVersionUID = 337963910795179928L;
    /**
     * id
     */
    @Id
    private Integer id;
    /**
     * Salesman
     */
    private Long rechargeTypeId;
    /**
     * 原编码
     */
    private String rechargeTypeNum;
    /**
     * 原名称
     */
    private String rechargeTypeName;
    /**
     * 新主键ID
     */
    private Long newRechargeTypeId;
    /**
     * 新编码
     */
    private String newRechargeTypeNum;
    /**
     * 新名称
     */
    private String newRechargeTypeName;
    /**
     * 门店编码
     */
    private Long storeId;
    /**
     * 门店名称
     */
    private String storeName;
    /**
     * 原享受优惠
     */
    private BigDecimal discount;
    /**
     * 新享受优惠
     */
    private BigDecimal newDiscount;
    /**
     * 类别 1:折扣卡类型/0:赠送卡类型/2：促销卡类型
     */
    private Integer type;
    /**
     * 状态
     */
    private Integer status;

    /**
     * 升降级要求金额
     */
    private BigDecimal rechargeMoney;


    public Integer getId() {
        return id;
    }

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

    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 getNewRechargeTypeId() {
        return newRechargeTypeId;
    }

    public void setNewRechargeTypeId(Long newRechargeTypeId) {
        this.newRechargeTypeId = newRechargeTypeId;
    }

    public String getNewRechargeTypeNum() {
        return newRechargeTypeNum;
    }

    public void setNewRechargeTypeNum(String newRechargeTypeNum) {
        this.newRechargeTypeNum = newRechargeTypeNum;
    }

    public String getNewRechargeTypeName() {
        return newRechargeTypeName;
    }

    public void setNewRechargeTypeName(String newRechargeTypeName) {
        this.newRechargeTypeName = newRechargeTypeName;
    }

    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 BigDecimal getDiscount() {
        return discount;
    }

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

    public BigDecimal getNewDiscount() {
        return newDiscount;
    }

    public void setNewDiscount(BigDecimal newDiscount) {
        this.newDiscount = newDiscount;
    }

    public Integer getType() {
        return type;
    }

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

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public BigDecimal getRechargeMoney() {
        return rechargeMoney;
    }

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

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        RechargeDemotioneingRun that = (RechargeDemotioneingRun) o;
        return Objects.equals(id, that.id) && Objects.equals(rechargeTypeId, that.rechargeTypeId) && Objects.equals(rechargeTypeNum, that.rechargeTypeNum) && Objects.equals(rechargeTypeName, that.rechargeTypeName) && Objects.equals(newRechargeTypeId, that.newRechargeTypeId) && Objects.equals(newRechargeTypeNum, that.newRechargeTypeNum) && Objects.equals(newRechargeTypeName, that.newRechargeTypeName) && Objects.equals(storeId, that.storeId) && Objects.equals(storeName, that.storeName) && Objects.equals(discount, that.discount) && Objects.equals(newDiscount, that.newDiscount) && Objects.equals(type, that.type) && Objects.equals(status, that.status) && Objects.equals(rechargeMoney, that.rechargeMoney);
    }

    @Override
    public int hashCode() {
        return Objects.hash(id, rechargeTypeId, rechargeTypeNum, rechargeTypeName, newRechargeTypeId, newRechargeTypeNum, newRechargeTypeName, storeId, storeName, discount, newDiscount, type, status, rechargeMoney);
    }

    @Override
    public String toString() {
        return "RechargeDemotioneingRun{" +
                "id=" + id +
                ", rechargeTypeId=" + rechargeTypeId +
                ", rechargeTypeNum='" + rechargeTypeNum + '\'' +
                ", rechargeTypeName='" + rechargeTypeName + '\'' +
                ", newRechargeTypeId=" + newRechargeTypeId +
                ", newRechargeTypeNum='" + newRechargeTypeNum + '\'' +
                ", newRechargeTypeName='" + newRechargeTypeName + '\'' +
                ", storeId=" + storeId +
                ", storeName='" + storeName + '\'' +
                ", discount=" + discount +
                ", newDiscount=" + newDiscount +
                ", type=" + type +
                ", status=" + status +
                ", rechargeMoney=" + rechargeMoney +
                '}';
    }
}
