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_registration_record
 *
 * @author chc
 * @date 2024-07-16
 */
@Data
@EqualsAndHashCode(callSuper = true)
@NoArgsConstructor
@AllArgsConstructor
@Builder
@ApiModel(value = "SrsStaffOneStopRegistrationRecord对象", description = "一站式社区模块-社区活动-报名记录")
@TableName("srs_staff_one_stop_registration_record")
public class SrsStaffOneStopRegistrationRecord extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 报名记录id
     */
    @ApiModelProperty("报名记录id")
    @TableField("record_id")
    private Long recordId;

    /**
     * 社区活动id
     */
    @ApiModelProperty(value = "社区活动id", required = true)
    @TableField("activity_id")
    @Excel(name = "社区活动id")
    private Long activityId;

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


    /**
     * 发起人
     */
    @ApiModelProperty(value = "发起人", required = true)
    @TableField("initiator")
    @Excel(name = "发起人")
    private String initiator;

    /**
     * 报名人
     */
    @ApiModelProperty(value = "报名人", required = true)
    @TableField("applicant")
    @Excel(name = "报名人")
    private String applicant;

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

    /**
     * 审核状态
     */
    @ApiModelProperty("审核状态")
    @TableField("audit_status")
    @Excel(name = "审核状态")
    private Long auditStatus;

    /**
     * 工号\学号
     */
    @ApiModelProperty("工号\\学号")
    @TableField("job_number")
    @Excel(name = "工号\\学号")
    private String jobNumber;

    /**
     * 工号\学号
     */
    @ApiModelProperty("当前报名人数")
    @TableField("job_number")
    @Excel(name = "当前报名人数")
    private Long numberApplicants;

    /**
     * 社区活动
     */
    @ApiModelProperty(value = "社区活动", hidden = true)
    @Excel(name = "社区活动")
    private List<SrsStaffOneStopCommunityActivities> communityActivitiesList;

    @TableField(exist = false)
    private Long[] recordIds;

}
