package com.xindazhou.business.dal.community.dataobject.activity;

import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.xindazhou.framework.mybatis.core.dataobject.BaseDO;
import lombok.*;

import java.time.LocalDateTime;

/**
 * 社区活动 DO
 *
 * @author xindazhou
 */
@TableName("community_activity")
@KeySequence("community_activity_seq")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ActivityDO extends BaseDO {

    /**
     * 活动ID
     */
    @TableId
    private Long id;

    /**
     * 活动编号
     */
    private String activityId;

    /**
     * 活动名称
     */
    private String name;

    /**
     * 活动类型：1-线上活动，2-线下活动
     */
    private Integer type;

    /**
     * 状态：0-未开始，1-进行中，2-已结束
     */
    private Integer status;

    /**
     * 封面图URL
     */
    private String coverUrl;

    /**
     * 活动地点（线下活动）
     */
    private String location;

    /**
     * 活动开始时间
     */
    private LocalDateTime startTime;

    /**
     * 活动结束时间
     */
    private LocalDateTime endTime;

    /**
     * 报名开始时间
     */
    private LocalDateTime registerStartTime;

    /**
     * 报名结束时间
     */
    private LocalDateTime registerEndTime;

    /**
     * 发送对象
     */
    private String recipients;

    /**
     * 报名积分
     */
    private Integer registerPoints;

    /**
     * 活动内容（富文本）
     */
    private String content;

    /**
     * 实际报名人数
     */
    private Integer registerCount;

    /**
     * 虚拟报名人数
     */
    private Integer virtualRegisterCount;

}

