package com.srs.staff.domain;

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

import com.fasterxml.jackson.annotation.JsonFormat;
import com.srs.common.annotation.Excel;
import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import com.srs.common.core.domain.BaseEntity;

/**
 * 一站式社区模块-社区活动对象 srs_staff_one_stop_community_activities
 *
 * @author chc
 * @date 2024-07-16
 */
@Data
@EqualsAndHashCode(callSuper = true)
@NoArgsConstructor
@AllArgsConstructor
@Builder
@ApiModel(value = "SrsStaffOneStopCommunityActivities对象", description = "一站式社区模块-社区活动")
@TableName("srs_staff_one_stop_community_activities")
public class SrsStaffOneStopCommunityActivities extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 社区活动id
     */
    @ApiModelProperty("社区活动id")
    @TableField("activity_id")
    private Long activityId;

    /**
     * 活动主题
     */
    @ApiModelProperty("活动主题")
    @TableField("activity_theme")
    @Excel(name = "活动主题")
    private String activityTheme;

    /**
     * 容纳人数
     */
    @ApiModelProperty("容纳人数")
    @TableField("galleryful")
    @Excel(name = "容纳人数")
    private Long galleryful;

    /**
     * 活动地点
     */
    @ApiModelProperty("活动地点")
    @TableField("activity_place")
    @Excel(name = "活动地点")
    private String activityPlace;

    /**
     * 发布状态
     */
    @ApiModelProperty("发布状态 0发布 1未发布")
    @TableField("publish_status")
    @Excel(name = "发布状态")
    private Long publishStatus;

    /**
     * 活动状态
     */
    @ApiModelProperty("活动状态 0进行中 1报名中 2结束")
    @TableField("activity_status")
    @Excel(name = "活动状态")
    private Long activityStatus;

    /**
     * 报名开始时间
     */
    @ApiModelProperty("报名开始时间")
    @TableField("sign_up_start_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "报名开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date signUpStartTime;

    /**
     * 报名结束时间
     */
    @ApiModelProperty("报名结束时间")
    @TableField("sign_up_end_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "报名结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date signUpEndTime;

    /**
     * 活动开始时间
     */
    @ApiModelProperty("活动开始时间")
    @TableField("activity_start_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "活动开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date activityStartTime;

    /**
     * 活动结束时间
     */
    @ApiModelProperty("活动结束时间")
    @TableField("activity_end_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "活动结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date activityEndTime;

    /**
     * 具体要求
     */
    @ApiModelProperty("具体要求")
    @TableField("specific_requirements")
    @Excel(name = "具体要求")
    private String specificRequirements;

    /**
     * 报名成功提示
     */
    @ApiModelProperty("报名成功提示")
    @TableField("sign_up_prompt")
    @Excel(name = "报名成功提示")
    private String signUpPrompt;

    /**
     * 活动结束反馈
     */
    @ApiModelProperty("活动结束反馈")
    @TableField("feedback")
    @Excel(name = "活动结束反馈")
    private String feedback;

    /**
     * 活动发起人
     */
    @ApiModelProperty("活动发起人")
    @TableField("event_promoter")
    @Excel(name = "活动发起人")
    private String eventPromoter;

    /**
     * 活动结束反馈图片
     */
    @ApiModelProperty("活动结束反馈图片")
    @TableField("feedback_imgs")
    @Excel(name = "活动结束反馈图片")
    private String feedbackImgs;

    /**
     * 活动图片
     */
    @ApiModelProperty(value = "活动图片")
    @TableField("activity_imgs")
    @Excel(name = "活动图片")
    private String activityImgs;


    /**
     * 活动图片
     */
    @ApiModelProperty(value = "活动压缩文件")
    @TableField("active_package")
    @Excel(name = "活动压缩文件")
    private String activePackage;

    /**
     * 社区活动-报名记录
     */
    @ApiModelProperty(value = "社区活动-报名记录", hidden = true)
    @Excel(name = "社区活动-报名记录")
    private List<SrsStaffOneStopRegistrationRecord> oneStopRegistrationRecords;
}
