From f0a5f447ee0818dca7a63865ecf431177c90b3d7 Mon Sep 17 00:00:00 2001 From: OldHawk Date: Tue, 8 May 2018 12:13:54 +0800 Subject: [PATCH] fix(cron): fixed count peers issue in cron job --- config/lib/cron-job.js | 29 +++---------------- .../controllers/admin.server.controller.js | 3 +- 2 files changed, 6 insertions(+), 26 deletions(-) diff --git a/config/lib/cron-job.js b/config/lib/cron-job.js index 79fe8ac6..00cfd0cc 100644 --- a/config/lib/cron-job.js +++ b/config/lib/cron-job.js @@ -149,35 +149,14 @@ function removeGhostPeers() { var count = peers.length; peers.forEach(function (p) { - if (p.peer_status === PEERSTATE_LEECHER) { - if (p.torrent) { - p.torrent.update({ - $inc: {torrent_leechers: -1} - }).exec(); - } - if (p.user) { - p.user.update({ - $inc: {leeched: -1} - }).exec(); - } - } else if (p.peer_status === PEERSTATE_SEEDER) { - if (p.torrent) { - p.torrent.update({ - $inc: {torrent_seeds: -1} - }).exec(); - } - if (p.user) { - p.user.update({ - $inc: {seeded: -1} - }).exec(); - } - } + p.remove(); p.torrent.update({ $pull: {_peers: p._id} }).exec(); - p.remove(); + p.torrent.updateSeedLeechNumbers(); + p.user.updateSeedLeechNumbers(); }); logger.info(chalk.green('removed ghost peers: ' + count)); @@ -277,7 +256,7 @@ function listenServiceEmail() { // cronTime: '*/10 * * * * *', cronTime: '00 00 * * * *', onTick: function () { - // logger.info(chalk.green('listenServiceEmail: process!')); + logger.info(chalk.green('listenServiceEmail: process!')); // logger.info(chalk.green(listenServiceEmailJob.running)); if (!listenServiceEmailJob.listeningServiceEmail) { diff --git a/modules/users/server/controllers/admin.server.controller.js b/modules/users/server/controllers/admin.server.controller.js index fba9d0c8..18a3eba0 100644 --- a/modules/users/server/controllers/admin.server.controller.js +++ b/modules/users/server/controllers/admin.server.controller.js @@ -294,7 +294,8 @@ exports.updateUserScore = function (req, res) { var user = req.model; var sv = parseFloat(req.body.userScore.toFixed(2)); - user.score = user.score + sv; + user.score = Math.max(user.score + sv, 0); + user.save(function (err) { if (err) { return res.status(422).send({