package com.ylx.massage.domain.vo;

import com.ylx.massage.domain.Coupon;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

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

/**
 * @author jianlong
 * @date 2024-05-14 17:48
 */
@Data
@ApiModel(value = "CouponReceiveVo" ,description = "优惠券vo")
public class CouponReceiveVo{

    /**
     * 主键id
     */
    @ApiModelProperty("id")
    private String id;

    /**
     * 用户openId
     */
    @ApiModelProperty("用户openId")
    private String openid;

    /**
     * 优惠券id
     */
    @ApiModelProperty("优惠券id")
    private String couponId;

    /**
     * 优惠券名称
     */
    private String couponName;

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

    /**
     * 优惠券状态 0：待使用,1：使用中 2：已使用 3：已失效
     */
    private Integer couponStatus;

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

    /**
     * 开始时间
     */
    private Date validStartTime;

    /**
     * 过期时间
     */
    @ApiModelProperty("过期时间")
    private Date expirationTime;

    /**
     * 过期时间
     */
    @ApiModelProperty("过期时间String")
    private String expirationTimeString;

    /**
     * 门槛金额(分): 满X元生效，适用于满减/折扣
     */
    private BigDecimal ruleMinSpendAmount;

    /**
     * 折扣率: 如0.80表示8折，仅折扣券使用
     */
    private BigDecimal ruleDiscountRate;

    /**
     * 折扣封顶金额(分): 折扣最高优惠
     */
    private BigDecimal ruleDiscountCapAmount;

    /**
     * 满减金额(分): 仅满减券使用
     */
    private BigDecimal ruleReductionAmount;
}
