package com.cpop.oam.business.bo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.List;

/**
 * @author DB
 * @version 1.0.0
 * @since 2024-04-10 14:41
 */
@Data
@Accessors(chain = true)
@ApiModel(value = "峰会报名请求参数")
public class SummitApplyBo {

    /**
     * 微信openId
     */
    @NotBlank(message = "微信openId不能为空")
    @ApiModelProperty(value = "微信openId",required = true)
    private String openId;

    /**
     * 机构名称
     */
    @NotBlank(message = "机构名称不能为空")
    @ApiModelProperty(value = "机构名称",required = true)
    private String storeName;

    /**
     * 牌匾号
     */
    @NotBlank(message = "牌匾号不能为空")
    @ApiModelProperty(value = "牌匾号",required = true)
    private String boardName;

    /**
     * 是否是会员
     */
    @ApiModelProperty(value = "是否是会员")
    private String isMember = "是";

    /**
     * 参会人数
     */
    @NotNull(message = "参会人数不能为空")
    @ApiModelProperty(value = "参会人数")
    private Integer joinNum;

    /**
     * 参会人员
     */
    @NotEmpty(message = "参会人员不能为空")
    @ApiModelProperty(value = "参会人员",required = true)
    private List<JoinUser> users;

    /**
     * 房间数
     */
    @ApiModelProperty(value = "房间数")
    private Integer roomNum;

    /**
     * 需要房间
     */
    @ApiModelProperty(value = "需要房间")
    private String needRoom = "是";

    /**
     * 参加晚宴
     */
    @ApiModelProperty(value = "参加晚宴")
    private String joinParty = "是";

    /**
     * 参加交流会
     */
    @ApiModelProperty(value = "参加交流会")
    private String joinMeeting = "是";

    @Data
    @ApiModel("参会人员信息")
    public static class JoinUser {

        /**
         * 姓名
         */
        @NotBlank(message = "姓名不能为空")
        @ApiModelProperty(value = "姓名",required = true)
        private String name;

        /**
         * 手机号
         */
        @NotBlank(message = "手机号不能为空")
        @ApiModelProperty(value = "手机号",required = true)
        private String phone;
    }
}
