syamsoul / laravel-activity-logger
这个Laravel扩展包允许您轻松地记录系统活动。
1.0.4
2023-09-15 17:59 UTC
Requires
- php: >=7.1.0
README
文档、安装和使用说明
请参阅文档以获取详细的安装和使用说明。
简介
此包可以帮助您轻松且整洁地记录应用程序活动。实际上,此包专为记录命令中的活动而构建。但您也可以在路由回调/控制器、中间件或应用程序内的任何位置使用此包。
要求
- Laravel 8.x(及以上)
此包可用于Laravel 8.x或更高版本。如果您使用的是较旧版本的Laravel,可能会有一些问题。如果有任何问题,您可以创建新问题,我将尽快修复它。
您可以做什么
<?php namespace App\Console\Commands\Order; use Illuminate\Console\Command; use SoulDoit\ActivityLogger\Logger; use DB; use App\Models\Order; use App\Models\User; class AllocateBonusCommand extends Command { protected $signature = 'order:allocate-bonus'; protected $description = 'Allocate bonus to upline user for each order.'; public function handle(Logger $logger) // You can inject the dependency into this `handle` method { $logger->setTrack("ALLOCATE_BONUS_FOR_EACH_ORDER", true, "COMMAND"); $orders = Order::select('id', 'user_id', 'amount') ->where([ 'status' => 1, 'is_bonus_paid' => 0, ])->get(); foreach($orders as $each_order){ $upline_user_id = $each_order->user->upline_user_id; $bonus_amount = (5/100) * $each_order->amount; User::where('id', $upline_user_id)->update([ 'wallet_balance' => DB::raw("`wallet_balance` + $bonus_amount"), ]); $logger->log("Allocate $bonus_amount to User ID: $upline_user_id"); } return Command::SUCCESS; } }
输出将如下所示
[2022-12-28 16:11:33] production.INFO: [ALLOCATE_BONUS_FOR_EACH_ORDER][REF: 521645] START COMMAND [2022-12-28 16:11:33] production.INFO: [ALLOCATE_BONUS_FOR_EACH_ORDER][REF: 521645] -- Allocate 30 to User ID: 7 [2022-12-28 16:11:33] production.INFO: [ALLOCATE_BONUS_FOR_EACH_ORDER][REF: 521645] -- Allocate 30 to User ID: 8 [2022-12-28 16:11:33] production.INFO: [ALLOCATE_BONUS_FOR_EACH_ORDER][REF: 521645] -- Allocate 20 to User ID: 7 [2022-12-28 16:11:33] production.INFO: [ALLOCATE_BONUS_FOR_EACH_ORDER][REF: 521645] -- Allocate 30 to User ID: 8 [2022-12-28 16:11:33] production.INFO: [ALLOCATE_BONUS_FOR_EACH_ORDER][REF: 521645] -- Allocate 20 to User ID: 7 [2022-12-28 16:11:33] production.INFO: [ALLOCATE_BONUS_FOR_EACH_ORDER][REF: 521645] -- Allocate 30 to User ID: 8 [2022-12-28 16:11:33] production.INFO: [ALLOCATE_BONUS_FOR_EACH_ORDER][REF: 521645] -- Allocate 20 to User ID: 7 [2022-12-28 16:11:34] production.INFO: [ALLOCATE_BONUS_FOR_EACH_ORDER][REF: 521645] -- Allocate 30 to User ID: 8 [2022-12-28 16:11:34] production.INFO: [ALLOCATE_BONUS_FOR_EACH_ORDER][REF: 521645] -- Allocate 20 to User ID: 7 [2022-12-28 16:11:34] production.INFO: [ALLOCATE_BONUS_FOR_EACH_ORDER][REF: 521645] -- Allocate 30 to User ID: 8 [2022-12-28 16:11:34] production.INFO: [ALLOCATE_BONUS_FOR_EACH_ORDER][REF: 521645] -- Allocate 20 to User ID: 7 [2022-12-28 16:11:34] production.INFO: [ALLOCATE_BONUS_FOR_EACH_ORDER][REF: 521645] -- Allocate 30 to User ID: 1963 [2022-12-28 16:11:34] production.INFO: [ALLOCATE_BONUS_FOR_EACH_ORDER][REF: 521645] -- Allocate 30 to User ID: 122 [2022-12-28 16:11:34] production.INFO: [ALLOCATE_BONUS_FOR_EACH_ORDER][REF: 521645] -- Allocate 300 to User ID: 741 [2022-12-28 16:11:34] production.INFO: [ALLOCATE_BONUS_FOR_EACH_ORDER][REF: 521645] -- Allocate 200 to User ID: 8 [2022-12-28 16:11:34] production.INFO: [ALLOCATE_BONUS_FOR_EACH_ORDER][REF: 521645] -- Allocate 300 to User ID: 8 [2022-12-28 16:11:34] production.INFO: [ALLOCATE_BONUS_FOR_EACH_ORDER][REF: 521645] -- Allocate 200 to User ID: 7 [2022-12-28 16:11:34] production.INFO: [ALLOCATE_BONUS_FOR_EACH_ORDER][REF: 521645] -- Allocate 30 to User ID: 7 [2022-12-28 16:11:49] production.INFO: [ALLOCATE_BONUS_FOR_EACH_ORDER][REF: 521645] STOP COMMAND (Total Time: 15.5869 secs)
支持我
如果您发现这个包对您有帮助,请通过向以下地址捐赠一些BNB(BSC)来支持我。
0x364d8eA5E7a4ce97e89f7b2cb7198d6d5DFe0aCe
许可协议
MIT许可(MIT)。请参阅许可文件以获取更多信息。