package com.ruoyi.database.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 com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotBlank;
import java.math.BigDecimal;
import java.util.Date;

import java.util.List;


/**
 * 优惠卷基础信息表(BaseCouponInfo)
 *
 * @author hanrenchun
 * @since 2026-04-03 18:09:42
 */


@Data
@EqualsAndHashCode(callSuper = false)
@TableName(value = "base_coupon_info")
@ApiModel(value = "BaseCouponInfo", description = "优惠卷基础信息表")
public class BaseCouponInfo extends BaseEntity {
    /**
     * 主键
     */
    @ApiModelProperty("主键")
    @Excel(name = "主键")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;


    /**
     * 订单id
     */
    @ApiModelProperty("订单id")
    @Excel(name = "订单id")
    private String orderId;

    /**
     * 手机号
     */
    @ApiModelProperty("手机号")
    @Excel(name = "手机号")
    private String phone;

    /**
     * 用户id
     */
    @ApiModelProperty("用户id")
    @Excel(name = "用户id")
    private Long userId;


    @ApiModelProperty("领取状态")
    @Excel(name = "领取状态")
    private boolean receiveState;


    @ApiModelProperty("优惠金额")
    @Excel(name = "优惠金额")
    private BigDecimal discountAmount;

    @TableField(exist = false)
    private String discountAmountCn;

    @ApiModelProperty("订单金额")
    @Excel(name = "订单金额")
    private BigDecimal orderAmount;

    @TableField(exist = false)
    private String orderAmountCn;



    @ApiModelProperty("使用时间")
    @Excel(name = "使用时间")
    private Long useTime;
    @TableField(exist = false)
    private String useTimeCn;


    @ApiModelProperty("使用状态")
    @Excel(name = "使用状态")
    private Integer useState;
    @TableField(exist = false)
    private String useStateCn;



    @ApiModelProperty("领取时间")
    @Excel(name = "领取时间")
    private Long receiveTime;
    @TableField(exist = false)
    private String receiveTimeCn;


    @ApiModelProperty("车牌号")
    private String plateNo;


}
