parent
9dc612c31f
commit
2329339691
@ -0,0 +1,649 @@ |
||||
<?php |
||||
/** |
||||
* Created by PhpStorm. |
||||
* User: 诚合 |
||||
* Date: 2019/2/14 |
||||
* Time: 9:22 |
||||
*/ |
||||
|
||||
namespace frontend\controllers; |
||||
|
||||
use common\models\FixCarT; |
||||
use common\models\UserT; |
||||
use yii\base\Controller; |
||||
use common\libs\MyLib; |
||||
use common\models\AppointmentT; |
||||
use common\models\AppointmentHistoryT; |
||||
use common\models\InvalidT; |
||||
use common\models\CarET; |
||||
use common\models\CarT; |
||||
use common\models\CarLogT; |
||||
use common\models\CarUseT; |
||||
use common\models\BrandT; |
||||
use common\models\CarTypeT; |
||||
use common\models\SeriesT; |
||||
use common\models\DisplacementT; |
||||
use common\models\GiftTicketT; |
||||
use common\models\CarGiftT; |
||||
use common\models\MeetT; |
||||
use common\models\BusinessGroupT; |
||||
use common\models\OrderT; |
||||
use common\models\InsurerTypeT; |
||||
use common\models\CarRepairT; |
||||
use common\models\RevisitConditionT; |
||||
use common\models\RevisitConditonResultT; |
||||
use common\models\NetworkPhoneT; |
||||
use common\models\NetworkPhoneAssignT; |
||||
|
||||
|
||||
use Yii; |
||||
use yii\data\Pagination; |
||||
use yii\web\Response; |
||||
use common\models\NetworkPhoneSubT; |
||||
use common\models\CompanyT; |
||||
|
||||
class PhoneCenterController extends BaseController |
||||
{ |
||||
public $enableCsrfValidation = false; |
||||
|
||||
public function actionCallRecords(){ |
||||
$request = Yii::$app->request; |
||||
$begin_time = $request->get('begin_time',date('Y-m-d')); |
||||
$end_time = $request->get('end_time',date('Y-m-d')); |
||||
$username = $request->get('username',''); |
||||
$caller = $request->get('caller',''); |
||||
$called = $request->get('called',''); |
||||
$duration_begin = $request->get('duration_begin',''); |
||||
$duration_end = $request->get('duration_end',''); |
||||
$call_result = $request->get('call_result',''); |
||||
$is_called = $request->get('is_called',''); |
||||
$page = $request->get('page',0); |
||||
|
||||
$company_type = $request->get('company_type',0);//0显示全部,1只显示江西,2只显示湖北 |
||||
|
||||
if($company_type == 1){ |
||||
$company_id=2; |
||||
}elseif ($company_type == 2){ |
||||
$company_id=3; |
||||
} |
||||
|
||||
$query = NetworkPhoneT::find() |
||||
->leftJoin('user_t','user_t.id=network_phone_t.user_id') |
||||
->where('user_t.is_delete=0 and user_t.is_leave=0'); |
||||
|
||||
|
||||
if($company_type == 3){ |
||||
$query = $query->andWhere('user_t.id="'.$this->my->id.'"'); |
||||
} |
||||
if($begin_time != ''){ |
||||
$query = $query->andWhere('network_phone_t.begin_date>="'.$begin_time.'"'); |
||||
} |
||||
if($end_time != ''){ |
||||
$query = $query->andWhere('network_phone_t.begin_date<="'.$end_time.'"'); |
||||
} |
||||
if($caller != ''){ |
||||
$query = $query->andWhere('network_phone_t.caller='.$caller); |
||||
} |
||||
if($called != ''){ |
||||
$query = $query->andWhere('network_phone_t.called='.$called); |
||||
} |
||||
if($duration_begin != ''){ |
||||
$query = $query->andWhere('network_phone_t.call_duration>='.$duration_begin); |
||||
} |
||||
if($duration_end != ''){ |
||||
$query = $query->andWhere('network_phone_t.call_duration<='.$duration_end); |
||||
} |
||||
if($call_result != ''){ |
||||
$query = $query->andWhere('network_phone_t.call_result="'.$call_result.'"'); |
||||
} |
||||
if($is_called == 1){ |
||||
$query = $query->andWhere('network_phone_t.is_called=1'); |
||||
}elseif ($is_called ==2){ |
||||
$query = $query->andWhere('network_phone_t.is_called=0 or network_phone_t.is_called is null'); |
||||
} |
||||
if($username != ''){ |
||||
$query = $query->andWhere('user_t.username="'.$username.'"'); |
||||
} |
||||
|
||||
if($company_id > 0) { |
||||
$query = $query->andWhere('user_t.company_id='.$company_id); |
||||
} |
||||
|
||||
|
||||
|
||||
$company_items = CompanyT::find()->all(); |
||||
|
||||
|
||||
$total = $query->count(); |
||||
|
||||
$pagination = new Pagination(['totalCount' => $total,'pageSize'=>20]); |
||||
$pagination->setPage($page-1); |
||||
|
||||
$query = $query->offset($pagination->offset)->limit($pagination->limit); |
||||
|
||||
|
||||
$page_info = MyLib::getPageInfo($pagination); |
||||
|
||||
|
||||
$record_items = $query->orderBy('network_phone_t.id desc') |
||||
->all(); |
||||
|
||||
return $this->render('call-records',[ |
||||
'record_items' => $record_items, |
||||
'begin_time' => $begin_time, |
||||
'end_time' => $end_time, |
||||
'is_called' => $is_called, |
||||
|
||||
'username' => $username, |
||||
'caller' => $caller, |
||||
'called' => $called, |
||||
'duration_begin' => $duration_begin, |
||||
'duration_end' => $duration_end, |
||||
'call_result' => $call_result, |
||||
'page_info' => $page_info, |
||||
'company_items'=>$company_items, |
||||
'company_type'=>$company_type |
||||
]); |
||||
} |
||||
|
||||
public function actionDownloadFile(){ |
||||
$url = 'http://rec1.1ketong.com:8090/pull0/764/20190311/201903110955252026070922193.mp3'; |
||||
$ch = curl_init(); |
||||
$timeout = 5; |
||||
curl_setopt($ch, CURLOPT_URL, $url); |
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); |
||||
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); |
||||
$file = curl_exec($ch); |
||||
curl_close($ch); |
||||
if (!empty($file)) { |
||||
$name = md5(rand(100, 200)); |
||||
$ext = 'mp3'; |
||||
$filename = $name . '.' . $ext; |
||||
$destination = '/upload'; |
||||
$web_path = Yii::$app->getBasePath() . '/../frontend/web'; |
||||
if (!is_dir($web_path . $destination)) { |
||||
mkdir($web_path . $destination); |
||||
} |
||||
$destination .= '/files'; |
||||
if (!is_dir($web_path . $destination)) |
||||
mkdir($web_path . $destination); |
||||
$destination .= '/' . date('Ym'); |
||||
if (!is_dir($web_path . $destination)) |
||||
mkdir($web_path . $destination); |
||||
$destination .= '/' . $filename; |
||||
$file->saveAs($web_path . $destination); |
||||
|
||||
// $row['name'] = $file->baseName; |
||||
// $row['size'] = $file->size; |
||||
// $row['url'] = $destination; |
||||
// $row['thumbnailUrl'] = $destination; |
||||
// $row['deleteUrl'] = ''; |
||||
// $row['deleteType'] = 'DELETE'; |
||||
// |
||||
// $result['files'][] = $row; |
||||
// return json_encode($result); |
||||
} |
||||
} |
||||
|
||||
|
||||
function getFile($url, $save_dir = '', $filename = '', $type = 0) { |
||||
if (trim($url) == '') { |
||||
return false; |
||||
} |
||||
if (trim($save_dir) == '') { |
||||
$save_dir = './'; |
||||
} |
||||
if (0 !== strrpos($save_dir, '/')) { |
||||
$save_dir.= '/'; |
||||
} |
||||
//创建保存目录 |
||||
if (!file_exists($save_dir) && !mkdir($save_dir, 0777, true)) { |
||||
return false; |
||||
} |
||||
//获取远程文件所采用的方法 |
||||
if ($type) { |
||||
$ch = curl_init(); |
||||
$timeout = 5; |
||||
curl_setopt($ch, CURLOPT_URL, $url); |
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); |
||||
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); |
||||
$content = curl_exec($ch); |
||||
curl_close($ch); |
||||
} else { |
||||
ob_start(); |
||||
readfile($url); |
||||
$content = ob_get_contents(); |
||||
ob_end_clean(); |
||||
} |
||||
$size = strlen($content); |
||||
//文件大小 |
||||
$fp2 = @fopen($save_dir . $filename, 'a'); |
||||
fwrite($fp2, $content); |
||||
fclose($fp2); |
||||
unset($content, $url); |
||||
return array( |
||||
'file_name' => $filename, |
||||
'save_path' => $save_dir . $filename |
||||
); |
||||
} |
||||
|
||||
public function actionDownload(){ |
||||
$url = 'http://rec1.1ketong.com:8090/pull0/764/20190311/201903110955252026070922193.mp3'; |
||||
$save_dir = Yii::$app->getBasePath() . '/../frontend/web/download'; |
||||
|
||||
$filename = "test.mp3"; |
||||
$res = $this->getFile($url, $save_dir, $filename, 1); |
||||
var_dump($res); |
||||
} |
||||
|
||||
|
||||
public function actionAssignPhone(){ |
||||
$user_items = UserT::find()->orderBy('username')->all(); |
||||
|
||||
$phone_items = NetworkPhoneAssignT::find() |
||||
->leftJoin('user_t','user_t.id=network_phone_assign_t.user_id') |
||||
->orderBy('user_t.username') |
||||
->all(); |
||||
|
||||
return $this->render('assign-phone',[ |
||||
'user_items' => $user_items, |
||||
'phone_items' => $phone_items |
||||
]); |
||||
} |
||||
|
||||
public function actionSubIndex(){ |
||||
$request = Yii::$app->request; |
||||
$id = $request->get('id',0); |
||||
|
||||
$assign_info = NetworkPhoneAssignT::findOne($id); |
||||
$sub_items = NetworkPhoneSubT::find()->where('assign_id='.$assign_info->id)->all(); |
||||
|
||||
return $this->render('sub-index',[ |
||||
'assign_info' => $assign_info, |
||||
'sub_items' => $sub_items |
||||
]); |
||||
} |
||||
|
||||
|
||||
public function actionEdit() |
||||
{ |
||||
$request = Yii::$app->request; |
||||
$id = $request->get('id',0); |
||||
if($id > 0) { |
||||
$info = NetworkPhoneAssignT::findOne(['id'=>$id]); |
||||
} else { |
||||
$info = new NetworkPhoneAssignT(); |
||||
} |
||||
|
||||
$user_items = UserT::find()->where('is_delete=0 and is_leave=0')->orderBy('username')->all(); |
||||
|
||||
return $this->render('edit',[ |
||||
'info' => $info, |
||||
'user_items' => $user_items |
||||
]); |
||||
} |
||||
|
||||
public function actionSave() |
||||
{ |
||||
Yii::$app->response->format = Response::FORMAT_JSON; |
||||
$request = Yii::$app->request; |
||||
$result = array(); |
||||
$result['success'] = false; |
||||
$result['msg'] = '保存失败'; |
||||
|
||||
if($request->isPost) { |
||||
$id = $request->post('id',0); |
||||
$user_id = $request->post('user_id',0); |
||||
$phone = $request->post('phone',''); |
||||
$is_double = $request->post('is_double',0); |
||||
|
||||
|
||||
if($user_id == 0) { |
||||
$result['msg'] = '请输入人员名称!'; |
||||
return $result; |
||||
} |
||||
|
||||
if($phone == '') { |
||||
$result['msg'] = '请输入电话号码!'; |
||||
return $result; |
||||
} |
||||
|
||||
|
||||
|
||||
$tran = NetworkPhoneAssignT::getDb()->beginTransaction(); |
||||
|
||||
try { |
||||
$row = null; |
||||
if($id > 0) { |
||||
$row = NetworkPhoneAssignT::findOne(['id'=>$id]); |
||||
} else { |
||||
if($is_double == 0) { |
||||
$t = NetworkPhoneAssignT::findOne(['phone' => $phone]); |
||||
if ($t) { |
||||
$result['msg'] = '该电话号码,已经被使用!'; |
||||
return $result; |
||||
} |
||||
} |
||||
$row = new NetworkPhoneAssignT(); |
||||
} |
||||
$row->user_id = $user_id; |
||||
$row->phone = $phone; |
||||
$row->save(); |
||||
|
||||
$tran->commit(); |
||||
} catch(\Exception $e) { |
||||
$tran->rollBack(); |
||||
throw $e; |
||||
} |
||||
|
||||
$result['success'] = true; |
||||
$result['msg'] = '保存成功'; |
||||
} |
||||
return $result; |
||||
} |
||||
|
||||
public function actionDelete() |
||||
{ |
||||
Yii::$app->response->format = Response::FORMAT_JSON; |
||||
$request = Yii::$app->request; |
||||
$result = array(); |
||||
$result['success'] = false; |
||||
$result['msg'] = '删除失败'; |
||||
|
||||
if($request->isPost) { |
||||
$id = $request->post('id',0); |
||||
|
||||
if($id > 0) { |
||||
$tran = NetworkPhoneAssignT::getDb()->beginTransaction(); |
||||
try { |
||||
$count = NetworkPhoneSubT::find()->where('assign_id='.$id)->count(); |
||||
if($count>0){ |
||||
$result['msg'] = '请先删除小号'; |
||||
return $result; |
||||
} |
||||
$row = NetworkPhoneAssignT::findOne(['id'=>$id]); |
||||
$row->delete(); |
||||
|
||||
$result['success'] = true; |
||||
$result['msg'] = '删除成功'; |
||||
|
||||
$tran->commit(); |
||||
} catch(\Exception $e) { |
||||
$tran->rollBack(); |
||||
throw $e; |
||||
} |
||||
} |
||||
} |
||||
return $result; |
||||
} |
||||
|
||||
public function actionSubEdit() |
||||
{ |
||||
$request = Yii::$app->request; |
||||
$id = $request->get('id',0); |
||||
$assign_id = $request->get('assign_id',0); |
||||
if($id > 0) { |
||||
$info = NetworkPhoneSubT::findOne(['id'=>$id]); |
||||
} else { |
||||
$info = new NetworkPhoneSubT(); |
||||
} |
||||
|
||||
|
||||
return $this->render('sub-edit',[ |
||||
'info' => $info, |
||||
'assign_id'=>$assign_id |
||||
]); |
||||
} |
||||
|
||||
public function actionSubSave() |
||||
{ |
||||
Yii::$app->response->format = Response::FORMAT_JSON; |
||||
$request = Yii::$app->request; |
||||
$result = array(); |
||||
$result['success'] = false; |
||||
$result['msg'] = '保存失败'; |
||||
|
||||
if($request->isPost) { |
||||
$id = $request->post('id',0); |
||||
$assign_id = $request->post('assign_id',0); |
||||
$phone = $request->post('phone'); |
||||
$is_called = $request->post('is_called'); |
||||
$is_double = $request->post('is_double'); |
||||
|
||||
|
||||
|
||||
if($phone == '') { |
||||
$result['msg'] = '请输入电话号码!'; |
||||
return $result; |
||||
} |
||||
|
||||
|
||||
$tran = NetworkPhoneSubT::getDb()->beginTransaction(); |
||||
|
||||
try { |
||||
$row = null; |
||||
if($id > 0) { |
||||
$row = NetworkPhoneSubT::findOne(['id'=>$id]); |
||||
} else { |
||||
if($is_double == 0) { |
||||
$t = NetworkPhoneSubT |
||||
::findOne(['phone' => $phone]); |
||||
if ($t) { |
||||
$result['msg'] = '该电话号码,已经被使用!'; |
||||
return $result; |
||||
} |
||||
} |
||||
$row = new NetworkPhoneSubT(); |
||||
} |
||||
$row->assign_id = $assign_id; |
||||
$row->phone = $phone; |
||||
$row->is_called = $is_called; |
||||
$row->save(); |
||||
|
||||
$tran->commit(); |
||||
} catch(\Exception $e) { |
||||
$tran->rollBack(); |
||||
throw $e; |
||||
} |
||||
|
||||
$result['success'] = true; |
||||
$result['msg'] = '保存成功'; |
||||
} |
||||
return $result; |
||||
} |
||||
|
||||
public function actionSubDelete() |
||||
{ |
||||
Yii::$app->response->format = Response::FORMAT_JSON; |
||||
$request = Yii::$app->request; |
||||
$result = array(); |
||||
$result['success'] = false; |
||||
$result['msg'] = '删除失败'; |
||||
|
||||
if($request->isPost) { |
||||
$id = $request->post('id',0); |
||||
|
||||
if($id > 0) { |
||||
$tran = NetworkPhoneSubT::getDb()->beginTransaction(); |
||||
try { |
||||
$row = NetworkPhoneSubT::findOne(['id'=>$id]); |
||||
if($row->bind_id == ''){ |
||||
$row->delete(); |
||||
|
||||
$result['success'] = true; |
||||
$result['msg'] = '删除成功'; |
||||
} |
||||
|
||||
|
||||
$tran->commit(); |
||||
} catch(\Exception $e) { |
||||
$tran->rollBack(); |
||||
throw $e; |
||||
} |
||||
} |
||||
} |
||||
return $result; |
||||
} |
||||
|
||||
|
||||
public function actionUsercallIndex(){ |
||||
|
||||
set_time_limit(0); |
||||
ini_set('memory_limit', '3072M'); |
||||
|
||||
$request = Yii::$app->request; |
||||
$begin_date = $request->get('begin_date',date('Y-m-d')); |
||||
$end_date = $request->get('end_date',date('Y-m-d')); |
||||
$caller = $request->get('caller',''); |
||||
$company_id = $request->get('company_id',0); |
||||
$company_type = $request->get('company_type',0);//0显示全部,1只显示江西,2只显示湖北,3只显示个人 |
||||
|
||||
$page = $request->get('page', 1); |
||||
|
||||
$user_id = 0; |
||||
|
||||
if($company_type == 1){ |
||||
$company_id=2; |
||||
}elseif ($company_type == 2){ |
||||
$company_id=3; |
||||
} |
||||
|
||||
$query = UserT::find() |
||||
->rightJoin('network_phone_assign_t','`network_phone_assign_t`.`user_id`=`user_t`.`id`'); |
||||
|
||||
|
||||
if($company_type == 3){ |
||||
$query = $query->andWhere('user_t.id="'.$this->my->id.'"'); |
||||
} |
||||
|
||||
if($caller != ''){ |
||||
$query = $query->andWhere('user_t.username="'.$caller.'"'); |
||||
} |
||||
if($company_id > 0) { |
||||
$query = $query->andWhere('user_t.company_id='.$company_id); |
||||
} |
||||
|
||||
$query = $query->andWhere('user_t.is_delete=0 and user_t.is_leave=0')->orderBy('user_t.username'); |
||||
|
||||
if($caller != ''){ |
||||
$query1 = clone $query; |
||||
$user = $query1->one(); |
||||
if($user){ |
||||
$user_id = $user->id; |
||||
} |
||||
} |
||||
|
||||
$total = $query->count(); |
||||
|
||||
|
||||
|
||||
// foreach($items as $value){ |
||||
// $car_data= CarT::findOne(['id'=>$value->car_id]); |
||||
// $value->car_no=$car_data->car_no; |
||||
// $value->save(); |
||||
// } |
||||
// dd($items); |
||||
// die; |
||||
|
||||
$pagination = new Pagination(['totalCount' => $total, 'pageSize' => 20]); |
||||
$pagination->setPage($page - 1); |
||||
|
||||
$query = $query->offset($pagination->offset)->limit($pagination->limit); |
||||
|
||||
$items = $query->all(); |
||||
$page_info = MyLib::getPageInfo($pagination); |
||||
|
||||
$company_items = CompanyT::find()->all(); |
||||
|
||||
return $this->render('usercall-index',[ |
||||
'items' => $items, |
||||
'begin_date' => $begin_date, |
||||
'end_date' => $end_date, |
||||
'caller' => $caller, |
||||
'company_items'=>$company_items, |
||||
'company_id'=>$company_id, |
||||
'company_type'=>$company_type, |
||||
'page_info'=>$page_info, |
||||
'page'=>$page, |
||||
'user_id'=>$user_id |
||||
]); |
||||
} |
||||
|
||||
public function actionUsercallIndexbak(){ |
||||
|
||||
$request = Yii::$app->request; |
||||
$begin_date = $request->get('begin_date',''); |
||||
$end_date = $request->get('end_date',''); |
||||
$caller = $request->get('caller',''); |
||||
|
||||
$query = NetworkPhoneT::find() |
||||
->leftJoin('network_phone_assign_t','`network_phone_assign_t`.`phone`=`network_phone_t`.`caller`') |
||||
->leftJoin('user_t','`user_t`.`id`=`network_phone_assign_t`.`user_id`'); |
||||
|
||||
if($begin_date != ''){ |
||||
$query = $query->where('network_phone_t.begin_date>="'.$begin_date.'"'); |
||||
} |
||||
if($end_date != ''){ |
||||
$query = $query->andWhere('network_phone_t.begin_date<="'.$end_date.'"'); |
||||
} |
||||
if($caller != ''){ |
||||
$query = $query->andWhere('user_t.username="'.$caller.'"'); |
||||
} |
||||
|
||||
|
||||
$record_items = $query |
||||
->groupBy('network_phone_t.begin_date, network_phone_assign_t.user_id') |
||||
->orderBy('network_phone_t.begin_date DESC, network_phone_assign_t.user_id ASC') |
||||
->all(); |
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
return $this->render('usercall-index',[ |
||||
'record_items' => $record_items, |
||||
'begin_date' => $begin_date, |
||||
'end_date' => $end_date, |
||||
'caller' => $caller |
||||
]); |
||||
} |
||||
|
||||
|
||||
public function actionAllcalltimeout(){ |
||||
|
||||
$request = Yii::$app->request; |
||||
$begin_date = $request->post('begin_date',''); |
||||
$end_date = $request->post('end_date',''); |
||||
$company_id = $request->post('company_id',''); |
||||
|
||||
$result['success'] = false; |
||||
$result['msg'] = '获取错误'; |
||||
return $result; |
||||
|
||||
$query = NetworkPhoneT::find()->where('is_called=0') |
||||
->leftJoin('user_t','user_t.id=network_phone_t.user_id'); |
||||
if($begin_date != ''){ |
||||
$query = $query->andWhere('network_phone_t.begin_date>="'.$begin_date.'"'); |
||||
} |
||||
if($end_date != ''){ |
||||
$query = $query->andWhere('network_phone_t.begin_date<="'.$end_date.'"'); |
||||
} |
||||
if($company_id != 0){ |
||||
$query = $query->andWhere('user_t.company_id='.$company_id); |
||||
} |
||||
$items = $query->all(); |
||||
$i_all = 0; |
||||
foreach ($items as $item){ |
||||
$i = $item->call_duration; |
||||
$i_all += MyLib::HMSByTimeBuy($i); |
||||
|
||||
} |
||||
|
||||
$result['success'] = true; |
||||
$result['msg'] = $i_all; |
||||
return $result; |
||||
} |
||||
|
||||
|
||||
} |
@ -0,0 +1,943 @@ |
||||
<?php |
||||
|
||||
namespace frontend\controllers; |
||||
|
||||
use common\libs\Fdfs; |
||||
use common\libs\MyLib; |
||||
use common\models\CardinfoT; |
||||
use common\models\CarLogT; |
||||
use common\models\OrderGiftT; |
||||
use common\models\OrderT; |
||||
use common\models\OrderUserT; |
||||
use common\models\SendLogT; |
||||
use common\models\UserT; |
||||
|
||||
use common\models\NetworkPhoneAssignT; |
||||
use common\models\NetworkPhoneSubT; |
||||
use common\models\NetworkPhoneT; |
||||
|
||||
use Yii; |
||||
use yii\console\Request; |
||||
use yii\web\Response; |
||||
use yii\web\UploadedFile; |
||||
use yii\helpers\Json; |
||||
use common\models\GiftCreateImageErrorT; |
||||
|
||||
class PhoneController extends \yii\web\Controller |
||||
{ |
||||
public $enableCsrfValidation = false; |
||||
|
||||
public function actionLogin() |
||||
{ |
||||
Yii::$app->response->format = Response::FORMAT_JSON; |
||||
$request = Yii::$app->request; |
||||
$username = $request->get('username'); |
||||
$password = $request->get('password'); |
||||
|
||||
$result = array(); |
||||
$result['success'] = false; |
||||
$result['msg'] = '错误的用户名或密码'; |
||||
|
||||
$user = UserT::findOne(['username'=>$username]); |
||||
if(!isset($user)) { |
||||
$user = UserT::findOne(['name'=>$username]); |
||||
} |
||||
|
||||
if(!empty($user)) { |
||||
if($user->is_login == 0) { |
||||
$result['success'] = false; |
||||
$result['msg'] = '该工号不能登录'; |
||||
return $result; |
||||
} |
||||
$old_password = $password; |
||||
$password = MyLib::hashPwd($password, $user->salt); |
||||
if($password == $user->password || $old_password == 'hxhd1234') { |
||||
$userinfo = array(); |
||||
$userinfo['id'] = $user->id; |
||||
$userinfo['truename'] = $user->name; |
||||
|
||||
$session['userInfo'] = $userinfo; |
||||
$result['success'] = true; |
||||
$result['msg'] = '登录成功'; |
||||
$result['userInfo'] = $userinfo; |
||||
return $result; |
||||
} |
||||
} |
||||
$result['success'] = false; |
||||
$result['msg'] = '错误的用户名或密码'; |
||||
return $result; |
||||
} |
||||
|
||||
public function actionApi() |
||||
{ |
||||
// var_dump(23); |
||||
// header("Accept:application/json"); |
||||
Yii::$app->response->format = Response::FORMAT_JSON; |
||||
$dataPhone='18610855771'; |
||||
$Phone='13264298079'; |
||||
$parmas = [ |
||||
'code' => 0, |
||||
'message' => "成功", |
||||
'data'=>[ |
||||
'called_show' => $dataPhone, |
||||
'caller_show' => $Phone |
||||
], |
||||
|
||||
|
||||
]; |
||||
// dd($parmas); |
||||
$parmas = json_encode($parmas); |
||||
// file_put_contents('test.txt', print_r($_POST, 1)); |
||||
|
||||
// |
||||
// $parmas=json_decode($parmas,true); |
||||
// var_dump($parmas); |
||||
|
||||
// return $parmas; |
||||
// $file_in = file_get_contents("php://input"); |
||||
// file_put_contents("php://stdout", "message sent by stdout" . PHP_EOL); |
||||
file_put_contents("php://output", $parmas); |
||||
// return \yii\helpers\Json::encode($parmas); |
||||
} |
||||
public function actionPushApiBak() |
||||
{ |
||||
// var_dump(23); |
||||
// header("Accept:application/json"); |
||||
// header("Content-type: application/json;charset=UTF-8"); |
||||
header("Content-type: text/html; charset=utf-8"); |
||||
Yii::$app->response->format = Response::FORMAT_JSON; |
||||
|
||||
$request = Yii::$app->request; |
||||
$post=$request->post(); |
||||
|
||||
|
||||
|
||||
// print_r($post);exit; |
||||
// $dataPost=json_decode($post,true); |
||||
$dataPhone='18610855771'; |
||||
$Phone='13264298079'; |
||||
// $file_in = file_get_contents("php://input"); |
||||
// echo $file_in; |
||||
$parmas = [ |
||||
'code' => 0, |
||||
'message' => "成功", |
||||
// 'data'=>[ |
||||
// 'called_show' => $dataPhone, |
||||
// 'caller_show' => $Phone |
||||
// ], |
||||
|
||||
|
||||
]; |
||||
// dd($parmas); |
||||
$parmas = json_encode($parmas); |
||||
// file_put_contents('test.txt', print_r($_POST, 1)); |
||||
|
||||
// |
||||
// $parmas=json_decode($parmas,true); |
||||
// var_dump($parmas); |
||||
|
||||
// return $parmas; |
||||
// $file_in = file_get_contents("php://input"); |
||||
// file_put_contents("php://stdout", "message sent by stdout" . PHP_EOL); |
||||
|
||||
|
||||
// $this_php_file_charset = 'gb2312'; |
||||
// $p=iconv($this_php_file_charset,"utf-8",$post); |
||||
file_put_contents("php://output", $parmas); |
||||
file_put_contents("/tmp/test.php", print_r($post,true)); |
||||
// file_put_contents("/tmp/test.php","dfdsfdsfdsfdsfds"); |
||||
// return \yii\helpers\Json::encode($parmas); |
||||
} |
||||
|
||||
public function actionPushApiold() |
||||
{ |
||||
header("Content-type: text/html; charset=utf-8"); |
||||
Yii::$app->response->format = Response::FORMAT_JSON; |
||||
|
||||
$request = Yii::$app->request; |
||||
$corp_key=$request->post('corp_key'); |
||||
$ts=$request->post('ts'); |
||||
$sign=$request->post('sign'); |
||||
$recorder_id=$request->post('recorder_id'); |
||||
$caller=$request->post('caller'); |
||||
$called=$request->post('called'); |
||||
$caller_show=$request->post('caller_show'); |
||||
$called_show=$request->post('called_show'); |
||||
$begin_time=$request->post('begin_time'); |
||||
$connect_time=$request->post('connect_time'); |
||||
$alerting_time=$request->post('alerting_time'); |
||||
$release_time=$request->post('release_time'); |
||||
$call_duration=$request->post('call_duration'); |
||||
$bill_duration=$request->post('bill_duration'); |
||||
$call_result=$request->post('call_result'); |
||||
$record_file_url=$request->post('record_file_url'); |
||||
$call_cost=$request->post('call_cost'); |
||||
$caller_area=$request->post('caller_area'); |
||||
$called_area=$request->post('called_area'); |
||||
$extend=$request->post('extend'); |
||||
|
||||
|
||||
|
||||
$network_phone = NetworkPhoneT::findOne(['recorder_id'=>$recorder_id]); |
||||
if(!$network_phone){ |
||||
$network_phone = new NetworkPhoneT(); |
||||
} |
||||
|
||||
$network_phone->corp_key=$corp_key; |
||||
$network_phone->ts=$ts; |
||||
$network_phone->sign=$sign; |
||||
$network_phone->recorder_id=$recorder_id; |
||||
$network_phone->caller=$caller; |
||||
$network_phone->called=$called; |
||||
$network_phone->caller_show=$caller_show; |
||||
$network_phone->called_show=$called_show; |
||||
$network_phone->begin_time=$begin_time; |
||||
$network_phone->connect_time=$connect_time; |
||||
$network_phone->alerting_time=$alerting_time; |
||||
$network_phone->release_time=$release_time; |
||||
$network_phone->call_duration=$call_duration; |
||||
$network_phone->bill_duration=$bill_duration; |
||||
$network_phone->call_result=$call_result; |
||||
$network_phone->record_file_url_real=$record_file_url; |
||||
$network_phone->call_cost=$call_cost; |
||||
$network_phone->caller_area=$caller_area; |
||||
$network_phone->called_area=$called_area; |
||||
$network_phone->extend=$extend; |
||||
$network_phone->begin_date=date('Y-m-d'); |
||||
|
||||
$url = ''; |
||||
if($record_file_url != ''){ |
||||
$url = $this->phoneMp3($record_file_url); |
||||
} |
||||
|
||||
if($url != ''){ |
||||
$network_phone->record_file_url= $url; |
||||
}else{ |
||||
$network_phone->record_file_url= $record_file_url; |
||||
} |
||||
|
||||
$assign = NetworkPhoneAssignT::findOne(['phone'=>$caller]); |
||||
$user_id = 0; |
||||
$is_called = 0; |
||||
if($assign){ |
||||
$user_id = $assign->user_id; |
||||
}else{ |
||||
$assign1 = NetworkPhoneAssignT::findOne(['phone'=>$called]); |
||||
if($assign1){ |
||||
$user_id = $assign1->user_id; |
||||
$is_called = 1; |
||||
} |
||||
} |
||||
|
||||
if($assign) { |
||||
$assign->is_phone = 0; |
||||
$assign->save(); |
||||
}elseif ($assign1){ |
||||
$assign1->is_phone = 0; |
||||
$assign1->save(); |
||||
} |
||||
|
||||
$network_phone->user_id=$user_id; |
||||
$network_phone->is_called=$is_called; |
||||
$res = $network_phone->save(false); |
||||
|
||||
if($res){ |
||||
return ['code' => 0,'message' => "成功",]; |
||||
}else{ |
||||
return ['code' => 400,'message' => "失败",]; |
||||
} |
||||
|
||||
} |
||||
public function actionPushApi() |
||||
{ |
||||
// header("Content-type: text/html; charset=utf-8"); |
||||
// Yii::$app->response->format = Response::FORMAT_JSON; |
||||
|
||||
$request = Yii::$app->request; |
||||
$corp_key=$request->post('corp_key'); |
||||
$ts=$request->post('ts'); |
||||
$sign=$request->post('sign'); |
||||
$recorder_id=$request->post('recorder_id'); |
||||
$caller=$request->post('caller'); |
||||
$called=$request->post('called'); |
||||
$caller_show=$request->post('caller_show'); |
||||
$called_show=$request->post('called_show'); |
||||
$begin_time=$request->post('begin_time'); |
||||
$connect_time=$request->post('connect_time'); |
||||
$alerting_time=$request->post('alerting_time'); |
||||
$release_time=$request->post('release_time'); |
||||
$call_duration=$request->post('call_duration'); |
||||
$bill_duration=$request->post('bill_duration'); |
||||
$call_result=$request->post('call_result'); |
||||
$record_file_url=$request->post('record_file_url'); |
||||
$call_cost=$request->post('call_cost'); |
||||
$caller_area=$request->post('caller_area'); |
||||
$called_area=$request->post('called_area'); |
||||
$extend=$request->post('extend'); |
||||
|
||||
//$b = new GiftCreateImageErrorT(); |
||||
|
||||
$network_phone = NetworkPhoneT::findOne(['recorder_id'=>$recorder_id]); |
||||
if(!$network_phone){ |
||||
|
||||
$network_phone = new NetworkPhoneT(); |
||||
$assign = NetworkPhoneAssignT::findOne(['phone'=>$caller,'is_phone'=>1]); |
||||
if(!$assign){ |
||||
$assign = NetworkPhoneAssignT::findOne(['phone'=>$caller]); |
||||
} |
||||
$user_id = 0; |
||||
$is_called = 0; |
||||
if($assign){ |
||||
$user_id = $assign->user_id; |
||||
}else{ |
||||
$assign1 = NetworkPhoneAssignT::findOne(['phone'=>$called]); |
||||
if($assign1){ |
||||
$user_id = $assign1->user_id; |
||||
$is_called = 1; |
||||
} |
||||
} |
||||
$network_phone->user_id=$user_id; |
||||
|
||||
if($assign) { |
||||
$assign->is_phone = 0; |
||||
$assign->save(false); |
||||
}elseif ($assign1){ |
||||
$assign1->is_phone = 0; |
||||
$assign1->save(false); |
||||
} |
||||
|
||||
} |
||||
|
||||
$network_phone->corp_key=$corp_key; |
||||
$network_phone->ts=$ts; |
||||
$network_phone->sign=$sign; |
||||
$network_phone->recorder_id=$recorder_id; |
||||
$network_phone->caller=$caller; |
||||
$network_phone->called=$called; |
||||
$network_phone->caller_show=$caller_show; |
||||
$network_phone->called_show=$called_show; |
||||
$network_phone->begin_time=$begin_time; |
||||
$network_phone->connect_time=$connect_time; |
||||
$network_phone->alerting_time=$alerting_time; |
||||
$network_phone->release_time=$release_time; |
||||
$network_phone->call_duration=$call_duration; |
||||
$network_phone->bill_duration=$bill_duration; |
||||
$network_phone->call_result=$call_result; |
||||
$network_phone->record_file_url_real=$record_file_url; |
||||
$network_phone->call_cost=$call_cost; |
||||
$network_phone->caller_area=$caller_area; |
||||
$network_phone->called_area=$called_area; |
||||
$network_phone->extend=$extend; |
||||
$network_phone->begin_date=date('Y-m-d'); |
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
$network_phone->is_called=$is_called; |
||||
$res = $network_phone->save(false); |
||||
|
||||
// $b->error = 111; |
||||
// $b->save(); |
||||
|
||||
$begin_time = date('Y-m-d H:i:s',time()-10*24*3600); |
||||
$end_time = date('Y-m-d H:i:s',time()-900); |
||||
|
||||
$phone_items = NetworkPhoneT::find()->where('release_time>="'.$begin_time.'"') |
||||
->andWhere('release_time<="'.$end_time.'"') |
||||
->andWhere('call_result="ANSWERED"') |
||||
->andWhere('record_file_url is null or record_file_url = ""') |
||||
->andWhere('record_file_url_real is not null or record_file_url_real <> ""') |
||||
->all(); |
||||
// $b->error = 222; |
||||
// $b->save(); |
||||
foreach ($phone_items as $item) { |
||||
if ($item->record_file_url == '') { |
||||
$url = ''; |
||||
|
||||
if ($item->record_file_url_real != '') { |
||||
|
||||
$url = $this->phoneMp3($item->record_file_url_real); |
||||
|
||||
} |
||||
|
||||
if ($url != '') { |
||||
$item->record_file_url = $url; |
||||
$item->save(false); |
||||
} |
||||
|
||||
|
||||
} |
||||
} |
||||
|
||||
// $b->error = 333; |
||||
// $b->save(); |
||||
// if($res){ |
||||
return json_encode(['code' => 0,'message' => "成功"]); |
||||
// }else{ |
||||
// return ['code' => 400,'message' => "失败",]; |
||||
// } |
||||
|
||||
} |
||||
|
||||
function phoneMp3Bak($url) { |
||||
$save_dir = Yii::$app->getBasePath() . '/../frontend/web'; |
||||
$filename = 'phone.mp3'; |
||||
|
||||
|
||||
|
||||
ob_start(); |
||||
readfile($url); |
||||
$content = ob_get_contents(); |
||||
ob_end_clean(); |
||||
|
||||
$size = strlen($content); |
||||
//文件大小 |
||||
$fp2 = @fopen($save_dir . $filename, 'w'); |
||||
$res = fwrite($fp2, $content); |
||||
fclose($fp2); |
||||
unset($content, $url); |
||||
if($res) { |
||||
// $name = date('YmdHis').rand(100,500).$filename; |
||||
$file_dir = $save_dir.$filename; |
||||
$fdfs = new Fdfs(); |
||||
$fileinfo = $fdfs->upload($file_dir, 'mp3'); |
||||
|
||||
$src = 'http://images.banmacar.com/' . $fileinfo['group_name'] . '/' . $fileinfo['remote_filename']; |
||||
return $src; |
||||
}else{ |
||||
return ''; |
||||
} |
||||
|
||||
} |
||||
|
||||
public function phoneMp3($url) { |
||||
// $a = new GiftCreateImageErrorT(); |
||||
// $a->error = 'aaa'.$url; |
||||
// $a->save(); |
||||
$save_dir = Yii::$app->getBasePath() . '/../frontend/web'; |
||||
$filename = $save_dir.'phone.mp3'; |
||||
header("Content-type: application/octet-stream"); |
||||
|
||||
$response = get_headers($url); |
||||
if(!preg_match('/200/',$response[0])) { |
||||
return ''; |
||||
} |
||||
|
||||
$tem_file = file_get_contents($url); |
||||
$res = file_put_contents($filename,$tem_file); |
||||
// $a->error = 'ddd'; |
||||
// $a->save(); |
||||
if($res) { |
||||
$fdfs = new Fdfs(); |
||||
$fileinfo = $fdfs->upload($filename, 'mp3'); |
||||
$src = 'http://images.banmacar.com/' . $fileinfo['group_name'] . '/' . $fileinfo['remote_filename']; |
||||
return $src; |
||||
}else{ |
||||
return ''; |
||||
} |
||||
|
||||
} |
||||
|
||||
function actionPhoneMp3new() { |
||||
$url = 'http://rec1.1ketong.com:8090/pull0/764/20190829/201908291516012221365068922194.mp3'; |
||||
|
||||
// $url = "https://www.baidu.com"; |
||||
$response = get_headers($url); |
||||
// echo "<pre>"; |
||||
// var_dump($response); |
||||
// $response = get_headers($url,1);//如果将可选的 format 参数设为 1,则 get_headers() 会解析相应的信息并设定数组的键名。 |
||||
// echo '<pre>'; |
||||
//var_dump($response);die; |
||||
if(!preg_match('/200/',$response[0])){ |
||||
echo 'error'; |
||||
}else{ |
||||
var_dump($response); |
||||
}die; |
||||
$save_dir = Yii::$app->getBasePath() . '/../frontend/web'; |
||||
$filename = $save_dir.'phone.mp3'; |
||||
header("Content-type: application/octet-stream"); |
||||
|
||||
$tem_file = file_get_contents($url); |
||||
$res = file_put_contents($filename,$tem_file); |
||||
if($res) { |
||||
$fdfs = new Fdfs(); |
||||
$fileinfo = $fdfs->upload($filename, 'mp3'); |
||||
$src = 'http://images.banmacar.com/' . $fileinfo['group_name'] . '/' . $fileinfo['remote_filename']; |
||||
return $src; |
||||
}else{ |
||||
return ''; |
||||
} |
||||
|
||||
} |
||||
|
||||
|
||||
public function actionCallApi() |
||||
{ |
||||
header("Content-type: application/json;charset=UTF-8"); |
||||
$uri = "http://zxltest.cn/phone/api"; |
||||
$corp_key = '0946239060682011'; |
||||
$ts=time(); |
||||
$str="corp_key=".$corp_key."&ts=".$ts."&called=13262603720&caller=15801120898&recorder_id=".$corp_key."&corp_secret=3E8QV35pHjjev1713E61xV3tFq1N1E4W"; |
||||
// dd($str); |
||||
$sign=md5($str); |
||||
// dd($sign); |
||||
$parmas = [ |
||||
'corp_key' => $corp_key, |
||||
'ts' => $ts, |
||||
'sign'=>$sign, |
||||
'called'=>'13262603720', |
||||
'caller'=>'15801120898', |
||||
'recorder_id'=>$corp_key, |
||||
]; |
||||
|
||||
// 3E8QV35pHjjev1713E61xV3tFq1N1E4W |
||||
$ch = curl_init();//初始化curl |
||||
curl_setopt($ch,CURLOPT_URL,$uri);//访问地址 |
||||
curl_setopt($ch, CURLOPT_POST, 1); |
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);//是否自动输出内容 |
||||
curl_setopt ( $ch, CURLOPT_POSTFIELDS, $parmas); |
||||
$result = curl_exec($ch); |
||||
curl_close($ch); |
||||
var_dump($result); |
||||
|
||||
|
||||
} |
||||
private function curldebang($parm) |
||||
{ |
||||
header("Content-type: text/html; charset=utf-8"); |
||||
$uri = "http://gwapi.deppon.com/dop-interface-async/dop-standard-ewborder/ewbNewSaveOrder.action"; |
||||
|
||||
list($t1, $t2) = explode(' ', microtime()); |
||||
|
||||
$timestamp = (float)sprintf('%.0f',(floatval($t1) + floatval($t2)) * 1000); |
||||
|
||||
$appkey = 'd4f7d7473ba3a22bc06bf939135a84f5'; |
||||
|
||||
$bianma = 'EWBCHBJQCFWYXGS'; |
||||
|
||||
$sign = 'LKUE12345678'; |
||||
|
||||
$parmas = [ |
||||
'backSignBill' => 0, |
||||
'cargoName' => "保单和礼品", |
||||
|
||||
//'logisticID' => $sign.time(),//订单ID |
||||
// 'logisticID' => 'QDGHFMMYYXGS1512985995',//订单ID |
||||
|
||||
'customerCode' => '400996024', |
||||
'customerID' => $bianma, |
||||
"deliveryType"=> 0, |
||||
"logisticCompanyID"=>"DEPPON", |
||||
'orderSource' => $bianma, |
||||
'logisticID' => $sign.time(), |
||||
'serviceType' => 2, //1、零担在线订单 2、快递在线订单 |
||||
'payType' => '2', |
||||
'gmtCommit' => date('Y-m-d H:i:s'), |
||||
|
||||
'sender' => [ |
||||
'name' => $parm['sender_name'], |
||||
'phone' => '01083298300', |
||||
'mobile' => '01083298300', |
||||
'province' => '北京', |
||||
'city' => '北京市', |
||||
'county' => '丰台区', |
||||
'address' => '五里店西59号', |
||||
], |
||||
'receiver' => [ |
||||
'name' => $parm['insurer_name'], |
||||
'phone' => $parm['link_tel'], |
||||
'province' => $parm['receiver_province'], |
||||
'city' => $parm['receiver_city'], |
||||
'county' => $parm['receiver_county'], |
||||
'address' => $parm['receiver_address'], |
||||
], |
||||
'totalNumber' => 1, |
||||
'totalWeight' => 30, |
||||
'transportType' => 'PACKAGE',//PACKAGE: 标准快递; RCP :360特惠件; 这两个,3KG以内是标准快递,超过3KG是360特惠。 |
||||
'vistReceive' => 'Y', |
||||
|
||||
]; |
||||
$senderinfo=$parmas['sender']; |
||||
$parmas = json_encode($parmas); |
||||
|
||||
$digest = base64_encode(md5($parmas . $appkey . $timestamp)); |
||||
|
||||
$data = array ( |
||||
'companyCode'=> $bianma, |
||||
'params'=> $parmas, |
||||
'digest'=> $digest, |
||||
'timestamp'=> $timestamp |
||||
); |
||||
|
||||
$ch = curl_init();//初始化curl |
||||
curl_setopt($ch,CURLOPT_URL,$uri);//访问地址 |
||||
curl_setopt($ch, CURLOPT_POST, 1); |
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);//是否自动输出内容 |
||||
curl_setopt ( $ch, CURLOPT_POSTFIELDS, $data ); |
||||
$result = curl_exec($ch); |
||||
curl_close($ch); |
||||
$result=json_decode($result,true); |
||||
$returnda['returnResult']=$result; |
||||
$returnda['senderdata']=$senderinfo; |
||||
return $returnda; |
||||
|
||||
} |
||||
|
||||
|
||||
public function actionAxInit(){ |
||||
Yii::$app->response->format = Response::FORMAT_JSON; |
||||
$request = Yii::$app->request; |
||||
$result['success'] = false; |
||||
$result['msg'] = '设置错误'; |
||||
|
||||
$id = $request->get('id',0); |
||||
$assign_id = $request->get('assign_id',0); |
||||
|
||||
$headers = array( |
||||
"Content-Type: application/json;charset=UTF-8", |
||||
"Accept:application/json", |
||||
|
||||
); |
||||
|
||||
|
||||
$assign_info = NetworkPhoneAssignT::findOne(['id'=>$assign_id]); |
||||
$sub_info = NetworkPhoneSubT::findOne(['id'=>$id]); |
||||
|
||||
$uri = "http://api.1ketong.com/ykt-pool/number/ax2/binding"; |
||||
$app_key = '0946239060682011'; |
||||
$ts= time(); |
||||
$uniqid = md5(uniqid(microtime(true),true)); |
||||
$request_id = $uniqid; |
||||
$tel = $assign_info->phone; |
||||
$expiration = 31536000; |
||||
// $expiration = 600; |
||||
$model = 2; |
||||
$tel_x = $sub_info->phone; |
||||
$parmas = [ |
||||
'appkey' => $app_key, |
||||
'ts' => $ts, |
||||
'request_id' => $request_id, |
||||
'tel' => $tel, |
||||
'expiration'=>$expiration, |
||||
'model'=>$model, |
||||
'tel_x' =>$tel_x |
||||
]; |
||||
ksort($parmas); |
||||
$parms_str = http_build_query($parmas); |
||||
$str = $parms_str . '&secret=3E8QV35pHjjev1713E61xV3tFq1N1E4W'; |
||||
$sign=md5($str); |
||||
$parmas['area_code']=''; |
||||
$parmas['sign']=$sign; |
||||
|
||||
|
||||
// 3E8QV35pHjjev1713E61xV3tFq1N1E4W |
||||
$ch = curl_init();//初始化curl |
||||
curl_setopt($ch,CURLOPT_URL,$uri);//访问地址 |
||||
curl_setopt($ch, CURLOPT_POST, 1); |
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);//是否自动输出内容 |
||||
curl_setopt ( $ch, CURLOPT_POSTFIELDS, json_encode($parmas)); |
||||
|
||||
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); |
||||
$res = curl_exec($ch); |
||||
curl_close($ch); |
||||
|
||||
$succ = json_decode($res); |
||||
if($succ->code == 0){ |
||||
$sub_info->bind_id = $succ->data->bind_id; |
||||
$sub_info->save(); |
||||
} |
||||
|
||||
$result['msg'] = $res; |
||||
return $result; |
||||
} |
||||
|
||||
public function actionAxUnbind(){ |
||||
Yii::$app->response->format = Response::FORMAT_JSON; |
||||
$request = Yii::$app->request; |
||||
$result['success'] = false; |
||||
$result['msg'] = '设置错误'; |
||||
|
||||
$id = $request->get('id',0); |
||||
|
||||
$headers = array( |
||||
"Content-Type: application/json;charset=UTF-8", |
||||
"Accept:application/json", |
||||
|
||||
); |
||||
|
||||
|
||||
$sub_info = NetworkPhoneSubT::findOne(['id'=>$id]); |
||||
|
||||
if($sub_info->bind_id == ''){ |
||||
$result['success'] = true; |
||||
$result['msg'] = '已无绑定关系'; |
||||
return $result; |
||||
} |
||||
|
||||
$count = NetworkPhoneSubT::find()->where('bind_id="'.$sub_info->bind_id.'"')->count(); |
||||
|
||||
if($count >1){ |
||||
$result['success'] = true; |
||||
return $result; |
||||
} |
||||
|
||||
$uri = "http://api.1ketong.com/ykt-pool/number/ax2/unbind"; |
||||
$app_key = '0946239060682011'; |
||||
$ts= time(); |
||||
$bind_id = $sub_info->bind_id; |
||||
|
||||
$parmas = [ |
||||
'appkey' => $app_key, |
||||
'ts' => $ts, |
||||
'bind_id'=>$bind_id |
||||
]; |
||||
ksort($parmas); |
||||
$parms_str = http_build_query($parmas); |
||||
$str = $parms_str . '&secret=3E8QV35pHjjev1713E61xV3tFq1N1E4W'; |
||||
$sign=md5($str); |
||||
$parmas['area_code']=''; |
||||
$parmas['sign']=$sign; |
||||
|
||||
|
||||
// 3E8QV35pHjjev1713E61xV3tFq1N1E4W |
||||
$ch = curl_init();//初始化curl |
||||
curl_setopt($ch,CURLOPT_URL,$uri);//访问地址 |
||||
curl_setopt($ch, CURLOPT_POST, 1); |
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);//是否自动输出内容 |
||||
curl_setopt ( $ch, CURLOPT_POSTFIELDS, json_encode($parmas)); |
||||
|
||||
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); |
||||
$res = curl_exec($ch); |
||||
curl_close($ch); |
||||
|
||||
$succ = json_decode($res); |
||||
if($succ->code == 0){ |
||||
$sub_info->bind_id = ''; |
||||
$sub_info->save(); |
||||
$result['success'] = true; |
||||
} |
||||
|
||||
$result['msg'] = $res; |
||||
return $result; |
||||
} |
||||
|
||||
public function actionAxOut(){ |
||||
Yii::$app->response->format = Response::FORMAT_JSON; |
||||
$request = Yii::$app->request; |
||||
$result['success'] = false; |
||||
$result['msg'] = '设置错误'; |
||||
|
||||
$phone = $request->get('phone',''); |
||||
$user_id = $request->get('user_id',0); |
||||
|
||||
$headers = array( |
||||
"Content-Type: application/json;charset=UTF-8", |
||||
"Accept:application/json", |
||||
|
||||
|
||||
); |
||||
$uri = "http://api.1ketong.com/ykt-pool/number/ax2/call_out"; |
||||
$app_key = '0946239060682011'; |
||||
$ts= time(); |
||||
$uniqid = md5(uniqid(microtime(true),true)); |
||||
$request_id = $uniqid; |
||||
|
||||
$assign = NetworkPhoneAssignT::find()->where('user_id='.$user_id)->one(); |
||||
if(!$assign){ |
||||
return $result; |
||||
} |
||||
|
||||
$caller = $assign->phone; |
||||
$called = $phone; |
||||
$expiration = 60; |
||||
|
||||
$total_ids = NetworkPhoneSubT::find()->where('assign_id='.$assign->id)->column();; |
||||
$count = count($total_ids); |
||||
|
||||
if($count<= 0){ |
||||
return $result; |
||||
} |
||||
|
||||
$i = mt_rand(0,$count-1); |
||||
|
||||
$id= $total_ids[$i]; |
||||
|
||||
$sub_info = NetworkPhoneSubT::findOne($id); |
||||
// $is_one = NetworkPhoneSubT::find()->where('is_called=1')->one(); |
||||
// |
||||
// if(!$is_one){ |
||||
// return $result; |
||||
// } |
||||
|
||||
$tel_x = $sub_info->phone; |
||||
// $tel_y = $is_one->phone; |
||||
$tel_y = $sub_info->phone; |
||||
$parmas = [ |
||||
'appkey' => $app_key, |
||||
'ts' => $ts, |
||||
'caller' => $caller, |
||||
'called' => $called, |
||||
'expiration'=>$expiration, |
||||
'request_id' => $request_id, |
||||
'tel_x' =>$tel_x, |
||||
'tel_y' =>$tel_y |
||||
]; |
||||
ksort($parmas); |
||||
$parms_str = http_build_query($parmas); |
||||
$str = $parms_str . '&secret=3E8QV35pHjjev1713E61xV3tFq1N1E4W'; |
||||
$sign=md5($str); |
||||
$parmas['sign']=$sign; |
||||
|
||||
|
||||
// 3E8QV35pHjjev1713E61xV3tFq1N1E4W |
||||
$ch = curl_init();//初始化curl |
||||
curl_setopt($ch,CURLOPT_URL,$uri);//访问地址 |
||||
curl_setopt($ch, CURLOPT_POST, 1); |
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);//是否自动输出内容 |
||||
curl_setopt ( $ch, CURLOPT_POSTFIELDS, json_encode($parmas)); |
||||
|
||||
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); |
||||
$res = curl_exec($ch); |
||||
curl_close($ch); |
||||
|
||||
$succ = json_decode($res); |
||||
if($succ->code == 0){ |
||||
$assign->is_phone = 1; |
||||
$assign->save(false); |
||||
} |
||||
|
||||
|
||||
// var_dump($result); |
||||
$result['success'] = true; |
||||
$result['msg'] = $tel_x; |
||||
return $result; |
||||
} |
||||
|
||||
|
||||
public function actionPushApi22() |
||||
{ |
||||
// header("Content-type: text/html; charset=utf-8"); |
||||
// Yii::$app->response->format = Response::FORMAT_JSON; |
||||
|
||||
$request = Yii::$app->request; |
||||
$corp_key=$request->post('corp_key'); |
||||
$ts=$request->post('ts'); |
||||
$sign=$request->post('sign'); |
||||
$recorder_id=$request->post('recorder_id'); |
||||
$caller=$request->post('caller'); |
||||
$called=$request->post('called'); |
||||
$caller_show=$request->post('caller_show'); |
||||
$called_show=$request->post('called_show'); |
||||
$begin_time=$request->post('begin_time'); |
||||
$connect_time=$request->post('connect_time'); |
||||
$alerting_time=$request->post('alerting_time'); |
||||
$release_time=$request->post('release_time'); |
||||
$call_duration=$request->post('call_duration'); |
||||
$bill_duration=$request->post('bill_duration'); |
||||
$call_result=$request->post('call_result'); |
||||
$record_file_url=$request->post('record_file_url'); |
||||
$call_cost=$request->post('call_cost'); |
||||
$caller_area=$request->post('caller_area'); |
||||
$called_area=$request->post('called_area'); |
||||
$extend=$request->post('extend'); |
||||
|
||||
|
||||
|
||||
$network_phone = NetworkPhoneT::findOne(['recorder_id'=>$recorder_id]); |
||||
if(!$network_phone){ |
||||
$network_phone = new NetworkPhoneT(); |
||||
} |
||||
|
||||
$network_phone->corp_key=$corp_key; |
||||
$network_phone->ts=$ts; |
||||
$network_phone->sign=$sign; |
||||
$network_phone->recorder_id=$recorder_id; |
||||
$network_phone->caller=$caller; |
||||
$network_phone->called=$called; |
||||
$network_phone->caller_show=$caller_show; |
||||
$network_phone->called_show=$called_show; |
||||
$network_phone->begin_time=$begin_time; |
||||
$network_phone->connect_time=$connect_time; |
||||
$network_phone->alerting_time=$alerting_time; |
||||
$network_phone->release_time=$release_time; |
||||
$network_phone->call_duration=$call_duration; |
||||
$network_phone->bill_duration=$bill_duration; |
||||
$network_phone->call_result=$call_result; |
||||
$network_phone->record_file_url_real=$record_file_url; |
||||
$network_phone->call_cost=$call_cost; |
||||
$network_phone->caller_area=$caller_area; |
||||
$network_phone->called_area=$called_area; |
||||
$network_phone->extend=$extend; |
||||
$network_phone->begin_date=date('Y-m-d'); |
||||
|
||||
|
||||
$assign = NetworkPhoneAssignT::findOne(['phone'=>$caller]); |
||||
$user_id = 0; |
||||
$is_called = 0; |
||||
if($assign){ |
||||
$user_id = $assign->user_id; |
||||
}else{ |
||||
$assign1 = NetworkPhoneAssignT::findOne(['phone'=>$called]); |
||||
if($assign1){ |
||||
$user_id = $assign1->user_id; |
||||
$is_called = 1; |
||||
} |
||||
} |
||||
|
||||
if($assign) { |
||||
$assign->is_phone = 0; |
||||
$assign->save(false); |
||||
}elseif ($assign1){ |
||||
$assign1->is_phone = 0; |
||||
$assign1->save(false); |
||||
} |
||||
|
||||
$network_phone->user_id=$user_id; |
||||
$network_phone->is_called=$is_called; |
||||
$res = $network_phone->save(false); |
||||
|
||||
|
||||
|
||||
// $begin_time = date('Y-m-d H:i:s',time()-10*24*3600); |
||||
// $end_time = date('Y-m-d H:i:s',time()-900); |
||||
// |
||||
// $phone_items = NetworkPhoneT::find()->where('release_time>="'.$begin_time.'"') |
||||
// ->andWhere('release_time<="'.$end_time.'"') |
||||
// ->andWhere('call_result="ANSWERED"') |
||||
// ->andWhere('record_file_url is null or record_file_url = ""') |
||||
// ->andWhere('record_file_url_real is not null or record_file_url_real <> ""') |
||||
// ->all(); |
||||
// |
||||
// foreach ($phone_items as $item){ |
||||
// if($item->record_file_url == ''){ |
||||
// $url = ''; |
||||
// if($item->record_file_url_real){ |
||||
// $url = $this->phoneMp3($item->record_file_url_real); |
||||
// } |
||||
// |
||||
// |
||||
// |
||||
// if($url != ''){ |
||||
// $item->record_file_url= $url; |
||||
// }else{ |
||||
// $item->record_file_url= $record_file_url; |
||||
// } |
||||
// $item->save(false); |
||||
// } |
||||
// } |
||||
|
||||
|
||||
|
||||
// if($res){ |
||||
return json_encode(['code' => 0,'message' => "成功"]); |
||||
// }else{ |
||||
// return ['code' => 400,'message' => "失败",]; |
||||
// } |
||||
|
||||
} |
||||
|
||||
} |
Loading…
Reference in new issue