瀏覽代碼

成员变化的时候时间更新为空问题处理

8 年之前
父節點
當前提交
fa168d37e8

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

@ -1028,7 +1028,22 @@ class Sessions extends RedisModel {
                        ModelUtil.emitError(self.eventEmitter, "Session " + sessionId + " is not found.");
                        return;
                    }
                    if(sessionType == SESSION_TYPES.MUC&&(message.content_type == CONTENT_TYPES.PlainText ||
                                                            message.content_type == CONTENT_TYPES.Image ||
                                                            message.content_type == CONTENT_TYPES.Audio||
                                                            message.content_type == CONTENT_TYPES.Video)){
                            TopicRepo.findLastBySessionId(sessionId,function(err,res){
                                if(res&&res.length>0){
                                    TopicRepo.updateTopics(res[0].id,{reply:1},function(err,res){
                                        if(err){
                                            logger.error("update topic reply error");
                                        }else{
                                            logger.warn("update topic reply success");
                                        }
                                    });
                                }
                            })
                    }
                    // 消息保存到Redis,并更新会话最后状态、用户最后消息获取时间
                    messages.saveMessageToRedis(sessionId, sessionType, messageId, message);
                    Messages.updateLastContent(sessionKey, sessionType, sessionName, message);
@ -1266,11 +1281,13 @@ class Sessions extends RedisModel {
                }
                //告知医生新消息
                WechatClient.sendSocketMessageToDoctor(targetUserId,message);
                ImDb.execQuery({
                    "sql": "SELECT imei, token from user_tokens WHERE user = ?",
                    "args": [targetUserId],
                    "handler": function (err, result) {
                        if (err || result.length == 0) {
                            logger.error("get user tokens is fail !");
                            return;
                        }
                        WlyySDK.request(targetUserId, '', result[0].token, result[0].imei, '/imcommon/message/messages', 'POST', function (err, res) {

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

@ -230,7 +230,7 @@ class Topics extends RedisModel {
            msg.sender_id = messages.sender_id;
            msg.sender_name = messages.sender_name;
            msg.content_type = 6;
            msg.content = "咨询问题:"+messages.description;
            msg.content = messages.description;
            msg.timestamp = new Date(new Date().getTime());
            sessions.saveMessageByTopic(msg, sessionId, function (err, msgId) {
                if (messages.img) {

+ 13 - 0
src/server/repository/mysql/topics.repo.js

@ -46,6 +46,19 @@ class TopicRepo {
        });
    }
    static findLastBySessionId(sessionId, handler) {
        let sql = "select * from " + DB_TABLES.Topics + " where  session_id = ? order by create_time desc limit 0, 1";
        ImDb.execQuery({
            sql: sql,
            args: [sessionId],
            handler: function (err, res) {
                handler(err, res);
            }
        });
    }
    static findTopicStatus(topicId, handler) {
        let sql = "select id, name, description, status from " + DB_TABLES.Topics + " where id = ?";

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

@ -20,7 +20,7 @@ let redisConfig = {
let wlyyServerConfig = {
    host: '172.19.103.88',
    port: 9092,
    model:""
    model:"/wlyy"
};
// 个推AppStore版参数