|
@ -4,6 +4,7 @@
|
|
|
"use strict";
|
|
|
|
|
|
let RedisClient = require('../../repository/redis/redis.client.js');
|
|
|
let onlineCache = require('../socket.io/onlineCache').onlineCache();
|
|
|
let RedisModel = require('./../redis.model.js');
|
|
|
let ModelUtil = require('../../util/model.util');
|
|
|
let Messages = require('../messages/messages');
|
|
@ -849,6 +850,70 @@ class Sessions extends RedisModel {
|
|
|
})
|
|
|
}
|
|
|
|
|
|
getOnlineCountByType(type,handler){
|
|
|
let self = this;
|
|
|
|
|
|
var res = onlineCache.getCountByType(type);
|
|
|
|
|
|
if("helper" == type){
|
|
|
ModelUtil.emitOK(self.eventEmitter,{status:200,helper:res});
|
|
|
return;
|
|
|
}else if("teacher" == type){
|
|
|
ModelUtil.emitOK(self.eventEmitter,{status:200,teacher:res});
|
|
|
return;
|
|
|
}else if("child" == type){
|
|
|
ModelUtil.emitOK(self.eventEmitter,{status:200,child:res});
|
|
|
return;
|
|
|
}else if("olderWx" == type){
|
|
|
ModelUtil.emitOK(self.eventEmitter,{status:200,olderWx:res});
|
|
|
return;
|
|
|
}else if("olderPad" == type){
|
|
|
ModelUtil.emitOK(self.eventEmitter,{status:200,olderPad:res});
|
|
|
return;
|
|
|
}else{
|
|
|
//默认返回所有
|
|
|
var helper = onlineCache.getCountByType("helper");
|
|
|
var teacher = onlineCache.getCountByType("teacher");
|
|
|
var child = onlineCache.getCountByType("child");
|
|
|
var olderWx = onlineCache.getCountByType("olderWx");
|
|
|
var olderPad = onlineCache.getCountByType("olderPad");
|
|
|
ModelUtil.emitOK(self.eventEmitter,{status:200,data:{olderPad:olderPad,olderWx:olderWx,child:child,teacher:teacher,helper:helper}});
|
|
|
return;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
getOnlineListByType(type,handler){
|
|
|
let self = this;
|
|
|
|
|
|
var res = onlineCache.getListByType(type);
|
|
|
|
|
|
if("helper" == type){
|
|
|
ModelUtil.emitOK(self.eventEmitter,{status:200,helper:res});
|
|
|
return;
|
|
|
}else if("teacher" == type){
|
|
|
ModelUtil.emitOK(self.eventEmitter,{status:200,teacher:res});
|
|
|
return;
|
|
|
}else if("child" == type){
|
|
|
ModelUtil.emitOK(self.eventEmitter,{status:200,child:res});
|
|
|
return;
|
|
|
}else if("olderWx" == type){
|
|
|
ModelUtil.emitOK(self.eventEmitter,{status:200,olderWx:res});
|
|
|
return;
|
|
|
}else if("olderPad" == type){
|
|
|
ModelUtil.emitOK(self.eventEmitter,{status:200,olderPad:res});
|
|
|
return;
|
|
|
}else{
|
|
|
//默认返回所有
|
|
|
var helper = onlineCache.getListByType("helper");
|
|
|
var teacher = onlineCache.getListByType("teacher");
|
|
|
var child = onlineCache.getListByType("child");
|
|
|
var olderWx = onlineCache.getListByType("olderWx");
|
|
|
var olderPad = onlineCache.getListByType("olderPad");
|
|
|
ModelUtil.emitOK(self.eventEmitter,{status:200,data:{olderPad:olderPad,olderWx:olderWx,child:child,teacher:teacher,helper:helper}});
|
|
|
return;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 根据用户类型获取用户的session列表
|
|
|
* @param userId
|
|
@ -1675,7 +1740,7 @@ class Sessions extends RedisModel {
|
|
|
continue;
|
|
|
}
|
|
|
}*/
|
|
|
logger.info("type==="+res[j].type);
|
|
|
//logger.info("type==="+res[j].type);
|
|
|
if (res[j].type == SESSION_TYPES.SYSTEM) {
|
|
|
|
|
|
if (j == res.length - 1) {
|
|
@ -1768,7 +1833,7 @@ class Sessions extends RedisModel {
|
|
|
getSessionUnreadMessageCount(sessionId, userId, handler) {
|
|
|
let self = this;
|
|
|
let messagesByTimestampKey = RedisModel.makeRedisKey(REDIS_KEYS.MessagesByTimestamp, sessionId);
|
|
|
logger.info("============"+messagesByTimestampKey)
|
|
|
//logger.info("============"+messagesByTimestampKey)
|
|
|
let participantsKey = RedisModel.makeRedisKey(REDIS_KEYS.SessionParticipants, sessionId);
|
|
|
async.waterfall([
|
|
|
// 此成员最后获取消息的时间
|