|  | @ -61,7 +61,6 @@ class WechatClient extends RedisModel {
 | 
	
		
			
				|  |  |         if (message&&(message.content_type == CONTENT_TYPES.PlainText ||
 | 
	
		
			
				|  |  |             message.content_type == CONTENT_TYPES.Image ||
 | 
	
		
			
				|  |  |             message.content_type == CONTENT_TYPES.Audio||
 | 
	
		
			
				|  |  |             message.content_type == CONTENT_TYPES.PrescriptionCheck ||
 | 
	
		
			
				|  |  |             message.content_type == CONTENT_TYPES.PrescriptionBloodStatus ||
 | 
	
		
			
				|  |  |             message.content_type == CONTENT_TYPES.PrescriptionFollowupContent)) {
 | 
	
		
			
				|  |  |             let patientClient = clientCache.findById(targetUserId);
 | 
	
	
		
			
				|  | @ -83,7 +82,20 @@ class WechatClient extends RedisModel {
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             } else {
 | 
	
		
			
				|  |  |                 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){
 | 
	
		
			
				|  |  |             let patientClient = clientCache.findById(targetUserId);
 | 
	
	
		
			
				|  | @ -226,7 +238,26 @@ class WechatClient extends RedisModel {
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         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));
 | 
	
		
			
				|  |  |             doctorClient.socket.emit('message', {
 | 
	
		
			
				|  |  |                 id: message.id,
 | 
	
	
		
			
				|  | @ -243,8 +274,28 @@ class WechatClient extends RedisModel {
 | 
	
		
			
				|  |  |             count++;
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         //发送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));
 | 
	
		
			
				|  |  |             pc_doctorClient.socket.emit('message', {
 | 
	
		
			
				|  |  |                 id: message.id,
 |