package com.ruoyi.system.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
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;

import java.math.BigDecimal;
import java.util.Date;

/**
 * quanyi对象 vip_quanyi
 *
 * @author ruoyi
 * @date 2023-06-06
 */
@Data
@TableName(value = "vip_quanyi")
@EqualsAndHashCode(callSuper = false)
public class VipQuanyi
{
    private static final long serialVersionUID = 1L;

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

    /** 是否会员可用（0是，1否） */
    @Excel(name = "是否会员可用", readConverterExp = "0=是，1否")
    private Long vip;

    /** 优惠方式：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为无门槛，&gt;0为消费满金额可用 */
    @Excel(name = "使用条件，0为无门槛，&gt;0为消费满金额可用")
    private Long tiaojian;

    /** 每月会员可用次数 */
    @Excel(name = "每月会员可用次数")
    private Long num;

    /**
     * 优惠券总数
     */
    private Long total;

    /**
     * 优惠券有效期（天）
     */
    private int validity;

    /**
     * 每人领取限制
     */
    private int lqxz;

    /**
     * 状态 0 开启 1 关闭
     */
    private String state;

    /**
     * 店铺id
     */
    private Long shId;

    /**
     * 商品id
     */
    private Long spId;

    /**
     * 已领取数量
     */
    private Long claimedCount;
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date createTime;

    private Date updateTime;

    private String deleted;

    private String language;

    /**
     * 海报
     */
    private String poster;

    private Long version;

    /**
     *  是否还能编辑
     */
    @TableField(exist = false)
    private boolean isEdit;

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

    /**
     * 商家id
     */
    private Long merchantId;
    @TableField(exist = false)
    @Excel(name = "商家名称")
    private String merchantName;

    @TableField(exist = false)
    @Excel(name = "店铺名称")
    private String storeName;
    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("vip", getVip())
            .append("yhfangs", getYhfangs())
            .append("yhnum", getYhnum())
            .append("name", getName())
            .append("shuoming", getShuoming())
            .append("tiaojian", getTiaojian())
            .append("num", getNum())
            .toString();
    }
}
