info(json_encode($data, JSON_UNESCAPED_UNICODE)); if (!isset($data['order_inquiry_id'])){ Log::getInstance("queue-DoctorNotYetInquiry")->error("缺少参数"); return Result::ACK; } try { // 获取问诊订单数据 $params = array(); $params['order_inquiry_id'] = $data['order_inquiry_id']; $order_inquiry = OrderInquiry::getOne($params); if (empty($order_inquiry)){ Log::getInstance("queue-DoctorNotYetInquiry")->error("未找到对应问诊订单"); return Result::ACK; } // 检测问诊订单状态 if ($order_inquiry['inquiry_status'] != 3){ Log::getInstance("queue-DoctorNotYetInquiry")->error("状态非待接诊,无需发送"); return Result::ACK; } // 获取订单医生数据 $params = array(); $params['doctor_id'] = $order_inquiry['doctor_id']; $user_doctor = UserDoctor::getOne($params); if (empty($user_doctor)) { Log::getInstance("queue-DoctorNotYetInquiry")->error("医生数据错误"); return Result::ACK; } // 处理服务包情况 if ($order_inquiry['inquiry_mode'] == 8 || $order_inquiry['inquiry_mode'] == 9){ $OrderServicePackageService = new OrderServicePackageService(); // 获取服务包订单编号-通过问诊订单id $order_service_no = $OrderServicePackageService->getOrderServiceNoByOrderInquiryId($order_inquiry['inquiry_no']); // 检测问诊是否服务包首次问诊 $is_first = $OrderServicePackageService->isFirstInquiryServicePackage($order_service_no); if ($is_first){ // 医生-医生xx时间后还未接受服务包订单 $MessagePush = new MessagePush($user_doctor['user_id'],$order_inquiry['inquiry_no']); $MessagePush->doctorNotYetOrderServicePackage(); } }else{ // 发送站内、订阅消息-医生-超时未接诊 $MessagePush = new MessagePush($user_doctor['user_id'],$order_inquiry['inquiry_no']); $MessagePush->doctorNotYetInquiry(); } }catch (\Throwable $e){ Log::getInstance("queue-DoctorNotYetInquiry")->error($e->getMessage()); return Result::ACK; } return Result::ACK; } }