package com.softwarebr.nunu.json.api.train;

import com.alibaba.fastjson.annotation.JSONField;
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;

/**
 * 发布活动
 */
@Data
@ApiModel
public class ActivityParam {

    @ApiModelProperty(value = "活动名称", required = true, example = "")
    @NotEmpty(message = "活动名称不能为空")
    private String name;

    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "报名开始时间", required = true, example = "")
    @NotNull(message = "请选择报名开始时间")
    private LocalDateTime signStartDate;

    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "报名结束时间", required = true, example = "")
    @NotNull(message = "请选择报名结束时间")
    private LocalDateTime signEndDate;

    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "活动开始时间", required = true, example = "")
    @NotNull(message = "请选择活动开始时间")
    private LocalDateTime startDate;

    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "活动结束时间", required = true, example = "")
    @NotNull(message = "请选择活动结束时间")
    private LocalDateTime endDate;

    @ApiModelProperty(value = "省份编号", required = true, example = "")
    @NotNull(message = "请选择省份")
    private Long provinceId;

    @ApiModelProperty(value = "城市编号", required = true, example = "")
    @NotNull(message = "请选择城市")
    private Long cityId;

    @ApiModelProperty(value = "区县编号", required = true, example = "")
    @NotNull(message = "请选择区县")
    private Long areaId;

    @ApiModelProperty(value = "上线人数", required = true, example = "")
    @NotNull(message = "上线人数不能为空")
    private Integer capacity;

    @ApiModelProperty(value = "活动类型(创新->1.沙龙会2.论坛3.讲座4.项目路演5.创新创业大赛6.私董会7.分享会 培训->1.讲座2.培训班3.研修班)", required = true, example = "")
    @NotNull(message = "请选择活动类型")
    private Integer type;

    @ApiModelProperty(value = "活动封面图", required = true, example = "")
    @NotEmpty(message = "请上传活动封面图")
    private String coverUri;

    @ApiModelProperty(value = "活动简介", required = true, example = "")
    @NotEmpty(message = "请输入活动简介")
    private String description;

    @ApiModelProperty(value = "活动信息", required = true, example = "")
    @NotEmpty(message = "请输入活动信息")
    private String information;

    @ApiModelProperty(value = "活动详情", required = true, example = "")
    private String detail;

}
