package com.ningdatech.pmapi.meeting.entity.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;
import java.util.List;

/**
 * <p>
 * MeetingBasicDto
 * </p>
 *
 * @author WendyYang
 * @since 09:35 2022/7/26
 */
@Data
@ApiModel("会议基本信息")
public class MeetingBasicDTO {

    @NotNull(message = "是否是系统内部项目不能为空")
    @ApiModelProperty("是否是系统内部项目")
    private Boolean isInnerProject;

    @NotEmpty(message = "事务名称不能为空")
    @ApiModelProperty("事务名称")
    private String name;

    @NotEmpty(message = "事务类型不能为空")
    @ApiModelProperty("事务类型")
    private String type;

    @NotNull(message = "开始时间不能为空")
    @ApiModelProperty("开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime startTime;

    @NotNull(message = "评审耗时不能为空")
    @ApiModelProperty("评审耗时：1 半天、2 一天")
    private Integer meetingUsageTime;

    @NotNull(message = "评委出席时间不能为空")
    @ApiModelProperty("评委出席时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime judgesAttendanceTime;

    @NotEmpty(message = "评审地点不能为空")
    @ApiModelProperty("评审地点")
    private String meetingAddress;

    @NotEmpty(message = "联系人不能为空")
    @ApiModelProperty("联系人")
    private String connecter;

    @NotEmpty(message = "联系方式不能为空")
    @ApiModelProperty("联系方式")
    private String contact;

    @ApiModelProperty("内部项目ID")
    private List<Long> projectIdList;

    @ApiModelProperty("外部项目")
    private List<MeetingReviewProjectDTO> projects;

}
