소스 검색

修复前台消息模块bug

olym 7 년 전
부모
커밋
e121ae90d0

+ 4 - 0
modules/common/base/base_controller.js

@@ -50,8 +50,12 @@ class BaseController {
         // 获取当前用户数据
         let sessionUser = request.session.sessionUser;
 
+
         // 获取当前用户消息数量
         let userMessageModel = new UserMessageModel();
+        // 消息处理
+        await userMessageModel.initMessage(sessionUser.id);
+        // 获取未读数据
         let messageUnreadCount = await userMessageModel.count({user_id: sessionUser.id, is_read: 0, is_delete: 0});
         response.locals.unreadCount = messageUnreadCount;
 

+ 3 - 1
modules/common/helper/mongoose_helper.js

@@ -90,13 +90,15 @@ class MongooseHelper {
         let self = this;
         let limit = 0;
         let skip = 0;
+        let sort = {};
         if (option !== null && Object.keys(option).length > 0) {
             limit = option.pageSize !== undefined ? option.pageSize : limit;
             skip = option.offset !== undefined ? option.offset : skip;
+            sort = option.sort !== undefined ? option.sort : sort;
         }
         conditions = self._convertId(conditions);
         return new Promise(function (resolve, reject) {
-            self.model.find(conditions, fields).skip(skip).limit(limit)
+            self.model.find(conditions, fields).skip(skip).limit(limit).sort(sort)
                 .populate(populate).exec(function(error, data) {
                 if (error) {
                     reject(error);

+ 0 - 3
modules/users/controllers/boot_controller.js

@@ -32,9 +32,6 @@ class BootController extends BaseController {
 
             request.session.sessionCompilation = compilationData;
         }
-        // 消息处理
-        let userMessageModel = new UserMessageModel();
-        await userMessageModel.initMessage(sessionUser.id);
 
         // 判断是否已填写信息
         let userData = await userModel.findDataByCondition({_id: sessionUser.id});

+ 1 - 1
modules/users/controllers/message_controller.js

@@ -51,7 +51,7 @@ class MessageController {
         try {
             let sessionUserData = request.session.sessionUser;
             let userMessageModel = new UserMessageModel();
-            let messageList = await userMessageModel.getList(sessionUserData.id, 15, {is_read: -1});
+            let messageList = await userMessageModel.getList(sessionUserData.id, 15, {is_read: 1});
             if (messageList === null) {
                 throw '获取数据失败!';
             }

+ 4 - 1
modules/users/models/user_message_model.js

@@ -32,7 +32,10 @@ class UserMessageModel extends BaseModel {
         userId = userId.toString();
         let result = true;
         // 获取最后一条消息的信息
-        let lastMessageData = await this.db.findOne({user_id: userId}, null, {create_time: -1});
+        let option = {pageSize: 1, offset: 0};
+        option.sort = {create_time: -1};
+        let lastMessageData = await this.db.find({user_id: userId}, null, option);
+        lastMessageData = lastMessageData === null ? null : lastMessageData[0];
         let lastTime = lastMessageData === null ? 0 : lastMessageData.create_time;
 
         // 查找已发布的数据