
package com.tmerclub.cloud.user.model;

import com.tmerclub.cloud.common.model.BaseModel;

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

/**
 * 弹窗广告
 * @author TRACK
 */
public class CostPerPopup extends BaseModel implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 弹窗广告id
     */
    private Long popupId;

    /**
     * 店铺id
     */
    private Long shopId;

    /**
     * 弹窗名称
     */
    private String popupName;

    /**
     * 状态  1.未开始 2.投放中 3.已结束
     */
    private Integer status;

    /**
     * 触发页面类型 1.平台首页 2.会员中心 3.支付成功 4.店铺首页 5.商品详情
     */
    private Integer pageType;

    /**
     * 弹窗图片
     */
    private String popupPic;

    /**
     * 跳转页面
     */
    private String jumpUrl;

    /**
     * 推送用户类型 0.所有用户 1.免费会员 2.付费会员 3.店铺客户
     */
    private Integer userType;

    /**
     * 推送开始时间
     */
    private Date startTime;

    /**
     * 推送结束时间
     */
    private Date endTime;

    /**
     * 推送频次 0.永久一次 1.每次进入 2.自定义频次
     */
    private Integer pushFrequency;

    /**
     * 按x天推送
     */
    private Integer dayFrequency;

    /**
     * 按周推送 eg. 1,2 代表周日，周一
     */
    private String weekFrequency;

    /**
     * 关联商品id列表
     */
    private List<Long> spuIds;

    /**
     * 关联会员等级id列表
     */
    private List<Long> userLevelIds;

    public Long getPopupId() {
        return popupId;
    }

    public void setPopupId(Long popupId) {
        this.popupId = popupId;
    }

    public Long getShopId() {
        return shopId;
    }

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

    public String getPopupName() {
        return popupName;
    }

    public void setPopupName(String popupName) {
        this.popupName = popupName;
    }

    public Integer getStatus() {
        return status;
    }

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

    public Integer getPageType() {
        return pageType;
    }

    public void setPageType(Integer pageType) {
        this.pageType = pageType;
    }

    public String getPopupPic() {
        return popupPic;
    }

    public void setPopupPic(String popupPic) {
        this.popupPic = popupPic;
    }

    public String getJumpUrl() {
        return jumpUrl;
    }

    public void setJumpUrl(String jumpUrl) {
        this.jumpUrl = jumpUrl;
    }

    public Integer getUserType() {
        return userType;
    }

    public void setUserType(Integer userType) {
        this.userType = userType;
    }

    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 getPushFrequency() {
        return pushFrequency;
    }

    public void setPushFrequency(Integer pushFrequency) {
        this.pushFrequency = pushFrequency;
    }

    public Integer getDayFrequency() {
        return dayFrequency;
    }

    public void setDayFrequency(Integer dayFrequency) {
        this.dayFrequency = dayFrequency;
    }

    public String getWeekFrequency() {
        return weekFrequency;
    }

    public void setWeekFrequency(String weekFrequency) {
        this.weekFrequency = weekFrequency;
    }

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

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

    public List<Long> getUserLevelIds() {
        return userLevelIds;
    }

    public void setUserLevelIds(List<Long> userLevelIds) {
        this.userLevelIds = userLevelIds;
    }

    @Override
    public String toString() {
        return "CostPerPopup{" +
                "popupId=" + popupId +
                ", shopId=" + shopId +
                ", popupName='" + popupName + '\'' +
                ", status=" + status +
                ", pageType=" + pageType +
                ", popupPic='" + popupPic + '\'' +
                ", jumpUrl='" + jumpUrl + '\'' +
                ", userType=" + userType +
                ", startTime=" + startTime +
                ", endTime=" + endTime +
                ", pushFrequency=" + pushFrequency +
                ", dayFrequency=" + dayFrequency +
                ", weekFrequency='" + weekFrequency + '\'' +
                ", spuIds=" + spuIds +
                ", userLevelIds=" + userLevelIds +
                '}';
    }
}
