新增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
@@ -7,6 +7,8 @@ namespace App\Amqp\Consumer;
use App\Model\OrderInquiry;
use App\Model\OrderInquiryCoupon;
use App\Model\UserCoupon;
use App\Model\UserDoctor;
use App\Services\ImService;
use App\Services\InquiryService;
use App\Utils\Log;
use Hyperf\Amqp\Message\ConsumerDelayedMessageTrait;
@@ -144,6 +146,47 @@ class CancelUnInquiryOrdersDelayDirectConsumer extends ConsumerMessage
}
Log::getInstance()->info("取消未接诊问诊订单成功");
Log::getInstance()->info("取消未接诊问诊订单成功,发送IM消息");
try {
$ImService = new ImService();
// 获取订单医生数据
$params = array();
$params['doctor_id'] = $order_inquiry['doctor_id'];
$user_doctor = UserDoctor::getOne($params);
if (empty($user_doctor)) {
Log::getInstance()->info("取消未接诊问诊订单成功,发送IM消息失败:医生数据错误");
}
// 发送消息
// 自定义消息
$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['content'] = "--医生未接诊--";
$message_content_data['desc'] = "医生因工作繁忙,未能接诊和您沟通希望见谅。平台在24小时内进行退款,钱会退回至原账户中。";
$message_content = [
'Data' => json_encode($message_content_data,JSON_UNESCAPED_UNICODE),
];
$ImService->sendMessage($user_doctor['user_id'], $order_inquiry['user_id'], $message_content, "TIMCustomElem", $cloud_custom_data);
Log::getInstance()->info("取消未接诊问诊订单成功,发送IM消息成功");
} catch (\Exception $e) {
// 验证失败
Log::getInstance()->error("取消未接诊问诊订单成功,发送IM消息失败:" . $e->getMessage());
}
return Result::ACK;
}