Parcourir la source

最近会话列表增加business_type

Sand il y a 8 ans
Parent
commit
c8d16d2c24

+ 1 - 1
src/client/im.client.js

@ -391,7 +391,7 @@ var imClient = {
                failure);
        },
        // 获取最近7天内的会话列表
        // TEST!PASS 获取最近7天内的会话列表
        getRecentSessions: function (userId, success, failure) {
            "use strict";
            httpClient.get(ENDPOINTS.Sessions.RecentSessions,

+ 2 - 0
src/server/endpoints/url.initializer.js

@ -20,6 +20,7 @@ let users = require('./v2/user.endpoint');
let sessions = require('./v2/session.endpoint');
let topics = require('./v2/topic.endpoint');
let management = require('./v2/management.endpoint');
let search = require('./v2/search.endpoint');
const PAGES = require('../include/endpoints').PAGES;
const APIv2 = require('../include/endpoints').APIv2;
@ -54,6 +55,7 @@ class UrlInitializer {
        app.use(APIv2.Users.Base, users);
        app.use(APIv2.Sessions.Base, sessions);
        app.use(APIv2.Sessions.Base, topics);
        app.use(APIv2.Search.Base, search);
    }
    static initWebPages(app) {

+ 19 - 0
src/server/endpoints/v2/search.endpoint.js

@ -0,0 +1,19 @@
/**
 * 会话接口。
 *
 * author: Sand
 * since: 12/15/2016
 */
"use strict";
let express = require('express');
let router = express.Router();
/**
 * 搜索
 */
router.get("/", function (req, res) {
});
module.exports = router;

+ 15 - 17
src/server/endpoints/v2/session.endpoint.js

@ -8,8 +8,6 @@
let express = require('express');
let router = express.Router();
let http = require('http');
let log = require('../../util/log.js');
let ObjectUtil = require("../../util/object.util.js");
let ControllerUtil = require('../../util/controller.util');
@ -49,9 +47,10 @@ router.post("/", function (req, res) {
    let sessionId = payload.session_id;
    let sessions = new Sessions();
    let participantArray = [];
    participants = JSON.parse(participants);
    for(var j in participants){
        participantArray.push(j+":"+participants[j]);
    for (let j in participants) {
        participantArray.push(j + ":" + participants[j]);
    }
    ControllerUtil.regModelEventHandler(sessions, res);
    sessions.createSession(sessionId, sessionName, sessionType, participantArray);
@ -79,7 +78,7 @@ router.get("/", function (req, res) {
    let sessions = new Sessions();
    ControllerUtil.regModelEventHandler(sessions, res);
    sessions.getUserSessions(userId, page, size,businessType);
    sessions.getUserSessions(userId, page, size, businessType);
});
@ -233,7 +232,7 @@ router.post(APIv2.Sessions.Messages, function (req, res) {
    sessions.saveMessageBySession(req.params.session_id, payload);
});
router.post(APIv2.Sessions.TopicMessages,function(req,res){
router.post(APIv2.Sessions.TopicMessages, function (req, res) {
    let payload = req.body;
    let testing = ObjectUtil.fieldsCheck(payload, "sender_id", "sender_name", "content_type", "content");
    if (!testing.pass) {
@ -266,21 +265,21 @@ router.get(APIv2.Sessions.Messages, function (req, res) {
    if (!sessionId) {
        throw {httpStatus: 406, message: 'Missing session_id.'};
    }
    if(!pagesize){
    if (!pagesize) {
        pagesize = 20;
    }
    if(!page){
    if (!page) {
        page = 1;
    }
    if(content_type){
    if (content_type) {
        let messages = new Messages();
        ControllerUtil.regModelEventHandler(messages, res);
        messages.getMessageByType(sessionId,page,pagesize,content_type)
    }else{
        messages.getMessageByType(sessionId, page, pagesize, content_type)
    } else {
        let sessions = new Sessions();
        ControllerUtil.regModelEventHandler(sessions, res);
        sessions.getMessages(sessionId, user, startMsgId,endMsgId,page,pagesize,isoffset);
        sessions.getMessages(sessionId, user, startMsgId, endMsgId, page, pagesize, isoffset);
    }
});
@ -301,12 +300,12 @@ router.get(APIv2.Sessions.SessionUnreadMessages, function (req, res) {
 * 请求URL:/sessions/unread_message_count?user_id=xyz
 */
router.get(APIv2.Sessions.SessionsUnreadMessageCount, function (req, res) {
   let userId = req.query.user_id;
    let userId = req.query.user_id;
   let sessions = new Sessions();
   ControllerUtil.regModelEventHandler(sessions, res);
    let sessions = new Sessions();
    ControllerUtil.regModelEventHandler(sessions, res);
   sessions.getAllSessionsUnreadMessageCount(userId);
    sessions.getAllSessionsUnreadMessageCount(userId);
});
/**
@ -326,5 +325,4 @@ router.get(APIv2.Sessions.SessionUnreadMessageCount, function (req, res) {
});
module.exports = router;

+ 1 - 0
src/server/models/sessions/sessions.js

@ -269,6 +269,7 @@ class Sessions extends RedisModel {
                    id: session.id,
                    name: session.name,
                    type: session.type,
                    business_type: session.business_type,
                    create_date: session.create_date
                })
            });

+ 1 - 1
src/server/repository/mysql/session.repo.js

@ -70,7 +70,7 @@ class SessionRepo {
     * @param handler
     */
    static findAllByTimestampAndType(userId, dateSpan, handler) {
        let sql = "SELECT DISTINCT s.id, CASE WHEN TYPE = 2 THEN d.name ELSE s.name END 'name', s.type, s.create_date " +
        let sql = "SELECT DISTINCT s.id, CASE WHEN TYPE = 2 THEN d.name ELSE s.name END 'name', s.type, s.create_date, s.business_type " +
        "FROM sessions s, participants p " +
        "LEFT JOIN doctors d ON p.participant_id = d.id " +
        "WHERE s.id = p.session_id AND s.last_sender_id <> 'system' " +