|
@@ -502,6 +502,8 @@ class CommonController extends Controller
|
|
'RegionId' => "cn-kunming",
|
|
'RegionId' => "cn-kunming",
|
|
'PhoneNoA' => $phone1,
|
|
'PhoneNoA' => $phone1,
|
|
'PhoneNoB' => $phone2,
|
|
'PhoneNoB' => $phone2,
|
|
|
|
+ // 修改
|
|
|
|
+ 'IsRecordingEnabled' => true
|
|
],
|
|
],
|
|
])
|
|
])
|
|
->request();
|
|
->request();
|
|
@@ -972,21 +974,23 @@ class CommonController extends Controller
|
|
// 开始json
|
|
// 开始json
|
|
$req = request()->post();
|
|
$req = request()->post();
|
|
// 首先创建记录
|
|
// 首先创建记录
|
|
- try {
|
|
|
|
- $data = [];
|
|
|
|
- $data['call_time'] = $req[0]['call_time'];
|
|
|
|
- $data['call_type'] = $req[0]['call_type'];
|
|
|
|
- $data['aphone'] = $req[0]['phone_no'];
|
|
|
|
- $data['bphone'] = $req[0]['peer_no'];
|
|
|
|
- $data['call_id'] = $req[0]['call_id'];
|
|
|
|
- $data['secret_no'] = $req[0]['called_display_no'];
|
|
|
|
- $data['sub_id'] = $req[0]['sub_id'];
|
|
|
|
- CallLog::create($data);
|
|
|
|
- }catch (\Exception $e){
|
|
|
|
- var_dump($e->getFile().$e->getLine().$e->getMessage());
|
|
|
|
-
|
|
|
|
- }catch (\PDOException $e){
|
|
|
|
- var_dump($e->getFile().$e->getLine().$e->getMessage());
|
|
|
|
|
|
+ if ($req){
|
|
|
|
+ try {
|
|
|
|
+ $data = [];
|
|
|
|
+ $data['call_time'] = $req[0]['call_time'];
|
|
|
|
+ $data['call_type'] = $req[0]['call_type'];
|
|
|
|
+ $data['aphone'] = $req[0]['phone_no'];
|
|
|
|
+ $data['bphone'] = $req[0]['peer_no'];
|
|
|
|
+ $data['call_id'] = $req[0]['call_id'];
|
|
|
|
+ $data['secret_no'] = $req[0]['called_display_no'];
|
|
|
|
+ $data['sub_id'] = $req[0]['sub_id'];
|
|
|
|
+ CallLog::create($data);
|
|
|
|
+ }catch (\Exception $e){
|
|
|
|
+ var_dump($e->getFile().$e->getLine().$e->getMessage());
|
|
|
|
+
|
|
|
|
+ }catch (\PDOException $e){
|
|
|
|
+ var_dump($e->getFile().$e->getLine().$e->getMessage());
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
return json_encode(['code'=>0,'msg'=>"成功"],JSON_UNESCAPED_UNICODE);
|
|
return json_encode(['code'=>0,'msg'=>"成功"],JSON_UNESCAPED_UNICODE);
|
|
@@ -1027,43 +1031,112 @@ class CommonController extends Controller
|
|
|
|
|
|
$req = request()->post();
|
|
$req = request()->post();
|
|
$callids = CallLog::where('call_id',$req[0]['call_id'])->first();
|
|
$callids = CallLog::where('call_id',$req[0]['call_id'])->first();
|
|
- try {
|
|
|
|
- if ($callids){
|
|
|
|
- if($req[0]['release_dir']==0||(strtotime($req[0]['release_time'])-strtotime($req[0]['start_time']))==0||$req[0]['unconnected_cause']!=0){
|
|
|
|
- CallLog::where('call_id',$req[0]['call_id'])->delete();
|
|
|
|
- }else{
|
|
|
|
- // 修改信息
|
|
|
|
- $axbId = Axb::where(['xphone'=>$req[0]['called_display_no'],'subs_id'=>$req[0]['sub_id']])->first();
|
|
|
|
- if($axbId){
|
|
|
|
- $where['docter_id'] = $axbId['docter_id'];
|
|
|
|
- $where['user_id'] = $axbId['user_id'];
|
|
|
|
- $where['product_type'] =1;
|
|
|
|
- $where['order_status'] =3;
|
|
|
|
- $where['payment_status'] =2;
|
|
|
|
- $order_id = Order::where($where)->first();
|
|
|
|
- if ($order_id){
|
|
|
|
- $order_id = $order_id->id;
|
|
|
|
- $save_data = [];
|
|
|
|
- $save_data['order_id'] = $order_id;
|
|
|
|
- $save_data['ring_time'] = $req[0]['release_time'];
|
|
|
|
- $save_data['docter_id'] = $axbId['docter_id'];
|
|
|
|
- $save_data['release_dir'] = $req[0]['release_dir'];
|
|
|
|
- $save_data['talk_time'] = strtotime($req[0]['release_time'])-strtotime($req[0]['start_time']);
|
|
|
|
- $save_data['text'] = json_encode($req,JSON_UNESCAPED_UNICODE);
|
|
|
|
- // 解除号码绑定,并且删除数据库绑定信息
|
|
|
|
|
|
+ if ($req && $callids) {
|
|
|
|
+ try {
|
|
|
|
+ if ($callids){
|
|
|
|
+ if($req[0]['release_dir']==0||(strtotime($req[0]['release_time'])-strtotime($req[0]['start_time']))==0||$req[0]['unconnected_cause']!=0){
|
|
|
|
+ CallLog::where('call_id',$req[0]['call_id'])->delete();
|
|
|
|
+ }else{
|
|
|
|
+ // 修改信息
|
|
|
|
+ $axbId = Axb::where(['xphone'=>$req[0]['called_display_no'],'subs_id'=>$req[0]['sub_id']])->first();
|
|
|
|
+ if($axbId){
|
|
|
|
+ $where['docter_id'] = $axbId['docter_id'];
|
|
|
|
+ $where['user_id'] = $axbId['user_id'];
|
|
|
|
+ $where['product_type'] =1;
|
|
|
|
+ $where['order_status'] =3;
|
|
|
|
+ $where['payment_status'] =2;
|
|
|
|
+ $order_id = Order::where($where)->first();
|
|
|
|
+ if ($order_id){
|
|
|
|
+ $order_id = $order_id->id;
|
|
|
|
+ $save_data = [];
|
|
|
|
+ $save_data['order_id'] = $order_id;
|
|
|
|
+ $save_data['ring_time'] = $req[0]['release_time'];
|
|
|
|
+ $save_data['docter_id'] = $axbId['docter_id'];
|
|
|
|
+ $save_data['release_dir'] = $req[0]['release_dir'];
|
|
|
|
+ $save_data['talk_time'] = strtotime($req[0]['release_time'])-strtotime($req[0]['start_time']);
|
|
|
|
+ $save_data['text'] = json_encode($req,JSON_UNESCAPED_UNICODE);
|
|
|
|
+ // 解除号码绑定,并且删除数据库绑定信息
|
|
// $this->unLokPhone($req[0]['called_display_no'],$req[0]['sub_id']);
|
|
// $this->unLokPhone($req[0]['called_display_no'],$req[0]['sub_id']);
|
|
// Axb::where(['subs_id'=>$req[0]['sub_id']])->delete();
|
|
// Axb::where(['subs_id'=>$req[0]['sub_id']])->delete();
|
|
- CallLog::where('call_id',$req[0]['call_id'])->update($save_data);
|
|
|
|
- return json_encode(['code'=>0,'msg'=>"成功"],JSON_UNESCAPED_UNICODE);
|
|
|
|
|
|
+ CallLog::where('call_id',$req[0]['call_id'])->update($save_data);
|
|
|
|
+ return json_encode(['code'=>0,'msg'=>"成功"],JSON_UNESCAPED_UNICODE);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ }catch (\Exception $e){
|
|
|
|
+ CallLog::create(['text'=>json_encode($e->getFile().$e->getCode().$e->getMessage(),JSON_UNESCAPED_UNICODE)]);
|
|
|
|
+ }catch (\PDOException $e){
|
|
|
|
+ CallLog::create(['text'=>json_encode($e->getFile().$e->getCode().$e->getMessage(),JSON_UNESCAPED_UNICODE)]);
|
|
}
|
|
}
|
|
|
|
+ }
|
|
|
|
+ return json_encode(['code' => 0, 'msg' => "成功"], JSON_UNESCAPED_UNICODE);
|
|
|
|
+ }
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
+ * 录音文件返回
|
|
|
|
+ * @return false|string
|
|
|
|
+ */
|
|
|
|
+ public function Recording_status(){
|
|
|
|
+ $req = request()->post();
|
|
|
|
+ trace(['录音文件返回'=>'成功','入库数据'=>$req[0]],'info');
|
|
|
|
+ $config = config('config.axb');
|
|
|
|
+ AlibabaCloud::accessKeyClient($config['appid'], $config['appscret'])
|
|
|
|
+ ->regionId('cn-kunming')
|
|
|
|
+ ->asDefaultClient();
|
|
|
|
+ try {
|
|
|
|
+ $result = AlibabaCloud::dyplsapi()
|
|
|
|
+ ->v20170525()
|
|
|
|
+ ->queryRecordFileDownloadUrl()
|
|
|
|
+ ->withCallTime(date('Y-m-d H:i:s',substr($req[0]['call_time'], 0, 10)))
|
|
|
|
+ ->withCallId($req[0]['call_id'])
|
|
|
|
+ ->withPoolKey($req[0]['pool_key'])
|
|
|
|
+ ->request()->toArray();
|
|
|
|
+ trace(['录音文件返回1'=>'成功1','入库数据'=>$result],'info');
|
|
|
|
+ if ($result['Message']=='OK'){
|
|
|
|
+ $file = $this->downImgRar($result['DownloadUrl'],$req[0]['call_id']);
|
|
|
|
+ CallLog::where('call_id',$req[0]['call_id'])->update(['files'=>$file]);
|
|
|
|
+ trace(['录音文件完成'=>'成功','入库链接'=>$file],'info');
|
|
|
|
+ }
|
|
}catch (\Exception $e){
|
|
}catch (\Exception $e){
|
|
- CallLog::create(['text'=>json_encode($e->getFile().$e->getCode().$e->getMessage(),JSON_UNESCAPED_UNICODE)]);
|
|
|
|
- }catch (\PDOException $e){
|
|
|
|
- CallLog::create(['text'=>json_encode($e->getFile().$e->getCode().$e->getMessage(),JSON_UNESCAPED_UNICODE)]);
|
|
|
|
|
|
+ trace(['录音文件返回'=>'失败','入库数据'=>$req,'录音文件返回'=>isset($result)?$result:''],'info');
|
|
|
|
+ }
|
|
|
|
+ return json_encode(['code' => 0, 'msg' => "成功"], JSON_UNESCAPED_UNICODE);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 链接下载到本地
|
|
|
|
+ * @param $url
|
|
|
|
+ * @param $rename
|
|
|
|
+ * @param $ext
|
|
|
|
+ * @return string
|
|
|
|
+ */
|
|
|
|
+ public function downImgRar($url,$rename,$ext='mp3'){
|
|
|
|
+ trace(['开始转换'=>'1','链接'=>$url],'info');
|
|
|
|
+ try {
|
|
|
|
+ $dir = iconv("UTF-8", "GBK", "upload/callLog/");
|
|
|
|
+ if (!file_exists($dir)){
|
|
|
|
+ mkdir ($dir,0777,true);
|
|
|
|
+ }
|
|
|
|
+ $file_path = 'upload/callLog/';
|
|
|
|
+ $ch = curl_init($url);
|
|
|
|
+ curl_setopt($ch, CURLOPT_HEADER, 0);
|
|
|
|
+ curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
|
|
|
|
+ curl_setopt($ch, CURLOPT_BINARYTRANSFER,1);
|
|
|
|
+ $rawdata=curl_exec ($ch);
|
|
|
|
+ curl_close ($ch);
|
|
|
|
+ // 使用中文文件名需要转码
|
|
|
|
+ $fp = fopen($file_path.iconv('UTF-8', 'GBK', $rename).".".$ext,'w');
|
|
|
|
+ fwrite($fp, $rawdata);
|
|
|
|
+ fclose($fp);
|
|
|
|
+ // 返回路径
|
|
|
|
+ trace(['转换成功!'=>'1','地址'=>$_SERVER['DOCUMENT_ROOT'].$file_path.$rename.".".$ext],'info');
|
|
|
|
+ return $file_path.$rename.".".$ext;
|
|
|
|
+ }catch (\Exception $e){
|
|
|
|
+ trace(['转换失败'=>'1','错误'=>$e->getFile().'文件'.$e->getLine().'行'.$e->getMessage().'错误!'],'info');
|
|
|
|
+
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|