package com.ruoyi.system.domain;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.persistence.GeneratedValue;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 用户优惠券
 对象 vip_user_quanyi
 *
 * @author ruoyi
 * @date 2025-05-09
 */
@Data
@TableName(value = "vip_user_quanyi")
@EqualsAndHashCode(callSuper = false)
public class VipUserQuanyi
{
    private static final long serialVersionUID = 1L;

    @TableId(type = IdType.AUTO)
    @GeneratedValue
    /** $column.columnComment */
    private Long id;

    /**
     * 优惠券id
     */
    private Long quanyiId;
    /**
     * 用户id
     */

    private Long userId;

    /** 优惠方式：1 运费，2 订单 ,3 商品*/
    @Excel(name = "优惠方式：1 运费，2 订单 ,3 商品")
    private Long yhfangs;

    /** 优惠值，金额或折扣 */
    @Excel(name = "优惠值，金额或折扣")
    private BigDecimal yhnum;

    /** 优惠券名称 */
    @Excel(name = "优惠券名称")
    private String name;

    /** 说明 */
    @Excel(name = "说明")
    private String shuoming;

    /** 使用条件，0为无门槛，>0为消费满金额可用 */
    @Excel(name = "使用条件，0为无门槛，>0为消费满金额可用")
    private Long tiaojian;

    /** 优惠券有效时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "优惠券有效时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date validity;

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

    /** 是否已经使用：0 未使用，1已使用 */
    @Excel(name = "是否已经使用：0 未使用，1已使用")
    private String state;

    /** 门店id */
    @Excel(name = "门店id")
    private Long shId;

    /** 商品id */
    @Excel(name = "商品id")
    private Long spId;

    /** 语言 */
    @Excel(name = "语言")
    private String language;

    /** 海报 */
    @Excel(name = "海报")
    private String poster;

    private Date createTime;

    private Date updateTime;

    private String code;

    /**
     * 0 平台 1 商家
     */
    private String type;

    private String orderId;

    /**
     * 商家id
     */
    private Long merchantId;
}
