新增处理音视频回调-云端录制2
This commit is contained in:
parent
25656ad6be
commit
a104314a9e
@ -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());
|
||||
}
|
||||
|
||||
|
||||
@ -17,9 +17,11 @@ use Hyperf\Snowflake\Concern\Snowflake;
|
||||
* @property string $start_video_time 开始视频时间
|
||||
* @property string $stop_video_time 结束视频时间
|
||||
* @property string $vod_path_doctor 医生云点播路径
|
||||
* @property int $vod_status_doctor 医生云点播存储状态(0:未开始存储 1:成功 2:存储失败)
|
||||
* @property string $vod_err_doctor 医生云点播存储失败原因
|
||||
* @property string $vod_path_patient 患者云点播路径
|
||||
* @property int $vod_save_status 云点播存储状态(0:未开始存储 1:成功 2:存储失败)
|
||||
* @property string $vod_err_message 云点播存储失败原因
|
||||
* @property int $vod_status_patient 患者云点播存储状态(0:未开始存储 1:成功 2:存储失败)
|
||||
* @property string $vod_err_patient 患者云点播存储失败原因
|
||||
* @property \Carbon\Carbon $created_at 创建时间
|
||||
* @property \Carbon\Carbon $updated_at 修改时间
|
||||
*/
|
||||
@ -35,7 +37,7 @@ class OrderInquiryVideoRecord extends Model
|
||||
/**
|
||||
* The attributes that are mass assignable.
|
||||
*/
|
||||
protected array $fillable = ['records_id', 'order_inquiry_id', 'room_id', 'video_status', 'start_video_time', 'stop_video_time', 'vod_path_doctor', 'vod_path_patient', 'vod_save_status', 'vod_err_message', 'created_at', 'updated_at'];
|
||||
protected array $fillable = ['records_id', 'order_inquiry_id', 'room_id', 'video_status', 'start_video_time', 'stop_video_time', 'vod_path_doctor', 'vod_status_doctor', 'vod_err_doctor', 'vod_path_patient', 'vod_status_patient', 'vod_err_patient', 'created_at', 'updated_at'];
|
||||
|
||||
protected string $primaryKey = "records_id";
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user