/** * 搜索功能。 */ "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;