diff --git a/modules/announce/server/controllers/announces.server.controller.js b/modules/announce/server/controllers/announces.server.controller.js index 36a4ca07..3d2c115b 100644 --- a/modules/announce/server/controllers/announces.server.controller.js +++ b/modules/announce/server/controllers/announces.server.controller.js @@ -267,8 +267,6 @@ exports.announce = function (req, res) { done(161); } else if (t.torrent_status === 'new') { done(173); - } else if (t.torrent_vip && !req.passkeyuser.isVip) { - done(174); } else { req.torrent = t; done(null); @@ -276,6 +274,17 @@ exports.announce = function (req, res) { }); }, + /*--------------------------------------------------------------- + check torrent_vip and user_vip status + ---------------------------------------------------------------*/ + function (done) { + if (!req.seeder && req.torrent.torrent_vip && !req.passkeyuser.isVip) { + done(174); + } else { + done(null); + } + }, + /*--------------------------------------------------------------- find complete torrent data if not find and torrent is h&r, then create complete record @@ -478,20 +487,15 @@ exports.announce = function (req, res) { d = d * config.meanTorrentConfig.torrentSalesValue.vip.Dr; } - req.passkeyuser.update({ - $inc: {uploaded: u, downloaded: d} - }).exec(); + req.passkeyuser.uploaded += u; + req.passkeyuser.downloaded += d; + req.passkeyuser.save(); //write complete data to completeTorrent and refresh completed ratio if (req.completeTorrent) { req.completeTorrent.total_uploaded += curru; req.completeTorrent.total_downloaded += currd; - req.completeTorrent.update({ - $inc: { - total_uploaded: curru, - total_downloaded: currd - } - }).exec(); + req.completeTorrent.save(); } //write peer speed @@ -547,35 +551,22 @@ exports.announce = function (req, res) { req.currentPeer.peer_downloaded = query.downloaded; req.currentPeer.peer_left = query.peer_left; req.currentPeer.last_announce_at = Date.now(); - req.currentPeer.update({ - $set: { - peer_uploaded: query.uploaded, - peer_downloaded: query.downloaded, - peer_left: query.left, - last_announce_at: Date.now() - } - }, function () { - req.currentPeer.globalUpdateMethod(); - }); + req.currentPeer.save(); done(null); }, /*--------------------------------------------------------------- update H&R completeTorrent.total_seed_time - update H&R ratio in globalUpdateMethod + update H&R ratio in save update H&R warning in countHnRWarning ---------------------------------------------------------------*/ function (done) { if (!req.currentPeer.isNewCreated) { if (req.completeTorrent && req.completeTorrent.complete && event(query.event) !== EVENT_COMPLETED) { req.completeTorrent.total_seed_time += Date.now() - req.currentPeer.last_announce_at; - req.completeTorrent.update({ - $inc: {total_seed_time: Date.now() - req.currentPeer.last_announce_at} - }, function () { - req.completeTorrent.globalUpdateMethod(function () { - req.completeTorrent.countHnRWarning(req.passkeyuser); - }); + req.completeTorrent.save(function () { + req.completeTorrent.countHnRWarning(req.passkeyuser); done(null); }); } else { @@ -700,30 +691,20 @@ exports.announce = function (req, res) { * doCompleteEvent */ function doCompleteEvent(callback) { - req.currentPeer.update({ - $set: {peer_status: PEERSTATE_SEEDER, finishedat: Date.now()} - }).exec(); req.currentPeer.peer_status = PEERSTATE_SEEDER; + req.currentPeer.save(); - req.torrent.update({ - $inc: {torrent_finished: 1} - }).exec(); req.torrent.torrent_finished += 1; + req.torrent.save(); - req.passkeyuser.update({ - $inc: {finished: 1} - }).exec(); + req.passkeyuser.finished += 1; + req.passkeyuser.save(); //update completeTorrent complete status if (req.completeTorrent) { req.completeTorrent.complete = true; - req.completeTorrent.update({ - $set: {complete: true} - }, function () { - req.completeTorrent.globalUpdateMethod(function () { - req.completeTorrent.countHnRWarning(req.passkeyuser); - }); - + req.completeTorrent.save(function () { + req.completeTorrent.countHnRWarning(req.passkeyuser); if (callback) callback(); }); } else { diff --git a/modules/core/client/app/trans-string-en.js b/modules/core/client/app/trans-string-en.js index a85c8c90..27300791 100644 --- a/modules/core/client/app/trans-string-en.js +++ b/modules/core/client/app/trans-string-en.js @@ -1306,8 +1306,8 @@ TITLE_USER_UPLOAD_ACCESS_CHANGED: 'Upload access changed', CONTENT_USER_UPLOAD_ACCESS_CHANGED: '### upload access changed! \n Your upload was changed by user [{{by_name}}](/userinfo/{{by_id}}), current access is **{{upload_access | translate}}**, Thank you for your contribution on **{{site_name}}**.', - TITLE_VIP_CHANGED_ADD: 'Vip status changed', - CONTENT_VIP_CHANGED_ADD: '### Welcome! \n Your vip status changed, now end at: **{{vip_end_at | date: "yyyy-MM-dd HH:mm"}}** :four_leaf_clover:', + TITLE_USER_VIP_CHANGED_ADD: 'Vip status changed', + CONTENT_USER_VIP_CHANGED_ADD: '### Welcome! \n Your vip status changed, now end at: **{{vip_end_at | date: "yyyy-MM-dd HH:mm"}}**, all H&R warning already clean. :four_leaf_clover:', TITLE_MAKER_CREATED: 'Maker group has created', CONTENT_MAKER_CREATED: 'Administrator [{{by_name}}](/userinfo/{{by_id}}) already created a maker group [{{maker_name}}](/about/maker/{{maker_id}}) for you, you are the group founder now, Thank you for your contribution on **{{site_name}}** :100:', diff --git a/modules/core/client/app/trans-string-zh.js b/modules/core/client/app/trans-string-zh.js index 729cf1ca..081179c1 100644 --- a/modules/core/client/app/trans-string-zh.js +++ b/modules/core/client/app/trans-string-zh.js @@ -1306,8 +1306,8 @@ TITLE_USER_UPLOAD_ACCESS_CHANGED: '上传权限已变更', CONTENT_USER_UPLOAD_ACCESS_CHANGED: '### 上传权限已变更! \n 您的上传权限已由管理员用户 [{{by_name}}](/userinfo/{{by_id}}) 变更, 当前权限为 **{{upload_access | translate}}**, 感谢您为 **{{site_name}}** 做出贡献! ', - TITLE_VIP_CHANGED_ADD: 'Vip 状态已改变', - CONTENT_VIP_CHANGED_ADD: '### 恭喜! \n 您的 Vip 状态已改变, 您的 Vip 将结束于: **{{vip_end_at | date: "yyyy-MM-dd HH:mm"}}** :four_leaf_clover:', + TITLE_USER_VIP_CHANGED_ADD: 'Vip 状态已改变', + CONTENT_USER_VIP_CHANGED_ADD: '### 恭喜! \n 您的 Vip 状态已改变, 您的 Vip 将结束于: **{{vip_end_at | date: "yyyy-MM-dd HH:mm"}}**, 所有的 H&R 警告已经清除. :four_leaf_clover:', TITLE_MAKER_CREATED: '资源制作小组已建立', CONTENT_MAKER_CREATED: '管理员 [{{by_name}}](/userinfo/{{by_id}}) 已为您创建资源制作小组 [{{maker_name}}](/about/maker/{{maker_id}}), 您现在是该小组的创建人, 感谢您为 **{{site_name}}** 做出贡献! :100:', diff --git a/modules/users/server/controllers/admin.server.controller.js b/modules/users/server/controllers/admin.server.controller.js index bcf62299..d887b5bf 100644 --- a/modules/users/server/controllers/admin.server.controller.js +++ b/modules/users/server/controllers/admin.server.controller.js @@ -392,6 +392,7 @@ exports.addVIPMonths = function (req, res) { user.vip_start_at = start; user.vip_end_at = end; user.status = 'normal'; + user.hnr_warning = 0; user.save(function (err) { if (err) { @@ -402,6 +403,11 @@ exports.addVIPMonths = function (req, res) { res.json(user); + //clean all H&R record + Complete.remove({ + user: user._id + }).exec(); + //add server message if (serverNoticeConfig.action.userVipStatusChanged.enable) { serverMessage.addMessage(user._id, serverNoticeConfig.action.userVipStatusChanged.title, serverNoticeConfig.action.userVipStatusChanged.content, {