新增处理音视频回调-云端录制2
This commit is contained in:
@@ -2110,12 +2110,15 @@ class CallBackController extends AbstractController
|
||||
}
|
||||
|
||||
// 处理业务逻辑
|
||||
Db::beginTransaction();
|
||||
|
||||
try {
|
||||
// 获取视频预约记录
|
||||
$params = array();
|
||||
$params['room_id'] = $request_params['EventInfo']['RoomId'];
|
||||
$order_inquiry_video_reservation = OrderInquiryVideoReservation::getLastOne($params);
|
||||
if (empty($order_inquiry_video_reservation)){
|
||||
Db::rollBack();
|
||||
return $this->videoRecordingErrorReturn("未查询到该房间号,此条数据不接收");
|
||||
}
|
||||
|
||||
@@ -2125,11 +2128,13 @@ class CallBackController extends AbstractController
|
||||
$params['order_inquiry_id'] = $order_inquiry_video_reservation['order_inquiry_id'];
|
||||
$order_inquiry_video_record = OrderInquiryVideoRecord::getLastOne($params);
|
||||
if (empty($order_inquiry_video_record)){
|
||||
Db::rollBack();
|
||||
return $this->videoRecordingErrorReturn("缺少视频开启记录");
|
||||
}
|
||||
|
||||
if (!empty($order_inquiry_video_record['doctor_vod_path']) && !empty($order_inquiry_video_record['patient_vod_path'])){
|
||||
// 已存在点播路径,此次请求无需处理
|
||||
Db::rollBack();
|
||||
return $this->videoRecordingSuccessReturn();
|
||||
}
|
||||
|
||||
@@ -2142,44 +2147,51 @@ class CallBackController extends AbstractController
|
||||
$redis->set($redis_key, $request_params['EventType'], 20);
|
||||
if (!empty($redis_value)){
|
||||
// 事件正在处理,重复请求不处理
|
||||
Db::rollBack();
|
||||
return $this->videoRecordingSuccessReturn();
|
||||
}
|
||||
|
||||
// 处理业务逻辑
|
||||
if (!isset($request_params['EventInfo']['Payload']['TencentVod'])){
|
||||
Db::rollBack();
|
||||
return $this->videoRecordingErrorReturn("缺少关键参数");
|
||||
}
|
||||
|
||||
if (empty($request_params['EventInfo']['Payload']['TencentVod'])){
|
||||
Db::rollBack();
|
||||
return $this->videoRecordingErrorReturn("缺少关键参数");
|
||||
}
|
||||
|
||||
if (!isset($request_params['EventInfo']['Payload']['TencentVod']['UserId'])){
|
||||
Db::rollBack();
|
||||
return $this->videoRecordingErrorReturn("缺少用户id参数");
|
||||
}
|
||||
|
||||
if (empty($request_params['EventInfo']['Payload']['TencentVod']['UserId'])){
|
||||
Db::rollBack();
|
||||
return $this->videoRecordingErrorReturn("缺少用户id参数");
|
||||
}
|
||||
|
||||
// 获取用户数据
|
||||
$params = array();
|
||||
$params['user_id'] = $request_params['EventInfo']['Payload']['TencentVod']['UserId'];
|
||||
$user = User::getOne($params);
|
||||
if (empty($user)){
|
||||
Db::rollBack();
|
||||
return $this->videoRecordingErrorReturn("非法用户");
|
||||
}
|
||||
|
||||
if ($request_params['EventInfo']['Payload']['Status'] == 0){
|
||||
// 录制上传成功
|
||||
if (!isset($request_params['EventInfo']['Payload']['TencentVod'])){
|
||||
return $this->videoRecordingErrorReturn("缺少关键参数");
|
||||
}
|
||||
|
||||
if (empty($request_params['EventInfo']['Payload']['TencentVod'])){
|
||||
return $this->videoRecordingErrorReturn("缺少关键参数");
|
||||
}
|
||||
|
||||
if (!isset($request_params['EventInfo']['Payload']['TencentVod']['UserId'])){
|
||||
return $this->videoRecordingErrorReturn("缺少用户id参数");
|
||||
}
|
||||
|
||||
if (empty($request_params['EventInfo']['Payload']['TencentVod']['UserId'])){
|
||||
return $this->videoRecordingErrorReturn("缺少用户id参数");
|
||||
}
|
||||
|
||||
if (!isset($request_params['EventInfo']['Payload']['TencentVod']['VideoUrl'])){
|
||||
Db::rollBack();
|
||||
return $this->videoRecordingErrorReturn("缺少播放地址参数");
|
||||
}
|
||||
|
||||
if (empty($request_params['EventInfo']['Payload']['TencentVod']['VideoUrl'])){
|
||||
Db::rollBack();
|
||||
return $this->videoRecordingErrorReturn("缺少播放地址参数");
|
||||
}
|
||||
|
||||
// 获取用户数据
|
||||
$params = array();
|
||||
$params['user_id'] = $request_params['EventInfo']['Payload']['TencentVod']['UserId'];
|
||||
$user = User::getOne($params);
|
||||
if (empty($user)){
|
||||
return $this->videoRecordingErrorReturn("非法用户");
|
||||
}
|
||||
|
||||
// 修改视频状态
|
||||
$params = array();
|
||||
$params['records_id'] = $order_inquiry_video_record['records_id'];
|
||||
@@ -2187,28 +2199,34 @@ class CallBackController extends AbstractController
|
||||
if ($user['user_type'] == 1){
|
||||
$data = array();
|
||||
$data['vod_path_patient'] = $request_params['EventInfo']['Payload']['TencentVod']['VideoUrl'];
|
||||
$data['vod_save_status'] = 1;
|
||||
$data['vod_status_patient'] = 1;
|
||||
$res = OrderInquiryVideoRecord::edit($params,$data);
|
||||
if (!$res){
|
||||
Db::rollBack();
|
||||
return $this->videoRecordingErrorReturn("播放地址存储失败");
|
||||
}
|
||||
}elseif($user['user_type'] == 2){
|
||||
$data = array();
|
||||
$data['vod_path_doctor'] = $request_params['EventInfo']['Payload']['TencentVod']['VideoUrl'];
|
||||
$data['vod_status_doctor'] = 1;
|
||||
$res = OrderInquiryVideoRecord::edit($params,$data);
|
||||
if (!$res){
|
||||
Db::rollBack();
|
||||
return $this->videoRecordingErrorReturn("播放地址存储失败");
|
||||
}
|
||||
}else{
|
||||
Db::rollBack();
|
||||
return $this->videoRecordingErrorReturn("非法用户类型");
|
||||
}
|
||||
}else{
|
||||
// 录制上传失败
|
||||
if (!isset($request_params['EventInfo']['Payload']['Errmsg'])){
|
||||
Db::rollBack();
|
||||
return $this->videoRecordingErrorReturn("录制上传失败但缺少错误描述");
|
||||
}
|
||||
|
||||
if (empty($request_params['EventInfo']['Payload']['Errmsg'])){
|
||||
Db::rollBack();
|
||||
return $this->videoRecordingErrorReturn("录制上传失败但错误描述为空");
|
||||
}
|
||||
|
||||
@@ -2217,17 +2235,30 @@ class CallBackController extends AbstractController
|
||||
$params['records_id'] = $order_inquiry_video_record['records_id'];
|
||||
|
||||
$data = array();
|
||||
$data['vod_save_status'] = 2;
|
||||
$data['vod_err_message'] = $request_params['EventInfo']['Payload']['Errmsg'];
|
||||
if ($user['user_type'] == 1){
|
||||
$data['vod_status_patient'] = 2;
|
||||
$data['vod_err_patient'] = $request_params['EventInfo']['Payload']['Errmsg'];
|
||||
}elseif($user['user_type'] == 2){
|
||||
$data['vod_status_doctor'] = 2;
|
||||
$data['vod_err_doctor'] = $request_params['EventInfo']['Payload']['Errmsg'];
|
||||
}else{
|
||||
Db::rollBack();
|
||||
return $this->videoRecordingErrorReturn("非法用户类型");
|
||||
}
|
||||
|
||||
$res = OrderInquiryVideoRecord::edit($params,$data);
|
||||
if (!$res){
|
||||
return $this->videoRecordingErrorReturn("播放地址存储失败");
|
||||
Db::rollBack();
|
||||
return $this->videoRecordingErrorReturn("修改视频状态失败");
|
||||
}
|
||||
}
|
||||
|
||||
Db::commit();
|
||||
|
||||
// 删除缓存
|
||||
$redis->del($redis_key);
|
||||
}catch (\Throwable $e){
|
||||
Db::rollBack();
|
||||
return $this->videoRecordingErrorReturn($e->getMessage());
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user