| 
					
				 | 
			
			
				@ -130,35 +130,27 @@ class Sessions extends RedisModel { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        function callCreate(sessionId, businessType) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            let createDate = new Date(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            let sessionKey = RedisModel.makeRedisKey(REDIS_KEYS.Session, sessionId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            let message = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                sender_id: "system", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                sender_name: "系统", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                content_type: 11, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                content: "会话创建成功", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                timestamp: createDate, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                id: messageId 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (type == SESSION_TYPES.MUC) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                businessType = 2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            let session = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                id: sessionId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                name: name, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                type: type, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                create_date: createDate.getTime(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                business_type: businessType, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                last_sender_id: message.sender_id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                last_sender_name: message.sender_name, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                last_message_time: message.timestamp.getTime(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                last_content: message.content, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                last_content_type: message.content_type 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            redis.hmsetAsync(sessionKey, session).then(function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                Participants.saveParticipantsToRedis(sessionId, participantArray, createDate, function (res) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    handler(null, session); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Participants.saveParticipantsToRedis(sessionId, participantArray, createDate, function (res) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                let sessionKey = RedisModel.makeRedisKey(REDIS_KEYS.Session, sessionId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if (type == SESSION_TYPES.MUC) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    businessType = 2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                let session = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    id: sessionId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    name: name, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    type: type, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    create_date: createDate.getTime(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    business_type: businessType 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                //如果会话已经存在的就不需要发送会话成功的消息不更新最后一条消息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                redis.hexistsAsync(sessionKey, session).then(function(res){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    if(res==0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        redis.hmsetAsync(sessionKey, session).then(function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            handler(null, session); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -412,11 +404,11 @@ class Sessions extends RedisModel { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                                id: sessionId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                                name: sessionName, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                                create_date: session.create_date, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                                last_content_type: session.last_content_type, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                                last_content: session.last_content, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                                sender_id: session.last_sender_id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                                last_content_type: session.last_content_type||"", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                                last_content: session.last_content||"", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                                sender_id: session.last_sender_id||"", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                                type: session.type, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                                sender_name: session.last_sender_name, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                                sender_name: session.last_sender_name||"", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                                unread_count: count, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                                business_type: session.business_type, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                                my_role: role, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -1281,27 +1273,15 @@ class Sessions extends RedisModel { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                //告知医生新消息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                WechatClient.sendSocketMessageToDoctor(targetUserId,message); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                ImDb.execQuery({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "sql": "SELECT imei, token from user_tokens WHERE user = ?", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "args": [targetUserId], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "handler": function (err, result) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        if (err || result.length == 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            logger.error("get user tokens is fail !"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        WlyySDK.request(targetUserId, '', result[0].token, result[0].imei, '/imcommon/message/messages', 'POST', function (err, res) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            let count = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            res =  JSON.parse(res) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            if (res.status == 200) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                let data = res.data; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                count = JSON.parse(data.imMsgCount).count + data.system.amount + data.healthIndex.amount + data.sign.amount; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            AppClient.sendNotification(targetUserId, message,sessionType,count); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                WlyySDK.request(targetUserId, '', '', '', '/im/common/message/messages', 'POST', function (err, res) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    let count = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    res =  JSON.parse(res) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    if (res.status == 200) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        let data = res.data; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        count = JSON.parse(data.imMsgCount).count + data.system.amount + data.healthIndex.amount + data.sign.amount; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    AppClient.sendNotification(targetUserId, message,sessionType,count); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 |