All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.huaweicloud.sdk.koomessage.v1.model.SmsTaskReq Maven / Gradle / Ivy

There is a newer version: 3.1.114
Show newest version
package com.huaweicloud.sdk.koomessage.v1.model;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;

import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import java.util.function.Consumer;

/**
 * SmsTaskReq
 */
public class SmsTaskReq {

    @JsonInclude(JsonInclude.Include.NON_NULL)
    @JsonProperty(value = "channel_num")

    private String channelNum;

    @JsonInclude(JsonInclude.Include.NON_NULL)
    @JsonProperty(value = "template_id")

    private String templateId;

    @JsonInclude(JsonInclude.Include.NON_NULL)
    @JsonProperty(value = "signature")

    private String signature;

    @JsonInclude(JsonInclude.Include.NON_NULL)
    @JsonProperty(value = "task_name")

    private String taskName;

    @JsonInclude(JsonInclude.Include.NON_NULL)
    @JsonProperty(value = "to")

    private List to = null;

    @JsonInclude(JsonInclude.Include.NON_NULL)
    @JsonProperty(value = "template_params")

    private List templateParams = null;

    @JsonInclude(JsonInclude.Include.NON_NULL)
    @JsonProperty(value = "extend")

    private String extend;

    public SmsTaskReq withChannelNum(String channelNum) {
        this.channelNum = channelNum;
        return this;
    }

    /**
     * 短信通道号。  > 模板所属签名的通道号,可以从“云消息服务KooMessage-管理控制台-短消息配置(国内)-短消息签名管理-通道号”中获取。未填写时默认取模板所属签名通道号。
     * @return channelNum
     */
    public String getChannelNum() {
        return channelNum;
    }

    public void setChannelNum(String channelNum) {
        this.channelNum = channelNum;
    }

    public SmsTaskReq withTemplateId(String templateId) {
        this.templateId = templateId;
        return this;
    }

    /**
     * 短信模板ID。  > 可以从“云消息服务KooMessage-管理控制台-短消息配置(国内)-短消息模板管理-模板ID”中获取。
     * @return templateId
     */
    public String getTemplateId() {
        return templateId;
    }

    public void setTemplateId(String templateId) {
        this.templateId = templateId;
    }

    public SmsTaskReq withSignature(String signature) {
        this.signature = signature;
        return this;
    }

    /**
     * 短信签名名称(暂不支持)。  > 签名名称,必须是已审核通过的,与模板类型一致的签名名称。 仅在template_id指定的模板类型为通用模板时生效且必填,用于指定在通用模板短信内容前面补充的签名。
     * @return signature
     */
    public String getSignature() {
        return signature;
    }

    public void setSignature(String signature) {
        this.signature = signature;
    }

    public SmsTaskReq withTaskName(String taskName) {
        this.taskName = taskName;
        return this;
    }

    /**
     * 发送任务名称。  > 不能为空白字符串,允许重复,为空时默认为Task_拼接当前时间值。
     * @return taskName
     */
    public String getTaskName() {
        return taskName;
    }

    public void setTaskName(String taskName) {
        this.taskName = taskName;
    }

    public SmsTaskReq withTo(List to) {
        this.to = to;
        return this;
    }

    public SmsTaskReq addToItem(String toItem) {
        if (this.to == null) {
            this.to = new ArrayList<>();
        }
        this.to.add(toItem);
        return this;
    }

    public SmsTaskReq withTo(Consumer> toSetter) {
        if (this.to == null) {
            this.to = new ArrayList<>();
        }
        toSetter.accept(this.to);
        return this;
    }

    /**
     * 短信接收方的号码。  所填号码可以不带+86,系统默认添加+86,最多允许携带500个号码。  示例:131****5678,+86155****6666。
     * @return to
     */
    public List getTo() {
        return to;
    }

    public void setTo(List to) {
        this.to = to;
    }

    public SmsTaskReq withTemplateParams(List templateParams) {
        this.templateParams = templateParams;
        return this;
    }

    public SmsTaskReq addTemplateParamsItem(String templateParamsItem) {
        if (this.templateParams == null) {
            this.templateParams = new ArrayList<>();
        }
        this.templateParams.add(templateParamsItem);
        return this;
    }

