package cn.iocoder.yudao.module.shop.entity;

import java.util.Date;
import java.util.List;
import java.util.Map;

import cn.iocoder.yudao.framework.tenant.core.db.TenantBaseDO;
import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import cn.iocoder.yudao.annotation.Excel;

/**
 * 优惠券对象 shop_coupon
 *
 * @author ruoyi
 * @date 2023-07-31
 */
@Data
public class ShopCoupon extends TenantBaseDO
{
    private static final long serialVersionUID = 1L;

    /** 优惠劵id */
    private Long couponId;
    private Long templateId;

    /** 类型 */
    @Excel(name = "类型")
    private String couponType;

    /** 代码 */
    @Excel(name = "代码")
    private String couponCode;
    private Long partnerId;
    private String allPlatform;


    /** 绑定模块 */
    @Excel(name = "绑定模块")
    private String bindMoudle;

    /** 洗车或保养的商品id */
    @Excel(name = "洗车或保养的商品id")
    private String bindGoodsIds;

    /** 抵扣金额 分 */
    @Excel(name = "抵扣金额 分")
    private Long discount;

    /** 过期时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "过期时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date expirationTime;

    /** 开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开始时间")
    private Date startTime;

    /** 使用时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "使用时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date useTime;

    /** 状态 */
    @Excel(name = "状态")
    private String couponStatus;

    private String title;

    private Long userId;

    private Long orderId;

    private String phonenumber;
    private String carNum;
    @TableField(exist = false)
    private Long paramsGoodId;
    @TableField(exist = false)
    private List<AdminUserDO> selectUserIds;

    @Excel(name = "用户姓名")
    private String realName;

    @TableField(exist = false)
    private Map<String,Object> params;


}
