|
@ -384,7 +384,7 @@ class Sessions extends RedisModel {
|
|
|
})
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
/**
|
|
|
* 根据用户ID获取用户的session列表
|
|
|
* @param userId
|
|
|
* @param page
|
|
@ -393,7 +393,6 @@ class Sessions extends RedisModel {
|
|
|
*/
|
|
|
getUserSessions(userId, page, size, businessType) {
|
|
|
let userSessionKey = RedisModel.makeRedisKey(REDIS_KEYS.UserSessions, userId);
|
|
|
logger.info(userId);
|
|
|
let self = this;
|
|
|
if (page > 0) {
|
|
|
if (page == 1) {
|
|
@ -415,7 +414,7 @@ class Sessions extends RedisModel {
|
|
|
// },
|
|
|
function (callback) {
|
|
|
SessionRepo.findAllByType(userId,businessType,page,size,function(err,res){
|
|
|
if (res && res.length == 0) {
|
|
|
if (res.length == 0) {
|
|
|
ModelUtil.emitOK(self.eventEmitter, []);
|
|
|
return;
|
|
|
}
|
|
@ -430,16 +429,22 @@ class Sessions extends RedisModel {
|
|
|
function (sessionIds) {
|
|
|
let sessionList = [];
|
|
|
let functionList = [];
|
|
|
log.info("sessionIds.length:" + sessionIds.length);
|
|
|
for (let j = 0; j < sessionIds.length; j++) {
|
|
|
log.info("遍历会话 :" + sessionIds);
|
|
|
let fun = function (index, callback) {
|
|
|
log.info("!callback:" + !callback);
|
|
|
if (!callback) {
|
|
|
callback = index, index = 0
|
|
|
}
|
|
|
log.info("top=.index:" + index);
|
|
|
let sessionId = sessionIds[index];
|
|
|
log.info("top=.session.id:" + sessionId);
|
|
|
let sessionKey = RedisModel.makeRedisKey(REDIS_KEYS.Session, sessionId);
|
|
|
log.info("top=.sessionKey:" + sessionKey);
|
|
|
let participantsRoleKey = RedisModel.makeRedisKey(REDIS_KEYS.SessionParticipantsRole, sessionId);
|
|
|
log.info("top=.participantsRoleKey:" + participantsRoleKey);
|
|
|
let sessionParticipantsKey = RedisModel.makeRedisKey(REDIS_KEYS.SessionParticipants, sessionId);
|
|
|
log.info("top=.sessionParticipantsKey:" + sessionParticipantsKey);
|
|
|
redis.multi()
|
|
|
.hgetall(sessionKey) // 会话实体
|
|
|
.hget(participantsRoleKey, userId) // 用户在此会话中的角色
|
|
@ -450,6 +455,9 @@ class Sessions extends RedisModel {
|
|
|
.execAsync()
|
|
|
.then(function (res) {
|
|
|
let session = res[0];
|
|
|
log.info("top.session.id:" + session.id);
|
|
|
log.info("top.session.name:" + session.name);
|
|
|
log.info("tope.session.business_type:" + session.business_type);
|
|
|
let role = res[1];
|
|
|
let lastFetchTime = res[2];
|
|
|
let users = res[3];
|
|
@ -459,11 +467,19 @@ class Sessions extends RedisModel {
|
|
|
let isInvite = true;
|
|
|
|
|
|
//处理session未加入redis的bug
|
|
|
|
|
|
log.info("1.session==null:" + session==null);
|
|
|
|
|
|
if(session==null){
|
|
|
let lastLoginTime = new Date();
|
|
|
SessionRepo.findOne(sessionId, function (err, res) {
|
|
|
if(res){
|
|
|
session = res;
|
|
|
|
|
|
log.info("1.session.id:" + session.id);
|
|
|
log.info("1.session.name:" + session.name);
|
|
|
log.info("1.session.business_type:" + session.business_type);
|
|
|
|
|
|
let redisSession = [
|
|
|
"id", session.id,
|
|
|
"name", session.name,
|
|
@ -625,14 +641,19 @@ class Sessions extends RedisModel {
|
|
|
sessionName = res[0].name;
|
|
|
}
|
|
|
var bir = new Date().getTime();
|
|
|
if (res && res.length != 0 && res[0].birthdate) {
|
|
|
if (res.length != 0 && res[0].birthdate) {
|
|
|
bir = res[0].birthdate.getTime();
|
|
|
}
|
|
|
var sex = 1;
|
|
|
if (res && res.length != 0 && res[0].sex) {
|
|
|
if (res.length != 0 && res[0].sex) {
|
|
|
sex = res[0].sex;
|
|
|
}
|
|
|
//end
|
|
|
|
|
|
log.info("2.session.id:" + sessionId);
|
|
|
log.info("2.session.name:" + sessionName);
|
|
|
log.info("2.session.business_type:" + session.business_type);
|
|
|
|
|
|
sessionList.push({
|
|
|
id: sessionId,
|
|
|
name: sessionName,
|