新增im消息回调时推送订阅消息
This commit is contained in:
@@ -755,7 +755,6 @@ class UserService extends BaseService
|
||||
return success();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 通过user_id获取用户openid
|
||||
* @param string|int $user_id
|
||||
@@ -835,4 +834,78 @@ class UserService extends BaseService
|
||||
return $avatar;
|
||||
}
|
||||
|
||||
/**
|
||||
* 用户im消息通知
|
||||
* @param int|string $user_id
|
||||
* @param string|int $order_inquiry_id
|
||||
* @param array $msg_body
|
||||
* @return bool
|
||||
*/
|
||||
public function userImMessageNotice(int|string $user_id,string|int $order_inquiry_id,array $msg_body): bool
|
||||
{
|
||||
try {
|
||||
// 获取用户数据
|
||||
$params = array();
|
||||
$params['user_id'] = $user_id;
|
||||
$user = User::getOne($params);
|
||||
if (empty($user)){
|
||||
return false;
|
||||
}
|
||||
|
||||
// 获取用户配置
|
||||
$params = array();
|
||||
$params['user_id'] = $user['user_id'];
|
||||
$user_system = UserSystem::getOne($params);
|
||||
if (empty($user_system)){
|
||||
return false;
|
||||
}
|
||||
|
||||
$message = "您有一条新的问诊消息";
|
||||
// 判断消息类型
|
||||
if (isset($msg_body[0]['MsgType'])){
|
||||
switch ($msg_body[0]['MsgType']) {
|
||||
case 'TIMLocationElem':
|
||||
$message = "地理位置";
|
||||
break;
|
||||
case 'TIMFaceElem':
|
||||
$message = "表情消息";
|
||||
break;
|
||||
|
||||
case 'TIMSoundElem':
|
||||
$message = "语音消息";
|
||||
break;
|
||||
case 'TIMImageElem':
|
||||
$message = "图像消息";
|
||||
break;
|
||||
case 'TIMFileElem':
|
||||
$message = "文件消息";
|
||||
break;
|
||||
case 'TIMTextElem':
|
||||
if (isset($msg_body[0]['MsgContent']['Text'])){
|
||||
$message = $msg_body[0]['MsgContent']['Text'];
|
||||
}
|
||||
break;
|
||||
default:
|
||||
// code...
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
$MessagePush = new MessagePush($user_id, $order_inquiry_id);
|
||||
|
||||
if ($user['user_type'] == 1){
|
||||
// 患者
|
||||
$MessagePush->patientImMessageNotice($message);
|
||||
} elseif ($user['user_type'] == 2){
|
||||
// 医师
|
||||
$MessagePush->doctorImMessageNotice($message);
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
}catch (\Throwable $e){
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user