Completed
Pull Request — master (#22)
by lan tian
07:24
created

YunTongXunAgent::sendTemplateSms()   A

Complexity

Conditions 4
Paths 4

Size

Total Lines 21
Code Lines 14

Duplication

Lines 0
Ratio 0 %

Importance

Changes 6
Bugs 2 Features 1
Metric Value
c 6
b 2
f 1
dl 0
loc 21
rs 9.0534
cc 4
eloc 14
nc 4
nop 3
1
<?php
2
3
namespace Toplan\PhpSms;
4
5
use REST;
6
7
/**
8
 * Class YunTongXunAgent
9
 *
10
 * @property string $serverIP
11
 * @property string $serverPort
12
 * @property string $softVersion
13
 * @property string $accountSid
14
 * @property string $accountToken
15
 * @property string $appId
16
 */
17
class YunTongXunAgent extends Agent
18
{
19
    public function sendSms($tempId, $to, array $data, $content)
20
    {
21
        $this->sendTemplateSms($tempId, $to, $data);
22
    }
23
24
    public function sendTemplateSms($tempId, $to, array $data)
25
    {
26
        // 初始化REST SDK
27
        $rest = new REST(
28
            $this->serverIP,
29
            $this->serverPort,
30
            $this->softVersion
31
        );
32
        $rest->setAccount($this->accountSid, $this->accountToken);
33
        $rest->setAppId($this->appId);
34
        // 发送模板短信
35
        if (is_array($data)) {
36
            $data = array_values($data);
37
        }
38
        $result = $rest->sendTemplateSMS($to, $data, $tempId);
39
        if ($result !== null && $result->statusCode === 0) {
40
            $this->result['success'] = true;
41
        }
42
        $this->result['info'] = (String) $result->statusCode;
43
        $this->result['code'] = (String) $result->statusCode;
44
    }
45
46
    public function sendContentSms($to, $content)
47
    {
48
    }
49
50
    public function voiceVerify($to, $code)
51
    {
52
        // 初始化REST SDK
53
        $rest = new REST(
54
            $this->serverIP,
55
            $this->serverPort,
56
            $this->softVersion
57
        );
58
        $rest->setAccount($this->accountSid, $this->accountToken);
59
        $rest->setAppId($this->appId);
60
61
        // 调用语音验证码接口
62
        $playTimes = 3;
63
        $respUrl = null;
64
        $lang = 'zh';
65
        $userData = null;
66
        $result = $rest->voiceVerify($code, $playTimes, $to, null, $respUrl, $lang, $userData, null, null);
67
        if ($result === null) {
68
            return $this->result;
69
        }
70
        if ($result->statusCode === 0) {
71
            $this->result['success'] = true;
72
        }
73
        $this->result['info'] = $result->statusMsg;
74
        $this->result['code'] = $result->statusCode;
75
76
        return $this->result;
77
    }
78
}
79