package com.xunmei.common.core.domain.edu.vo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.xunmei.common.core.domain.edu.domain.CoreEduTrainingTaskToUser;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

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

@Data
public class CoreEduTrainingTaskDetailVo {

    private int no;

    @JsonSerialize(using = com.fasterxml.jackson.databind.ser.std.ToStringSerializer.class)
    private Long id;

    @ApiModelProperty(value = "教育培训计划Id")
    private Long planId;

    @ApiModelProperty(value = "机构")
    private Long orgId;

    @ApiModelProperty(value = "机构名称")
    private String orgName;

    @ApiModelProperty(value = "学习主题")
    private String title;

    /**
     * @see com.xunmei.common.core.enums.edu.EduTrainingDoStatus
     * 类型
     */
    @ApiModelProperty(value = "类型")
    private Integer type;

    @ApiModelProperty(value = "类型名称")
    private String typeText;


    @ApiModelProperty(value = "主持人")
    private Long hostId;


    @ApiModelProperty(value = "主持人名称")
    private String hostName;


    @TableField("recorder_id")
    @ApiModelProperty(value = "记录人")
    private Long recorderId;


    @ApiModelProperty(value = "记录人名称")
    private String recorderName;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "计划任务开始日期")
    private Date startDate;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "计划任务截止日期")
    private Date endDate;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "培训开始时间")
    private Date trainingStartDateTime;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "培训截止时间")
    private Date trainingEndDateTime;

    @TableField("content")
    @ApiModelProperty(value = "内容")
    private String content;


    @TableField("note")
    @ApiModelProperty(value = "总结")
    private String note;

    @TableField("image_list")
    @ApiModelProperty(value = "图片")
    private String imageList;


    @ApiModelProperty(value = "任务用户信息", notes = "1:参与人员,2:缺席人员")
    private List<CoreEduTrainingTaskToUser> taskUserList;

}
