Forráskód Böngészése

互联网医院IM获取消息未读数增加类型过滤

huangwenjie 6 éve
szülő
commit
b76d2dfee4

+ 3 - 1
src/server/endpoints/v2/session.endpoint.js

@ -488,13 +488,15 @@ router.get(APIv2.Sessions.SessionUnreadMessages, function (req, res) {
 */
router.get(APIv2.Sessions.SessionsUnreadMessageCount, function (req, res) {
    let userId = req.query.user_id;
    let type = req.query.type;
    let sessions = new Sessions();
    ControllerUtil.regModelEventHandler(sessions, res);
    sessions.getAllSessionsUnreadMessageCount(userId);
    sessions.getAllSessionsUnreadMessageCount(userId,type);
});
/**
 * 获取指定会话未读消息数
 *

+ 14 - 2
src/server/models/sessions/sessions.js

@ -1245,7 +1245,7 @@ class Sessions extends RedisModel {
    /**
     * 获取所有会话的未读消息数。
     */
    getAllSessionsUnreadMessageCount(userId,handler) {
    getAllSessionsUnreadMessageCount(userId,type,handler) {
        let self = this;
        let count = 0;
        let patientCount = 0;
@ -1274,7 +1274,17 @@ class Sessions extends RedisModel {
            }
            for (let j in res) {
                //是否过滤指定类型
                if( type != null){
                    if(type != res[j].type){
                        continue;
                    }
                }
                if (res[j].type == SESSION_TYPES.SYSTEM) {
                    if (j == res.length - 1) {
                        if(handler){
                            handler(err,count);
@ -1284,6 +1294,8 @@ class Sessions extends RedisModel {
                    }
                    continue;
                }
                callback(res, j, res[j]);
            }
        });
@ -1850,7 +1862,7 @@ class Sessions extends RedisModel {
                });
                //im消息
                let sessions = new Sessions();
                sessions.getAllSessionsUnreadMessageCount(targetUserId,function (err,res) {
                sessions.getAllSessionsUnreadMessageCount(targetUserId,null,function (err,res) {
                    if(res){
                        count += res;
                    }