|
@ -27,7 +27,7 @@ class SearchRepo {
|
|
sql: sql,
|
|
sql: sql,
|
|
args: [userId, userId],
|
|
args: [userId, userId],
|
|
handler: handler
|
|
handler: handler
|
|
})
|
|
|
|
|
|
});
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
@ -87,14 +87,13 @@ class SearchRepo {
|
|
* @param handler
|
|
* @param handler
|
|
*/
|
|
*/
|
|
static searchUser(sessionIdList, keyword, userTable, page, size, handler) {
|
|
static searchUser(sessionIdList, keyword, userTable, page, size, handler) {
|
|
let sql = "select u.id, u.name, u.sex, u.avatar from sessions s, participants p, " + userTable + " u where s.id in ('" +
|
|
|
|
sessionIdList.join("', '") +
|
|
|
|
"') AND s.id = p.session_id AND p.participant_id = u.id and u.name like ? limit ?, ?";
|
|
|
|
|
|
let sql = "select u.id, u.name, u.sex, u.avatar from sessions s, participants p, " + userTable +
|
|
|
|
" u where s.id in (?) AND s.id = p.session_id AND p.participant_id = u.id and u.name like ? limit ?, ?";
|
|
|
|
|
|
keyword = '%' + keyword + '%';
|
|
keyword = '%' + keyword + '%';
|
|
ImDb.execQuery({
|
|
ImDb.execQuery({
|
|
sql: sql,
|
|
sql: sql,
|
|
args: [keyword, page * size, size],
|
|
|
|
|
|
args: [sessionIdList, keyword, page * size, size],
|
|
handler: handler
|
|
handler: handler
|
|
});
|
|
});
|
|
}
|
|
}
|
|
@ -103,14 +102,12 @@ class SearchRepo {
|
|
* 会话搜索
|
|
* 会话搜索
|
|
*/
|
|
*/
|
|
static searchSessions(sessionIdList, keyword, page, size, handler) {
|
|
static searchSessions(sessionIdList, keyword, page, size, handler) {
|
|
let sql = "select s.id, s.name, s.type, s.create_date, s.business_type from sessions s where s.id in ('" +
|
|
|
|
sessionIdList.join("', '") +
|
|
|
|
"') and s.name like ? limit ?, ? ";
|
|
|
|
|
|
let sql = "select s.id, s.name, s.type, s.create_date, s.business_type from sessions s where s.id in (?) and s.name like ? limit ?, ? ";
|
|
|
|
|
|
keyword = '%' + keyword + '%';
|
|
keyword = '%' + keyword + '%';
|
|
ImDb.execQuery({
|
|
ImDb.execQuery({
|
|
sql: sql,
|
|
sql: sql,
|
|
args: [keyword, page * size, size],
|
|
|
|
|
|
args: [sessionIdList, keyword, page * size, size],
|
|
handler: handler
|
|
handler: handler
|
|
});
|
|
});
|
|
}
|
|
}
|
|
@ -121,7 +118,7 @@ class SearchRepo {
|
|
static searchMessages(sessionIdList, keyword, page, size, handler) {
|
|
static searchMessages(sessionIdList, keyword, page, size, handler) {
|
|
let sql = "SELECT s.id, s.name, s.type, s.create_date, s.business_type, m.sender_name, m.content " +
|
|
let sql = "SELECT s.id, s.name, s.type, s.create_date, s.business_type, m.sender_name, m.content " +
|
|
"FROM sessions s, p2p_messages m " +
|
|
"FROM sessions s, p2p_messages m " +
|
|
"WHERE s.id IN('" + sessionIdList.join("', '") + "') AND s.id = m.session_id AND s.`type` IN (1,2,3) AND m.content_type = 1 AND m.content LIKE ? " +
|
|
|
|
|
|
"WHERE s.id IN (?) AND s.id = m.session_id AND s.`type` IN (1,2,3) AND m.content_type = 1 AND m.content LIKE ? " +
|
|
"GROUP BY s.id " +
|
|
"GROUP BY s.id " +
|
|
"ORDER BY s.last_message_time " +
|
|
"ORDER BY s.last_message_time " +
|
|
"LIMIT ?, ?";
|
|
"LIMIT ?, ?";
|
|
@ -129,7 +126,7 @@ class SearchRepo {
|
|
keyword = '%' + keyword + '%';
|
|
keyword = '%' + keyword + '%';
|
|
ImDb.execQuery({
|
|
ImDb.execQuery({
|
|
sql: sql,
|
|
sql: sql,
|
|
args: [keyword, page * size, size],
|
|
|
|
|
|
args: [sessionIdList, keyword, page * size, size],
|
|
handler: handler
|
|
handler: handler
|
|
});
|
|
});
|
|
}
|
|
}
|