package com.yiqi.activity.domain.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.yiqi.common.annotation.Excel;
import com.yiqi.common.core.domain.BaseEntity;
import com.yiqi.common.core.domain.vo.SelectItemVO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

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

/**
 * 全场折扣活动对象 activity_discount_info
 *
 * @author xiaohei
 * @date 2023-09-11
 */
@Data
public class ActivityGroupInfoDTO
{
    private static final long serialVersionUID=1L;

    /** 主键ID */
    @ApiModelProperty("主键ID")

    private Long id;

    /** 标题 */
    @Excel(name = "标题")
    @ApiModelProperty("标题")
    private String title;

    /** 描述 */
    @Excel(name = "描述")
    @ApiModelProperty("描述")
    private String description;

    /** 宣传图片 */
    @Excel(name = "宣传图片")
    @ApiModelProperty("宣传图片")
    private String imgUrl;

    @Excel(name = "内容")
    @ApiModelProperty("内容")
    private String content;

    /** 开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("开始时间")
    private Date startDate;

    /** 结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("结束时间")
    private Date endDate;

    /** 状态（0=正常,1=停用） */
    @Excel(name = "状态", readConverterExp = "0==正常,1=停用")
    @ApiModelProperty("状态（0=正常,1=停用）")
    private String status;

    /** 是否可多张券使用 */
    @Excel(name = "是否可多张券使用")
    @ApiModelProperty("是否可多张券使用")
    private String canMultiUse;

    /** 一次订单最多可使用券数量 */
    @Excel(name = "一次订单最多可使用券数量")
    @ApiModelProperty("一次订单最多可使用券数量")
    private Long maxUseCount;

    /** 是否展示在app购买页 */
    @Excel(name = "是否展示在app购买页")
    @ApiModelProperty("是否展示在app购买页")
    private String isShowAppBuyPage;

    /** 是否展示在小程序购买页 */
    @Excel(name = "是否展示在小程序购买页")
    @ApiModelProperty("是否展示在小程序购买页")
    private String isShowWxBuyPage;

    /** 是否展示在小程序购买页（扫码进入） */
    @Excel(name = "是否展示在小程序购买页", readConverterExp = "扫=码进入")
    @ApiModelProperty("是否展示在小程序购买页（扫码进入）")
    private String isShowWxBuyPageFromQrcode;

    /** 活动最大可参与次数（0为不限制） */
    @Excel(name = "活动最大可参与次数", readConverterExp = "0=为不限制")
    @ApiModelProperty("活动最大可参与次数（0为不限制）")
    private Long maxBuyCount;

    /** 拼团价格 */
    @Excel(name = "拼团价格")
    @ApiModelProperty("拼团价格")
    private BigDecimal groupPrice;

    /** 拼团人数 */
    @Excel(name = "拼团人数")
    @ApiModelProperty("拼团人数")
    private Long groupNum;

    @ApiModelProperty("已选择的门店ID")
    private List<Long> selectStoreIds = new ArrayList<>();

    @ApiModelProperty("已选择的工厂ID")
    private List<Long> selectFactoryIds = new ArrayList<>();


}
