package com.cloudbillity.sendsms;

import java.util.ArrayList;
import java.util.List;

public class SmsRequest {
    //手机号列表
    private List<String> phones = new ArrayList<String>();
    //短信模版
    private SmsTemplate template;
    //模版参数
    private List<String> parameters = new ArrayList<String>();

    public List<String> getPhones() {
        return phones;
    }

    public void setPhones(List<String> phones) {
        this.phones = phones;
    }

    public SmsTemplate getTemplate() {
        return template;
    }

    public void setTemplate(SmsTemplate template) {
        this.template = template;
    }

    public List<String> getParameters() {
        return parameters;
    }

    public void setParameters(List<String> parameters) {
        this.parameters = parameters;
    }
    public String getSMSText() {
        String sms = "";
        switch (template) {
            case VerifyCode :
                sms = "【行云管家】您的验证码是:" + parameters.get(0) + "，该验证码将会在" +
                        parameters.get(1) + "分钟后过期。";
                break;
            case Session2FA :
                sms = "【行云管家】您正在尝试进行的操作已开启双因子认证，请在" + parameters.get(0) +
                        "分钟之内输入以下验证码：" + parameters.get(1) + "，如非本人操作，请确认您的账户安全。";
                break;
            case SystemUpgrade :
                sms = "【行云管家】尊敬的用户，行云管家将于" + parameters.get(0) +
                        "进行版本升级，届时将暂停服务，请大家提前做好准备，升级工作预计于" + parameters.get(1) +
                        "完成，给您带来不便，敬请谅解！";
                break;
            case MonitorAlert :
                sms = "【行云管家】您的" + parameters.get(0) + parameters.get(1) +
                        "由于" + parameters.get(2) + "而产生预警，请确认预警原因。";
                break;
            case CostAlert :
                sms = "【行云管家】您的云账户" + parameters.get(0) + "由于单日后付费资源消费大于" +
                        parameters.get(1) + "而产生预警，请确认预警原因。";
                break;
            case AlertRecover :
                sms = "【行云管家】您的" + parameters.get(0) + "“" + parameters.get(1) + "”" +
                        parameters.get(2) + "告警恢复，恢复时间：" + parameters.get(3) + "。";
                break;
            case SessionInvite :
                sms = "【行云管家】您的好友“" + parameters.get(0) + "”邀请您进入Ta的远程会话，请您访问：门户地址/sessionInvite.html，授权码：" + parameters.get(1) ;
                break;
            case PendingTaskWithoutCode :
                sms = "【行云管家】" + parameters.get(0) + "提交了" + parameters.get(1) + "：" + parameters.get(2) + "，请前往行云管家PC端" + parameters.get(3) + "团队“我的待办”中对当前审批进行处理";
                break;
            case PendingTask :
                sms = "【行云管家】" + parameters.get(0) + "提交了" + parameters.get(1) + "：" + parameters.get(2) + "，如果您同意请将验证码" + parameters.get(3) + "告知TA，不同意请直接忽略，详情请登录行云管家";
                break;
            case LoginCmdAudit :
                sms = "【行云管家】" + parameters.get(0) + "申请" + parameters.get(1) + "：" + parameters.get(2) + "，如果您同意请将验证码" + parameters.get(3) + "告知TA，不同意请直接忽略，详情请登录行云管家";
                break;
            case RemoteLogin :
                sms = "【行云管家】安全提醒：您的账户检测到来自" + parameters.get(0) + "(" + parameters.get(1) + "：）的异地登录行为。如非本人操作，意味着您的账户可能存在安全隐患";
                break;
            default :
                sms = "";
        }
        return sms;
    }
}