package com.yuchen.saas.parking.api.dto.coupon;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * @Author 蔡文强
 * @Date 2023/5/25 15:56
 * @Description 领取优惠券传参
 */
@Data
public class PmgBatCouponReceiveDTO {

    @ApiModelProperty(name = "couponId", value = "优惠卡ID或者优惠活动ID")
    @NotNull(message = "优惠卡ID或者优惠活动ID不能为空")
    private Long couponId;

    @ApiModelProperty(name = "couponType", value = "优惠券类型(1:优惠卡 2:优惠活动)")
    @NotNull(message = "优惠券类型不能为空")
    private Integer couponType;

    @ApiModelProperty(name = "couponAmount", value = "优惠券金额(单位分)")
    @NotNull(message = "优惠券金额不能为空")
    private Integer couponAmount;

    @ApiModelProperty(name = "discountMode", value = "优惠方式(1:限免优惠 2:全免优惠)")
    @NotNull(message = "优惠方式不能为空")
    private Integer discountMode;

    //券有效期：自领取之日1日内有效
    @ApiModelProperty(name = "couponValidityType", value = "券有效期类型(1:领取后,第xx天内有效->提示:领取后,若优惠卡失效,优惠券未使用的话也同步失效 2:无时间限制)")
    @NotNull(message = "券有效期类型不能为空")
    private Integer couponValidityType;

    @ApiModelProperty(name = "days", value = "领取后，第xx天内有效")
    private Integer days;

    @ApiModelProperty(name = "qrCodeId", value = "优惠券发放ID")
    @NotNull(message = "优惠券发放ID不能为空")
    private Long qrCodeId;

    @ApiModelProperty(name = "grantPeopleId", value = "优惠券发放人员(平台级用户ID)")
    @NotNull(message = "优惠券发放人员不能为空")
    private Long grantPeopleId;

    @ApiModelProperty(name = "useCouponUserType", value = "领取对象用户类型(1:用户 2:车牌)")
    @NotNull(message = "领取对象用户类型不能为空")
    private Integer useCouponUserType;

    @ApiModelProperty(name = "receiver", value = "领取对象(手机号或者车牌号)")
    @NotBlank(message = "领取对象不能为空")
    private String receiver;

}
