package com.ylx.massage.domain;
import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Date;
/**
 * 优惠券领取表(CouponReceive)表实体类
 *
 * @author makejava
 * @since 2024-05-14 11:25:44
 */

@Data
@TableName("coupon_receive")
public class CouponReceive implements Serializable {

    private static final long serialVersionUID = 1L;

    /** 主键 */
    @TableId(type = IdType.ASSIGN_ID)
    private String id;

    /** 发券人ID */
    private String issuerCouponId;

    /** 优惠券id */
    private String couponId;

    /** 优惠券类型 1-兑换券 2-折扣券 3-满减券 */
    private Integer couponType;

    /** 领取用户openID */
    private String receiveOpenId;

    /** 领取时间 */
    private LocalDateTime receiveTime;

    /** 领取人手机号 */
    private String receiveUserPhone;

    /** 有效期类型 1-固定日期范围, 2-领券后N天有效, 3-长期有效，4-三方赠送 */
    private Integer validityType;

    /** 有效期开始时间 */
    private Date validStartTime;

    /** 有效期结束时间 */
    private Date expirationTime;

    /** 有效天数 */
    private Integer validDays;

    /** 核销使用时间 */
    private LocalDateTime useTime;

    /** 优惠券状态 0:待使用 1:使用中 2:已完成 */
    private Integer couponStatus;

    /** 关联的订单ID */
    private String orderId;

    /** 订单类型 1-服务 2-商品 */
    private Integer orderType;

    /** 创建时间 */
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;

    /** 修改时间 */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;

    /** 是否删除 0否 1是 */
    @TableLogic
    private Integer isDelete;
}

