package cn.axzo.msg.center.api.request;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.HashMap;
import java.util.Map;

/**
 * 发送消息请求
 * @Author: LiuYang
 * @Date: 2021/5/20 18:12
 */
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Data
public class SendMessageRequestDto {

  /** 请求号 */
  @NotBlank(message = "request no must not be null")
  private String requestNo;

  /** 应用接入码 */
  @NotBlank(message = "app code must not be null")
  private String appCode;

  /** 短信模板号 */
  @NotBlank(message = "template no must not be null")
  private String templateNo;

  /** 电话号码 */
  @NotBlank(message = "phone no must not be null")
  private String phoneNo;

  /** 短信模板变更 */
  @NotNull(message = "params must not be null")
  private Map<String, Object> params = new HashMap<>();

  /**
   * 扩展参数.
   * 指定渠道为高新政务: String expansion = "{\"assign_channel\": \"regulatory_gaoxin\"}";
   * 不指定渠道时, 使用默认渠道 (当前为阿里云)
   * <p/> 这个是很早之前就有的字段了, 不确定是否有其它人在使用, 因此保留为String类型
   */
  private String expansion;

}