package com.lightinit.hsdataplatform.model.admin;

import com.lightinit.hsdataplatform.annotation.FieldDescriber;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;

public class APIPublishSettingModel {

    private Long id ;

    //发布信息ID
    private Long publishInfoId;
    //计费方式
    private String chargeMethod;
    //套餐名称
    private String packageName;
    //套餐价格
    private BigDecimal packagePrice;
    //套餐月数
    private Long packageMonths;
    //成本
    private BigDecimal selfCost;
    //购买次数限制
    private Long buyTimesLimit;
    //使用次数限制
    private Long useTimesLimit;
    //生效日期
    @DateTimeFormat(pattern="yyyy-MM-dd")
    private Date effectiveDate;
    //失效日期
    @DateTimeFormat(pattern="yyyy-MM-dd")
    private Date expiriedDate;
    //套餐说明
    private String description;

    public Long getDeleteById() {
        return deleteById;
    }

    public void setDeleteById(Long deleteById) {
        this.deleteById = deleteById;
    }

    private Long deleteById;
    private Long badge ;

    public Long getPublishInfoId() {
        return publishInfoId;
    }

    public void setPublishInfoId(Long publishInfoId) {
        this.publishInfoId = publishInfoId;
    }

    public String getChargeMethod() {
        return chargeMethod;
    }

    public void setChargeMethod(String chargeMethod) {
        this.chargeMethod = chargeMethod;
    }

    public String getPackageName() {
        return packageName;
    }

    public void setPackageName(String packageName) {
        this.packageName = packageName;
    }

    public BigDecimal getPackagePrice() {
        return packagePrice;
    }

    public void setPackagePrice(BigDecimal packagePrice) {
        this.packagePrice = packagePrice;
    }

    public Long getPackageMonths() {
        return packageMonths;
    }

    public void setPackageMonths(Long packageMonths) {
        this.packageMonths = packageMonths;
    }

    public BigDecimal getSelfCost() {
        return selfCost;
    }

    public void setSelfCost(BigDecimal selfCost) {
        this.selfCost = selfCost;
    }

    public Long getBuyTimesLimit() {
        return buyTimesLimit;
    }

    public void setBuyTimesLimit(Long buyTimesLimit) {
        this.buyTimesLimit = buyTimesLimit;
    }

    public Long getUseTimesLimit() {
        return useTimesLimit;
    }

    public void setUseTimesLimit(Long useTimesLimit) {
        this.useTimesLimit = useTimesLimit;
    }

    public Date getEffectiveDate() {
        return effectiveDate;
    }

    public void setEffectiveDate(Date effectiveDate) {
        this.effectiveDate = effectiveDate;
    }

    public Date getExpiriedDate() {
        return expiriedDate;
    }

    public void setExpiriedDate(Date expiriedDate) {
        this.expiriedDate = expiriedDate;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public Long getBadge() {
        return badge;
    }

    public void setBadge(Long badge) {
        this.badge = badge;
    }

    public Long getId() {
        return id;
    }

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