package com.platform.entity;

import com.fasterxml.jackson.annotation.JsonFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date;


/**
 * @author lipengjun
 * @email 939961241@qq.com
 * @date 2017-08-15 08:03:41
 */
public class CouponVo implements Serializable {
    private static final long serialVersionUID = 1L;

    // 优惠券主键
    private Integer id;
    // 用户优惠券主键
    private Integer userCouponId;
    //优惠券名称
    private String name;
    //金额
    private BigDecimal typeMoney;
    //发放方式 0：按订单发放 1：按用户发放 2:商品转发送券 3：按商品发放 4:新用户注册 5：线下发放 6评价好评红包（固定或随机红包） 7包邮
    private Integer sendType;
    //最小金额
    private BigDecimal minAmount;
    //最大金额
    private BigDecimal maxAmount;
    //发放时间
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date sendStartDate;
    //发放时间
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date sendEndDate;
    //使用开始时间
    @JsonFormat(pattern = "yyyy.MM.dd")
    private LocalDateTime useStartDate;
    //使用结束时间
    @JsonFormat(pattern = "yyyy.MM.dd")
    private LocalDateTime useEndDate;
    //最小商品金额
    private BigDecimal minGoodsAmount;
    //优惠券使用说明
    private String useDesc;
    //优惠券会员Id
    private String userId;
    //优惠券编码
    private String couponNumber;
    //可用 1:可用 0：不可用
    private Integer enabled = 0;
    //是否已经领取 1:已经领取 0：未领取
    private Integer hasReceived = 0;
    //转发次数
    private Integer minTransmitNum;
    //优惠券状态 1 可用 2 已用 3 过期
    private Integer couponStatus = 1;
    //优惠券的使用状态
    private Integer useStatus;

    //优惠券发行商家ID
    private Integer brandId;
    //优惠券发行商家名称
    private String brandName;
    //是否删除0->已经删除 ; 1->未删除
    private Integer enable;
    //创建时间
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;
    //最新修改时间
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime;

    private Long receiveNumber;
    private Long usedNumber;
    private Long number;

    public Long getNumber() {
        return number;
    }

    public void setNumber(Long number) {
        this.number = number;
    }

    public Long getReceiveNumber() {
        return receiveNumber;
    }

    public void setReceiveNumber(Long receiveNumber) {
        this.receiveNumber = receiveNumber;
    }

    public Long getUsedNumber() {
        return usedNumber;
    }

    public void setUsedNumber(Long usedNumber) {
        this.usedNumber = usedNumber;
    }

    public Integer getUseStatus() {
        return useStatus;
    }

    public void setUseStatus(Integer useStatus) {
        this.useStatus = useStatus;
    }

    public Integer getHasReceived() {
        return hasReceived;
    }

    public void setHasReceived(Integer hasReceived) {
        this.hasReceived = hasReceived;
    }

    public Integer getEnable() {
        return enable;
    }

    public void setEnable(Integer enable) {
        this.enable = enable;
    }

    public LocalDateTime getCreateTime() {
        return createTime;
    }

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

    public LocalDateTime getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(LocalDateTime updateTime) {
        this.updateTime = updateTime;
    }

    public Integer getBrandId() {
        return brandId;
    }

    public void setBrandId(Integer brandId) {
        this.brandId = brandId;
    }

    public String getBrandName() {
        return brandName;
    }

    public void setBrandName(String brandName) {
        this.brandName = brandName;
    }

    public Integer getUserCouponId() {
        return userCouponId;
    }

    public void setUserCouponId(Integer userCouponId) {
        this.userCouponId = userCouponId;
    }

    public Integer getCouponStatus() {
        return couponStatus;
    }

    public void setCouponStatus(Integer couponStatus) {
        this.couponStatus = couponStatus;
    }

    public Integer getId() {
        return id;
    }

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

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public BigDecimal getTypeMoney() {
        return typeMoney;
    }

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

    public Integer getSendType() {
        return sendType;
    }

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

    public BigDecimal getMinAmount() {
        return minAmount;
    }

    public void setMinAmount(BigDecimal minAmount) {
        this.minAmount = minAmount;
    }

    public BigDecimal getMaxAmount() {
        return maxAmount;
    }

    public void setMaxAmount(BigDecimal maxAmount) {
        this.maxAmount = maxAmount;
    }

    public Date getSendStartDate() {
        return sendStartDate;
    }

    public void setSendStartDate(Date sendStartDate) {
        this.sendStartDate = sendStartDate;
    }

    public Date getSendEndDate() {
        return sendEndDate;
    }

    public void setSendEndDate(Date sendEndDate) {
        this.sendEndDate = sendEndDate;
    }

    public LocalDateTime getUseStartDate() {
        return useStartDate;
    }

    public void setUseStartDate(LocalDateTime useStartDate) {
        this.useStartDate = useStartDate;
    }

    public LocalDateTime getUseEndDate() {
        return useEndDate;
    }

    public void setUseEndDate(LocalDateTime useEndDate) {
        this.useEndDate = useEndDate;
    }

    public BigDecimal getMinGoodsAmount() {
        return minGoodsAmount;
    }

    public void setMinGoodsAmount(BigDecimal minGoodsAmount) {
        this.minGoodsAmount = minGoodsAmount;
    }

    public String getUseDesc() {
        return useDesc;
    }

    public void setUseDesc(String useDesc) {
        this.useDesc = useDesc;
    }

    public String getUserId() {
        return userId;
    }

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

    public String getCouponNumber() {
        return couponNumber;
    }

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

    public Integer getEnabled() {
        return enabled;
    }

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

    public Integer getMinTransmitNum() {
        return minTransmitNum;
    }

    public void setMinTransmitNum(Integer minTransmitNum) {
        this.minTransmitNum = minTransmitNum;
    }
}
