package com.sqx.modules.activity.bo;

import com.sqx.modules.activity.dto.ActivityOfFullReductionDTO;
import com.sqx.modules.activity.dto.ActivityOfGlobalDiscountDTO;
import com.sqx.modules.activity.dto.ActivityOfTimeIntervalDTO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * 店铺活动bo
 *
 * @author : codingliang
 * @date : 2024-06-22 10:07
 */
@Data
public class ShopActivityBO {
    @ApiModelProperty(name = "活动id")
    private Long activityId;

    @ApiModelProperty(name = "商家活动id")
    private Long activityShopId;

    @ApiModelProperty(name = "店铺id")
    private Long shopId;

    @ApiModelProperty(name = "适用类型;1无限制、2仅针对第一次下单")
    private String suitType;

    @ApiModelProperty(name = "限制类型;1无限制、2数量限制")
    private String limitType;

    @ApiModelProperty(name = "限制数量;limit为2时该值不能为空，每天限制使用的数量")
    private Integer limitValue;

    @ApiModelProperty(name = "活动标题")
    private String title;

    @ApiModelProperty(name = "活动描述")
    private String content;

    @ApiModelProperty(name = "活动类型;1普通活动、2时段优惠、3满额优惠、4全场优惠")
    private String type;

    @ApiModelProperty(name = "活动开始时间")
    private Date startTime;

    @ApiModelProperty(name = "活动结束时间")
    private Date endTime;

    @ApiModelProperty(name = "活动配置;json字符串")
    private String config;

    @ApiModelProperty("优惠时段信息列表;type为2时该字段不为空")
    private List<ActivityOfTimeIntervalDTO> timeIntervalInfos;

    @ApiModelProperty("满减字段优惠;type为3时该字段不为空")
    private ActivityOfFullReductionDTO fullReductionInfo;

    @ApiModelProperty("全场优惠;type为4时该字段不为空")
    private ActivityOfGlobalDiscountDTO globalDiscountsInfo;
}
