Selaa lähdekoodia

发起和结束咨询的消息由系统发出,发送者ID记录操作人!

8 vuotta sitten
vanhempi
commit
f7e59f9237

+ 2 - 2
src/server/models/messages/messages.js

@ -180,8 +180,8 @@ class Messages extends RedisModel {
            "create_date", message.timestamp.getTime(),
            "last_content", message.content,
            "last_content_type", message.content_type,
            "sender_id", message.sender_id,
            "sender_name", message.sender_name
            "last_sender_id", message.sender_id,
            "last_sender_name", message.sender_name
        );
        /**
         * mysql操作分离

+ 9 - 6
src/server/models/sessions/sessions.js

@ -134,7 +134,7 @@ class Sessions extends RedisModel {
            let sessionKey = RedisModel.makeRedisKey(REDIS_KEYS.Session, sessionId);
            let message = {
                sender_id: "system",
                sender_name: "system",
                sender_name: "系统",
                content_type: 11,
                content: "会话创建成功",
                timestamp: createDate,
@ -979,6 +979,7 @@ class Sessions extends RedisModel {
        let participants = new Participants();
        let sessionKey = RedisModel.makeRedisKey(REDIS_KEYS.Session, sessionId);
        let messageId = mongoose.Types.ObjectId().toString();
        let sessionType =0;
        message.id = messageId;
        // 检查会话中是否存在此成员
@ -990,7 +991,7 @@ class Sessions extends RedisModel {
            if (res) {
                redis.hmgetAsync(sessionKey, ["type", "name"]).then(function (res) {
                    let sessionType = res[0];
                    sessionType = res[0];
                    let sessionName = res[1];
                    if (sessionType == null) {
                        ModelUtil.emitError(self.eventEmitter, "Session " + sessionId + " is not found.");
@ -1046,7 +1047,7 @@ class Sessions extends RedisModel {
            participants.forEach(function (participant) {
                if (participant.id !== message.sender_id &&
                    participant.participant_role == PARTICIPANT_ROLES.HOST) {
                    Sessions.pushNotification(participant.id, participant.name, message);
                    Sessions.pushNotification(participant.id, participant.name, message,sessionType);
                }
            });
        }
@ -1134,7 +1135,7 @@ class Sessions extends RedisModel {
            participants.forEach(function (participant) {
                if (participant.id !== message.sender_id &&
                    participant.participant_role == PARTICIPANT_ROLES.HOST) {
                    Sessions.pushNotification(participant.id, participant.name, message);
                    Sessions.pushNotification(participant.id, participant.name, message,sessionType);
                }
            });
        }
@ -1222,13 +1223,15 @@ class Sessions extends RedisModel {
     * @param targetUserId
     * @param message
     */
    static pushNotification(targetUserId, targetUserName, message) {
    static pushNotification(targetUserId, targetUserName, message,sessionType) {
        Users.isPatientId(targetUserId, function (err, isPatient) {
            if (isPatient) {
                WechatClient.sendMessage(targetUserId, targetUserName, message);
            }
            else {
                WechatClient.sendReadDoctorByDoctorId(targetUserId, message);
                if(sessionType==SESSION_TYPES.P2P){
                     WechatClient.sendReadDoctorByDoctorId(targetUserId, message);
                }
                AppClient.sendNotification(targetUserId, message);
            }
        });

+ 1 - 1
src/server/resources/config/config.dev.js

@ -61,7 +61,7 @@ let sessionConfig = {
// 议题配置
let topicConfig = {
    TTL: 24,                            // 议题的存活时间,TTL = Time To Live
    TTL: 24,                                 // 议题的存活时间,TTL = Time To Live
    TERMINATING_CRON: "* 30 * * * *"     // 议题自动关闭的任务执行时间间隔
};