新增im消息内页通知

This commit is contained in:
2023-03-29 21:06:34 +08:00
parent 4ca988f3a2
commit ad40e97d39
5 changed files with 161 additions and 4 deletions
+63
View File
@@ -1472,6 +1472,7 @@ class UserDoctorService extends BaseService
/**
* 新增医生接诊
* @return array
* @throws GuzzleException
*/
public function addDoctorInquiry(): array
{
@@ -1516,6 +1517,43 @@ class UserDoctorService extends BaseService
OrderInquiry::edit($params,$data);
// 发送问诊消息
$ImService = new ImService();
// 发送消息
$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'] = 1;
$message_content_data['title'] = "";
$message_content_data['desc'] = "";
if ($order_inquiry['inquiry_type'] == 1){
$message_content_data['title'] = "--问诊已开始,本次问诊可持续24小时--";
$message_content_data['desc'] = "医生已接诊,您可继续补充问诊内容,如目前症状、患病时长、检查及用药情况、需要的帮助等,线上咨询不能代表面诊,医生的回复仅为建议。";
} elseif ($order_inquiry['inquiry_type'] == 2){
$message_content_data['title'] = "--问诊已开始,本次问诊可持续60分钟--";
$message_content_data['desc'] = "医生已接诊,您可继续补充问诊内容,如目前症状、患病时长、检查及用药情况、需要的帮助等,线上咨询不能代表面诊,医生的回复仅为建议。";
} elseif ($order_inquiry['inquiry_type'] == 3){
$message_content_data['title'] = "--问诊已开始,本次问诊可持续24小时--";
$message_content_data['desc'] = "医生已接诊,您可一次描述需要问诊的内容,以免浪费问诊次数,如目前症状、患病时长、检查及用药情况、需要的帮助等,线上咨询不能代表面诊,医生的回复仅为建议。";
} elseif ($order_inquiry['inquiry_type'] == 4){
$message_content_data['title'] = "--问诊已开始,本次问诊可持续30分钟--";
$message_content_data['desc'] = "医生已接诊,您可继续补充问诊内容,如目前症状、患病时长、检查及用药情况、需要的帮助等,线上咨询不能代表面诊,医生的回复仅为建议。";
}
$message_content = [
'Data' => json_encode($message_content_data,JSON_UNESCAPED_UNICODE),
];
$ImService->sendMessage($user_info['user_id'], $order_inquiry['user_id'], $message_content, "TIMCustomElem", $cloud_custom_data);
Db::commit();
} catch (\Exception $e) {
@@ -1529,6 +1567,7 @@ class UserDoctorService extends BaseService
/**
* 结束问诊
* @return array
* @throws GuzzleException
*/
public function putDoctorFinishInquiry(): array
{
@@ -1572,6 +1611,30 @@ class UserDoctorService extends BaseService
$params['order_inquiry_id'] = $order_inquiry_id;
OrderInquiry::edit($params,$data);
// 发送问诊消息
$ImService = new ImService();
// 发送消息
$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'] = 1;
$message_content_data['title'] = "问诊已结束";
$message_content_data['desc'] = "线上咨询不能代替问诊,医生的回复仅为建议。";
$message_content = [
'Data' => json_encode($message_content_data,JSON_UNESCAPED_UNICODE),
];
$ImService->sendMessage($user_info['user_id'], $order_inquiry['user_id'], $message_content, "TIMCustomElem", $cloud_custom_data);
Db::commit();
} catch (\Exception $e) {
Db::rollBack();