创建服务包问诊订单以及支付回调增加发送im消息

This commit is contained in:
2024-04-12 15:28:14 +08:00
parent c4c6ff06dd
commit 94bbfb0db2
2 changed files with 82 additions and 6 deletions
@@ -4,6 +4,7 @@ namespace App\Services;
use App\Amqp\Producer\CancelUnInquiryOrdersDelayDirectProducer;
use App\Amqp\Producer\CancelUnpayOrdersDelayDirectProducer;
use App\Amqp\Producer\DoctorNotYetInquiryDelayDirectProducer;
use App\Constants\HttpEnumCode;
use App\Exception\BusinessException;
use App\Model\DiseaseClass;
@@ -968,6 +969,39 @@ class OrderServicePackageService extends BaseService
return fail(HttpEnumCode::HTTP_ERROR, $e->getMessage());
}
try {
// 获取订单医生数据
$params = array();
$params['doctor_id'] = $order_inquiry['doctor_id'];
$user_doctor = UserDoctor::getOne($params);
if (empty($user_doctor)) {
return fail(HttpEnumCode::HTTP_ERROR, "医生数据错误");
}
// 发送im消息
$imService = new ImService();
// 等待医生接诊
$imService->waitDoctorInquiry($order_inquiry, $user_doctor['user_id'], $order_inquiry['user_id']);
// 发送站内、订阅失败发送短信消息-医生有新问诊
$MessagePush = new MessagePush($user_doctor['user_id'], $order_inquiry['order_inquiry_id']);
$MessagePush->doctorHaveNewInquiry();
// 加入xx时间未接诊通知队列
$data = array();
$data['order_inquiry_id'] = $order_inquiry['order_inquiry_id'];
$time = 1000 * 60 * 60 * 2;
$message = new DoctorNotYetInquiryDelayDirectProducer($data);
$message->setDelayMs($time);
$producer = $this->container->get(Producer::class);
$producer->produce($message);
} catch (\Exception $e) {
// 验证失败
return fail(HttpEnumCode::HTTP_ERROR, $e->getMessage());
}
return success();
}