From c2ce7591198c62d5e4ffa5215a9504ac0b7e2a08 Mon Sep 17 00:00:00 2001 From: OldHawk Date: Sun, 28 Jan 2018 15:01:29 +0800 Subject: [PATCH] feat(announce): add announce upload score and download score obtain. --- config/env/torrents.js | 12 +++++++---- .../announces.server.controller.js | 20 +++++++++++++++---- 2 files changed, 24 insertions(+), 8 deletions(-) diff --git a/config/env/torrents.js b/config/env/torrents.js index 6d8d5a89..7d826f53 100644 --- a/config/env/torrents.js +++ b/config/env/torrents.js @@ -310,12 +310,16 @@ module.exports = { postRequest: {name: 'postRequest', value: -100, enable: true}, //value used requests.scoreForAddRequest, default -100 - seedAnnounce: { - name: 'seedAnnounce', + seedUpDownload: { + name: 'seedUpDownload', additionSize: 1024 * 1024 * 1024 * 10, //10G perlSize: 1024 * 1024 * 1024, //1G - value: 5, - enable: true + + uploadValue: 5, + uploadEnable: true, + + downloadValue: 5, + downloadEnable: true } }, thumbsUpScore: { diff --git a/modules/announce/server/controllers/announces.server.controller.js b/modules/announce/server/controllers/announces.server.controller.js index 5f6f6c4a..0527b726 100644 --- a/modules/announce/server/controllers/announces.server.controller.js +++ b/modules/announce/server/controllers/announces.server.controller.js @@ -532,16 +532,28 @@ exports.announce = function (req, res) { }); //update score - var action = scoreConfig.action.seedAnnounce; - if (curru > 0 && action.enable) { + var action = scoreConfig.action.seedUpDownload; + var uploadScore = 0, downloadScore = 0; + if (curru > 0 && action.uploadEnable) { var unitScore = 1; if (req.torrent.torrent_size > action.additionSize) { unitScore = Math.round(Math.sqrt(req.torrent.torrent_size / action.additionSize) * 100) / 100; } var upScore = Math.round((curru / action.perlSize) * 100) / 100; - var score = unitScore * action.value * upScore; + uploadScore = unitScore * action.uploadValue * upScore; + } + if (currd > 0 && action.downloadEnable) { + var unitScore = 1; + if (req.torrent.torrent_size > action.additionSize) { + unitScore = Math.round(Math.sqrt(req.torrent.torrent_size / action.additionSize) * 100) / 100; + } + var downScore = Math.round((curru / action.perlSize) * 100) / 100; + downloadScore = unitScore * action.downloadValue * downScore; + } - scoreUpdate(req, req.passkeyuser, action, score); + var totalScore = uploadScore + downloadScore; + if (totalScore > 0) { + scoreUpdate(req, req.passkeyuser, action, totalScore); } } }