package com.sifang.modules.account.entity;

import org.hibernate.annotations.GenericGenerator;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

@Entity
@Table(name = "crm_trader_account")
public class CrmTraderAccount implements Serializable {
    private static final long serialVersionUID = 1L;

    private String id;
    private String traderId;
    private BigDecimal bzjAmount;
    private BigDecimal basicQuotaAmount;
    private BigDecimal basicQuotaAmountBzj;
    private BigDecimal basicQuotaAmountBalance;
    private BigDecimal maxQuotaAmount;
    private BigDecimal maxQuotaAmountBzj;
    private BigDecimal maxQuotaAmountBalance;
    private BigDecimal settleAmount;
    private BigDecimal settleAmountYsjs;
    private BigDecimal qaAmount;
    private BigDecimal qaAmountUsable;
    private BigDecimal qaAmountFreeze;
    private BigDecimal qaAmountIncdec;
    private Date createTime;
    private BigDecimal settleDeductionAmount;

    private BigDecimal bondAmountLimit;

    private BigDecimal arrearsAmount;

    private BigDecimal sendOutGoodsCount;

    private BigDecimal paidAmount;

    private BigDecimal settleRewardsPunishAmount;

    private BigDecimal ykBzjAmount;
    private BigDecimal ykDeliverTotalCapacity;
    private BigDecimal ykYazTotalCapacity;
    private BigDecimal ykYbwTotalCapacity;
    private BigDecimal ykTklTotalCapacity;

    public BigDecimal getYkBzjAmount() {
        return ykBzjAmount;
    }

    public void setYkBzjAmount(BigDecimal ykBzjAmount) {
        this.ykBzjAmount = ykBzjAmount;
    }

    public BigDecimal getYkDeliverTotalCapacity() {
        return ykDeliverTotalCapacity;
    }

    public void setYkDeliverTotalCapacity(BigDecimal ykDeliverTotalCapacity) {
        this.ykDeliverTotalCapacity = ykDeliverTotalCapacity;
    }

    public BigDecimal getYkYazTotalCapacity() {
        return ykYazTotalCapacity;
    }

    public void setYkYazTotalCapacity(BigDecimal ykYazTotalCapacity) {
        this.ykYazTotalCapacity = ykYazTotalCapacity;
    }

    public BigDecimal getYkYbwTotalCapacity() {
        return ykYbwTotalCapacity;
    }

    public void setYkYbwTotalCapacity(BigDecimal ykYbwTotalCapacity) {
        this.ykYbwTotalCapacity = ykYbwTotalCapacity;
    }

    public BigDecimal getYkTklTotalCapacity() {
        return ykTklTotalCapacity;
    }

    public void setYkTklTotalCapacity(BigDecimal ykTklTotalCapacity) {
        this.ykTklTotalCapacity = ykTklTotalCapacity;
    }

    public CrmTraderAccount() {
        super();
        this.bzjAmount = BigDecimal.ZERO;
        this.basicQuotaAmount = BigDecimal.ZERO;
        this.basicQuotaAmountBzj = BigDecimal.ZERO;
        this.basicQuotaAmountBalance = BigDecimal.ZERO;
        this.maxQuotaAmount = BigDecimal.ZERO;
        this.maxQuotaAmountBzj = BigDecimal.ZERO;
        this.maxQuotaAmountBalance = BigDecimal.ZERO;
        this.settleAmount = BigDecimal.ZERO;
        this.settleAmountYsjs = BigDecimal.ZERO;
        this.qaAmount = BigDecimal.ZERO;
        this.qaAmountUsable = BigDecimal.ZERO;
        this.qaAmountFreeze = BigDecimal.ZERO;
        this.qaAmountIncdec = BigDecimal.ZERO;
        this.settleDeductionAmount=BigDecimal.ZERO;
        this.arrearsAmount=BigDecimal.ZERO;
        this.sendOutGoodsCount=BigDecimal.ZERO;
        this.paidAmount=BigDecimal.ZERO;
        this.settleRewardsPunishAmount=BigDecimal.ZERO;
        this.ykBzjAmount=BigDecimal.ZERO;
        this.ykDeliverTotalCapacity=BigDecimal.ZERO;
        this.ykYazTotalCapacity=BigDecimal.ZERO;
        this.ykYbwTotalCapacity=BigDecimal.ZERO;
        this.ykTklTotalCapacity=BigDecimal.ZERO;
    }

    @Id
    @GeneratedValue(generator = "idGenerator")
    @GenericGenerator(name = "idGenerator", strategy = "uuid")
    public String getId() {
        return id;
    }

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

    public String getTraderId() {
        return traderId;
    }

