package cn.iocoder.yudao.module.system.dal.dataobject.biz;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;

/**
 * 月度活动执行计划记录 DO
 *
 * @author 系统管理员
 */
@TableName("elderly_activity_execution_record")
@KeySequence("elderly_activity_execution_record_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ActivityExecutionRecordDO{

    /**
     * 主键ID
     */
    @TableId
    private Long id;
    /**
     * 活动ID
     */
    @Schema(description = "活动ID")
    private Long activityId;
    /**
     * 实际参与人数
     */
    @Schema(description = "实际参与人数")
    private Integer number;

    /**
     * 报名人数
     */
    @Schema(description = "报名人数")
    private Integer applicantsNumber;

    /**
     * 活动记录
     */
    @Schema(description = "活动记录")
    private String activityRecord;
    /**
     * 活动图片
     */
    @Schema(description = "活动图片")
    private String activityImages;
    /**
     * 活动附件
     */
    @Schema(description = "活动附件")
    private String files;
    /**
     * 活动亮点
     */
    @Schema(description = "活动亮点")
    private String highlights;
    /**
     * 活动不足
     */
    @Schema(description = "活动不足")
    private String underactivity;
    /**
     * 是否成功，0：失败 1：成功
     */
    @Schema(description = "是否成功，0：失败 1：成功")
    private Integer isSuccess;
    /**
     * 原因
     */
    @Schema(description = "原因")
    private String reason;
    /**
     * 参与人员
     */
    @Schema(description = "参与人员id")
    private String participantIds;
    /**
     * 创建人
     */
    private String createdBy;
    /**
     * 创建时间
     */
    private LocalDateTime createdTime;

    private Long tenantId;

    /**
     * 参加长者列表
     */
    @TableField(exist = false)
    @Schema(description = "参加长者列表")
    private List<ElderlyInfoDO> participantList;

    @TableField(exist = false)
    @Schema(description = "物品列表")
    private List<ActivityItemPurchaseDO> items;
}