修改消息通知,新增患者问诊病例

This commit is contained in:
2023-08-10 11:39:39 +08:00
parent aa8cbcf9e8
commit 84c24faf70
5 changed files with 85 additions and 7 deletions
+38
View File
@@ -739,4 +739,42 @@ class ImService extends BaseService
}
}
/**
* 患者病例
* @param array|object $order_inquiry
* @param string $doctor_user_id
* @param string $disease_desc
* @return void
*/
public function patientCase(array|object $order_inquiry, string $doctor_user_id,string $disease_desc): 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['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'] = 11;
$message_content_data['title'] = "患者信息";
$message_content_data['desc'] = "";
$message_content_data['data']['order_no'] = $order_inquiry['inquiry_no'];
$message_content_data['data']['disease_desc'] = $disease_desc ?: "";
$message_content_data['data']['message_path'] = "/Pages/yishi/case/index?order_inquiry_id=" . $order_inquiry['order_inquiry_id']; // 跳转地址(小程序内页)
$message_content = [
'Data' => json_encode($message_content_data, JSON_UNESCAPED_UNICODE),
];
$this->sendMessage($doctor_user_id, $order_inquiry['user_id'], $message_content, "TIMCustomElem", $cloud_custom_data);
} catch (\Throwable $e) {
throw new BusinessException($e->getMessage());
}
}
}
+14 -1
View File
@@ -905,6 +905,15 @@ class PatientOrderService extends BaseService
return fail(HttpEnumCode::HTTP_ERROR, "非法订单");
}
// 获取病例数据
$params = array();
$params['order_inquiry_id'] = $order_inquiry['order_inquiry_id'];
$order_inquiry_case = OrderInquiryCase::getOne($params);
if (empty($order_inquiry_case)){
Db::rollBack();
return fail(HttpEnumCode::HTTP_ERROR, "患者病例错误");
}
// 验证订单状态
if ($order_inquiry['inquiry_status'] != 1) {
Db::rollBack();
@@ -964,8 +973,12 @@ class PatientOrderService extends BaseService
return fail(HttpEnumCode::HTTP_ERROR, "医生数据错误");
}
// 发送IM消息-等待医生接诊
// 发送im消息
$imService = new ImService();
// 患者病例
$imService->patientCase($order_inquiry,$user_doctor['user_id'],$order_inquiry_case['disease_desc']);
// 等待医生接诊
$imService->waitDoctorInquiry($order_inquiry, $user_doctor['user_id'], $order_inquiry['user_id']);
// 发送站内、订阅失败发送短信消息-医生有新问诊
+1 -1
View File
@@ -1271,7 +1271,7 @@ class UserDoctorService extends BaseService
$prescription_icd = $this->request->input('prescription_icd');
$doctor_advice = $this->request->input('doctor_advice');
$prescription_product = $this->request->input('prescription_product');
$disease_desc = $this->request->input('disease_desc');
$disease_desc = $this->request->input('disease_desc'); // 病情主诉
// 获取医生信息
$params = array();