新增问诊订单自动完成延迟队列

This commit is contained in:
2023-04-14 10:47:55 +08:00
parent 727b548be4
commit dc4f85f3d9
10 changed files with 276 additions and 68 deletions
+24
View File
@@ -3,6 +3,7 @@
namespace App\Services;
use App\Amqp\Producer\AssignPharmacistProducer;
use App\Amqp\Producer\AutoCompleteInquiryDelayDirectProducer;
use App\Amqp\Producer\AutoFinishInquiryDelayDirectProducer;
use App\Constants\DoctorTitleCode;
use App\Constants\HttpEnumCode;
@@ -1636,6 +1637,29 @@ class UserDoctorService extends BaseService
$MessagePush = new MessagePush($order_inquiry['user_id'],$order_inquiry['order_inquiry_id']);
$MessagePush->patientAcceptedInquiry();
if ($order_inquiry['inquiry_type'] == 1 || $order_inquiry['inquiry_type'] == 3){
// 专家问诊-公益问诊
$time = 1000 * 60 * 60;
}elseif($order_inquiry['inquiry_type'] == 2){
// 快速问诊
$time = 1000 * 60 * 30;
}else{
// 购药
$time = 1000 * 60 * 30;
}
// 添加自动完成队列
$data = array();
$data['order_inquiry_id'] = $order_inquiry['order_inquiry_id'];
$message = new AutoCompleteInquiryDelayDirectProducer($data);
$message->setDelayMs($time);
$producer = $this->container->get(Producer::class);
$res = $producer->produce($message);
if (!$res) {
Db::rollBack();
return fail(HttpEnumCode::SERVER_ERROR, "订单创建失败");
}
Db::commit();
} catch (\Exception $e) {
Db::rollBack();