    public void setTraderId(String traderId) {
        this.traderId = traderId;
    }

    public BigDecimal getBzjAmount() {
        return bzjAmount;
    }

    public void setBzjAmount(BigDecimal bzjAmount) {
        this.bzjAmount = bzjAmount;
    }

    public BigDecimal getBasicQuotaAmount() {
        return basicQuotaAmount;
    }

    public void setBasicQuotaAmount(BigDecimal basicQuotaAmount) {
        this.basicQuotaAmount = basicQuotaAmount;
    }

    public BigDecimal getBasicQuotaAmountBzj() {
        return basicQuotaAmountBzj;
    }

    public void setBasicQuotaAmountBzj(BigDecimal basicQuotaAmountBzj) {
        this.basicQuotaAmountBzj = basicQuotaAmountBzj;
    }

    public BigDecimal getBasicQuotaAmountBalance() {
        return basicQuotaAmountBalance;
    }

    public void setBasicQuotaAmountBalance(BigDecimal basicQuotaAmountBalance) {
        this.basicQuotaAmountBalance = basicQuotaAmountBalance;
    }

    public BigDecimal getMaxQuotaAmount() {
        return maxQuotaAmount;
    }

    public void setMaxQuotaAmount(BigDecimal maxQuotaAmount) {
        this.maxQuotaAmount = maxQuotaAmount;
    }

    public BigDecimal getMaxQuotaAmountBzj() {
        return maxQuotaAmountBzj;
    }

    public void setMaxQuotaAmountBzj(BigDecimal maxQuotaAmountBzj) {
        this.maxQuotaAmountBzj = maxQuotaAmountBzj;
    }

    public BigDecimal getMaxQuotaAmountBalance() {
        return maxQuotaAmountBalance;
    }

    public void setMaxQuotaAmountBalance(BigDecimal maxQuotaAmountBalance) {
        this.maxQuotaAmountBalance = maxQuotaAmountBalance;
    }

    public BigDecimal getSettleAmount() {
        return settleAmount;
    }

    public void setSettleAmount(BigDecimal settleAmount) {
        this.settleAmount = settleAmount;
    }

    public BigDecimal getSettleAmountYsjs() {
        return settleAmountYsjs;
    }

    public void setSettleAmountYsjs(BigDecimal settleAmountYsjs) {
        this.settleAmountYsjs = settleAmountYsjs;
    }

    public BigDecimal getQaAmount() {
        return qaAmount;
    }

    public void setQaAmount(BigDecimal qaAmount) {
        this.qaAmount = qaAmount;
    }

    public BigDecimal getQaAmountUsable() {
        return qaAmountUsable;
    }

    public void setQaAmountUsable(BigDecimal qaAmountUsable) {
        this.qaAmountUsable = qaAmountUsable;
    }

    public BigDecimal getQaAmountFreeze() {
        return qaAmountFreeze;
    }

    public void setQaAmountFreeze(BigDecimal qaAmountFreeze) {
        this.qaAmountFreeze = qaAmountFreeze;
    }

    public BigDecimal getQaAmountIncdec() {
        return qaAmountIncdec;
    }

    public void setQaAmountIncdec(BigDecimal qaAmountIncdec) {
        this.qaAmountIncdec = qaAmountIncdec;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public BigDecimal getSettleDeductionAmount() {
        return settleDeductionAmount;
    }

    public void setSettleDeductionAmount(BigDecimal settleDeductionAmount) {
        this.settleDeductionAmount = settleDeductionAmount;
    }

    public BigDecimal getBondAmountLimit() {
        return bondAmountLimit;
    }

    public void setBondAmountLimit(BigDecimal bondAmountLimit) {
        this.bondAmountLimit = bondAmountLimit;
    }

    public BigDecimal getArrearsAmount() {
        return arrearsAmount;
    }

    public void setArrearsAmount(BigDecimal arrearsAmount) {
        this.arrearsAmount = arrearsAmount;
    }

    public BigDecimal getSendOutGoodsCount() {
        return sendOutGoodsCount;
    }

    public void setSendOutGoodsCount(BigDecimal sendOutGoodsCount) {
        this.sendOutGoodsCount = sendOutGoodsCount;
    }

    public BigDecimal getPaidAmount() {
        return paidAmount;
    }

    public void setPaidAmount(BigDecimal paidAmount) {
        this.paidAmount = paidAmount;
    }

    public BigDecimal getSettleRewardsPunishAmount() {
        return settleRewardsPunishAmount;
    }

    public void setSettleRewardsPunishAmount(BigDecimal settleRewardsPunishAmount) {
        this.settleRewardsPunishAmount = settleRewardsPunishAmount;
    }
}
