新增分配医生延迟队列

This commit is contained in:
2023-04-26 15:35:19 +08:00
parent daf2981c3f
commit d746a7ae8a
5 changed files with 22 additions and 49 deletions
+2 -1
View File
@@ -1303,7 +1303,8 @@ class InquiryService extends BaseService
$redis->incr($redis_key);
} catch (\Exception $e) {
throw new BusinessException("检测问诊订单执行退款次数失败:" . $e->getMessage());
Log::getInstance()->error("检测问诊订单执行退款次数失败:" . $e->getMessage());
return false;
}
return true;
+6 -4
View File
@@ -2,6 +2,7 @@
namespace App\Services;
use App\Amqp\Producer\AssignDoctorDelayDirectProducer;
use App\Amqp\Producer\AssignDoctorProducer;
use App\Amqp\Producer\CancelUnpayOrdersDelayDirectProducer;
use App\Constants\DoctorTitleCode;
@@ -852,10 +853,11 @@ class PatientOrderService extends BaseService
$data = array();
$data['order_inquiry_id'] = $order_inquiry['order_inquiry_id'];
$message = new AssignDoctorProducer($data);
$producer = ApplicationContext::getContainer()->get(Producer::class);
$result = $producer->produce($message);
if (!$result) {
$message = new AssignDoctorDelayDirectProducer($data);
$message->setDelayMs(1000 * 5);
$producer = $this->container->get(Producer::class);
$res = $producer->produce($message);
if (!$res) {
Db::rollBack();
return fail(HttpEnumCode::HTTP_ERROR, "分配医生失败");
}