修改音视频表查询

This commit is contained in:
wucongxing8150 2024-03-11 14:06:52 +08:00
parent f56c2292a5
commit f184233f78
6 changed files with 65 additions and 57 deletions

View File

@ -5,6 +5,8 @@ declare(strict_types=1);
namespace App\Amqp\Consumer; namespace App\Amqp\Consumer;
use App\Model\OrderInquiry; use App\Model\OrderInquiry;
use App\Model\OrderInquiryVideoRecord;
use App\Model\OrderInquiryVideoReservation;
use App\Model\User; use App\Model\User;
use App\Model\UserDoctor; use App\Model\UserDoctor;
use App\Model\VideoRecord; use App\Model\VideoRecord;
@ -97,28 +99,28 @@ class SendVideoNoticeDelayDirectConsumer extends ConsumerMessage
// 获取视频预约状态 // 获取视频预约状态
$params = array(); $params = array();
$params['order_inquiry_id'] = $data['order_inquiry_id']; $params['order_inquiry_id'] = $data['order_inquiry_id'];
$video_reservation = VideoReservation::getOne($params); $order_inquiry_video_reservation = OrderInquiryVideoReservation::getOne($params);
if (empty($video_reservation)){ if (empty($order_inquiry_video_reservation)){
Log::getInstance("queue-SendVideoNotice")->error("缺少视频预约数据" ); Log::getInstance("queue-SendVideoNotice")->error("缺少视频预约数据" );
return Result::DROP; return Result::DROP;
} }
if ($video_reservation['is_send_reservation_notice'] == 1){ if ($order_inquiry_video_reservation['is_send_reservation_notice'] == 1){
Log::getInstance("queue-SendVideoNotice")->info("已发送过一次通知,无需发送" ); Log::getInstance("queue-SendVideoNotice")->info("已发送过一次通知,无需发送" );
return Result::ACK; return Result::ACK;
} }
// 检测是否已开过视频 // 检测是否已开过视频
$params = array(); $params = array();
$params['order_inquiry_id'] = $video_reservation['order_inquiry_id']; $params['order_inquiry_id'] = $order_inquiry_video_reservation['order_inquiry_id'];
$video_records = VideoRecord::getOne($params); $order_inquiry_video_records = OrderInquiryVideoRecord::getOne($params);
if (!empty($video_records)) { if (!empty($order_inquiry_video_records)) {
Log::getInstance("queue-SendVideoNotice")->info("已开过视频,无需发送" ); Log::getInstance("queue-SendVideoNotice")->info("已开过视频,无需发送" );
return Result::ACK; return Result::ACK;
} }
// 检测通知时间 // 检测通知时间
$reservation_time = strtotime($video_reservation['reservation_time']); $reservation_time = strtotime($order_inquiry_video_reservation['reservation_time']);
if ($reservation_time < time()){ if ($reservation_time < time()){
Log::getInstance("queue-SendVideoNotice")->info("当前时间已超过预约时间,无需发送" ); Log::getInstance("queue-SendVideoNotice")->info("当前时间已超过预约时间,无需发送" );
return Result::ACK; return Result::ACK;
@ -173,7 +175,7 @@ class SendVideoNoticeDelayDirectConsumer extends ConsumerMessage
$data['is_send_reservation_notice'] = 1; $data['is_send_reservation_notice'] = 1;
$params = array(); $params = array();
$params['inquiry_video_id'] = $video_reservation['inquiry_video_id']; $params['inquiry_video_id'] = $order_inquiry_video_reservation['inquiry_video_id'];
$res = VideoReservation::edit($params,$data); $res = VideoReservation::edit($params,$data);
if (!$res){ if (!$res){
Db::rollBack(); Db::rollBack();

View File

@ -23,6 +23,8 @@ use App\Model\OrderInquiry;
use App\Model\OrderInquiryCase; use App\Model\OrderInquiryCase;
use App\Model\OrderInquiryCoupon; use App\Model\OrderInquiryCoupon;
use App\Model\OrderInquiryRefund; use App\Model\OrderInquiryRefund;
use App\Model\OrderInquiryVideoRecord;
use App\Model\OrderInquiryVideoReservation;
use App\Model\OrderPrescription; use App\Model\OrderPrescription;
use App\Model\OrderProduct; use App\Model\OrderProduct;
use App\Model\OrderProductCoupon; use App\Model\OrderProductCoupon;
@ -1773,17 +1775,17 @@ class CallBackController extends AbstractController
// 获取视频预约记录 // 获取视频预约记录
$params = array(); $params = array();
$params['room_id'] = $request_params['EventInfo']['RoomId']; $params['room_id'] = $request_params['EventInfo']['RoomId'];
$video_reservation = VideoReservation::getLastOne($params); $order_inquiry_video_reservation = OrderInquiryVideoReservation::getLastOne($params);
if (empty($video_reservation)){ if (empty($order_inquiry_video_reservation)){
return $this->TrtcErrorReturn("未查询到该房间号,此条数据不接收"); return $this->TrtcErrorReturn("未查询到该房间号,此条数据不接收");
} }
// 获取视频记录 // 获取视频记录
$params = array(); $params = array();
$params['room_id'] = $request_params['EventInfo']['RoomId']; $params['room_id'] = $request_params['EventInfo']['RoomId'];
$params['order_inquiry_id'] = $video_reservation['order_inquiry_id']; $params['order_inquiry_id'] = $order_inquiry_video_reservation['order_inquiry_id'];
$video_record = VideoRecord::getLastOne($params); $order_inquiry_video_records = OrderInquiryVideoRecord::getLastOne($params);
if (empty($video_record)){ if (empty($order_inquiry_video_records)){
return $this->TrtcErrorReturn("缺少视频开启记录"); return $this->TrtcErrorReturn("缺少视频开启记录");
} }
@ -1853,18 +1855,18 @@ class CallBackController extends AbstractController
} }
// 检测视频状态 // 检测视频状态
if ($video_record['video_status'] == 3 || $video_record['video_status'] == 4){ if ($order_inquiry_video_records['video_status'] == 3 || $order_inquiry_video_records['video_status'] == 4){
// 已开始/结束通话,进入房间动作不做处理 // 已开始/结束通话,进入房间动作不做处理
return $this->TrtcSuccessReturn(); return $this->TrtcSuccessReturn();
} }
// 修改视频状态 // 修改视频状态
$params = array(); $params = array();
$params['records_id'] = $video_record['records_id']; $params['records_id'] = $order_inquiry_video_records['records_id'];
$data = array(); $data = array();
$data['video_status'] = 2; $data['video_status'] = 2;
$res = VideoRecord::edit($params,$data); $res = OrderInquiryVideoRecord::edit($params,$data);
if (!$res){ if (!$res){
return $this->TrtcErrorReturn("修改视频状态失败"); return $this->TrtcErrorReturn("修改视频状态失败");
} }
@ -1872,19 +1874,19 @@ class CallBackController extends AbstractController
break; break;
case '102': // 解散房间 case '102': // 解散房间
// 检测视频状态 // 检测视频状态
if ($video_record['video_status'] == 4){ if ($order_inquiry_video_records['video_status'] == 4){
// 已结束通话,解散房间动作不做处理 // 已结束通话,解散房间动作不做处理
return $this->TrtcSuccessReturn(); return $this->TrtcSuccessReturn();
} }
// 修改视频状态 // 修改视频状态
$params = array(); $params = array();
$params['records_id'] = $video_record['records_id']; $params['records_id'] = $order_inquiry_video_records['records_id'];
$data = array(); $data = array();
$data['video_status'] = 4; $data['video_status'] = 4;
$data['stop_video_time'] = date('Y-m-d H:i:s',$request_params['EventInfo']['EventMsTs']); $data['stop_video_time'] = date('Y-m-d H:i:s',$request_params['EventInfo']['EventMsTs']);
$res = VideoRecord::edit($params,$data); $res = OrderInquiryVideoRecord::edit($params,$data);
if (!$res){ if (!$res){
return $this->TrtcErrorReturn("修改视频状态失败"); return $this->TrtcErrorReturn("修改视频状态失败");
} }
@ -1892,24 +1894,24 @@ class CallBackController extends AbstractController
break; break;
case '201': // 视频推流 case '201': // 视频推流
// 检测视频状态 // 检测视频状态
if ($video_record['video_status'] == 4){ if ($order_inquiry_video_records['video_status'] == 4){
// 已结束通话,视频推流动作不做处理 // 已结束通话,视频推流动作不做处理
return $this->TrtcSuccessReturn(); return $this->TrtcSuccessReturn();
} }
if ($video_record['video_status'] == 3){ if ($order_inquiry_video_records['video_status'] == 3){
// 已开始通话,视频推流动作不做处理 // 已开始通话,视频推流动作不做处理
return $this->TrtcSuccessReturn(); return $this->TrtcSuccessReturn();
} }
// 修改视频状态 // 修改视频状态
$params = array(); $params = array();
$params['records_id'] = $video_record['records_id']; $params['records_id'] = $order_inquiry_video_records['records_id'];
$data = array(); $data = array();
$data['video_status'] = 3; $data['video_status'] = 3;
$data['stop_video_time'] = date('Y-m-d H:i:s',$request_params['EventInfo']['EventMsTs']); $data['stop_video_time'] = date('Y-m-d H:i:s',$request_params['EventInfo']['EventMsTs']);
$res = VideoRecord::edit($params,$data); $res = OrderInquiryVideoRecord::edit($params,$data);
if (!$res){ if (!$res){
return $this->TrtcErrorReturn("修改视频状态失败"); return $this->TrtcErrorReturn("修改视频状态失败");
} }
@ -1917,24 +1919,24 @@ class CallBackController extends AbstractController
break; break;
case '203': // 音频推流 case '203': // 音频推流
// 检测视频状态 // 检测视频状态
if ($video_record['video_status'] == 4){ if ($order_inquiry_video_records['video_status'] == 4){
// 已结束通话,音频推流动作不做处理 // 已结束通话,音频推流动作不做处理
return $this->TrtcSuccessReturn(); return $this->TrtcSuccessReturn();
} }
if ($video_record['video_status'] == 3){ if ($order_inquiry_video_records['video_status'] == 3){
// 已开始通话,音频推流动作不做处理 // 已开始通话,音频推流动作不做处理
return $this->TrtcSuccessReturn(); return $this->TrtcSuccessReturn();
} }
// 修改视频状态 // 修改视频状态
$params = array(); $params = array();
$params['records_id'] = $video_record['records_id']; $params['records_id'] = $order_inquiry_video_records['records_id'];
$data = array(); $data = array();
$data['video_status'] = 3; $data['video_status'] = 3;
$data['stop_video_time'] = date('Y-m-d H:i:s',$request_params['EventInfo']['EventMsTs']); $data['stop_video_time'] = date('Y-m-d H:i:s',$request_params['EventInfo']['EventMsTs']);
$res = VideoRecord::edit($params,$data); $res = OrderInquiryVideoRecord::edit($params,$data);
if (!$res){ if (!$res){
return $this->TrtcErrorReturn("修改视频状态失败"); return $this->TrtcErrorReturn("修改视频状态失败");
} }
@ -2076,8 +2078,8 @@ class CallBackController extends AbstractController
$params = array(); $params = array();
$params['room_id'] = $request_params['EventInfo']['RoomId']; $params['room_id'] = $request_params['EventInfo']['RoomId'];
$params['order_inquiry_id'] = $video_reservation['order_inquiry_id']; $params['order_inquiry_id'] = $video_reservation['order_inquiry_id'];
$video_record = VideoRecord::getLastOne($params); $order_inquiry_video_records = OrderInquiryVideoRecord::getLastOne($params);
if (empty($video_record)){ if (empty($order_inquiry_video_records)){
return $this->recordingErrorReturn("缺少视频开启记录"); return $this->recordingErrorReturn("缺少视频开启记录");
} }
@ -2158,7 +2160,7 @@ class CallBackController extends AbstractController
$data = array(); $data = array();
$data['video_status'] = 2; $data['video_status'] = 2;
$res = VideoRecord::edit($params,$data); $res = OrderInquiryVideoRecord::edit($params,$data);
if (!$res){ if (!$res){
return $this->recordingErrorReturn("修改视频状态失败"); return $this->recordingErrorReturn("修改视频状态失败");
} }
@ -2178,7 +2180,7 @@ class CallBackController extends AbstractController
$data = array(); $data = array();
$data['video_status'] = 4; $data['video_status'] = 4;
$data['stop_video_time'] = date('Y-m-d H:i:s',$request_params['EventInfo']['EventMsTs']); $data['stop_video_time'] = date('Y-m-d H:i:s',$request_params['EventInfo']['EventMsTs']);
$res = VideoRecord::edit($params,$data); $res = OrderInquiryVideoRecord::edit($params,$data);
if (!$res){ if (!$res){
return $this->recordingErrorReturn("修改视频状态失败"); return $this->recordingErrorReturn("修改视频状态失败");
} }
@ -2203,7 +2205,7 @@ class CallBackController extends AbstractController
$data = array(); $data = array();
$data['video_status'] = 3; $data['video_status'] = 3;
$data['stop_video_time'] = date('Y-m-d H:i:s',$request_params['EventInfo']['EventMsTs']); $data['stop_video_time'] = date('Y-m-d H:i:s',$request_params['EventInfo']['EventMsTs']);
$res = VideoRecord::edit($params,$data); $res = OrderInquiryVideoRecord::edit($params,$data);
if (!$res){ if (!$res){
return $this->recordingErrorReturn("修改视频状态失败"); return $this->recordingErrorReturn("修改视频状态失败");
} }
@ -2228,7 +2230,7 @@ class CallBackController extends AbstractController
$data = array(); $data = array();
$data['video_status'] = 3; $data['video_status'] = 3;
$data['stop_video_time'] = date('Y-m-d H:i:s',$request_params['EventInfo']['EventMsTs']); $data['stop_video_time'] = date('Y-m-d H:i:s',$request_params['EventInfo']['EventMsTs']);
$res = VideoRecord::edit($params,$data); $res = OrderInquiryVideoRecord::edit($params,$data);
if (!$res){ if (!$res){
return $this->recordingErrorReturn("修改视频状态失败"); return $this->recordingErrorReturn("修改视频状态失败");
} }

View File

@ -60,9 +60,9 @@ class OrderInquiryVideoRecord extends Model
/** /**
* 新增-批量 * 新增-批量
* @param array $data 新增数据 * @param array $data 新增数据
* @return \Hyperf\Database\Model\Model|VideoRecord * @return \Hyperf\Database\Model\Model|OrderInquiryVideoRecord
*/ */
public static function addVideoRecord(array $data): \Hyperf\Database\Model\Model|VideoRecord public static function addOrderInquiryVideoRecord(array $data): \Hyperf\Database\Model\Model|OrderInquiryVideoRecord
{ {
return self::create($data); return self::create($data);
} }

View File

@ -64,9 +64,9 @@ class OrderInquiryVideoReservation extends Model
/** /**
* 新增-批量 * 新增-批量
* @param array $data 新增数据 * @param array $data 新增数据
* @return \Hyperf\Database\Model\Model|VideoReservation * @return \Hyperf\Database\Model\Model|OrderInquiryVideoReservation
*/ */
public static function addVideoReservation(array $data): \Hyperf\Database\Model\Model|VideoReservation public static function addOrderInquiryVideoReservation(array $data): \Hyperf\Database\Model\Model|OrderInquiryVideoReservation
{ {
return self::create($data); return self::create($data);
} }

View File

@ -23,6 +23,8 @@ use App\Model\OrderInquiry;
use App\Model\OrderInquiryCase; use App\Model\OrderInquiryCase;
use App\Model\OrderInquiryCoupon; use App\Model\OrderInquiryCoupon;
use App\Model\OrderInquiryRefund; use App\Model\OrderInquiryRefund;
use App\Model\OrderInquiryVideoRecord;
use App\Model\OrderInquiryVideoReservation;
use App\Model\OrderPrescription; use App\Model\OrderPrescription;
use App\Model\OrderProductCoupon; use App\Model\OrderProductCoupon;
use App\Model\PatientFamily; use App\Model\PatientFamily;
@ -1383,17 +1385,17 @@ class InquiryService extends BaseService
// 获取视频预约数据 // 获取视频预约数据
$params = array(); $params = array();
$params['order_inquiry_id'] = $order_inquiry_id; $params['order_inquiry_id'] = $order_inquiry_id;
$video_reservation = VideoReservation::getOne($params); $order_inquiry_video_reservation = OrderInquiryVideoReservation::getOne($params);
if (!empty($video_reservation)) { if (!empty($order_inquiry_video_reservation)) {
$is_reservation_time = true; // 是否已设置预约时间 $is_reservation_time = true; // 是否已设置预约时间
$update_number = $video_reservation['update_number']; // 修改次数 $update_number = $order_inquiry_video_reservation['update_number']; // 修改次数
// 检测是否已开过视频 // 检测是否已开过视频
$params = array(); $params = array();
$params['order_inquiry_id'] = $order_inquiry_id; $params['order_inquiry_id'] = $order_inquiry_id;
$video_records = VideoRecord::getOne($params); $order_inquiry_video_records = OrderInquiryVideoRecord::getOne($params);
if (!empty($video_records)) { if (!empty($order_inquiry_video_records)) {
$is_video = true; // 是否已开视频0:否 1:是) $is_video = true; // 是否已开视频0:否 1:是)
} }
} }

View File

@ -6,6 +6,8 @@ use App\Amqp\Producer\SendVideoNoticeDelayDirectProducer;
use App\Constants\HttpEnumCode; use App\Constants\HttpEnumCode;
use App\Exception\BusinessException; use App\Exception\BusinessException;
use App\Model\OrderInquiry; use App\Model\OrderInquiry;
use App\Model\OrderInquiryVideoRecord;
use App\Model\OrderInquiryVideoReservation;
use App\Model\SystemInquiryConfig; use App\Model\SystemInquiryConfig;
use App\Model\User; use App\Model\User;
use App\Model\UserDoctor; use App\Model\UserDoctor;
@ -81,18 +83,18 @@ class VideoService extends BaseService
$params = array(); $params = array();
$params['order_inquiry_id'] = $order_inquiry_id; $params['order_inquiry_id'] = $order_inquiry_id;
$video_reservation = VideoReservation::getOne($params); $order_inquiry_video_reservation = OrderInquiryVideoReservation::getOne($params);
if (!empty($video_reservation)) { if (!empty($order_inquiry_video_reservation)) {
// 检测预约时间修改次数 // 检测预约时间修改次数
if ($video_reservation['update_number'] >= 1) { if ($order_inquiry_video_reservation['update_number'] >= 1) {
return fail(HttpEnumCode::HTTP_ERROR, "已无法设置/修改视频时间,可立即发起视频"); return fail(HttpEnumCode::HTTP_ERROR, "已无法设置/修改视频时间,可立即发起视频");
} }
// 检测是否已开过视频 // 检测是否已开过视频
$params = array(); $params = array();
$params['order_inquiry_id'] = $order_inquiry_id; $params['order_inquiry_id'] = $order_inquiry_id;
$video_records = VideoRecord::getOne($params); $order_inquiry_video_records = OrderInquiryVideoRecord::getOne($params);
if (!empty($video_records)) { if (!empty($order_inquiry_video_records)) {
return fail(HttpEnumCode::HTTP_ERROR, "已开过视频,无需再修改预约时间"); return fail(HttpEnumCode::HTTP_ERROR, "已开过视频,无需再修改预约时间");
} }
@ -121,8 +123,8 @@ class VideoService extends BaseService
$data['order_inquiry_id'] = $order_inquiry['order_inquiry_id']; $data['order_inquiry_id'] = $order_inquiry['order_inquiry_id'];
$data['room_id'] = substr($order_inquiry['doctor_id'], -5) . substr(time(), -4); $data['room_id'] = substr($order_inquiry['doctor_id'], -5) . substr(time(), -4);
$data['reservation_time'] = $reservation_time; $data['reservation_time'] = $reservation_time;
$video_reservation = VideoReservation::addVideoReservation($data); $order_inquiry_video_reservation = OrderInquiryVideoReservation::addOrderInquiryVideoReservation($data);
if (empty($video_reservation)) { if (empty($order_inquiry_video_reservation)) {
Db::rollBack(); Db::rollBack();
return fail(HttpEnumCode::SERVER_ERROR, "设置失败"); return fail(HttpEnumCode::SERVER_ERROR, "设置失败");
} }
@ -133,7 +135,7 @@ class VideoService extends BaseService
$data['update_number'] = 1; $data['update_number'] = 1;
$params = array(); $params = array();
$params['inquiry_video_id'] = $video_reservation['inquiry_video_id']; $params['inquiry_video_id'] = $order_inquiry_video_reservation['inquiry_video_id'];
$res = VideoReservation::edit($params, $data); $res = VideoReservation::edit($params, $data);
if (!$res) { if (!$res) {
Db::rollBack(); Db::rollBack();
@ -259,12 +261,12 @@ class VideoService extends BaseService
$params = array(); $params = array();
$params['order_inquiry_id'] = $order_inquiry_id; $params['order_inquiry_id'] = $order_inquiry_id;
$video_reservation = VideoReservation::getOne($params); $order_inquiry_video_reservation = OrderInquiryVideoReservation::getOne($params);
if (empty($video_reservation)) { if (empty($order_inquiry_video_reservation)) {
return fail(HttpEnumCode::HTTP_ERROR, "您还没有和患者预约视频时间,无法发起视频"); return fail(HttpEnumCode::HTTP_ERROR, "您还没有和患者预约视频时间,无法发起视频");
} }
if (empty($video_reservation['room_id'])){ if (empty($order_inquiry_video_reservation['room_id'])){
// 视频房间创建错误,无房间号 // 视频房间创建错误,无房间号
return fail(HttpEnumCode::SERVER_ERROR); return fail(HttpEnumCode::SERVER_ERROR);
} }
@ -275,11 +277,11 @@ class VideoService extends BaseService
// 增加视频记录 // 增加视频记录
$data = array(); $data = array();
$data['order_inquiry_id'] = $order_inquiry['order_inquiry_id']; $data['order_inquiry_id'] = $order_inquiry['order_inquiry_id'];
$data['room_id'] = $video_reservation['room_id']; $data['room_id'] = $order_inquiry_video_reservation['room_id'];
$data['video_status'] = 1; $data['video_status'] = 1;
$data['start_video_time'] = date('Y-m-d H:i:s', time()); $data['start_video_time'] = date('Y-m-d H:i:s', time());
$video_records = VideoRecord::addVideoRecord($data); $order_inquiry_video_records = OrderInquiryVideoRecord::addOrderInquiryVideoRecord($data);
if (empty($video_records)) { if (empty($order_inquiry_video_records)) {
Db::rollBack(); Db::rollBack();
return fail(HttpEnumCode::SERVER_ERROR, "发起视频失败"); return fail(HttpEnumCode::SERVER_ERROR, "发起视频失败");
} }
@ -291,6 +293,6 @@ class VideoService extends BaseService
return fail(HttpEnumCode::SERVER_ERROR, $e->getMessage()); return fail(HttpEnumCode::SERVER_ERROR, $e->getMessage());
} }
return success($video_reservation['room_id']); return success($order_inquiry_video_reservation['room_id']);
} }
} }