From 4e6c0df123b24b7f5e31aff8d837225a0fc9ec25 Mon Sep 17 00:00:00 2001 From: wucongxing <815046773@qq.com> Date: Wed, 10 Jan 2024 11:21:48 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E7=BB=93=E6=9D=9F=EF=BC=8C?= =?UTF-8?q?=E6=8F=90=E9=86=92=E8=B5=A0=E9=80=81=E5=9B=9E=E5=90=88=E6=95=B0?= =?UTF-8?q?=EF=BC=88=E5=8C=BB=E7=94=9F=E7=AB=AF=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Services/ImService.php | 36 +++++++++++++++++++++++++++++++++ app/Services/InquiryService.php | 6 ++++++ 2 files changed, 42 insertions(+) diff --git a/app/Services/ImService.php b/app/Services/ImService.php index 611e889..7cea176 100644 --- a/app/Services/ImService.php +++ b/app/Services/ImService.php @@ -915,4 +915,40 @@ class ImService extends BaseService throw new BusinessException($e->getMessage()); } } + + /** + * 订单结束,提醒赠送回合数(医生端) + * @param array|object $order_inquiry 问诊订单数据 + * @param string $doctor_user_id 医生用户id + * @param string $patient_user_id 患者用户id + * @return void + */ + public function remindGiveFreeRounds(array|object $order_inquiry, string $doctor_user_id, string $patient_user_id): void + { + try { + // 发送消息 + $cloud_custom_data = array(); + $cloud_custom_data['order_inquiry_id'] = $order_inquiry['order_inquiry_id']; + $cloud_custom_data['is_system'] = 1; + $cloud_custom_data['inquiry_type'] = $order_inquiry['inquiry_type']; + $cloud_custom_data['inquiry_mode'] = $order_inquiry['inquiry_mode']; + $cloud_custom_data['message_rounds'] = 0; + $cloud_custom_data['patient_family_data']['patient_name'] = $order_inquiry['patient_name']; + $cloud_custom_data['patient_family_data']['patient_sex'] = $order_inquiry['patient_sex']; + $cloud_custom_data['patient_family_data']['patient_age'] = $order_inquiry['patient_age']; + + // 消息内容 医生-患者 + $message_content_data = array(); + $message_content_data['message_type'] = 14; + $message_content_data['title'] = ""; + $message_content_data['desc'] = "点击更多选择【赠送沟通】,您可以赠送患者沟通回合数。"; + $message_content = [ + 'Data' => json_encode($message_content_data, JSON_UNESCAPED_UNICODE), + ]; + + $this->sendMessage($doctor_user_id, $patient_user_id, $message_content, "TIMCustomElem", $cloud_custom_data); + } catch (\Exception $e) { + throw new BusinessException($e->getMessage()); + } + } } \ No newline at end of file diff --git a/app/Services/InquiryService.php b/app/Services/InquiryService.php index 9649ce5..5220a32 100644 --- a/app/Services/InquiryService.php +++ b/app/Services/InquiryService.php @@ -1109,6 +1109,9 @@ class InquiryService extends BaseService $imService = new ImService(); $imService->inquiryComplete($order_inquiry, $user_doctor['user_id'], $order_inquiry['user_id']); + // 发送IM消息-订单结束,提醒赠送回合数(医生端) + $imService->remindGiveFreeRounds($order_inquiry, $user_doctor['user_id'], $order_inquiry['user_id']); + // 发送IM消息-问诊结束评价通知 $imService->inquiryEndEvaluation($order_inquiry, $user_doctor['user_id'], $order_inquiry['user_id']); @@ -1119,6 +1122,9 @@ class InquiryService extends BaseService // 患者-发送通知消息-患者的问诊服务结束 $MessagePush = new MessagePush($order_inquiry['user_id'], $order_inquiry['order_inquiry_id']); $MessagePush->patientInquiryFinish(); + + + } catch (\Throwable $e) { Log::getInstance("InquiryService-putFinishInquiry")->error($e->getMessage()); }