package com.kmall.api.entity;

import com.fasterxml.jackson.annotation.JsonFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;


/**
 * @author Scott
 * @email
 * @date 2017-08-15 08:03:41
 */
public class UserCouponVo implements Serializable {
    private static final long serialVersionUID = 1L;

    //主键
    private Long id;
    //优惠券Id
    private Long storeTopicId;
    //优惠券名称
    private String couponName;
    //优惠券数量
    private String couponNumber;
    //会员Id
    private Long userId;
    //使用时间
    private Date usedTime;
    //领取时间
    @JsonFormat(pattern = "yyyy.MM.dd")
    private Date addTime;
    //订单Id
    private Long orderId;
    //来源key
    private String sourceKey;
    //分享人
    private Long referrer;
    //是否需要显示 0：未显示 1：已显示
    private Integer showState = 0;
    //发放方式 0：按订单发放 1：按用户发放(通用优惠券，用户点击领取) 2:商品转发送券 3：按商品发放 4:新用户注册 5：线下发放 6评价好评红包（固定或随机红包） 7包邮（不入会员优惠券表）
    private Integer sendType;
    //最小商品金额
//    private BigDecimal min_goods_amount;
    //过期时间
    @JsonFormat(pattern = "yyyy.MM.dd")
    private Date endTime;
    //金额
    private BigDecimal typeMoney;
    //可用 1:可用 0：不可用
    private String enabled = "1";

    private String isAll;

    private String couponUrl;

    private String isUsed;

    private String merchSn;

    private String advImgUrl;

    private String dicountName;

    private Date createTime;

    private Date modTime;

    private Boolean selectTicket;

    private String applyType;
    /**
     * 优惠类型，【tick_disc_type，00:代金券，01:折扣券，02:兑换券】
     */
    private String tickDiscType;

    private String goodsBizType;
    //生效时间
    @JsonFormat(pattern = "yyyy.MM.dd")
    private Date validTime;

    private List<Integer> goodsList;

    public List<Integer> getGoodsList() {
        return goodsList;
    }

    public void setGoodsList(List<Integer> goodsList) {
        this.goodsList = goodsList;
    }

    public Date getValidTime() {
        return validTime;
    }

    public void setValidTime(Date validTime) {
        this.validTime = validTime;
    }

    public String getGoodsBizType() {
        return goodsBizType;
    }

    public void setGoodsBizType(String goodsBizType) {
        this.goodsBizType = goodsBizType;
    }

    public String getTickDiscType() {
        return tickDiscType;
    }

    public void setTickDiscType(String tickDiscType) {
        this.tickDiscType = tickDiscType;
    }

    public String getApplyType() {
        return applyType;
    }

    public void setApplyType(String applyType) {
        this.applyType = applyType;
    }

    public Boolean getSelectTicket() {
        return selectTicket;
    }

    public void setSelectTicket(Boolean selectTicket) {
        this.selectTicket = selectTicket;
    }

    public Date getCreateTime() {
        return createTime;
    }

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

    public Date getModTime() {
        return modTime;
    }

    public void setModTime(Date modTime) {
        this.modTime = modTime;
    }

    public String getAdvImgUrl() {
        return advImgUrl;
    }

    public void setAdvImgUrl(String advImgUrl) {
        this.advImgUrl = advImgUrl;
    }

    public String getDicountName() {
        return dicountName;
    }

    public void setDicountName(String dicountName) {
        this.dicountName = dicountName;
    }

    public String getMerchSn() {
        return merchSn;
    }

    public void setMerchSn(String merchSn) {
        this.merchSn = merchSn;
    }

    public String getIsUsed() {
        return isUsed;
    }

    public void setIsUsed(String isUsed) {
        this.isUsed = isUsed;
    }

    public String getCouponUrl() {
        return couponUrl;
    }

    public void setCouponUrl(String couponUrl) {
        this.couponUrl = couponUrl;
    }

    public String getIsAll() {
        return isAll;
    }

    public void setIsAll(String isAll) {
        this.isAll = isAll;
    }

    public Long getId() {
        return id;
    }

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

    public Long getStoreTopicId() {
        return storeTopicId;
    }

    public void setStoreTopicId(Long storeTopicId) {
        this.storeTopicId = storeTopicId;
    }

    public String getCouponName() {
        return couponName;
    }

    public void setCouponName(String couponName) {
        this.couponName = couponName;
    }

    public String getCouponNumber() {
        return couponNumber;
    }

    public void setCouponNumber(String couponNumber) {
        this.couponNumber = couponNumber;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public Date getUsedTime() {
        return usedTime;
    }

    public void setUsedTime(Date usedTime) {
        this.usedTime = usedTime;
    }

    public Date getAddTime() {
        return addTime;
    }

    public void setAddTime(Date addTime) {
        this.addTime = addTime;
    }

    public Long getOrderId() {
        return orderId;
    }

    public void setOrderId(Long orderId) {
        this.orderId = orderId;
    }

    public String getSourceKey() {
        return sourceKey;
    }

    public void setSourceKey(String sourceKey) {
        this.sourceKey = sourceKey;
    }

    public Long getReferrer() {
        return referrer;
    }

    public void setReferrer(Long referrer) {
        this.referrer = referrer;
    }

    public Integer getShowState() {
        return showState;
    }

    public void setShowState(Integer showState) {
        this.showState = showState;
    }

    public Integer getSendType() {
        return sendType;
    }

    public void setSendType(Integer sendType) {
        this.sendType = sendType;
    }

    public Date getEndTime() {
        return endTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    public BigDecimal getTypeMoney() {
        return typeMoney;
    }

    public void setTypeMoney(BigDecimal typeMoney) {
        this.typeMoney = typeMoney;
    }

    public String getEnabled() {
        return enabled;
    }

    public void setEnabled(String enabled) {
        this.enabled = enabled;
    }
}
