|
@ -406,43 +406,153 @@ class WechatClient extends RedisModel {
|
|
|
if(!doctorSYSTEMClient){
|
|
|
log.warn("target system doctor is not online!");
|
|
|
}else{
|
|
|
doctorSYSTEMClient.socket.emit('message', {
|
|
|
id: message.id,
|
|
|
session_id: 'system',
|
|
|
sender_id: message.sender_id,
|
|
|
sender_name: message.sender_name,
|
|
|
content_type: 1,
|
|
|
content: {"socket_sms_type":4},
|
|
|
timestamp: ObjectUtil.timestampToLong(message.timestamp),
|
|
|
type: message.content_type, // legacy support
|
|
|
name: message.sender_name,
|
|
|
patient_name:message.patient_name,
|
|
|
patient_age:message.patient_age,
|
|
|
patient_sex:message.patient_sex,
|
|
|
extend:message.extend
|
|
|
});
|
|
|
if (message.content_type==CONTENT_TYPES.emergencyAssistance){
|
|
|
doctorSYSTEMClient.socket.emit('message', {
|
|
|
session_id:message.session_id,
|
|
|
sender_name: message.sender_name,
|
|
|
order_id:message.order_id,
|
|
|
type: message.content_type,
|
|
|
extend:message.extend
|
|
|
});
|
|
|
}else {
|
|
|
doctorSYSTEMClient.socket.emit('message', {
|
|
|
id: message.id,
|
|
|
session_id: 'system',
|
|
|
sender_id: message.sender_id,
|
|
|
sender_name: message.sender_name,
|
|
|
content_type: 1,
|
|
|
content: {"socket_sms_type":4},
|
|
|
timestamp: ObjectUtil.timestampToLong(message.timestamp),
|
|
|
type: message.content_type, // legacy support
|
|
|
name: message.sender_name,
|
|
|
patient_name:message.patient_name,
|
|
|
patient_age:message.patient_age,
|
|
|
patient_sex:message.patient_sex,
|
|
|
extend:message.extend
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
|
|
|
if(!doctorAPPSYSTEMClient){
|
|
|
log.warn("target system app doctor is not online!");
|
|
|
}else{
|
|
|
doctorAPPSYSTEMClient.socket.emit('message', {
|
|
|
id: message.id,
|
|
|
session_id: 'system',
|
|
|
sender_id: message.sender_id,
|
|
|
sender_name: message.sender_name,
|
|
|
content_type: 1,
|
|
|
content: {"socket_sms_type":4},
|
|
|
timestamp: ObjectUtil.timestampToLong(message.timestamp),
|
|
|
type: message.content_type, // legacy support
|
|
|
name: message.sender_name,
|
|
|
patient_name:message.patient_name,
|
|
|
patient_age:message.patient_age,
|
|
|
patient_sex:message.patient_sex,
|
|
|
extend:message.extend
|
|
|
});
|
|
|
if (message.content_type+""==CONTENT_TYPES.emergencyAssistance){
|
|
|
doctorAPPSYSTEMClient.socket.emit('message', {
|
|
|
session_id:message.session_id,
|
|
|
sender_name: message.sender_name,
|
|
|
order_id:message.order_id,
|
|
|
type: message.content_type,
|
|
|
extend:message.extend
|
|
|
});
|
|
|
}else {
|
|
|
doctorAPPSYSTEMClient.socket.emit('message', {
|
|
|
id: message.id,
|
|
|
session_id: 'system',
|
|
|
sender_id: message.sender_id,
|
|
|
sender_name: message.sender_name,
|
|
|
content_type: 1,
|
|
|
content: {"socket_sms_type":4},
|
|
|
timestamp: ObjectUtil.timestampToLong(message.timestamp),
|
|
|
type: message.content_type, // legacy support
|
|
|
name: message.sender_name,
|
|
|
patient_name:message.patient_name,
|
|
|
patient_age:message.patient_age,
|
|
|
patient_sex:message.patient_sex,
|
|
|
extend:message.extend
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 医疗云 医生外层新消息
|
|
|
* @param doctorId
|
|
|
* @param message
|
|
|
* @param response
|
|
|
*/
|
|
|
static cloudSendMDTSocketMessageToDoctor(doctorId, message,response) {
|
|
|
log.info("doctor======="+doctorId)
|
|
|
// let doctorMDTClient = clientCache.findByIdAndType("pcim_"+doctorId,SOCKET_TYPES.PCIM_DOCTOR);
|
|
|
let doctorSYSTEMClient = clientCache.findByIdAndType("pc_system_"+doctorId,SOCKET_TYPES.PC_DOCTOR_SYSTEM);
|
|
|
let doctorAPPSYSTEMClient = clientCache.findByIdAndType("doctor_system_"+doctorId,SOCKET_TYPES.DOCTOR_SYSTEM);
|
|
|
|
|
|
//外层
|
|
|
if(!doctorSYSTEMClient){
|
|
|
log.warn("target system doctor is not online!");
|
|
|
return null;
|
|
|
}else{
|
|
|
if (message.content_type==CONTENT_TYPES.emergencyAssistance){
|
|
|
doctorSYSTEMClient.socket.emit('message', {
|
|
|
session_id:message.session_id,
|
|
|
sender_name: message.sender_name,
|
|
|
order_id:message.order_id,
|
|
|
type: message.content_type,
|
|
|
extend:message.extend
|
|
|
});
|
|
|
}else {
|
|
|
doctorSYSTEMClient.socket.emit('message', {
|
|
|
id: message.id,
|
|
|
session_id: 'system',
|
|
|
sender_id: message.sender_id,
|
|
|
sender_name: message.sender_name,
|
|
|
content_type: 1,
|
|
|
content: {"socket_sms_type":4},
|
|
|
timestamp: ObjectUtil.timestampToLong(message.timestamp),
|
|
|
type: message.content_type, // legacy support
|
|
|
name: message.sender_name,
|
|
|
patient_name:message.patient_name,
|
|
|
patient_age:message.patient_age,
|
|
|
patient_sex:message.patient_sex,
|
|
|
extend:message.extend
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
|
|
|
if(!doctorAPPSYSTEMClient){
|
|
|
log.warn("target system app doctor is not online!");
|
|
|
return null;
|
|
|
}else{
|
|
|
if (message.content_type+""==CONTENT_TYPES.emergencyAssistance){
|
|
|
doctorAPPSYSTEMClient.socket.emit('message', {
|
|
|
session_id:message.session_id,
|
|
|
sender_name: message.sender_name,
|
|
|
order_id:message.order_id,
|
|
|
type: message.content_type,
|
|
|
extend:message.extend
|
|
|
});
|
|
|
}else {
|
|
|
doctorAPPSYSTEMClient.socket.emit('message', {
|
|
|
id: message.id,
|
|
|
session_id: 'system',
|
|
|
sender_id: message.sender_id,
|
|
|
sender_name: message.sender_name,
|
|
|
content_type: 1,
|
|
|
content: {"socket_sms_type":4},
|
|
|
timestamp: ObjectUtil.timestampToLong(message.timestamp),
|
|
|
type: message.content_type, // legacy support
|
|
|
name: message.sender_name,
|
|
|
patient_name:message.patient_name,
|
|
|
patient_age:message.patient_age,
|
|
|
patient_sex:message.patient_sex,
|
|
|
extend:message.extend
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
|
|
|
function callback(err, res) {
|
|
|
if (err) {
|
|
|
handler != null ? handler(err, res) : ModelUtil.emitError(self.eventEmitter, err);
|
|
|
} else {
|
|
|
if (null == res) {
|
|
|
handler != null ? handler(err, res) : ModelUtil.emitOK(self.eventEmitter, {});
|
|
|
} else {
|
|
|
let ended = res[0].status == TOPIC_STATUS.ENDED;
|
|
|
handler != null ? handler(err, res) : ModelUtil.emitOK(self.eventEmitter, res[0]);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|