From 955e35fe5b63d4841a15e477bcd1c42a33f20a10 Mon Sep 17 00:00:00 2001 From: OldHawk Date: Wed, 23 May 2018 17:08:44 +0800 Subject: [PATCH] feat(home): show albums list by push time --- .../albums/server/controllers/albums.server.controller.js | 6 +++++- modules/albums/server/models/albums.server.model.js | 4 ++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/modules/albums/server/controllers/albums.server.controller.js b/modules/albums/server/controllers/albums.server.controller.js index 5909d6f1..c8c12864 100644 --- a/modules/albums/server/controllers/albums.server.controller.js +++ b/modules/albums/server/controllers/albums.server.controller.js @@ -169,6 +169,7 @@ exports.toggleHomeItemStatus = function (req, res) { var album = req.album; album.isHomeStatus = !album.isHomeStatus; + album.home_at = Date.now(); album.save(function (err) { if (err) { @@ -206,6 +207,8 @@ exports.list = function (req, res) { var isHomeStatus = undefined; var condition = {}; + var sort_str = '-recommend_level -ordered_at -created_at'; + if (req.query.type !== undefined) { type = req.query.type; } @@ -218,13 +221,14 @@ exports.list = function (req, res) { } if (isHomeStatus !== undefined) { condition.isHomeStatus = isHomeStatus; + sort_str = '-home_at'; } mtDebug.info(condition); var findQuery = function (callback) { Album.find(condition) - .sort('-recommend_level -ordered_at -created_at') + .sort(sort_str) .populate('torrents') .exec(function (err, albums) { if (err) { diff --git a/modules/albums/server/models/albums.server.model.js b/modules/albums/server/models/albums.server.model.js index 34aa4d4f..7f7009eb 100644 --- a/modules/albums/server/models/albums.server.model.js +++ b/modules/albums/server/models/albums.server.model.js @@ -51,6 +51,9 @@ var AlbumSchema = new Schema({ type: Boolean, default: false }, + home_at: { + type: Date, + }, created_at: { type: Date, default: Date.now @@ -62,5 +65,6 @@ var AlbumSchema = new Schema({ }, {usePushEach: true}); AlbumSchema.index({type: 1, recommend_level: 1, ordered_at: -1, created_at: -1}); +AlbumSchema.index({isHomeStatus: 1, home_at: -1}); mongoose.model('Album', AlbumSchema);