From da4a609ef72d6f04a43b47bb346b3476034773a3 Mon Sep 17 00:00:00 2001 From: xiaomlove <1939737565@qq.com> Date: Wed, 7 Jan 2026 01:20:44 +0700 Subject: [PATCH] claim settle add bonus log --- app/Models/BonusLogs.php | 2 ++ app/Repositories/ClaimRepository.php | 17 +++++++++++++---- resources/lang/en/bonus-log.php | 2 ++ resources/lang/zh_CN/bonus-log.php | 2 ++ resources/lang/zh_TW/bonus-log.php | 2 ++ 5 files changed, 21 insertions(+), 4 deletions(-) diff --git a/app/Models/BonusLogs.php b/app/Models/BonusLogs.php index 4bfd1019..edb99715 100644 --- a/app/Models/BonusLogs.php +++ b/app/Models/BonusLogs.php @@ -42,6 +42,7 @@ class BonusLogs extends NexusModel const BUSINESS_TYPE_TASK_NOT_PASS_DEDUCT = 20; const BUSINESS_TYPE_TASK_PASS_REWARD = 21; const BUSINESS_TYPE_REWARD_TORRENT = 22; + const BUSINESS_TYPE_CLAIMED_UNREACHED = 23; //获得类,普通获得,1000 起步 const BUSINESS_TYPE_ROLE_WORK_SALARY = 1000; @@ -50,6 +51,7 @@ class BonusLogs extends NexusModel const BUSINESS_TYPE_RECEIVE_GIFT = 1003; const BUSINESS_TYPE_UPLOAD_TORRENT = 1004; const BUSINESS_TYPE_TORRENT_BE_REWARD = 1005; + const BUSINESS_TYPE_CLAIMED_REACHED = 1006; //获得类,做种获得,10000 起 const BUSINESS_TYPE_SEEDING_BASIC = 10000; diff --git a/app/Repositories/ClaimRepository.php b/app/Repositories/ClaimRepository.php index ff19b7ca..1aa53e5a 100644 --- a/app/Repositories/ClaimRepository.php +++ b/app/Repositories/ClaimRepository.php @@ -2,6 +2,7 @@ namespace App\Repositories; use App\Jobs\SettleClaim; +use App\Models\BonusLogs; use App\Models\Claim; use App\Models\Message; use App\Models\Snatch; @@ -260,16 +261,24 @@ class ClaimRepository extends BaseRepository //Wrap with transaction DB::transaction(function () use ($uid, $unReachedIdArr, $toUpdateIdArr, $bonusFinal, $totalDeduct, $uploadedCaseWhen, $seedTimeCaseWhen, $message, $now) { + //get latest + $oldBonus = User::query()->find($uid, ['seedbonus'])->seedbonus; + $delta = 0; //Increase user bonus - User::query()->where('id', $uid)->increment('seedbonus', $bonusFinal); - do_log("Increase user bonus: $bonusFinal", 'alert'); + $delta += $bonusFinal; + do_log("Increase user: $uid bonus: $bonusFinal", 'alert'); + BonusLogs::add($uid, $oldBonus, $bonusFinal, $oldBonus + $bonusFinal, "", BonusLogs::BUSINESS_TYPE_CLAIMED_REACHED); + $oldBonus += $bonusFinal; //Handle unreached if (!empty($unReachedIdArr)) { Claim::query()->whereIn('id', $unReachedIdArr)->delete(); - User::query()->where('id', $uid)->decrement('seedbonus', $totalDeduct); - do_log("Deduct user bonus: $totalDeduct", 'alert'); + $delta -= $totalDeduct; + do_log("Deduct user: $uid bonus: $totalDeduct", 'alert'); + BonusLogs::add($uid, $oldBonus, $totalDeduct, $oldBonus - $totalDeduct, "", BonusLogs::BUSINESS_TYPE_CLAIMED_UNREACHED); + $oldBonus -= $totalDeduct; } + User::query()->where('id', $uid)->increment('seedbonus', $delta); //Update claim `last_settle_at` and init `seed_time_begin` & `uploaded_begin` if (!empty($toUpdateIdArr)) { diff --git a/resources/lang/en/bonus-log.php b/resources/lang/en/bonus-log.php index 93770f59..7b0ff6ce 100644 --- a/resources/lang/en/bonus-log.php +++ b/resources/lang/en/bonus-log.php @@ -22,6 +22,7 @@ return [ \App\Models\BonusLogs::BUSINESS_TYPE_GIFT_MEDAL => 'Gift medal', \App\Models\BonusLogs::BUSINESS_TYPE_BUY_TORRENT => 'Buy torrent', \App\Models\BonusLogs::BUSINESS_TYPE_REWARD_TORRENT => 'Reward torrent', + \App\Models\BonusLogs::BUSINESS_TYPE_CLAIMED_UNREACHED => 'Claimed torrent unreached', \App\Models\BonusLogs::BUSINESS_TYPE_ROLE_WORK_SALARY => 'Role work salary', \App\Models\BonusLogs::BUSINESS_TYPE_TORRENT_BE_DOWNLOADED => 'Torrent be downloaded', @@ -29,6 +30,7 @@ return [ \App\Models\BonusLogs::BUSINESS_TYPE_RECEIVE_GIFT => 'Receive gift', \App\Models\BonusLogs::BUSINESS_TYPE_UPLOAD_TORRENT => 'Upload torrent', \App\Models\BonusLogs::BUSINESS_TYPE_TORRENT_BE_REWARD => 'Torrent receive reward', + \App\Models\BonusLogs::BUSINESS_TYPE_CLAIMED_REACHED => 'Claimed torrent reached reward', \App\Models\BonusLogs::BUSINESS_TYPE_SEEDING_BASIC => 'Seeding basic', \App\Models\BonusLogs::BUSINESS_TYPE_SEEDING_DONOR_ADDITION => 'Seeding donor addition', diff --git a/resources/lang/zh_CN/bonus-log.php b/resources/lang/zh_CN/bonus-log.php index cce264fe..e82d3875 100644 --- a/resources/lang/zh_CN/bonus-log.php +++ b/resources/lang/zh_CN/bonus-log.php @@ -24,6 +24,7 @@ return [ \App\Models\BonusLogs::BUSINESS_TYPE_TASK_PASS_REWARD => '任务完成奖励', \App\Models\BonusLogs::BUSINESS_TYPE_TASK_NOT_PASS_DEDUCT => '任务未完成扣除', \App\Models\BonusLogs::BUSINESS_TYPE_REWARD_TORRENT => '奖励种子', + \App\Models\BonusLogs::BUSINESS_TYPE_CLAIMED_UNREACHED => '认领种子未达标扣除', \App\Models\BonusLogs::BUSINESS_TYPE_ROLE_WORK_SALARY => '工作组工资', \App\Models\BonusLogs::BUSINESS_TYPE_TORRENT_BE_DOWNLOADED => '种子被下载', @@ -31,6 +32,7 @@ return [ \App\Models\BonusLogs::BUSINESS_TYPE_RECEIVE_GIFT => '收到礼物', \App\Models\BonusLogs::BUSINESS_TYPE_UPLOAD_TORRENT => '发布种子', \App\Models\BonusLogs::BUSINESS_TYPE_TORRENT_BE_REWARD => '种子收到奖励', + \App\Models\BonusLogs::BUSINESS_TYPE_CLAIMED_REACHED => '认领种子达标奖励', \App\Models\BonusLogs::BUSINESS_TYPE_SEEDING_BASIC => '做种基础魔力', \App\Models\BonusLogs::BUSINESS_TYPE_SEEDING_DONOR_ADDITION => '做种捐赠加成', diff --git a/resources/lang/zh_TW/bonus-log.php b/resources/lang/zh_TW/bonus-log.php index ebba6191..6c8bd0f4 100644 --- a/resources/lang/zh_TW/bonus-log.php +++ b/resources/lang/zh_TW/bonus-log.php @@ -22,6 +22,7 @@ return [ \App\Models\BonusLogs::BUSINESS_TYPE_GIFT_MEDAL => '贈送勛章', \App\Models\BonusLogs::BUSINESS_TYPE_BUY_TORRENT => '購買種子', \App\Models\BonusLogs::BUSINESS_TYPE_REWARD_TORRENT => '獎勵種子', + \App\Models\BonusLogs::BUSINESS_TYPE_CLAIMED_UNREACHED => '認領種子未達標扣除', \App\Models\BonusLogs::BUSINESS_TYPE_ROLE_WORK_SALARY => '工作組工資', \App\Models\BonusLogs::BUSINESS_TYPE_TORRENT_BE_DOWNLOADED => '種子被下載', @@ -29,6 +30,7 @@ return [ \App\Models\BonusLogs::BUSINESS_TYPE_RECEIVE_GIFT => '收到禮物', \App\Models\BonusLogs::BUSINESS_TYPE_UPLOAD_TORRENT => '發布種子', \App\Models\BonusLogs::BUSINESS_TYPE_TORRENT_BE_REWARD => '種子收到獎勵', + \App\Models\BonusLogs::BUSINESS_TYPE_CLAIMED_REACHED => '認領種子達標獎勵', \App\Models\BonusLogs::BUSINESS_TYPE_SEEDING_BASIC => '做種基礎魔力', \App\Models\BonusLogs::BUSINESS_TYPE_SEEDING_DONOR_ADDITION => '做種捐贈加成',