|
@ -171,10 +171,10 @@ class Sessions extends RedisModel {
|
|
|
let userSessionKey = RedisModel.makeRedisKey(REDIS_KEYS.UserSessions, userId);
|
|
|
let self = this;
|
|
|
if (page > 0) {
|
|
|
if(page==1){
|
|
|
if (page == 1) {
|
|
|
page = 0;
|
|
|
}
|
|
|
page = page+page * size;
|
|
|
page = page + page * size;
|
|
|
}
|
|
|
async.waterfall([
|
|
|
// 获取会话ID列表
|
|
@ -206,26 +206,26 @@ class Sessions extends RedisModel {
|
|
|
let session = res[0];
|
|
|
let role = res[1];
|
|
|
let lastFetchTime = res[2];
|
|
|
if(businessType&&businessType!=session.business_type){
|
|
|
logger.info("businessType:"+businessType+"<>"+session.business_type);
|
|
|
}else{
|
|
|
// 计算未读消息数
|
|
|
let messagesByTimestampKey = RedisModel.makeRedisKey(REDIS_KEYS.MessagesByTimestamp, sessionId);
|
|
|
redis.zcountAsync(messagesByTimestampKey, lastFetchTime, new Date().getTime())
|
|
|
.then(function (count) {
|
|
|
sessionList.push({
|
|
|
id: sessionId,
|
|
|
name: session.name,
|
|
|
create_date: session.create_date,
|
|
|
last_content_type: session.last_content_type,
|
|
|
last_content: session.last_content,
|
|
|
sender_id: session.sender_id,
|
|
|
type:session.type,
|
|
|
sender_name: session.sender_name,
|
|
|
unread_count: count,
|
|
|
business_type:session.business_type,
|
|
|
my_role: role
|
|
|
});
|
|
|
if (businessType && businessType != session.business_type) {
|
|
|
logger.info("businessType:" + businessType + "<>" + session.business_type);
|
|
|
} else {
|
|
|
// 计算未读消息数
|
|
|
let messagesByTimestampKey = RedisModel.makeRedisKey(REDIS_KEYS.MessagesByTimestamp, sessionId);
|
|
|
redis.zcountAsync(messagesByTimestampKey, lastFetchTime, new Date().getTime())
|
|
|
.then(function (count) {
|
|
|
sessionList.push({
|
|
|
id: sessionId,
|
|
|
name: session.name,
|
|
|
create_date: session.create_date,
|
|
|
last_content_type: session.last_content_type,
|
|
|
last_content: session.last_content,
|
|
|
sender_id: session.sender_id,
|
|
|
type: session.type,
|
|
|
sender_name: session.sender_name,
|
|
|
unread_count: count,
|
|
|
business_type: session.business_type,
|
|
|
my_role: role
|
|
|
});
|
|
|
|
|
|
if (sessionId === sessionIds[sessionIds.length - 1]) {
|
|
|
ModelUtil.emitOK(self.eventEmitter, sessionList);
|