Преглед на файлове

消息未读数问题修改

huangwenjie преди 5 години
родител
ревизия
64b5eecd14

+ 0 - 2
src/server/endpoints/v2/doctor.endpoint.js

@ -5,11 +5,9 @@
let express = require('express');
let router = express.Router();
let ModelUtil = require('../../util/model.util');
let ObjectUtil = require('../../util/object.util');
let ControllerUtil = require('../../util/controller.util');
let APIv2 = require('../../include/endpoints').APIv2;
let MODEL_EVENTS = require('../../include/commons').MODEL_EVENTS;
let Doctors = require('../../models/doctor/doctors');
let log = require('../../util/log.js');
let uuid = require('uuid')

+ 3 - 3
src/server/models/client/wechat.client.js

@ -967,11 +967,11 @@ class WechatClient extends RedisModel {
                            consultTitle = "咨询回复提醒";
                            description  = topic.description;
                            if("xmijk" == config.imClientType.id){
                                url = "http://zb.xmtyw.cn/ims-wx/index.html#/chatRoom?type="+topic.type+"&consultCode="+topic.id;
                                url = "https://zb.xmtyw.cn/ims-wx/index.html#/chatRoom?type="+topic.type+"&consultCode="+topic.id;
                            }else if("zsyy" == config.imClientType.id){
                                url = "http://hlwyy.xmzsh.com/ims-wx/index.html#/chatRoom?type="+topic.type+"&consultCode="+topic.id;
                                url = "https://hlwyy.xmzsh.com/ims-wx/index.html#/chatRoom?type="+topic.type+"&consultCode="+topic.id;
                            }else if("xm_ykyy_wx" == config.imClientType.id){
                                url = "http://intel.yanketong.com/ims-wx/index.html#/chatRoom?type="+topic.type+"&consultCode="+topic.id;
                                url = "https://intel.yanketong.com/ims-wx/index.html#/chatRoom?type="+topic.type+"&consultCode="+topic.id;
                            }else{}
                    }

+ 67 - 31
src/server/models/sessions/sessions.js

