
package com.tmerclub.cloud.group.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.ToString;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 拼团活动表DTO
 *
 * @author YXF
 * @date 2021-03-20 10:39:31
 */
@Data
@ToString
public class GroupActivityDTO implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;
    @Schema(description = "拼团活动id")
    private Long groupActivityId;

    @Schema(description = "店铺id")
    private Long shopId;

    @Schema(description = "店铺名称")
    private String shopName;

    @Schema(description = "活动名称")
    private String activityName;

    @Schema(description = "活动开始时间（活动状态：未开始、经行中、已结束）")
    private Date startTime;

    @Schema(description = "活动结束时间（活动状态：未开始、经行中、已结束）")
    private Date endTime;

    @Schema(description = "成团人数")
    private Integer groupNumber;

    @Schema(description = "商品是否限购（1:限购、0:不限购）")
    private Integer hasMaxNum;

    @Schema(description = "限购数量")
    private Integer maxNum;

    @Schema(description = "是否模拟成团（1:模拟参团、0:不模拟）")
    private Integer hasRobot;

    @Schema(description = "活动是否预热")
    private Integer isPreheat;

    @Schema(description = "是否开启凑团模式（1:凑团、0:不凑团）")
    private Integer hasGroupTip;

    @Schema(description = "商品id")
    private Long spuId;

    @Schema(description = "拼团状态(-1:删除、0:未启用、1:启用、2:违规下架、3:等待审核 4:已失效 5:已结束)")
    private Integer status;

    @Schema(description = "商品价格（sku最低价）")
    private Long price;

    @Schema(description = "团购sku")
    private List<GroupSkuDTO> groupSkuList;

    @Schema(description = "店铺id列表")
    private List<Long> shopIds;

    @Schema(description = "商品名称")
    private String spuName;

    @Schema(description = "商品id列表")
    private List<Long> spuIds;

    public String getShopName() {
        return shopName;
    }

    public void setShopName(String shopName) {
        this.shopName = shopName;
    }

    public List<Long> getShopIds() {
        return shopIds;
    }

    public void setShopIds(List<Long> shopIds) {
        this.shopIds = shopIds;
    }

    public Long getGroupActivityId() {
        return groupActivityId;
    }

    public void setGroupActivityId(Long groupActivityId) {
        this.groupActivityId = groupActivityId;
    }

    public Long getShopId() {
        return shopId;
    }

    public void setShopId(Long shopId) {
        this.shopId = shopId;
    }

    public String getActivityName() {
        return activityName;
    }

    public void setActivityName(String activityName) {
        this.activityName = activityName;
    }

    public Date getStartTime() {
        return startTime;
    }

    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    public Date getEndTime() {
        return endTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    public Integer getGroupNumber() {
        return groupNumber;
    }

    public void setGroupNumber(Integer groupNumber) {
        this.groupNumber = groupNumber;
    }

    public Integer getHasMaxNum() {
        return hasMaxNum;
    }

    public void setHasMaxNum(Integer hasMaxNum) {
        this.hasMaxNum = hasMaxNum;
    }

    public Integer getMaxNum() {
        return maxNum;
    }

    public void setMaxNum(Integer maxNum) {
        this.maxNum = maxNum;
    }

    public Integer getHasRobot() {
        return hasRobot;
    }

    public void setHasRobot(Integer hasRobot) {
        this.hasRobot = hasRobot;
    }

    public Integer getIsPreheat() {
        return isPreheat;
    }

    public void setIsPreheat(Integer isPreheat) {
        this.isPreheat = isPreheat;
    }

    public Integer getHasGroupTip() {
        return hasGroupTip;
    }

    public void setHasGroupTip(Integer hasGroupTip) {
        this.hasGroupTip = hasGroupTip;
    }

    public Long getSpuId() {
        return spuId;
    }

    public void setSpuId(Long spuId) {
        this.spuId = spuId;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public List<GroupSkuDTO> getGroupSkuList() {
        return groupSkuList;
    }

    public void setGroupSkuList(List<GroupSkuDTO> groupSkuList) {
        this.groupSkuList = groupSkuList;
    }

    public Long getPrice() {
        return price;
    }

    public void setPrice(Long price) {
        this.price = price;
    }

    public String getSpuName() {
        return spuName;
    }

    public void setSpuName(String spuName) {
        this.spuName = spuName;
    }

    public List<Long> getSpuIds() {
        return spuIds;
    }

    public void setSpuIds(List<Long> spuIds) {
        this.spuIds = spuIds;
    }

    @Override
    public String toString() {
        return "GroupActivityDTO{" +
                "groupActivityId=" + groupActivityId +
                ", shopId=" + shopId +
                ", shopName='" + shopName + '\'' +
                ", activityName='" + activityName + '\'' +
                ", startTime=" + startTime +
                ", endTime=" + endTime +
                ", groupNumber=" + groupNumber +
                ", hasMaxNum=" + hasMaxNum +
                ", maxNum=" + maxNum +
                ", hasRobot=" + hasRobot +
                ", isPreheat=" + isPreheat +
                ", hasGroupTip=" + hasGroupTip +
                ", spuId=" + spuId +
                ", status=" + status +
                ", price=" + price +
                ", groupSkuList=" + groupSkuList +
                ", shopIds=" + shopIds +
                ", prodName='" + spuName + '\'' +
                ", spuIds=" + spuIds +
                '}';
    }
}
