mitao
2025-03-14 392b42c4891cf2e6beda57ab32c51598f290f4b7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
package com.ruoyi.promotion.controller.management.dto;
 
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.enums.CouponTypeEnum;
import com.ruoyi.common.core.enums.DistributionMethodEnum;
import com.ruoyi.system.api.validate.InsertGroup;
import com.ruoyi.system.api.validate.UpdateGroup;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import lombok.Data;
 
/**
 * @author mitao
 * @date 2024/6/9
 */
@Data
@ApiModel(value = "管理后台-优惠券数据传输对象", description = "管理后台-优惠券数据传输对象")
public class MgtCouponDTO implements Serializable {
 
    private static final long serialVersionUID = 471073836029292058L;
    
    @ApiModelProperty(value = "优惠券id", notes = "添加不传,更新必传")
    @NotNull(message = "优惠券id不能为空", groups = {UpdateGroup.class})
    private Long id;
 
    @ApiModelProperty(value = "优惠券名称")
    @NotBlank(message = "优惠券名称不能为空", groups = {InsertGroup.class, UpdateGroup.class})
    private String couponName;
 
    @ApiModelProperty(value = "优惠券类型 1=满减券 2=代金券 3=折扣券")
    @NotNull(message = "优惠券类型不能为空", groups = {InsertGroup.class})
    private CouponTypeEnum couponType;
 
    @ApiModelProperty(value = "满减金额,例如:满100元")
    private BigDecimal fullReductionAmount;
 
    @ApiModelProperty(value = "减少金额,例如:减50元")
    private BigDecimal reductionAmount;
 
    @ApiModelProperty(value = "代金券金额,例如:50元")
    private BigDecimal voucherAmount;
 
    @ApiModelProperty(value = "折扣额度,例如:8折")
    private Double discountRate;
 
    @ApiModelProperty(value = "最高可抵扣金额,例如:200元")
    private BigDecimal maxDiscount;
 
    @ApiModelProperty(value = "优惠券说明")
    @NotBlank(message = "优惠券说明不能为空", groups = {InsertGroup.class, UpdateGroup.class})
    private String description;
 
    @ApiModelProperty(value = "有效期起")
    @NotNull(message = "有效期起不能为空", groups = {InsertGroup.class})
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime startDate;
 
    @ApiModelProperty(value = "有效期止")
    @NotNull(message = "有效期止不能为空", groups = {InsertGroup.class})
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime endDate;
 
    @ApiModelProperty(value = "发放方式 全部会员 指定会员等级 指定会员")
    @NotNull(message = "发放方式不能为空", groups = {InsertGroup.class})
    private DistributionMethodEnum distributionMethod;
 
    @ApiModelProperty(value = "会员等级,多等级以 , 隔开")
    private String memberLevel;
 
    @ApiModelProperty(value = "发放张数")
    @NotNull(message = "发放张数不能为空", groups = {InsertGroup.class})
    private Integer issuedQuantity;
 
    @ApiModelProperty(value = "会员id列表")
    private List<Long> memberIdList;
 
}