<?php
/**
 * 腾讯云语音发送
 */
namespace app\modules\third\sms;

use yii;
use Qcloud\Sms\SmsSingleSender;
use Qcloud\Sms\TtsVoiceSender;
use app\modules\common\Helper;
class Smsvoice
{
    public $appid  = '1400302776';
    public $appkey  = 'fbe62fb332fc6e7ddbb48a842b943352';
    public $cacheMobile = "cacheMobilevoice:";
    public function getTemplate($tp_key = ''){
        $ret = 0;
        switch ($tp_key ) {
            case 'notice'://订单推送通知
                $ret = 547803;
                break;
            default:
                $ret = 0;
        }
        return $ret;
    }
    /**
     * [send 发送语音模板消息]
     * @method POST
     * @param  tp_code:模板 mobile:手机号
     * @return [type]                 [description]
     */
    public function send($param=[]){
        try {
            $phoneNumbers = $param['mobile'];
            $redis = Yii::$app->redis;
            //校验是否重复发送
            if($redis->exists($this->cacheMobile.$param['mobile'])){
                return true;
            }
            $templateId = $this->getTemplate($param['tp_code']);;
            $params = [];
            $tvsender = new TtsVoiceSender($this->appid, $this->appkey);
            $result = $tvsender->send("86", $phoneNumbers, $templateId, $params);
            $rsp = json_decode($result,true);
            if(isset($rsp['result']) && $rsp['result']==0){
                $redis->set($this->cacheMobile.$param['mobile'], $code, "EX", '300');
                return true;
            }else{
                return false;
            }
        } catch (\Exception $e) {
            return false;
        }
    }
}
