syamsoul/laravel-activity-logger

这个Laravel扩展包允许您轻松地记录系统活动。

1.0.4 2023-09-15 17:59 UTC

This package is auto-updated.

Last update: 2024-09-15 20:00:17 UTC


README

Latest Version on Packagist

文档、安装和使用说明

请参阅文档以获取详细的安装和使用说明。

   

简介

此包可以帮助您轻松且整洁地记录应用程序活动。实际上,此包专为记录命令中的活动而构建。但您也可以在路由回调/控制器、中间件或应用程序内的任何位置使用此包。

   

要求

  • 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)。请参阅许可文件以获取更多信息。