| 
															
																@ -61,7 +61,6 @@ class WechatClient extends RedisModel { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        if (message&&(message.content_type == CONTENT_TYPES.PlainText || 
															 | 
															
															 | 
															
																        if (message&&(message.content_type == CONTENT_TYPES.PlainText || 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            message.content_type == CONTENT_TYPES.Image || 
															 | 
															
															 | 
															
																            message.content_type == CONTENT_TYPES.Image || 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            message.content_type == CONTENT_TYPES.Audio|| 
															 | 
															
															 | 
															
																            message.content_type == CONTENT_TYPES.Audio|| 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            message.content_type == CONTENT_TYPES.PrescriptionCheck || 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            message.content_type == CONTENT_TYPES.PrescriptionBloodStatus || 
															 | 
															
															 | 
															
																            message.content_type == CONTENT_TYPES.PrescriptionBloodStatus || 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            message.content_type == CONTENT_TYPES.PrescriptionFollowupContent)) { 
															 | 
															
															 | 
															
																            message.content_type == CONTENT_TYPES.PrescriptionFollowupContent)) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            let patientClient = clientCache.findById(targetUserId); 
															 | 
															
															 | 
															
																            let patientClient = clientCache.findById(targetUserId); 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@ -83,7 +82,20 @@ class WechatClient extends RedisModel { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                } 
															 | 
															
															 | 
															
																                } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            } else { 
															 | 
															
															 | 
															
																            } else { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                log.info("User's wechat endpoint is not online, sending via wechat template message. User id: ", targetUserId); 
															 | 
															
															 | 
															
																                log.info("User's wechat endpoint is not online, sending via wechat template message. User id: ", targetUserId); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                WechatClient.sendViaMessageTemplate(targetUserId, targetUserName, message); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                var isSendWXTem = true;//是否发送微信模板 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                if(message.content_type == CONTENT_TYPES.PrescriptionBloodStatus||message.content_type == CONTENT_TYPES.PrescriptionFollowupContent){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                    var content = JSON.parse(message.content); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                    if(content.isSendWxTemplate){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                        message.content = content.text; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                    }else { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                        isSendWXTem = false; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                    } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                if(isSendWXTem){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                    WechatClient.sendViaMessageTemplate(targetUserId, targetUserName, message); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            } 
															 | 
															
															 | 
															
																            } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        } else if(message.content_type == CONTENT_TYPES.TopicEnd){ 
															 | 
															
															 | 
															
																        } else if(message.content_type == CONTENT_TYPES.TopicEnd){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            let patientClient = clientCache.findById(targetUserId); 
															 | 
															
															 | 
															
																            let patientClient = clientCache.findById(targetUserId); 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@ -226,7 +238,26 @@ class WechatClient extends RedisModel { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        } 
															 | 
															
															 | 
															
																        } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        var count = 0; 
															 | 
															
															 | 
															
																        var count = 0; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        if(doctorClient&&sendClient&&sendClient.sessionId==doctorClient.sessionId){ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        if(message.content_type == CONTENT_TYPES.PrescriptionBloodStatus ||message.content_type == CONTENT_TYPES.PrescriptionFollowupContent){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            //续方消息特殊处理 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            if(doctorClient&&message.session_id==doctorClient.sessionId){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                WechatClient.updateParticipantLastFetchTime(doctorClient.sessionId, doctorId, ObjectUtil.timestampToLong(message.timestamp)); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                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, 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                }); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            }else{ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                count++; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        }else if(doctorClient&&sendClient&&sendClient.sessionId==doctorClient.sessionId){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            WechatClient.updateParticipantLastFetchTime(doctorClient.sessionId, doctorId, ObjectUtil.timestampToLong(message.timestamp)); 
															 | 
															
															 | 
															
																            WechatClient.updateParticipantLastFetchTime(doctorClient.sessionId, doctorId, ObjectUtil.timestampToLong(message.timestamp)); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            doctorClient.socket.emit('message', { 
															 | 
															
															 | 
															
																            doctorClient.socket.emit('message', { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                id: message.id, 
															 | 
															
															 | 
															
																                id: message.id, 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@ -243,8 +274,28 @@ class WechatClient extends RedisModel { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            count++; 
															 | 
															
															 | 
															
																            count++; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        } 
															 | 
															
															 | 
															
																        } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        //发送pc端 
															 | 
															
															 | 
															
																        //发送pc端 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        if(pc_doctorClient&&sendClient&&sendClient.sessionId==pc_doctorClient.sessionId){ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        if(message.content_type == CONTENT_TYPES.PrescriptionBloodStatus ||message.content_type == CONTENT_TYPES.PrescriptionFollowupContent){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            //续方消息特殊处理 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            if(pc_doctorClient&&message.session_id==pc_doctorClient.sessionId){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                WechatClient.updateParticipantLastFetchTime(pc_doctorClient.sessionId, doctorId, ObjectUtil.timestampToLong(message.timestamp)); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                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, 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                }); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            }else{ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                count++; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        }else if(pc_doctorClient&&sendClient&&sendClient.sessionId==pc_doctorClient.sessionId){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            WechatClient.updateParticipantLastFetchTime(pc_doctorClient.sessionId, doctorId, ObjectUtil.timestampToLong(message.timestamp)); 
															 | 
															
															 | 
															
																            WechatClient.updateParticipantLastFetchTime(pc_doctorClient.sessionId, doctorId, ObjectUtil.timestampToLong(message.timestamp)); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            pc_doctorClient.socket.emit('message', { 
															 | 
															
															 | 
															
																            pc_doctorClient.socket.emit('message', { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                id: message.id, 
															 | 
															
															 | 
															
																                id: message.id, 
															 |