package io.jpress.model.base;

import com.jfinal.plugin.activerecord.IBean;
import io.jpress.base.BaseOptionsModel;

/**
 * Generated by JPress, do not modify this file.
 */
@SuppressWarnings("serial")
public abstract class BaseCoupon<M extends BaseCoupon<M>> extends BaseOptionsModel<M> implements IBean {

    private static final long serialVersionUID = 1L;

	public void setId(java.lang.Long id) {
		set("id", id);
	}

	public java.lang.Long getId() {
		return getLong("id");
	}

    /**
     * 例如：无门槛50元优惠券 | 单品最高减2000元'
     */
	public void setTitle(java.lang.String title) {
		set("title", title);
	}

    /**
     * 例如：无门槛50元优惠券 | 单品最高减2000元'
     */
	public java.lang.String getTitle() {
		return getStr("title");
	}

	public void setIcon(java.lang.String icon) {
		set("icon", icon);
	}

	public java.lang.String getIcon() {
		return getStr("icon");
	}

    /**
     * 1满减券  2叠加满减券  3无门槛券  
     */
	public void setType(java.lang.Integer type) {
		set("type", type);
	}

    /**
     * 1满减券  2叠加满减券  3无门槛券  
     */
	public java.lang.Integer getType() {
		return getInt("type");
	}

    /**
     * 满多少金额
     */
	public void setWithAmount(java.math.BigDecimal withAmount) {
		set("with_amount", withAmount);
	}

    /**
     * 满多少金额
     */
	public java.math.BigDecimal getWithAmount() {
		return get("with_amount");
	}

    /**
     * 会员可用
     */
	public void setWithMember(java.lang.Boolean withMember) {
		set("with_member", withMember);
	}

    /**
     * 会员可用
     */
	public java.lang.Boolean getWithMember() {
		return get("with_member");
	}

    /**
     * 是否是推广奖励券
     */
	public void setWithAward(java.lang.Boolean withAward) {
		set("with_award", withAward);
	}

    /**
     * 是否是推广奖励券
     */
	public java.lang.Boolean getWithAward() {
		return get("with_award");
	}

    /**
     * 是不是只有领取人可用，如果不是，领取人可以随便给其他人用
     */
	public void setWithOwner(java.lang.Boolean withOwner) {
		set("with_owner", withOwner);
	}

    /**
     * 是不是只有领取人可用，如果不是，领取人可以随便给其他人用
     */
	public java.lang.Boolean getWithOwner() {
		return get("with_owner");
	}

    /**
     * 是否多人可用，如果是，拥有者可用分享给任何人
     */
	public void setWithMulti(java.lang.Boolean withMulti) {
		set("with_multi", withMulti);
	}

    /**
     * 是否多人可用，如果是，拥有者可用分享给任何人
     */
	public java.lang.Boolean getWithMulti() {
		return get("with_multi");
	}

    /**
     * 优惠券金额
     */
	public void setAmount(java.math.BigDecimal amount) {
		set("amount", amount);
	}

    /**
     * 优惠券金额
     */
	public java.math.BigDecimal getAmount() {
		return get("amount");
	}

    /**
     * 奖励金额，大咖可以使用自己的优惠码推广用户，用户获得优惠，大咖获得奖励金额
     */
	public void setAwardAmount(java.math.BigDecimal awardAmount) {
		set("award_amount", awardAmount);
	}

    /**
     * 奖励金额，大咖可以使用自己的优惠码推广用户，用户获得优惠，大咖获得奖励金额
     */
	public java.math.BigDecimal getAwardAmount() {
		return get("award_amount");
	}

    /**
     * 配额：发券数量
     */
	public void setQuota(java.lang.Long quota) {
		set("quota", quota);
	}

    /**
     * 配额：发券数量
     */
	public java.lang.Long getQuota() {
		return getLong("quota");
	}

    /**
     * 已领取的优惠券数量
     */
	public void setTakeCount(java.lang.Long takeCount) {
		set("take_count", takeCount);
	}

    /**
     * 已领取的优惠券数量
     */
	public java.lang.Long getTakeCount() {
		return getLong("take_count");
	}

    /**
     * 已使用的优惠券数量
     */
	public void setUsedCount(java.lang.Long usedCount) {
		set("used_count", usedCount);
	}

    /**
     * 已使用的优惠券数量
     */
	public java.lang.Long getUsedCount() {
		return getLong("used_count");
	}

    /**
     * 发放开始时间
     */
	public void setStartTime(java.util.Date startTime) {
		set("start_time", startTime);
	}

    /**
     * 发放开始时间
     */
	public java.util.Date getStartTime() {
		return get("start_time");
	}

    /**
     * 发放结束时间
     */
	public void setEndTime(java.util.Date endTime) {
		set("end_time", endTime);
	}

    /**
     * 发放结束时间
     */
	public java.util.Date getEndTime() {
		return get("end_time");
	}

    /**
     * 时效:1绝对时效（XXX-XXX时间段有效）  2相对时效（领取后N天有效）
     */
	public void setValidType(java.lang.Integer validType) {
		set("valid_type", validType);
	}

    /**
     * 时效:1绝对时效（XXX-XXX时间段有效）  2相对时效（领取后N天有效）
     */
	public java.lang.Integer getValidType() {
		return getInt("valid_type");
	}

    /**
     * 使用开始时间
     */
	public void setValidStartTime(java.util.Date validStartTime) {
		set("valid_start_time", validStartTime);
	}

    /**
     * 使用开始时间
     */
	public java.util.Date getValidStartTime() {
		return get("valid_start_time");
	}

    /**
     * 使用结束时间
     */
	public void setValidEndTime(java.util.Date validEndTime) {
		set("valid_end_time", validEndTime);
	}

    /**
     * 使用结束时间
     */
	public java.util.Date getValidEndTime() {
		return get("valid_end_time");
	}

    /**
     * 自领取之日起有效天数
     */
	public void setValidDays(java.lang.Integer validDays) {
		set("valid_days", validDays);
	}

    /**
     * 自领取之日起有效天数
     */
	public java.lang.Integer getValidDays() {
		return getInt("valid_days");
	}

    /**
     * 1生效 2失效 3已结束
     */
	public void setStatus(java.lang.Integer status) {
		set("status", status);
	}

    /**
     * 1生效 2失效 3已结束
     */
	public java.lang.Integer getStatus() {
		return getInt("status");
	}

    /**
     * 创建用户
     */
	public void setCreateUserId(java.lang.Long createUserId) {
		set("create_user_id", createUserId);
	}

    /**
     * 创建用户
     */
	public java.lang.Long getCreateUserId() {
		return getLong("create_user_id");
	}

	public void setOptions(java.lang.String options) {
		set("options", options);
	}

	public java.lang.String getOptions() {
		return getStr("options");
	}

	public void setCreated(java.util.Date created) {
		set("created", created);
	}

	public java.util.Date getCreated() {
		return get("created");
	}

	public void setModified(java.util.Date modified) {
		set("modified", modified);
	}

	public java.util.Date getModified() {
		return get("modified");
	}

}
