分配医生增加检测 获取患者家庭成员是否存在未支付的服务包订单
This commit is contained in:
parent
79a8c6d4a7
commit
3adc8ec38b
@ -17,6 +17,7 @@ use App\Services\ImService;
|
||||
use App\Services\InquiryService;
|
||||
use App\Services\MessagePush;
|
||||
use App\Services\OrderService;
|
||||
use App\Services\OrderServicePackageService;
|
||||
use App\Services\UserDoctorService;
|
||||
use App\Utils\Log;
|
||||
use App\Utils\Utils;
|
||||
@ -116,8 +117,7 @@ class AssignDoctorDelayDirectConsumer extends ConsumerMessage
|
||||
}
|
||||
|
||||
// 检测分配时间
|
||||
$pay_time = strtotime($order_inquiry['pay_time']);
|
||||
$diff_time = time() - $pay_time;
|
||||
$diff_time = time() - strtotime($order_inquiry['pay_time']);
|
||||
if ($diff_time < 0) {
|
||||
Log::getInstance('queue-AssignDoctor')->error("支付时间错误");
|
||||
|
||||
@ -174,7 +174,7 @@ class AssignDoctorDelayDirectConsumer extends ConsumerMessage
|
||||
$queue_data['order_inquiry_id'] = $data['order_inquiry_id'];
|
||||
|
||||
// 5分钟-支付时间-1s:10:00支付 此时10:04 5-(10:04-10:00)
|
||||
$time = 300- (time() - $pay_time) - 1;
|
||||
$time = 300- (time() - strtotime($order_inquiry['pay_time'])) - 1;
|
||||
|
||||
$message = new AssignDoctorDelayDirectProducer($queue_data);
|
||||
$message->setDelayMs(1000 * $time);
|
||||
@ -190,6 +190,31 @@ class AssignDoctorDelayDirectConsumer extends ConsumerMessage
|
||||
return Result::ACK;
|
||||
}
|
||||
|
||||
// 获取患者家庭成员是否存在未支付的服务包订单
|
||||
$OrderServicePackageService = new OrderServicePackageService();
|
||||
$order_service_package = $OrderServicePackageService->getPatientFamilyNoPayServicePackage($order_inquiry['user_id'], $order_inquiry['family_id'], $doctor_id);
|
||||
if (!empty($order_service_package)){
|
||||
$queue_data = array();
|
||||
$queue_data['order_inquiry_id'] = $data['order_inquiry_id'];
|
||||
|
||||
// 5分钟-支付时间-1s:10:00支付 此时10:04 5-(10:04-10:00)
|
||||
$time = 300- (time() - strtotime($order_inquiry['pay_time'])) - 1;
|
||||
|
||||
$message = new AssignDoctorDelayDirectProducer($queue_data);
|
||||
$message->setDelayMs(1000 * $time);
|
||||
$producer = $this->container->get(Producer::class);
|
||||
$res = $producer->produce($message);
|
||||
if (!$res) {
|
||||
Db::rollBack();
|
||||
Log::getInstance("queue-AssignDoctor")->error("患者和医生存在未支付的服务包订单,无法分配给该医生,重回队列");
|
||||
return Result::REQUEUE;
|
||||
}
|
||||
|
||||
Log::getInstance("queue-AssignDoctor")->info("重回队列");
|
||||
return Result::ACK;
|
||||
}
|
||||
|
||||
|
||||
// 更改数据库
|
||||
$save_data = array();
|
||||
$save_data['doctor_id'] = $doctor_id;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user