| 
					
				 | 
			
			
				@ -66,6 +66,7 @@ class Sessions extends RedisModel { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                ModelUtil.emitError(self.eventEmitter, {message: err, status: -1}, null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                name = res.name; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                //创建session到redis 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                self.createSessionToRedis(sessionId, name, type, participantArray, messageId, function (err, res) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    if (err) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -196,6 +197,8 @@ class Sessions extends RedisModel { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        function callBusinessType() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(type==SESSION_TYPES.MUC||type==SESSION_TYPES.PRESCRIPTION){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                callCreateSession(SESSION_BUSINESS_TYPE.PATIENT); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            }else if(type==SESSION_TYPES.SPECIALISTGROUP){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                callCreateSession(SESSION_BUSINESS_TYPE.DOCTOR); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                ParticipantRepo.getBusinessType(participantIdArray, function (err, businessType) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    if (err) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -212,6 +215,8 @@ class Sessions extends RedisModel { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //查找该sessionId是否存在存在则直接返回实例 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            SessionRepo.findOne(sessionId, function (err, res) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if (res.length > 0) {//已经存在 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    //已存在的会话不修改名称 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    name = res[0].name; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    //更新成员 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    Participants.saveParticipantsToMysql(sessionId, participantArray, function (err, update) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        handler(null, res[0]); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -674,11 +679,11 @@ class Sessions extends RedisModel { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        ModelUtil.emitOK(self.eventEmitter, []); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    var sessionIds=[]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    for(var j in res){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        sessionIds.push(res[j].id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    callback(null,sessionIds); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    // var sessionIds=[]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    // for(var j in res){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    //     sessionIds.push(res[j].id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    // } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    callback(null,res); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            // 遍历会话 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -691,7 +696,8 @@ class Sessions extends RedisModel { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            callback = index, index = 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        let sessionId = sessionIds[index]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        let mysqlSession = sessionIds[index]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        let sessionId = mysqlSession.id; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        let sessionKey = RedisModel.makeRedisKey(REDIS_KEYS.Session, sessionId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        let participantsRoleKey = RedisModel.makeRedisKey(REDIS_KEYS.SessionParticipantsRole, sessionId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        let sessionParticipantsKey = RedisModel.makeRedisKey(REDIS_KEYS.SessionParticipants, sessionId); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -760,7 +766,7 @@ class Sessions extends RedisModel { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                            sessionList.push({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                                id: sessionId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                                name: sessionName, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                                create_date: session.create_date, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                                create_date: new Date(mysqlSession.last_message_time).getTime(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                                last_content_type: session.last_content_type, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                                last_content: session.last_content, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                                sender_id: session.last_sender_id, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -1720,6 +1726,32 @@ class Sessions extends RedisModel { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 针对专科医生和家医模式更新会话的名称 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param sessionId 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param name 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    updateSessionName(sessionId,name,handler){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        let self = this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        let sessionKey  =  RedisModel.makeRedisKey(REDIS_KEYS.Session,sessionId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        redis.hsetAsync(sessionKey,"name",name).then(function(res){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            SessionRepo.updateSessionName(sessionId,name,function(err,sqlResult){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if(handler){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    handler(err,sqlResult); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if(err){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    logger.error("set session name to mysql is error !"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    ModelUtil.emitError(self.eventEmitter,"set session name to mysql is error !",err) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    logger.info("set session name is success"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    ModelUtil.emitOK(self.eventEmitter, []); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				// Expose class 
			 |