package common.model;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Transient;
import java.util.Date;

/**
 * Created by mxq on 2018/1/16.
 */
@Entity
public class Contract {
    private Long id;
    private String product;
    private String myBodyName;
    private String myBodyCode;
    private String customerBody;
    private String email;
    private String contractCode;
    //是否首次签约
    private String contractType;
    private String startDate;
    private String endDate;
    //套餐
    private Long priceLevel;
    private Long money;
    private Double rebate;
    private Long sale;
    //产品trackingio or adi ...
    private String platform;
    private String status;
    private String saleName;
    private String priceLevelName;
    private Long payMoney;
    private Long invoice;
    private String createName;
    //合同类型 主套餐 or 增值套餐
    private String type;
    private Long priceName;
    private Boolean old;
    private Long extraFlow;

    private Long modifyAccount;
    private Long createAccount;
    private Date modifyTime;
    private Date createTime;
    private String ds;
    private Boolean virtual;

    @Id
    @GeneratedValue
    public Long getId() {
        return id;
    }

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

    public Boolean getVirtual() {
        return virtual;
    }

    public void setVirtual(Boolean virtual) {
        this.virtual = virtual;
    }

    public String getProduct() {
        return product;
    }

    public void setProduct(String product) {
        this.product = product;
    }

    public String getMyBodyName() {
        return myBodyName;
    }

    public void setMyBodyName(String myBodyName) {
        this.myBodyName = myBodyName;
    }

    public String getMyBodyCode() {
        return myBodyCode;
    }

    public void setMyBodyCode(String myBodyCode) {
        this.myBodyCode = myBodyCode;
    }

    public String getCustomerBody() {
        return customerBody;
    }

    public void setCustomerBody(String customerBody) {
        this.customerBody = customerBody;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getContractCode() {
        return contractCode;
    }

    public void setContractCode(String contractCode) {
        this.contractCode = contractCode;
    }

    public String getContractType() {
        return contractType;
    }

    public void setContractType(String contractType) {
        this.contractType = contractType;
    }

    public String getStartDate() {
        return startDate;
    }

    public void setStartDate(String stratDate) {
        this.startDate = stratDate;
    }

    public String getEndDate() {
        return endDate;
    }

    public void setEndDate(String endDate) {
        this.endDate = endDate;
    }

    public Long getPriceLevel() {
        return priceLevel;
    }

    public void setPriceLevel(Long priceLevel) {
        this.priceLevel = priceLevel;
    }

    public Long getMoney() {
        return money;
    }

    public void setMoney(Long money) {
        this.money = money;
    }

    public Double getRebate() {
        return rebate;
    }

    public void setRebate(Double rebate) {
        this.rebate = rebate;
    }

    public Long getSale() {
        return sale;
    }

    public void setSale(Long sale) {
        this.sale = sale;
    }

    public String getPlatform() {
        return platform;
    }

    public void setPlatform(String platform) {
        this.platform = platform;
    }

    public Long getModifyAccount() {
        return modifyAccount;
    }

    public void setModifyAccount(Long modifyAccount) {
        this.modifyAccount = modifyAccount;
    }

    public Long getCreateAccount() {
        return createAccount;
    }

    public void setCreateAccount(Long createAccount) {
        this.createAccount = createAccount;
    }

    public Date getModifyTime() {
        return modifyTime;
    }

    public void setModifyTime(Date modifyTime) {
        this.modifyTime = modifyTime;
    }

    public Date getCreateTime() {
        return createTime;
    }

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

    public String getDs() {
        return ds;
    }

    public void setDs(String ds) {
        this.ds = ds;
    }

    public String getStatus() {
        return status;
    }

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

    public Long getPayMoney() {
        return payMoney;
    }

    public void setPayMoney(Long payMoney) {
        this.payMoney = payMoney;
    }

    public Long getInvoice() {
        return invoice;
    }

    public void setInvoice(Long invoice) {
        this.invoice = invoice;
    }

    public String getType() {
        return type;
    }

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

    public Boolean getOld() {
        return old;
    }

    public Long getExtraFlow() {
        return extraFlow;
    }

    public void setExtraFlow(Long extraFlow) {
        this.extraFlow = extraFlow;
    }

    public void setOld(Boolean old) {
        this.old = old;
    }

    @Transient
    public Long getPriceName() {
        return priceName;
    }

    public void setPriceName(Long priceName) {
        this.priceName = priceName;
    }

    @Transient
    public String getSaleName() {
        return saleName;
    }

    public void setSaleName(String saleName) {
        this.saleName = saleName;
    }
    @Transient
    public String getPriceLevelName() {
        return priceLevelName;
    }

    public void setPriceLevelName(String priceLevelName) {
        this.priceLevelName = priceLevelName;
    }

    public String getCreateName() {
        return createName;
    }

    public void setCreateName(String createName) {
        this.createName = createName;
    }

    @Override
    public String toString() {
        return "Contract{" +
                "id=" + id +
                ", product='" + product + '\'' +
                ", myBodyName='" + myBodyName + '\'' +
                ", myBodyCode='" + myBodyCode + '\'' +
                ", customerBody='" + customerBody + '\'' +
                ", email='" + email + '\'' +
                ", contractCode='" + contractCode + '\'' +
                ", contractType='" + contractType + '\'' +
                ", startDate='" + startDate + '\'' +
                ", endDate='" + endDate + '\'' +
                ", priceLevel=" + priceLevel +
                ", money=" + money +
                ", rebate=" + rebate +
                ", sale=" + sale +
                ", platform='" + platform + '\'' +
                ", status='" + status + '\'' +
                ", modifyAccount=" + modifyAccount +
                ", createAccount=" + createAccount +
                ", modifyTime=" + modifyTime +
                ", createTime=" + createTime +
                ", ds='" + ds + '\'' +
                '}';
    }
}