package com.xinelu.applet.vo.coupon;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.xinelu.manage.domain.coupon.Coupon;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 优惠券信息对象 coupon
 *
 * @author ZH
 * @date 2023-02-24
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class CouponVO extends Coupon implements Serializable {
    private static final long serialVersionUID = -4221286869238522896L;

    /**
     * 会员id
     */
    private Long patientId;

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

    /**
     * 会员用户优惠券领取记录表id
     */
    private Long patientCouponReceiveId;

    /**
     * 领取表领取方式
     */
    private String receiveSource;

    /**
     * 有效期开始时间，yyyy-MM-dd HH:mm:ss
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime expirationStartTime;

    /**
     * 有效期结束时间，yyyy-MM-dd HH:mm:ss
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime expirationEndTime;

    /**
     * 领取时间，yyyy-MM-dd HH:mm:ss
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime receiveTime;

    /**
     * 未使用：NOT_USED，已使用：USED，已过期：EXPIRED 待领取：WAIT_RECEIVE
     */
    private String useStatus;

    /**
     * 优惠券有效期，单位：天
     */
    private Integer couponReductionDays;
}
