|
@ -349,6 +349,53 @@ class WechatClient extends RedisModel {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
//医生、医生PC外层推送
|
|
|
sendSystemSocketMessageD(targetUserId, message,handler) {
|
|
|
let self = this;
|
|
|
//医生外层消息推送
|
|
|
let doctorClient = clientCache.findByIdAndType("doctor_system_"+targetUserId,SOCKET_TYPES.DOCTOR_SYSTEM);
|
|
|
let pc_doctorClient = clientCache.findByIdAndType("pc_"+targetUserId,SOCKET_TYPES.PC_DOCTOR);
|
|
|
if(!doctorClient&&!pc_doctorClient){
|
|
|
log.warn("target doctor system is not online!");
|
|
|
ModelUtil.emitOK(self.eventEmitter, {status: 1,message:"doctor_not_online"});
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
if(doctorClient&&message.session_id===doctorClient.sessionId){
|
|
|
doctorClient.socket.emit('message', {
|
|
|
id: message.id,
|
|
|
session_id: message.session_id,
|
|
|
sender_id: message.sender_id,
|
|
|
sender_name: message.sender_name,
|
|
|
content_type: message.content_type,
|
|
|
content: message.content,
|
|
|
timestamp: ObjectUtil.timestampToLong(message.timestamp),
|
|
|
type: message.content_type, // legacy support
|
|
|
name: message.sender_name,
|
|
|
});
|
|
|
ModelUtil.emitOK(self.eventEmitter, {status: 200});
|
|
|
return;
|
|
|
}else if(pc_doctorClient&&message.session_id===pc_doctorClient.sessionId){
|
|
|
pc_doctorClient.socket.emit('message', {
|
|
|
id: message.id,
|
|
|
session_id: message.session_id,
|
|
|
sender_id: message.sender_id,
|
|
|
sender_name: message.sender_name,
|
|
|
content_type: message.content_type,
|
|
|
content: message.content,
|
|
|
timestamp: ObjectUtil.timestampToLong(message.timestamp),
|
|
|
type: message.content_type, // legacy support
|
|
|
name: message.sender_name,
|
|
|
});
|
|
|
ModelUtil.emitOK(self.eventEmitter, {status: 200});
|
|
|
return;
|
|
|
}else{
|
|
|
ModelUtil.emitOK(self.eventEmitter, {status: 2,message:"sessionId is error"});
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
//推送居民、居民PC、医生、医生PC外层推送
|
|
|
sendSystemSocketMessage(targetUserId, message,handler) {
|
|
|
let self = this;
|