package com.ads.business.service.model.request;

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

import javax.validation.constraints.*;
import java.util.List;

/**
 * @Description 创建会话入参
 * @Author JJC
 * @Date 2021/11/19 9:15
 */
@Data
@ApiModel("创建会话入参")
public class ConversationAddRequest {

    /**
     * 会话名称
     */
    @NotBlank(message = "群名称不能为空")
    @ApiModelProperty(name = "群名称")
    private String conversationName;


    /**
     * 群主的手机号
     */
    @Pattern(regexp = "^[1][3,4,5,7,8,9][0-9]{9}$", message = "请输入正确的手机号")
    @ApiModelProperty(name = "群主手机号")
    private String ownerMobile;

    /**
     * 群成员手机号列表
     */
    @Size(min = 1)
    @Size(max = 40 , message = "每次最多支持40人")
    @ApiModelProperty(name = "群成员手机号列表")
    private List<String> mobileList;

    /**
     * 新成员是否可查看100条历史消息 1 可查看 0 不可查看
     */
    @Max(1)
    @Min(0)
    @ApiModelProperty(name = "新成员是否可查看100条历史消息 1 可查看 0 不可查看")
    private Integer showHistoryType;

    /**
     * 群是否可以被搜索：0（默认）：不可搜索 1：可搜索
     */
    @Max(1)
    @Min(0)
    @ApiModelProperty(name = "群是否可以被搜索：0（默认）：不可搜索 1：可搜索")
    private Integer searchable;

    /**
     * 入群是否需要验证：0（默认）：不验证 1：入群验证
     */
    @Max(1)
    @Min(0)
    @ApiModelProperty(name = "入群是否需要验证：0（默认）：不验证 1：入群验证")
    private Integer validationType;

    /**
     * @all 使用范围 0（默认）：所有人可使用 1：仅群主可@all
     */
    @Max(1)
    @Min(0)
    @ApiModelProperty(name = "@all 使用范围 0（默认）：所有人可使用 1：仅群主可@all")
    private Integer mentionAllAuthority;

    /**
     * 群管理类型：0（默认）：所有人可管理 1：仅群主可管理
     */
    @Max(1)
    @Min(0)
    @ApiModelProperty(name = "群管理类型：0（默认）：所有人可管理 1：仅群主可管理")
    private Integer managementType;

    /**
     * 是否开启群禁言：0（默认）：不禁言  1：全员禁言
     */
    @Max(1)
    @Min(0)
    @ApiModelProperty(name = "是否开启群禁言：0（默认）：不禁言  1：全员禁言")
    private Integer chatBannedType;

}
