You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
187 lines
7.0 KiB
187 lines
7.0 KiB
<?php
|
|
|
|
namespace frontend\controllers;
|
|
|
|
use common\libs\MyLib;
|
|
use common\models\UserT;
|
|
use Yii;
|
|
use yii\web\Response;
|
|
|
|
class TpyPhoneController extends BaseController
|
|
{
|
|
|
|
/**
|
|
* 初始化,判断工号来确定身份,调用不同的接口
|
|
*/
|
|
public $url1 = '';
|
|
public $url2 = '';
|
|
|
|
public function init()
|
|
{
|
|
parent::init();
|
|
|
|
//根据工号首数字判断地域
|
|
$username = $this->my->username;
|
|
$username_pre = substr($username,0,1);
|
|
// $ext_phones = $this->my->ext_phone;
|
|
|
|
//2 、 4、 8开头的工号为北京的
|
|
// $username_pre == 2 || $username_pre == 4 || $username_pre == 8
|
|
if($username_pre == 2 || $username_pre == 4 || $username_pre == 8){
|
|
// $this->url1 = 'http://111.198.22.139:6983/uncall_lib/index.php?wsdl';
|
|
$this->url1 = 'http://111.198.22.178:9090/uncall_api/index.php?wsdl';
|
|
$this->url2 = "http://111.198.22.178:9090/uncall_api/index.php?wsdl";
|
|
}else{
|
|
//其余开头为不用软电话或江西的,江西的如果工号在1000-1063之间(包括),采用新端口
|
|
$ext_phone = $this->my->ext_phone;
|
|
if(1000 <= $ext_phone && $ext_phone <= 1031){
|
|
// $this->url1 = 'http://111.206.16.247/cti/soap_api/index.php?wsdl';
|
|
// $this->url2 = "http://111.206.16.247/cti/soap_api/index.php?wsdl";
|
|
// $this->url1 = 'http://113.195.134.146:9090/uncall_lib/index.php?wsdl';
|
|
// $this->url2 = "http://113.195.134.146:9090/uncall_lib/index.php?wsdl";
|
|
// $this->url1 = 'http://113.195.134.146:8088/uncall_api/index.php?wsdl';
|
|
// $this->url2 = "http://113.195.134.146:8088/uncall_api/index.php?wsdl";
|
|
$this->url1 = 'http://218.87.219.74:8088/uncall_api/index.php?wsdl';
|
|
$this->url2 = "http://218.87.219.74:8088/uncall_api/index.php?wsdl";
|
|
|
|
|
|
// $this->url1 = 'http://119.36.246.115:9099/uncall_api/index.php?wsdl';
|
|
// $this->url2 = "http://119.36.246.115:9099/uncall_api/index.php?wsdl";
|
|
}else if(4000 <= $ext_phone && $ext_phone <= 4047){
|
|
// $this->url1 = 'http://59.110.156.204:6983/uncall_lib/index.php?wsdl';
|
|
// $this->url2 = "http://59.110.156.204:6983/uncall_lib/index.php?wsdl";
|
|
// $this->url1 = 'http://59.110.156.204:6983/uncall_lib/index.php?wsdl';
|
|
// $this->url2 = "http://59.110.156.204:6983/uncall_lib/index.php?wsdl";
|
|
$this->url1 = 'http://218.87.219.74:8088/uncall_api/index.php?wsdl';
|
|
$this->url2 = "http://218.87.219.74:8088/uncall_api/index.php?wsdl";
|
|
|
|
|
|
}else if(3000 <= $ext_phone && $ext_phone <= 3047){
|
|
$this->url1 = 'http://119.36.246.115:9090/uncall_api/index.php?wsdl';
|
|
$this->url2 = "http://119.36.246.115:9090/uncall_api/index.php?wsdl";
|
|
}else{
|
|
// $this->url1 = 'http://113.195.134.146:8088/uncall_api/index.php?wsdl';
|
|
// $this->url2 = "http://113.195.134.146:8088/uncall_api_lib/index.php?wsdl";
|
|
// if($ext_phone==2011 || $ext_phone==2010 || $ext_phone==2008 || $ext_phone==2009 || $ext_phone==2007 || $ext_phone==2006 || $ext_phone==2052 || $ext_phone==2042 || $ext_phone==2054 || $ext_phone==2049 || $ext_phone==2045 || $ext_phone==2050){
|
|
// $this->url1 = 'http://111.198.22.178:6983/uncall_lib/index.php?wsdl';
|
|
// $this->url2 = "http://113.195.134.130:6983/uncall_api_lib/index.php?wsdl";
|
|
// }else{
|
|
//
|
|
// }
|
|
$this->url1 = 'http://218.87.219.74:8088/uncall_api/index.php?wsdl';
|
|
$this->url2 = "http://218.87.219.74:8088/uncall_api/index.php?wsdl";
|
|
|
|
}
|
|
|
|
//都改成这个
|
|
// $this->url1 = 'http://113.195.134.146:8088/uncall_api/index.php?wsdl';
|
|
// $this->url2 = "http://113.195.134.146:8088/uncall_api_lib/index.php?wsdl";
|
|
|
|
}
|
|
}
|
|
|
|
/**
|
|
***********************************
|
|
* 拨打电话
|
|
* 功能 拨打电话
|
|
* @author liukangle
|
|
***********************************
|
|
*/
|
|
public function actionCallTo(){
|
|
|
|
Yii::$app->response->format = Response::FORMAT_JSON;
|
|
$request = Yii::$app->request;
|
|
$ext_phone = $request->post('ext_phone');
|
|
// var_dump($ext_phone);
|
|
$phone_num = $request->post('phone_num');
|
|
$action_id = $ext_phone.time();
|
|
$result = array();
|
|
$result['success'] = false;
|
|
$result['msg'] = '呼叫失败';
|
|
// $this->url1
|
|
//接口调用
|
|
$soapClient = new \SoapClient($this->url1);
|
|
// var_dump($this->url1);
|
|
//返回xml格式
|
|
$reslut = $soapClient->OnClickCall($ext_phone,$phone_num,$action_id);
|
|
// var_dump($reslut);
|
|
//XML转数组
|
|
$reslut_last = $this->simplest_xml_to_array($reslut);
|
|
if(!$reslut_last || $reslut_last['result'] == 0){
|
|
return $result;
|
|
}
|
|
|
|
switch($reslut_last['OnClickCall']['Response'])
|
|
{
|
|
case 'Success':
|
|
$result['success'] = true;
|
|
$result['msg'] = '呼叫成功';
|
|
break;
|
|
case 'Ringing':
|
|
$result['msg'] = '振铃中';
|
|
break;
|
|
case 'Busy':
|
|
$result['msg'] = '不可用';
|
|
break;
|
|
case 'Connection Failed':
|
|
$result['msg'] = '连接话盒失败';
|
|
break;
|
|
default:
|
|
$result['msg'] = '意外错误';
|
|
}
|
|
return $result;
|
|
}
|
|
|
|
/**
|
|
***********************************
|
|
* 挂断电话
|
|
* 功能 挂断电话
|
|
* @author liukangle
|
|
***********************************
|
|
*/
|
|
public function actionHangUp(){
|
|
|
|
Yii::$app->response->format = Response::FORMAT_JSON;
|
|
$request = Yii::$app->request;
|
|
$ext_phone = $request->post('ext_phone');
|
|
$result = array();
|
|
$result['success'] = false;
|
|
$result['msg'] = '挂断失败';
|
|
|
|
//接口调用
|
|
$soapClient = new \SoapClient($this->url2);
|
|
//返回xml格式
|
|
$reslut = $soapClient->HangUp($ext_phone);
|
|
//XML转数组
|
|
$reslut_last = $this->simplest_xml_to_array($reslut);
|
|
|
|
if(!$reslut_last || $reslut_last['result'] == 1){
|
|
return $result;
|
|
}
|
|
|
|
switch($reslut_last['hangUp']['Response'])
|
|
{
|
|
case 'Success':
|
|
$result['success'] = true;
|
|
$result['msg'] = '挂机成功';
|
|
break;
|
|
case 'error':
|
|
$result['msg'] = '挂机失败';
|
|
break;
|
|
default:
|
|
$result['msg'] = '意外错误';
|
|
}
|
|
return $result;
|
|
}
|
|
|
|
/**
|
|
***********************************
|
|
* XML转数组
|
|
* 功能 XML转数组
|
|
* @author liukangle
|
|
***********************************
|
|
*/
|
|
function simplest_xml_to_array($xmlstring="") {
|
|
return json_decode(json_encode((array) simplexml_load_string($xmlstring)), true);
|
|
}
|
|
}
|
|
|