package com.fs.live.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fs.common.annotation.Excel;
import com.fs.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 优惠券领取对象 live_coupon_issue
 *
 * @author fs
 * @date 2025-09-30
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class LiveCouponIssue extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String couponName;

    /** 优惠券ID */
    @Excel(name = "优惠券ID")
    private Long couponId;

    /** 优惠券类型 0-通用 1-商品券 */
    @Excel(name = "优惠券类型 0-通用 1-商品券")
    private Integer couponType;

    /** 优惠券领取开启时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "优惠券领取开启时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startTime;

    /** 优惠券领取结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "优惠券领取结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date limitTime;

    /** 优惠券领取数量 */
    @Excel(name = "优惠券领取数量")
    private Long totalCount;

    /** 优惠券剩余领取数量 */
    @Excel(name = "优惠券剩余领取数量")
    private Long remainCount;

    /** 是否无限张数 */
    @Excel(name = "是否无限张数")
    private Integer isPermanent;

    /** 1 正常 0 未开启 -1 已无效 */
    @Excel(name = "1 正常 0 未开启 -1 已无效")
    private Integer status;

    /** $column.columnComment */
    @Excel(name = "1 正常 0 未开启 -1 已无效")
    private Integer isDel;

    private BigDecimal couponPrice;
    private BigDecimal useMinPrice;
    private Long couponTime;

}
