puzhibing
2026-05-11 b2ff9dd285dcc9ec6b91e69bb9222515c1208d12
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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
package com.xiaopeng.api.model.operation;
 
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.xiaopeng.common.core.web.domain.BaseModel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.Value;
import lombok.experimental.Accessors;
 
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;
 
/**
 * <p>
 * 活动策略配置
 * </p>
 *
 * @author mitao
 * @since 2026-04-20
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("xp_acticity_strategy")
@ApiModel(value="XpActicityStrategy对象", description="活动策略配置")
public class XpActicityStrategy extends BaseModel {
 
    @ApiModelProperty(value = "主键")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
 
    @ApiModelProperty(value = "活动id")
    private Integer actitcityId;
 
    @ApiModelProperty(value = "策略名称")
    private String name;
 
    @ApiModelProperty(value = "发放规则(1=每日循环发放,2=仅发放一次,3=使用后发放)")
    private Integer distributionRules;
 
    @ApiModelProperty(value = "每日循环发放时间")
    private String distributionTime;
 
    @ApiModelProperty(value = "发放规则json,[]=本券使用后循环发放, [1,2,3]=指定优惠券使用后发放(优惠券id数组)")
    @TableField(typeHandler = JacksonTypeHandler.class)
    private List<Long> distributionAfterUse;
 
    @ApiModelProperty(value = "生效规则(1=领取后生效,2=领取后指定日期生效)")
    private Integer effectiveRules;
 
    @ApiModelProperty(value = "领取后指定日期生效")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private LocalDate effectiveDays;
 
    @ApiModelProperty(value = "失效规则(1=次日0点失效,2=指定有效天数,3=指定日期失效)")
    private Integer expireRules;
 
    @ApiModelProperty(value = "有效天数")
    private Integer expireDays;
 
    @ApiModelProperty(value = "有效结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private LocalDate expireDate;
 
    @ApiModelProperty(value = "优惠券类型")
    private Integer CouponTypeId;
 
    @ApiModelProperty(value = "是否叠加使用(0=否,1=是)")
    private Integer stackedUsage;
 
    @ApiModelProperty(value = "叠加使用,不可超出总金额的百分比")
    private Integer repPercent;
 
    @ApiModelProperty(value = "使用时间段,时间字符串,开始和结束用,分割拼接成一个字符串,如果只有结束时间还是需要保持逗号,如:[',05:00:00']")
    @TableField(typeHandler = JacksonTypeHandler.class)
    private List<String> usagePeriod;
 
    @ApiModelProperty(value = "每人限领数量")
    private Integer limitNumber;
 
    @ApiModelProperty(value = "发放总数")
    private Integer distributionsTotal;
 
    @ApiModelProperty(value = "是否自动使用(0=不开启,1=冒泡发单时自动使用)")
    private Integer startUsing;
 
    @ApiModelProperty(value = "优惠券id数据")
    @TableField(exist = false)
    private List<Long> couponIds;
 
    @ApiModelProperty(value = "优惠券列表数据")
    @TableField(exist = false)
    private List<XpCoupon> couponList;
 
}