|
@ -1384,7 +1384,12 @@ class Sessions extends RedisModel {
|
|
//是否过滤指定类型
|
|
//是否过滤指定类型
|
|
if( type != null){
|
|
if( type != null){
|
|
let typeString = type.split(",");
|
|
let typeString = type.split(",");
|
|
if(!typeString.contains(res[j].type)){
|
|
|
|
|
|
var str = res[j].type;
|
|
|
|
var str1 = str.toString();
|
|
|
|
log.info("12312321"+str1);
|
|
|
|
if(typeString.indexOf(str1)<0){
|
|
|
|
log.info("12312321"+str1);
|
|
|
|
log.info("13::"+typeString.indexOf(str1)<0);
|
|
continue;
|
|
continue;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@ -1447,19 +1452,28 @@ class Sessions extends RedisModel {
|
|
*/
|
|
*/
|
|
getSessionUnreadMessageCount(sessionId, userId, handler) {
|
|
getSessionUnreadMessageCount(sessionId, userId, handler) {
|
|
let self = this;
|
|
let self = this;
|
|
|
|
log.info("sessionId"+sessionId);
|
|
let messagesByTimestampKey = RedisModel.makeRedisKey(REDIS_KEYS.MessagesByTimestamp, sessionId);
|
|
let messagesByTimestampKey = RedisModel.makeRedisKey(REDIS_KEYS.MessagesByTimestamp, sessionId);
|
|
let participantsKey = RedisModel.makeRedisKey(REDIS_KEYS.SessionParticipants, sessionId);
|
|
let participantsKey = RedisModel.makeRedisKey(REDIS_KEYS.SessionParticipants, sessionId);
|
|
|
|
|
|
|
|
log.info("12321321"+messagesByTimestampKey);
|
|
async.waterfall([
|
|
async.waterfall([
|
|
// 此成员最后获取消息的时间
|
|
// 此成员最后获取消息的时间
|
|
function (callback) {
|
|
function (callback) {
|
|
redis.zscoreAsync(participantsKey, userId)
|
|
|
|
.then(function (lastFetchTime) {
|
|
|
|
callback(null, lastFetchTime);
|
|
|
|
})
|
|
|
|
|
|
try {
|
|
|
|
log.info("进入1231");
|
|
|
|
redis.zscoreAsync(participantsKey, userId)
|
|
|
|
.then(function (lastFetchTime) {
|
|
|
|
callback(null, lastFetchTime);
|
|
|
|
})
|
|
|
|
log.info("进入4321");
|
|
|
|
}catch (e){
|
|
|
|
log.error(e);
|
|
|
|
}
|
|
|
|
|
|
},
|
|
},
|
|
// 计算最后获取消息的时间之后到现在有多少条消息
|
|
// 计算最后获取消息的时间之后到现在有多少条消息
|
|
function (lastFetchTime, callback) {
|
|
function (lastFetchTime, callback) {
|
|
|
|
log.info("进入4");
|
|
if (!lastFetchTime) lastFetchTime = 0;
|
|
if (!lastFetchTime) lastFetchTime = 0;
|
|
let now = new Date().getTime();
|
|
let now = new Date().getTime();
|
|
redis.zcountAsync(messagesByTimestampKey, parseInt(lastFetchTime)+1, now)
|
|
redis.zcountAsync(messagesByTimestampKey, parseInt(lastFetchTime)+1, now)
|
|
@ -1470,6 +1484,7 @@ class Sessions extends RedisModel {
|
|
ModelUtil.emitOK(self.eventEmitter, {count: count});
|
|
ModelUtil.emitOK(self.eventEmitter, {count: count});
|
|
}
|
|
}
|
|
})
|
|
})
|
|
|
|
log.info("进入5");
|
|
}
|
|
}
|
|
], function (err, res) {
|
|
], function (err, res) {
|
|
if (err) {
|
|
if (err) {
|
|
@ -1480,6 +1495,7 @@ class Sessions extends RedisModel {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
});
|
|
});
|
|
|
|
log.info("最后1222")
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|