package com.platform.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

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


/**
 * 实体
 * 表名 nideshop_coupon
 *
 * @author lipengjun
 * @email 939961241@qq.com
 * @date 2017-08-19 12:53:26
 */
@Data
public class CouponEntity implements Serializable {
    private static final long serialVersionUID = 1L;

    //主键
    private Integer id;
    //优惠券名称
    private String name;
    //金额
    private BigDecimal typeMoney;
    //发放方式
    private Integer sendType;
    //最小金额
    private BigDecimal minAmount;
    //最大金额
    private BigDecimal maxAmount;
    //发放时间
    @JsonFormat(pattern = "yyyy.MM.dd")
    private Date sendStartDate;
    //发放时间
    @JsonFormat(pattern = "yyyy.MM.dd")
    private Date sendEndDate;
    //使用开始时间
    private Date useStartDate;
    //使用结束时间
    private Date useEndDate;
    //使用说明
    private String useDesc;
    //最小商品金额
    private BigDecimal minGoodsAmount;
    //最小转发次数
    private Integer minTransmitNum;
    //优惠券的使用状态: 1 可用 2 已用 3 过期
    private Integer couponStatus;
    //优惠券发行商家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 number;
    private Long receiveNumber;
    private Long usedNumber;

    private Integer useStatus;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date useTime;

    private String userName;

    private String userId;

    private Integer orderId;

    private String orderSn;

    private String couponSn;

    /**
     * 用户ID
     */
    private Long createUserId;
    /**
     * 用户ID
     */
    private Long createUserDeptId;
    /**
     * 用户ID
     */
    private Long updateUserId;


    public Long getCreateUserId() {
        return createUserId;
    }

    public void setCreateUserId(Long createUserId) {
        this.createUserId = createUserId;
    }

    public Long getCreateUserDeptId() {
        return createUserDeptId;
    }

    public void setCreateUserDeptId(Long createUserDeptId) {
        this.createUserDeptId = createUserDeptId;
    }

    public Long getUpdateUserId() {
        return updateUserId;
    }

    public void setUpdateUserId(Long updateUserId) {
        this.updateUserId = updateUserId;
    }

    public String getCouponSn() {
        return couponSn;
    }

    public void setCouponSn(String couponSn) {
        this.couponSn = couponSn;
    }

    public String getOrderSn() {
        return orderSn;
    }

    public void setOrderSn(String orderSn) {
        this.orderSn = orderSn;
    }

    public Integer getUseStatus() {
        return useStatus;
    }

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

    public Date getUseTime() {
        return useTime;
    }

    public void setUseTime(Date useTime) {
        this.useTime = useTime;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getUserId() {
        return userId;
    }

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

    public Integer getOrderId() {
        return orderId;
    }

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

    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 String getUseDesc() {
        return useDesc;
    }

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

    public Integer getCouponStatus() {
        return couponStatus;
    }

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

    public Integer getMinTransmitNum() {
        return minTransmitNum;
    }

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

    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 void setId(Integer id) {
        this.id = id;
    }

    /**
     * 获取：主键
     */
    public Integer getId() {
        return id;
    }

    /**
     * 设置：优惠券名称
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * 获取：优惠券名称
     */
    public String getName() {
        return name;
    }

    /**
     * 设置：金额
     */
    public void setTypeMoney(BigDecimal typeMoney) {
        this.typeMoney = typeMoney;
    }

    /**
     * 获取：金额
     */
    public BigDecimal getTypeMoney() {
        return typeMoney;
    }

    /**
     * 设置：发放方式
     */
    public void setSendType(Integer sendType) {
        this.sendType = sendType;
    }

    /**
     * 获取：发放方式
     */
    public Integer getSendType() {
        return sendType;
    }

    /**
     * 设置：最小金额
     */
    public void setMinAmount(BigDecimal minAmount) {
        this.minAmount = minAmount;
    }

    /**
     * 获取：最小金额
     */
    public BigDecimal getMinAmount() {
        return minAmount;
    }

    /**
     * 设置：最大金额
     */
    public void setMaxAmount(BigDecimal maxAmount) {
        this.maxAmount = maxAmount;
    }

    /**
     * 获取：最大金额
     */
    public BigDecimal getMaxAmount() {
        return maxAmount;
    }

    /**
     * 设置：发放时间
     */
    public void setSendStartDate(Date sendStartDate) {
        this.sendStartDate = sendStartDate;
    }

    /**
     * 获取：发放时间
     */
    public Date getSendStartDate() {
        return sendStartDate;
    }

    /**
     * 设置：发放时间
     */
    public void setSendEndDate(Date sendEndDate) {
        this.sendEndDate = sendEndDate;
    }

    /**
     * 获取：发放时间
     */
    public Date getSendEndDate() {
        return sendEndDate;
    }

    /**
     * 设置：使用开始时间
     */
    public void setUseStartDate(Date useStartDate) {
        this.useStartDate = useStartDate;
    }

    /**
     * 获取：使用开始时间
     */
    public Date getUseStartDate() {
        return useStartDate;
    }

    /**
     * 设置：使用结束时间
     */
    public void setUseEndDate(Date useEndDate) {
        this.useEndDate = useEndDate;
    }

    /**
     * 获取：使用结束时间
     */
    public Date getUseEndDate() {
        return useEndDate;
    }

    /**
     * 设置：最小商品金额
     */
    public void setMinGoodsAmount(BigDecimal minGoodsAmount) {
        this.minGoodsAmount = minGoodsAmount;
    }

    /**
     * 获取：最小商品金额
     */
    public BigDecimal getMinGoodsAmount() {
        return minGoodsAmount;
    }
}
