package com.template.model.pojo;

import com.baomidou.mybatisplus.annotation.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.Version;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import java.util.List;

import com.template.model.vo.UserVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 *
 * </p>
 *
 * @author ceshi
 * @since 2024-11-27
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="AlumniActivity对象", description="")
public class AlumniActivity implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "主键ID")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @ApiModelProperty(value = "组织ID")
    private Integer orgId;

    @ApiModelProperty(value = "组织名称")
    private String orgName;

    @ApiModelProperty(value = "活动主题")
    private String theme;

    @ApiModelProperty(value = "活动详情")
    private String themeDetail;

    @ApiModelProperty(value = "活动开始时间")
    private Date startTime;

    @ApiModelProperty(value = "活动结束时间")
    private Date endTime;

    @ApiModelProperty(value = "活动海报")
    private String poster;

    @ApiModelProperty(value = "活动地址")
    private String address;

    @ApiModelProperty(value = "经度")
    private Double lng;

    @ApiModelProperty(value = "维度")
    private Double lat;

    @ApiModelProperty(value = "参与说明")
    private String describes;

    @ApiModelProperty(value = "报名开始时间")
    private Date signsTime;

    @ApiModelProperty(value = "报名结束时间")
    private Date signeTime;

    @ApiModelProperty(value = "报名总人数")
    private Integer totalNumber;

    @ApiModelProperty(value = "已报名数据集合")
    @TableField(exist = false)
    private List<UserVo> reportDatas;

    @ApiModelProperty(value = "已签到数据集合")
    @TableField(exist = false)
    private List<UserVo> signinDatas;

    @ApiModelProperty(value = "活动照片数据集合")
    @TableField(exist = false)
    private List<String> images;

    @ApiModelProperty(value = "报名范围   全部：1  组织成员：2")
    private Integer scope;

    @ApiModelProperty(value = "咨询方式 如果未填代入活动发起人电话")
    private String phone;

    @ApiModelProperty(value = "是否可上传照片 是：1 否：2")
    private Integer isImage;

    @ApiModelProperty(value = "审核员ID 多个审核员用逗号隔开  这个审核员是设定的管理员")
    private String applyUser;

    @ApiModelProperty(value = "审核员名称 多个管理员用逗号隔开")
    private String applyUserAdmin;

    @ApiModelProperty(value = "是否审核通过  待审核：1  通过：2  拒绝：3")
    private Integer isPass;

    @ApiModelProperty(value = "审核时间")
    private Date passTime;

    @ApiModelProperty(value = "审核意见")
    private String passValue;

    @ApiModelProperty(value = "创建时间")
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;

    @ApiModelProperty(value = "更新时间")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;

    @ApiModelProperty(value = "创建人员")
    @TableField(fill = FieldFill.INSERT)
    private String createUser;

    @ApiModelProperty(value = "更新人员")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private String updateUser;

    @ApiModelProperty(value = "逻辑删除 未删除：0；删除：1")
    @TableField(fill = FieldFill.INSERT)
    @TableLogic
    private Integer deleted;


}
