|
@ -0,0 +1,80 @@
|
|
|
/**
|
|
|
* 搜索功能。
|
|
|
*/
|
|
|
"use strict";
|
|
|
|
|
|
let ImDb = require('../mysql/db/im.db');
|
|
|
let log = require('../../util/log.js');
|
|
|
const IMTABLE = require('../../include/commons').IM_DB;
|
|
|
class SessionRepo {
|
|
|
constructor() {
|
|
|
}
|
|
|
/**
|
|
|
* 获取某个用户的全部session列表
|
|
|
* @param userId
|
|
|
* @param handler
|
|
|
*/
|
|
|
static getUserSessionsFromMysql(userId,handler){
|
|
|
let sql ="select select session_id from participants w where w.participaint_id = ? group by w.session_id";
|
|
|
let sessionsql = "select id,name,type,create_date from session s where s.id in("+sql+")";
|
|
|
imDb.execQuery({
|
|
|
"sql": sessionsql,
|
|
|
"args": [userId],
|
|
|
"handler": function (err, res) {
|
|
|
if(err) {
|
|
|
log.error("sql:"+sessionsql+"data:userId:"+userId);
|
|
|
}else{
|
|
|
log.info("getMysqlUserSessions success by userId :"+userId);
|
|
|
}
|
|
|
handler(err,res);
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 获取session单个对象
|
|
|
* @param sessionId
|
|
|
* @param handler
|
|
|
*/
|
|
|
static getSessions(sessionId,handler){
|
|
|
let sessionsql = "select id,name,type,create_date from session s where s.id=?";
|
|
|
imDb.execQuery({
|
|
|
"sql": sessionsql,
|
|
|
"args": [sessionId],
|
|
|
"handler": function (err, res) {
|
|
|
if(err) {
|
|
|
log.error("sql:"+sessionsql+"data:sessionId:"+sessionId);
|
|
|
}else{
|
|
|
log.info("getSessions success by sessionId :"+sessionId);
|
|
|
}
|
|
|
handler(err,res);
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
|
|
|
|
|
|
/**
|
|
|
* 保存session到sql数据库
|
|
|
* @param sessionId
|
|
|
* @param name
|
|
|
* @param type
|
|
|
* @param createDate
|
|
|
*/
|
|
|
static saveSessionToMysql(sessionId,name,type,createDate){
|
|
|
let sql ="insert into "+IMTABLE.SESSIONS+" (id,name,type,create_date) VALUES (?,?,?,?) ";
|
|
|
imDb.execQuery({
|
|
|
"sql": sql,
|
|
|
"args": [sessionId,name,type,createDate],
|
|
|
"handler": function (err, res) {
|
|
|
if(err) {
|
|
|
log.error("sql:"+sql+"data:sessionId:"+sessionId+",name:"+name+",type:"+type+",createDate:"+createDate);
|
|
|
}else{
|
|
|
log.info("save session to mysql is success by session :"+sessionId);
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
module.exports = SessionRepo;
|