新增问诊消息推送

This commit is contained in:
2023-03-28 15:56:39 +08:00
parent cfc7887ce9
commit d0d1e7494d
14 changed files with 288 additions and 82 deletions
@@ -123,6 +123,7 @@ class AssignDoctorConsumer extends ConsumerMessage
$InquiryService->inquiryRefund($order_inquiry['order_inquiry_id'], "暂无医生接诊");
Db::commit();
return Result::ACK;
}
@@ -192,6 +193,10 @@ class AssignDoctorConsumer extends ConsumerMessage
$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();
@@ -132,7 +132,7 @@ class CancelUnInquiryOrdersDelayDirectConsumer extends ConsumerMessage
}
$InquiryService->inquiryRefund($order_inquiry['order_inquiry_id'], "医生未接诊");
Db::commit();
return Result::ACK;
}
@@ -143,8 +143,8 @@ class CancelUnInquiryOrdersDelayDirectConsumer extends ConsumerMessage
return Result::REQUEUE;
}
Log::getInstance()->info("取消未接诊问诊订单成功");
return Result::ACK;
}
}
@@ -73,6 +73,7 @@ class SendStationMessageConsumer extends ConsumerMessage
$cloud_custom_data['is_system'] = 1;
$cloud_custom_data['inquiry_type'] = "";
$cloud_custom_data['message_rounds'] = 0;
$cloud_custom_data['patient_family_data'] = [];
// 消息内容
$message_content_data = array();
@@ -89,7 +90,7 @@ class SendStationMessageConsumer extends ConsumerMessage
$this->saveMessageNotice($user->toArray(),$data);
Log::getInstance()->info("站内消息推送成功");
$this->saveSuccessPushLog($user['user_type'],$data['sub_data']);
$this->saveSuccessPushLog($user['user_type'],$data);
} catch (\Exception $e) {
Log::getInstance()->error("站内消息推送执行失败:" . $e->getMessage());
+20 -20
View File
@@ -52,16 +52,16 @@ class SendSubMessageConsumer extends ConsumerMessage
{
Log::getInstance()->info("开始执行 订阅消息推送 队列:" . json_encode($data, JSON_UNESCAPED_UNICODE));
try {
// 获取被推送用户信息
$params = array();
$params['user_id'] = $data['push_user_id'];
$user = User::getOne($params);
if (empty($user)){
Log::getInstance()->error("订阅消息推送执行失败:未查询到被推送用户信息");
return Result::ACK;
}
// 获取被推送用户信息
$params = array();
$params['user_id'] = $data['sub_data']['push_user_id'];
$user = User::getOne($params);
if (empty($user)){
Log::getInstance()->error("订阅消息推送执行失败:未查询到被推送用户信息");
return Result::ACK;
}
try {
// 验证发送参数
if (empty($data['sub_data']['params']['data'])){
Log::getInstance()->error("订阅消息推送执行失败:无推送数据");
@@ -74,9 +74,7 @@ class SendSubMessageConsumer extends ConsumerMessage
$send_data = array();
foreach ($data['sub_data']['params']['data'] as $key => $item){
$send_data[$key] = [
"value" => [
$item
]
"value" => $item
];
}
@@ -87,7 +85,6 @@ class SendSubMessageConsumer extends ConsumerMessage
return Result::DROP;
}
// 获取open_id
$UserService = new UserService();
$open_id = $UserService->getOpenIdWithUserId($user['user_id'],$user['user_type']);
@@ -103,7 +100,7 @@ class SendSubMessageConsumer extends ConsumerMessage
// 获取消息模版
$sub_template = $this->getSubTemplate($user['user_type'],$data['sub_data']['template_title']);
if (empty($template_title)){
if (empty($sub_template)){
Log::getInstance()->error("订阅消息推送执行失败:未获取到需要发送的消息模版数据");
$this->saveErrorPushLog($user['user_type'],$data['sub_data'],"未获取到需要发送的消息模版数据");
@@ -115,6 +112,7 @@ class SendSubMessageConsumer extends ConsumerMessage
// 处理发送环境
$miniprogram_state = "developer";
// $miniprogram_state = "trial";
if (env("APP_ENV") == "prod"){
$miniprogram_state = "formal";
}
@@ -128,6 +126,8 @@ class SendSubMessageConsumer extends ConsumerMessage
"lang" => "zh_CN",
];
dump($options);
// 发起推送
$Wechat = new Wechat($user['user_type']);
$result = $Wechat->sendSubscribeMessage($options);
@@ -270,13 +270,13 @@ class SendSubMessageConsumer extends ConsumerMessage
// 下载消息模版数据
Log::getInstance()->info("消息模版:" . $template_title . " 在数据库中为空");
$this->downSubTemplate($user_type);
}
// 重新获取订阅消息模版
$params = array();
$params['client_type'] = $user_type; // 客户端类型(1:患者端 2:医师端 3:药师端)
$params['template_title'] = $template_title;
$sub_template = SubTemplate::getOne($params);
// 重新获取订阅消息模版
$params = array();
$params['client_type'] = $user_type; // 客户端类型(1:患者端 2:医师端 3:药师端)
$params['template_title'] = $template_title;
$sub_template = SubTemplate::getOne($params);
}
} catch (\Exception $e) {
Log::getInstance()->error("获取数据库消息订阅模版失败:" . $e->getMessage());
}