@ -1351,54 +1351,90 @@ class Sessions extends RedisModel {
        let patientCount = 0;
        let doctorCount = 0;
        let patientEndCount = 0;
        SessionRepo.findAll(userId, function (err, res) {
        // SessionRepo.findUnEndAll(userId, function (err, res) {
            if (err) {
                if(handler)
                {
                    handler(err,res);
        if(type){
            SessionRepo.findAllBySessionType(userId, type,function (err, res) {
                // SessionRepo.findUnEndAll(userId, function (err, res) {
                if (err) {
                    if(handler)
                    {
                        handler(err,res);
                        return;
                    }
                    ModelUtil.logError("getAllSessionsUnreadMessageCount is failed", err);
                    return;
                }
                ModelUtil.logError("getAllSessionsUnreadMessageCount is failed", err);
                return;
            }
            if (res && res.length == 0) {
                if(handler)
                {
                    handler(err,count);
                if (res && res.length == 0) {
                    if(handler)
                    {
                        handler(err,count);
                        return;
                    }
                    ModelUtil.emitOK(self.eventEmitter, {count: count});
                    return;
                }
                ModelUtil.emitOK(self.eventEmitter, {count: count});
                return;
            }
            for (let j in res) {
                for (let j in res) {
                //是否过滤指定类型
                if( type != null){
                    if (res[j].type == SESSION_TYPES.SYSTEM) {
                    if(type != res[j].type){
                        if (j == res.length - 1) {
                            if(handler){
                                handler(err,count);
                                return;
                            }
                            ModelUtil.emitOK(self.eventEmitter, {count: count, patient: patientCount, doctor: doctorCount});
                        }
                        continue;
                    }
                    callback(res, j, res[j]);
                }
            });
        }else {
            SessionRepo.findAll(userId, function (err, res) {
                // SessionRepo.findUnEndAll(userId, function (err, res) {
                if (err) {
                    if(handler)
                    {
                        handler(err,res);
                        return;
                    }
                    ModelUtil.logError("getAllSessionsUnreadMessageCount is failed", err);
                    return;
                }
                if (res && res.length == 0) {
                    if(handler)
                    {
                        handler(err,count);
                        return;
                    }
                    ModelUtil.emitOK(self.eventEmitter, {count: count});
                    return;
                }
                if (res[j].type == SESSION_TYPES.SYSTEM) {
                for (let j in res) {
                    if (j == res.length - 1) {
                        if(handler){
                            handler(err,count);
                            return;
                    if (res[j].type == SESSION_TYPES.SYSTEM) {
                        if (j == res.length - 1) {
                            if(handler){
                                handler(err,count);
                                return;
                            }
                            ModelUtil.emitOK(self.eventEmitter, {count: count, patient: patientCount, doctor: doctorCount});
                        }
                        ModelUtil.emitOK(self.eventEmitter, {count: count, patient: patientCount, doctor: doctorCount});
                        continue;
                    }
                    continue;
                }
                callback(res, j, res[j]);
            }
        });
                    callback(res, j, res[j]);
                }
            });
        }
        function callback(res, j, session) {
            self.getSessionUnreadMessageCount(res[j].id, userId, function (err, con) {

+ 0 - 0
src/server/repository/oracle/db/server2.js


+ 22 - 0
src/server/repository/oracle/session.repo.js

@ -34,6 +34,28 @@ class SessionRepo {
        });
    }
    /**
     * 获取用户指定会话类型会话不包含角色未1的会话
     *
     * @param userId
     * @param handler
     * @param type
     */
    static findAllBySessionType(userId,type , handler) {
        let sql = "SELECT SESSION_ID FROM " + DB_TABLES.Participants + " W WHERE W.PARTICIPANT_ID = :PARTICIPANT_ID AND PARTICIPANT_ROLE =0  GROUP BY W.SESSION_ID";
        let sys_session = "SELECT SESSION_ID FROM " + DB_TABLES.Participants + " W WHERE W.PARTICIPANT_ID = 'system' AND PARTICIPANT_ROLE =0  GROUP BY W.SESSION_ID";
        let sessionSQL = "SELECT S.\"ID\" AS \"id\",S.\"NAME\" AS \"name\",S.\"TYPE\" AS \"type\",S.\"BUSINESS_TYPE\" AS \"business_type\",S.\"STATUS\" AS \"status\",S.\"CREATE_DATE\" AS \"create_date\",S.\"LAST_SENDER_ID\" AS \"last_sender_id\",S.\"LAST_SENDER_NAME\" AS \"last_sender_name\",S.\"LAST_CONTENT_TYPE\" AS \"last_content_type\",S.\"LAST_CONTENT\" AS \"last_content\",S.\"LAST_MESSAGE_TIME\" AS \"last_message_time\",S.\"BAK_ID\" AS \"bak_id\" FROM "
            + DB_TABLES.Sessions + " S WHERE S.ID IN(" + sql + ") AND S.TYPE IN(" + type + ")AND S.ID NOT IN ("+sys_session+")";
        oracledbUtil.query({
            "sql": sessionSQL,
            "args": [userId],
            "handler": handler || function (err, res) {
                if(err) log.error(err);
            }
        });
    }
    /**
     * 获取用户全部会话不包含角色未1的会话
     *

Файловите разлики са ограничени, защото са твърде много
+ 4 - 5
src/server/repository/oracle/topics.repo.js


+ 2 - 2
src/server/resources/config/config.prod.js

@ -97,8 +97,8 @@ let topicConfig = {
//IM 客户端医院参数配置
let imClientType = {
    id : "zsyy",
    url : "https://hlwyy.xmzsh.com"
    id : "xm_ykyy_wx",
    url : "https://intel.yanketong.com"
}
exports.environment = 'prod';

+ 0 - 0
src/server/util/hlwyyWechatAssistant.sdk.js


+ 0 - 0
src/server/util/oracledb.util.js