修改音视频表查询

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

View File

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

View File

@ -60,9 +60,9 @@ class OrderInquiryVideoRecord extends Model
/**
* 新增-批量
* @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);
}

View File

@ -64,9 +64,9 @@ class OrderInquiryVideoReservation extends Model
/**
* 新增-批量
* @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);
}

View File

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

View File

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