|  | @ -25,68 +25,69 @@ class Topics extends RedisModel {
 | 
	
		
			
				|  |  |         super();
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     getTopics(user,status,page,pagesize,sessionType){
 | 
	
		
			
				|  |  |     getTopics(user, status, page, pagesize, sessionType) {
 | 
	
		
			
				|  |  |         let self = this;
 | 
	
		
			
				|  |  |         let session = new Sessions();
 | 
	
		
			
				|  |  |         page = (page - 1 < 0 ? 0 : page - 1) * pagesize;
 | 
	
		
			
				|  |  |         if(!pagesize)pagesize =10;
 | 
	
		
			
				|  |  |         if (!pagesize) pagesize = 10;
 | 
	
		
			
				|  |  |         pagesize = parseInt(pagesize);
 | 
	
		
			
				|  |  |         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){
 | 
	
		
			
				|  |  |         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){
 | 
	
		
			
				|  |  |             var sessionIds = [];
 | 
	
		
			
				|  |  |             for (var j in res) {
 | 
	
		
			
				|  |  |                 sessionIds.push(res[j].id);
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             TopicsRepo.findAllBySessionIdsAndStatus(sessionIds,status,page,pagesize,function(err,res){
 | 
	
		
			
				|  |  |                 if(err){
 | 
	
		
			
				|  |  |                     ModelUtil.emitError(self.eventEmitter, "获取列表失败"+err);
 | 
	
		
			
				|  |  |             TopicsRepo.findAllBySessionIdsAndStatus(sessionIds, status, page, pagesize, function (err, res) {
 | 
	
		
			
				|  |  |                 if (err) {
 | 
	
		
			
				|  |  |                     ModelUtil.emitError(self.eventEmitter, "获取列表失败" + err);
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |                 else if(res&&res.length==0){
 | 
	
		
			
				|  |  |                 else if (res && res.length == 0) {
 | 
	
		
			
				|  |  |                     ModelUtil.emitOK(self.eventEmitter, []);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |                 }else{
 | 
	
		
			
				|  |  |                     for(var j = 0;j<res.length;j++){
 | 
	
		
			
				|  |  |                         callAmount(j,res,res[j]);
 | 
	
		
			
				|  |  |                 } else {
 | 
	
		
			
				|  |  |                     for (var j = 0; j < res.length; j++) {
 | 
	
		
			
				|  |  |                         callAmount(j, res, res[j]);
 | 
	
		
			
				|  |  |                     }
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |                 function callAmount(i,res,r){
 | 
	
		
			
				|  |  |                     session.getSessionUnreadMessageCount(res[i].session_id,user,function(err,msgcount){
 | 
	
		
			
				|  |  |                         if(err){
 | 
	
		
			
				|  |  |                             log.error("getSessionUnreadMessageCount is error:"+err);
 | 
	
		
			
				|  |  |                             ModelUtil.emitError(self.eventEmitter, "获取未读消息失败!"+err);
 | 
	
		
			
				|  |  |                         }else{
 | 
	
		
			
				|  |  |                             callGetImg(i,res,r,msgcount);
 | 
	
		
			
				|  |  |                 function callAmount(i, res, r) {
 | 
	
		
			
				|  |  |                     session.getSessionUnreadMessageCount(res[i].session_id, user, function (err, msgcount) {
 | 
	
		
			
				|  |  |                         if (err) {
 | 
	
		
			
				|  |  |                             log.error("getSessionUnreadMessageCount is error:" + err);
 | 
	
		
			
				|  |  |                             ModelUtil.emitError(self.eventEmitter, "获取未读消息失败!" + err);
 | 
	
		
			
				|  |  |                         } else {
 | 
	
		
			
				|  |  |                             callGetImg(i, res, r, msgcount);
 | 
	
		
			
				|  |  |                         }
 | 
	
		
			
				|  |  |                     })
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |                 var result =[];
 | 
	
		
			
				|  |  |                 function callGetImg(i,res,r,msgcount){
 | 
	
		
			
				|  |  |                     ParticipantRepo.findAll(res[i].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){
 | 
	
		
			
				|  |  |                 var result = [];
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |                 function callGetImg(i, res, r, msgcount) {
 | 
	
		
			
				|  |  |                     ParticipantRepo.findAll(res[i].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;
 | 
	
		
			
				|  |  |                                     r.sex = p[j].sex;
 | 
	
		
			
				|  |  |                                     r.birthdate = p[j].birthdate.getTime();
 | 
	
		
			
				|  |  |                                     if(r.status!=TOPIC_STATUS.ENDED){
 | 
	
		
			
				|  |  |                                     if (r.status != TOPIC_STATUS.ENDED) {
 | 
	
		
			
				|  |  |                                         r.msg_count = msgcount;
 | 
	
		
			
				|  |  |                                     }
 | 
	
		
			
				|  |  |                                 }
 | 
	
		
			
				|  |  |                             }
 | 
	
		
			
				|  |  |                             result.push(r);
 | 
	
		
			
				|  |  |                             if(result.length==res.length){
 | 
	
		
			
				|  |  |                             if (result.length == res.length) {
 | 
	
		
			
				|  |  |                                 ModelUtil.emitOK(self.eventEmitter, res);
 | 
	
		
			
				|  |  |                             }
 | 
	
		
			
				|  |  |                         }
 | 
	
	
		
			
				|  | @ -99,28 +100,34 @@ class Topics extends RedisModel {
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 根据topicId获取对应的消息
 | 
	
		
			
				|  |  |      * @param topicId
 | 
	
		
			
				|  |  |      * @param user
 | 
	
		
			
				|  |  |      * @param startMsgId
 | 
	
		
			
				|  |  |      * @param endMsgId
 | 
	
		
			
				|  |  |      * @param page
 | 
	
		
			
				|  |  |      * @param pagesize
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     getTopicMessages(topicId,user,startMsgId,endMsgId,page,pagesize) {
 | 
	
		
			
				|  |  |     getTopicMessages(topicId, user, startMsgId, endMsgId, page, pagesize) {
 | 
	
		
			
				|  |  |         let self = this;
 | 
	
		
			
				|  |  |         TopicsRepo.findAllByTopicId(topicId,function(err,res){
 | 
	
		
			
				|  |  |             if(err||res.length==0){
 | 
	
		
			
				|  |  |                 ModelUtil.emitOK(self.eventEmitter, {status:-1,message:"找不到对应的会话记录!"});
 | 
	
		
			
				|  |  |         TopicsRepo.findAllByTopicId(topicId, function (err, res) {
 | 
	
		
			
				|  |  |             if (err || res.length == 0) {
 | 
	
		
			
				|  |  |                 ModelUtil.emitOK(self.eventEmitter, {status: -1, message: "找不到对应的会话记录!"});
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             let sessions = new Sessions();
 | 
	
		
			
				|  |  |             sessions.getMessages(res[0].session_id,user,startMsgId,endMsgId,page,pagesize,0,function(err,messages){
 | 
	
		
			
				|  |  |                 if(err){
 | 
	
		
			
				|  |  |                     ModelUtil.emitOK(self.eventEmitter, {status:-1,message:err});
 | 
	
		
			
				|  |  |                 }else{
 | 
	
		
			
				|  |  |                     if(messages&&messages.length>0){
 | 
	
		
			
				|  |  |                         ParticipantRepo.findAll(res[0].session_id,function (err,users) {
 | 
	
		
			
				|  |  |                             if(err){
 | 
	
		
			
				|  |  |                                 ModelUtil.emitOK(self.eventEmitter, {status:-1,message:err});
 | 
	
		
			
				|  |  |                             }else{
 | 
	
		
			
				|  |  |                                 ModelUtil.emitOK(self.eventEmitter, {status:200,data:{"list":messages,"users":users}});
 | 
	
		
			
				|  |  |             sessions.getMessages(res[0].session_id, user, startMsgId, endMsgId, page, pagesize, 0, function (err, messages) {
 | 
	
		
			
				|  |  |                 if (err) {
 | 
	
		
			
				|  |  |                     ModelUtil.emitOK(self.eventEmitter, {status: -1, message: err});
 | 
	
		
			
				|  |  |                 } else {
 | 
	
		
			
				|  |  |                     if (messages && messages.length > 0) {
 | 
	
		
			
				|  |  |                         ParticipantRepo.findAll(res[0].session_id, function (err, users) {
 | 
	
		
			
				|  |  |                             if (err) {
 | 
	
		
			
				|  |  |                                 ModelUtil.emitOK(self.eventEmitter, {status: -1, message: err});
 | 
	
		
			
				|  |  |                             } else {
 | 
	
		
			
				|  |  |                                 ModelUtil.emitOK(self.eventEmitter, {status: 200, data: {"list": messages, "users": users}});
 | 
	
		
			
				|  |  |                             }
 | 
	
		
			
				|  |  |                         })
 | 
	
		
			
				|  |  |                     }else{
 | 
	
		
			
				|  |  |                         ModelUtil.emitOK(self.eventEmitter, {status:200,data:[]});
 | 
	
		
			
				|  |  |                     } else {
 | 
	
		
			
				|  |  |                         ModelUtil.emitOK(self.eventEmitter, {status: 200, data: []});
 | 
	
		
			
				|  |  |                     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |                 }
 | 
	
	
		
			
				|  | @ -137,14 +144,14 @@ class Topics extends RedisModel {
 | 
	
		
			
				|  |  |      * @param users 发起议题的患者,格式:{"userId1:role", "userId2:role"}
 | 
	
		
			
				|  |  |      * @param messages 发送的消息对象,格式:{description:"",title:"",img:"image1,image2",sender_id:"",sender_name:""},多个图片用逗号隔开
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     createTopic(topicName, topicId, sessionId, users, messages,sessionType) {
 | 
	
		
			
				|  |  |     createTopic(topicName, topicId, sessionId, users, messages, sessionType) {
 | 
	
		
			
				|  |  |         let self = this;
 | 
	
		
			
				|  |  |         if(!sessionId&&sessionType==SESSION_TYPES.MUC) {
 | 
	
		
			
				|  |  |             ModelUtil.emitOK(self.eventEmitter, {status:-1,message:"会话ID为空,请先生成会话ID"});
 | 
	
		
			
				|  |  |         if (!sessionId && sessionType == SESSION_TYPES.MUC) {
 | 
	
		
			
				|  |  |             ModelUtil.emitOK(self.eventEmitter, {status: -1, message: "会话ID为空,请先生成会话ID"});
 | 
	
		
			
				|  |  |             return;
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if(!topicId) {
 | 
	
		
			
				|  |  |             ModelUtil.emitOK(self.eventEmitter, {status:-1,message:"议题ID为空,请先生成议题ID"});
 | 
	
		
			
				|  |  |         if (!topicId) {
 | 
	
		
			
				|  |  |             ModelUtil.emitOK(self.eventEmitter, {status: -1, message: "议题ID为空,请先生成议题ID"});
 | 
	
		
			
				|  |  |             return;
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         var pars = [];
 | 
	
	
		
			
				|  | @ -155,18 +162,18 @@ class Topics extends RedisModel {
 | 
	
		
			
				|  |  |         let date = new Date();
 | 
	
		
			
				|  |  |         sessions.createSession(sessionId, messages.sender_name, sessionType, pars, function (err, res) {
 | 
	
		
			
				|  |  |             sessionId = res.id;
 | 
	
		
			
				|  |  |             self.saveTopicToRedis(topicName,topicId,sessionId,messages,date,function(err,res){
 | 
	
		
			
				|  |  |                 if(err){
 | 
	
		
			
				|  |  |                     ModelUtil.emitOK(self.eventEmitter,{status:-1,message:"议题创建失败!"});
 | 
	
		
			
				|  |  |             self.saveTopicToRedis(topicName, topicId, sessionId, messages, date, function (err, res) {
 | 
	
		
			
				|  |  |                 if (err) {
 | 
	
		
			
				|  |  |                     ModelUtil.emitOK(self.eventEmitter, {status: -1, message: "议题创建失败!"});
 | 
	
		
			
				|  |  |                     return;
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |                 //返回给前端
 | 
	
		
			
				|  |  |                 ModelUtil.emitOK(self.eventEmitter,{status:200,message:"议题创建成功!",start_msg_id:res});
 | 
	
		
			
				|  |  |                 ModelUtil.emitOK(self.eventEmitter, {status: 200, message: "议题创建成功!", start_msg_id: res});
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |                 //执行数据库操作
 | 
	
		
			
				|  |  |                 self.saveTopicToMySQL(topicName,topicId,sessionId,res,date,messages.description,TOPIC_STATUS.NEW,function(err,res){
 | 
	
		
			
				|  |  |                     if(err){
 | 
	
		
			
				|  |  |                         log.info("save topic to mysql is error : "+err);
 | 
	
		
			
				|  |  |                         return;
 | 
	
		
			
				|  |  |                 self.saveTopicToMySQL(topicName, topicId, sessionId, res, date, messages.description, TOPIC_STATUS.NEW, function (err, res) {
 | 
	
		
			
				|  |  |                     if (err) {
 | 
	
		
			
				|  |  |                         ModelUtil.logError("Save topic to mysql failed", err);
 | 
	
		
			
				|  |  |                     }
 | 
	
		
			
				|  |  |                 })
 | 
	
		
			
				|  |  |             })
 | 
	
	
		
			
				|  | @ -174,7 +181,7 @@ class Topics extends RedisModel {
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     saveTopicToRedis(topicName, topicId, sessionId, messages,date,handler){
 | 
	
		
			
				|  |  |     saveTopicToRedis(topicName, topicId, sessionId, messages, date, handler) {
 | 
	
		
			
				|  |  |         let topics_key = RedisModel.makeRedisKey(REDIS_KEYS.Topics, sessionId);
 | 
	
		
			
				|  |  |         let topic_key = RedisModel.makeRedisKey(REDIS_KEYS.Topic, topicId);
 | 
	
		
			
				|  |  |         let sessions = new Sessions();
 | 
	
	
		
			
				|  | @ -182,17 +189,17 @@ class Topics extends RedisModel {
 | 
	
		
			
				|  |  |         //step1:创建topic到redis
 | 
	
		
			
				|  |  |         redis.zaddAsync(topics_key, date.getTime(), topicId).then(function (res) {
 | 
	
		
			
				|  |  |             redis.hmsetAsync(topic_key, "name", topicName,
 | 
	
		
			
				|  |  |                 "session_id", sessionId,"create_time", date.getTime(),
 | 
	
		
			
				|  |  |                 "description", messages.description,"status", TOPIC_STATUS.NEW,
 | 
	
		
			
				|  |  |                 "session_id", sessionId, "create_time", date.getTime(),
 | 
	
		
			
				|  |  |                 "description", messages.description, "status", TOPIC_STATUS.NEW,
 | 
	
		
			
				|  |  |                 "end_time", "", "end_by", ""
 | 
	
		
			
				|  |  |             ).then(function (res) {
 | 
	
		
			
				|  |  |                     sendBeginMsg();
 | 
	
		
			
				|  |  |             }).catch(function(err){
 | 
	
		
			
				|  |  |                 handler(err,null);
 | 
	
		
			
				|  |  |                 sendBeginMsg();
 | 
	
		
			
				|  |  |             }).catch(function (err) {
 | 
	
		
			
				|  |  |                 handler(err, null);
 | 
	
		
			
				|  |  |                 return;
 | 
	
		
			
				|  |  |             });
 | 
	
		
			
				|  |  |         }).catch(function(err){
 | 
	
		
			
				|  |  |             handler(err,null);
 | 
	
		
			
				|  |  |         }).catch(function (err) {
 | 
	
		
			
				|  |  |             handler(err, null);
 | 
	
		
			
				|  |  |             return;
 | 
	
		
			
				|  |  |         });
 | 
	
		
			
				|  |  | 
 | 
	
	
		
			
				|  | @ -202,14 +209,14 @@ class Topics extends RedisModel {
 | 
	
		
			
				|  |  |             msg.sender_id = messages.sender_id;
 | 
	
		
			
				|  |  |             msg.sender_name = messages.sender_name;
 | 
	
		
			
				|  |  |             msg.content_type = 10;
 | 
	
		
			
				|  |  |             msg.content = messages.sender_name+"发起了咨询";
 | 
	
		
			
				|  |  |             msg.content = messages.sender_name + "发起了咨询";
 | 
	
		
			
				|  |  |             msg.timestamp = date;
 | 
	
		
			
				|  |  |             sessions.saveMessageByTopic(msg, sessionId, function (err, msgId) {
 | 
	
		
			
				|  |  |                 if (err) {
 | 
	
		
			
				|  |  |                     handler(err,null);
 | 
	
		
			
				|  |  |                     handler(err, null);
 | 
	
		
			
				|  |  |                 } else {
 | 
	
		
			
				|  |  |                     sendQuesionMsg(msgId);
 | 
	
		
			
				|  |  |                     handler(null,msgId);
 | 
	
		
			
				|  |  |                     handler(null, msgId);
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             })
 | 
	
		
			
				|  |  |         }
 | 
	
	
		
			
				|  | @ -226,13 +233,14 @@ class Topics extends RedisModel {
 | 
	
		
			
				|  |  |                 if (messages.img) {
 | 
	
		
			
				|  |  |                     sendQuesionImg(startMsgId);
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |                 if(err){
 | 
	
		
			
				|  |  |                     log.info("send create message error "+msg);
 | 
	
		
			
				|  |  |                 if (err) {
 | 
	
		
			
				|  |  |                     log.info("send create message error " + msg);
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             });
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         //step4:发送求助内容的图片
 | 
	
		
			
				|  |  |         function sendQuesionImg(startMsgId){
 | 
	
		
			
				|  |  |         function sendQuesionImg(startMsgId) {
 | 
	
		
			
				|  |  |             let imgs = messages.img.split(",");
 | 
	
		
			
				|  |  |             for (var j in imgs) {
 | 
	
		
			
				|  |  |                 let msgimg = {};
 | 
	
	
		
			
				|  | @ -242,8 +250,8 @@ class Topics extends RedisModel {
 | 
	
		
			
				|  |  |                 msgimg.content = imgs[j];
 | 
	
		
			
				|  |  |                 msgimg.timestamp = new Date();
 | 
	
		
			
				|  |  |                 sessions.saveMessageByTopic(msgimg, sessionId, function (err, msgId) {
 | 
	
		
			
				|  |  |                     if(err){
 | 
	
		
			
				|  |  |                         log.info("send create img error "+imgs[j]);
 | 
	
		
			
				|  |  |                     if (err) {
 | 
	
		
			
				|  |  |                         log.info("send create img error " + imgs[j]);
 | 
	
		
			
				|  |  |                     }
 | 
	
		
			
				|  |  |                 })
 | 
	
		
			
				|  |  |             }
 | 
	
	
		
			
				|  | @ -251,8 +259,8 @@ class Topics extends RedisModel {
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     saveTopicToMySQL(topicName, topicId, sessionId, messageId, date, description,status,handler) {
 | 
	
		
			
				|  |  |         TopicsRepo.saveTopic(topicName, topicId, sessionId, messageId, date, description,status,handler);
 | 
	
		
			
				|  |  |     saveTopicToMySQL(topicName, topicId, sessionId, messageId, date, description, status, handler) {
 | 
	
		
			
				|  |  |         TopicsRepo.saveTopic(topicName, topicId, sessionId, messageId, date, description, status, handler);
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
	
		
			
				|  | @ -276,7 +284,7 @@ class Topics extends RedisModel {
 | 
	
		
			
				|  |  |                 handler != null ? handler(err, res) : ModelUtil.emitError(self.eventEmitter, err);
 | 
	
		
			
				|  |  |             } else {
 | 
	
		
			
				|  |  |                 if (null == res) {
 | 
	
		
			
				|  |  |                     handler != null ? handler(err, res) : ModelUtil.emitOK(self.eventEmitter,{});
 | 
	
		
			
				|  |  |                     handler != null ? handler(err, res) : ModelUtil.emitOK(self.eventEmitter, {});
 | 
	
		
			
				|  |  |                 } else {
 | 
	
		
			
				|  |  |                     let ended = res[0].status == TOPIC_STATUS.ENDED;
 | 
	
		
			
				|  |  |                     handler != null ? handler(err, res) : ModelUtil.emitOK(self.eventEmitter, res[0]);
 | 
	
	
		
			
				|  | @ -316,17 +324,17 @@ class Topics extends RedisModel {
 | 
	
		
			
				|  |  |             let sessions = new Sessions();
 | 
	
		
			
				|  |  |             sessions.saveMessageByTopic(msg, sessionId, function (err, msgId) {
 | 
	
		
			
				|  |  |                 if (err) {
 | 
	
		
			
				|  |  |                     ModelUtil.emitOK(self.eventEmitter,{status:-1,"message": err} );
 | 
	
		
			
				|  |  |                     ModelUtil.emitOK(self.eventEmitter, {status: -1, "message": err});
 | 
	
		
			
				|  |  |                 } else {
 | 
	
		
			
				|  |  |                     ModelUtil.emitOK(self.eventEmitter, {status:200,"id": msgId,"message":"结束成功!"});
 | 
	
		
			
				|  |  |                     TopicsRepo.endTopic(topicId, endUser, msg.date, msgId,TOPIC_STATUS.ENDED);
 | 
	
		
			
				|  |  |                     ModelUtil.emitOK(self.eventEmitter, {status: 200, "id": msgId, "message": "结束成功!"});
 | 
	
		
			
				|  |  |                     TopicsRepo.endTopic(topicId, endUser, msg.date, msgId, TOPIC_STATUS.ENDED);
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             })
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     updateTopic(topicId, valueJson) {
 | 
	
		
			
				|  |  |         let  self = this;
 | 
	
		
			
				|  |  |         let self = this;
 | 
	
		
			
				|  |  |         let topickey = RedisModel.makeRedisKey(REDIS_KEYS.Topic, topicId);
 | 
	
		
			
				|  |  |         var dataArray = [];
 | 
	
		
			
				|  |  |         for (var j in valueJson) {
 | 
	
	
		
			
				|  | @ -335,10 +343,10 @@ class Topics extends RedisModel {
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         redis.hmsetAsync(topickey, dataArray).then(function (res) {
 | 
	
		
			
				|  |  |             TopicsRepo.updateTopics(topicId, valueJson,function (err,res) {
 | 
	
		
			
				|  |  |                 if(!err){
 | 
	
		
			
				|  |  |             TopicsRepo.updateTopics(topicId, valueJson, function (err, res) {
 | 
	
		
			
				|  |  |                 if (!err) {
 | 
	
		
			
				|  |  |                     ModelUtil.emitOK(self.eventEmitter, {"status": 200});
 | 
	
		
			
				|  |  |                 }else{
 | 
	
		
			
				|  |  |                 } else {
 | 
	
		
			
				|  |  |                     ModelUtil.emitOK(self.eventEmitter, {"status": -1});
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             });
 |