|
@ -5,6 +5,8 @@
|
|
|
|
|
|
let RedisClient = require('../../repository/redis/redis.client.js');
|
|
|
let TopicsRepo = require('../../repository/mysql/topics.repo');
|
|
|
let SessionRepo = require('../../repository/mysql/session.repo');
|
|
|
let ParticipantRepo = require('../../repository/mysql/participant.repo');
|
|
|
let RedisModel = require('./../redis.model.js');
|
|
|
let ModelUtil = require('../../util/model.util');
|
|
|
let Participants = require("./participants");
|
|
@ -24,10 +26,54 @@ class Topics extends RedisModel {
|
|
|
super();
|
|
|
}
|
|
|
|
|
|
getTopics(user){
|
|
|
|
|
|
|
|
|
|
|
|
getTopics(user,status,sessionType){
|
|
|
let self = this;
|
|
|
if(!sessionType) sessionType = SESSION_TYPES.MUC;
|
|
|
SessionRepo.findAllByType(user,sessionType,function(err,res){
|
|
|
if(err){
|
|
|
ModelUtil.emitError(self.eventEmitter, "获取列表失败"+err);
|
|
|
}else if(res&&res.length==0){
|
|
|
ModelUtil.emitOK(self.eventEmitter, []);
|
|
|
}
|
|
|
var sessionIds=[];
|
|
|
for(var j in res){
|
|
|
sessionIds.push(res[j].id);
|
|
|
}
|
|
|
var test = new Map();
|
|
|
TopicsRepo.findAllBySessionIdsAndStatus(sessionIds,status,function(err,res){
|
|
|
if(err){
|
|
|
ModelUtil.emitError(self.eventEmitter, "获取列表失败"+err);
|
|
|
}
|
|
|
else if(res&&res.length==0){
|
|
|
ModelUtil.emitOK(self.eventEmitter, []);
|
|
|
}else{
|
|
|
for(var j = 0;j<res.length;j++){
|
|
|
callGetImg(j,res,res[j]);
|
|
|
}
|
|
|
}
|
|
|
var result =[];
|
|
|
function callGetImg(j,res,r){
|
|
|
ParticipantRepo.findAll(res[j].session_id,function(err,p){
|
|
|
if(err){
|
|
|
log.error("获取头像失败:"+err);
|
|
|
}else{
|
|
|
r.create_time = r.create_time.getTime();
|
|
|
for(var j in p){
|
|
|
if(p[j].is_patient){
|
|
|
r.avatar = p[j].avatar;
|
|
|
r.patient = p[j].id;
|
|
|
r.patient_name = p[j].name;
|
|
|
}
|
|
|
}
|
|
|
result.push(r);
|
|
|
if(result.length==res.length){
|
|
|
ModelUtil.emitOK(self.eventEmitter, res);
|
|
|
}
|
|
|
}
|
|
|
})
|
|
|
}
|
|
|
})
|
|
|
})
|
|
|
}
|
|
|
|
|
|
/**
|