package com.yuchen.saas.message.api.vo;

import com.yuchen.saas.message.api.dto.PmgBatNoticeDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

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

/**
 * <p>
 * 公告/资讯列表Vo
 * </p>
 *
 * @author caiwq
 * @since 2024-02-23
 */
@Data
@ApiModel(value="PmgBatNoticeListVo对象", description="公告/资讯列表Vo")
public class PmgBatNoticeListVo {

    /**
     * 主键ID
     */
    @ApiModelProperty(name = "id", value = "主键ID")
    private Long id;
    /**
     * 类型(1:系统公告 2:管理区公告 3:组织公告 4:资讯)
     */
    @ApiModelProperty(name = "type", value = "类型(1:系统公告 2:管理区公告 3:组织公告 4:资讯)")
    private Integer type;
    /**
     * 管理区类型(1:园区 2:停车场 3:充电站)
     */
    @ApiModelProperty(name = "siteType", value = "管理区类型(1:园区 2:停车场 3:充电站)")
    private Integer siteType;
    /**
     * 管理区ID
     */
    @ApiModelProperty(name = "siteId", value = "管理区ID")
    private Long siteId;
    /**
     * 管理区名称
     */
    @ApiModelProperty(name = "siteName", value = "管理区名称")
    private String siteName;
    /**
     * 所属客户ID
     */
    @ApiModelProperty(name = "customerId", value = "所属客户ID")
    private Long customerId;
    /**
     * 通知范围
     */
    @ApiModelProperty(name = "noticeScope", value = "通知范围")
    private String noticeScope;
    /**
     * 公告/资讯类型ID
     */
    @ApiModelProperty(name = "noticeTypeId", value = "公告/资讯类型ID")
    private Long noticeTypeId;
    /**
     * 通知配图
     */
    @ApiModelProperty(name = "noticeImage", value = "通知配图")
    private String noticeImage;
    /**
     * 通知标题
     */
    @ApiModelProperty(name = "noticeTitle", value = "通知标题")
    private String noticeTitle;
    /**
     * 详细内容
     */
    @ApiModelProperty(name = "noticeContent", value = "详细内容")
    private String noticeContent;
    /**
     * 通知摘要
     */
    @ApiModelProperty(name = "noticeSummary", value = "通知摘要")
    private String noticeSummary;
    /**
     * 发布类型(1:自动发布 2:手动发布)
     */
    @ApiModelProperty(name = "publishType", value = "发布类型(1:自动发布 2:手动发布)")
    private Integer publishType;
    /**
     * 发布状态(1:未发布 2:已发布 3:已关闭)
     */
    @ApiModelProperty(name = "publishStatus", value = "发布状态(1:未发布 2:已发布 3:已关闭)")
    private Integer publishStatus;
    /**
     * 发布平台appId
     */
    @ApiModelProperty(name = "appId", value = "发布平台appId")
    private String appId;
    /**
     * 是否弹窗通知(0:否 1:是)
     */
    @ApiModelProperty(name = "isPopUp", value = "是否弹窗通知(0:否 1:是)")
    private Integer isPopUp;
    /**
     * 弹窗频率(1:发布期间仅弹窗一次 2:发布期间每天进入仅弹窗一次 3:发布期间每次进入都弹窗)
     */
    @ApiModelProperty(name = "popUpFrequency", value = "弹窗频率(1:发布期间仅弹窗一次 2:发布期间每天进入仅弹窗一次 3:发布期间每次进入都弹窗)")
    private Integer popUpFrequency;
    /**
     * 弹窗位置
     */
    @ApiModelProperty(name = "popUpLocation", value = "弹窗位置")
    private Integer popUpLocation;
    /**
     * 是否置顶(0:否 1:是)
     */
    @ApiModelProperty(name = "isPopUp", value = "是否置顶(0:否 1:是)")
    private Integer isTop;
    /**
     * 创建人
     */
    @ApiModelProperty(name = "createUserStr", value = "创建人")
    private String createUserStr;
    /**
     * 创建时间
     */
    @ApiModelProperty(name = "createTime", value = "创建时间")
    private Date createTime;
    /**
     * 结束日期
     */
    @ApiModelProperty(name = "endTime", value = "结束日期")
    private Date endTime;
    /**
     * 通知人员列表
     */
    @ApiModelProperty(name = "userInfoList", value = "通知人员列表")
    private List<PmgBatNoticeDto.UsersInfo> userInfoList = new ArrayList<>();

}