    public SmsTaskReq withTemplateParams(Consumer> templateParamsSetter) {
        if (this.templateParams == null) {
            this.templateParams = new ArrayList<>();
        }
        templateParamsSetter.accept(this.templateParams);
        return this;
    }

    /**
     * 短信模板参数,字符串数组,最多20个。  短信模板中的变量类型可以是:短链、电话号码、其他号码(验证码、订单号、密码等)、日期时间、金额、其他(名称、账号、地址等)。   数组中参数按短信模板中的变量顺序进行匹配,比如短信模板内容中按顺序有3个变量:${1}、${2}、${3},其中${1}表示手机号码,${2}表示短链,${3}表示日期,则sms_params传的是:[手机号码, 短链, 日期]。  - 电话号码:长度限制1-15个字符,可以传入手机号、座机号、95或400、800电话等。 - 其他号码:长度限制1-20个字符,不允许出现手机号、QQ号、微信号、URL等联系方式,仅支持大小写字母和数字组合。 - 时间:长度限制1-20个字符,日期格式:yyyyMMdd、yyyy-MM-dd、yyyy/MM/dd、yyyy年mm月dd日,时间格式:HH:mm:ss、HH:mm、HH点mm分、HH点mm。如果需要同时指定日期和时间,请在模板中填充两个变量,一个变量传入日期,另一个变量传入时间。 - 金额:长度限制1-20个字符,仅支持传入能够正常表达金额的数字、小数点或中文,例如壹、贰、叁、肆等,支持传入IP地址,例如:10.1.1.10。¥$等货币符号需要放在模板中,不支持变量传入。 - 其他:长度限制1-20个字符,可以设置为公司/产品/地址/姓名/内容/账号/会员名等。不允许出现QQ号/微信号(公众号)/手机号/网址/座机号等联系方式。如果确有需要,请将联系方式放入模板中,不允许在传入值中携带“.”(短链参数除外)、“。”、“'”、“<”、“>”、“{”或“}”。否则,可能导致模板变量解析异常。不允许在传入值中携带“.”,即不支持传入IP地址,如变量取值为IP地址,请申请模板时选择变量属性为“金额”。
     * @return templateParams
     */
    public List getTemplateParams() {
        return templateParams;
    }

    public void setTemplateParams(List templateParams) {
        this.templateParams = templateParams;
    }

    public SmsTaskReq withExtend(String extend) {
        this.extend = extend;
        return this;
    }

    /**
     * 扩展参数。  在状态报告中会原样返回。  不允许赋空值,不允许携带以下字符:“{”,“}”(即大括号)。
     * @return extend
     */
    public String getExtend() {
        return extend;
    }

    public void setExtend(String extend) {
        this.extend = extend;
    }

    @Override
    public boolean equals(java.lang.Object obj) {
        if (this == obj) {
            return true;
        }
        if (obj == null || getClass() != obj.getClass()) {
            return false;
        }
        SmsTaskReq that = (SmsTaskReq) obj;
        return Objects.equals(this.channelNum, that.channelNum) && Objects.equals(this.templateId, that.templateId)
            && Objects.equals(this.signature, that.signature) && Objects.equals(this.taskName, that.taskName)
            && Objects.equals(this.to, that.to) && Objects.equals(this.templateParams, that.templateParams)
            && Objects.equals(this.extend, that.extend);
    }

    @Override
    public int hashCode() {
        return Objects.hash(channelNum, templateId, signature, taskName, to, templateParams, extend);
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append("class SmsTaskReq {\n");
        sb.append("    channelNum: ").append(toIndentedString(channelNum)).append("\n");
        sb.append("    templateId: ").append(toIndentedString(templateId)).append("\n");
        sb.append("    signature: ").append(toIndentedString(signature)).append("\n");
        sb.append("    taskName: ").append(toIndentedString(taskName)).append("\n");
        sb.append("    to: ").append(toIndentedString(to)).append("\n");
        sb.append("    templateParams: ").append(toIndentedString(templateParams)).append("\n");
        sb.append("    extend: ").append(toIndentedString(extend)).append("\n");
        sb.append("}");
        return sb.toString();
    }

    /**
     * Convert the given object to string with each line indented by 4 spaces
     * (except the first line).
     */
    private String toIndentedString(java.lang.Object o) {
        if (o == null) {
            return "null";
        }
        return o.toString().replace("\n", "\n    ");
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy