feat: implement system-wide activity logging with database persistence, repository patterns, and admin controller access.
This commit is contained in:
@@ -8,6 +8,7 @@ use App\Http\Requests\DepositRequest;
|
||||
use App\Http\Services\Telegram;
|
||||
use App\Models\Log;
|
||||
use App\Models\Transaction;
|
||||
use App\Services\ActivityLogger;
|
||||
use Illuminate\Http\JsonResponse;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
@@ -16,6 +17,7 @@ use Illuminate\Support\Str;
|
||||
|
||||
class ManualDepositController extends Controller
|
||||
{
|
||||
public function __construct(protected ActivityLogger $activityLogger) {}
|
||||
/**
|
||||
* GET /v1/transaction/manual-deposit/pending
|
||||
* Kiểm tra xem user có GD manual đang chờ duyệt (đã submit proof) không.
|
||||
@@ -111,6 +113,13 @@ class ManualDepositController extends Controller
|
||||
return response()->json(['error' => true, 'message' => 'Có lỗi xảy ra, vui lòng thử lại'], 500);
|
||||
}
|
||||
|
||||
$this->activityLogger->log(
|
||||
event: 'deposit_prepare',
|
||||
logName: 'Transaction',
|
||||
description: "Customer {$user->email} tạo yêu cầu nạp tiền thủ công: " . number_format($request->amount) . ' VNĐ - Mã: ' . $publicCode,
|
||||
newValues: ['public_code' => $publicCode, 'amount' => $request->amount, 'type' => 'manual'],
|
||||
);
|
||||
|
||||
return response()->json([
|
||||
'error' => false,
|
||||
'data' => [
|
||||
@@ -136,12 +145,22 @@ class ManualDepositController extends Controller
|
||||
->whereNull('proof_image')
|
||||
->firstOrFail();
|
||||
|
||||
$amount = $transaction->amount;
|
||||
$publicCode = $transaction->public_code;
|
||||
|
||||
DB::transaction(function () use ($transaction, $user) {
|
||||
$user->total_pending = max(0, $user->total_pending - $transaction->amount);
|
||||
$user->save();
|
||||
$transaction->forceDelete();
|
||||
});
|
||||
|
||||
$this->activityLogger->log(
|
||||
event: 'deposit_cancel',
|
||||
logName: 'Transaction',
|
||||
description: "Customer {$user->email} huỷ yêu cầu nạp tiền thủ công: " . number_format($amount) . ' VNĐ - Mã: ' . $publicCode,
|
||||
newValues: ['public_code' => $publicCode, 'amount' => $amount],
|
||||
);
|
||||
|
||||
return response()->json(['error' => false, 'message' => 'Đã huỷ yêu cầu']);
|
||||
}
|
||||
|
||||
@@ -188,6 +207,13 @@ class ManualDepositController extends Controller
|
||||
'customer_id' => $user->id,
|
||||
]);
|
||||
|
||||
$this->activityLogger->log(
|
||||
event: 'deposit_confirm',
|
||||
logName: 'Transaction',
|
||||
description: "Customer {$user->email} nộp chứng từ nạp tiền thủ công: " . number_format($transaction->amount) . ' VNĐ - Mã: ' . $transaction->public_code,
|
||||
newValues: ['public_code' => $transaction->public_code, 'amount' => $transaction->amount, 'has_proof' => true],
|
||||
);
|
||||
|
||||
return response()->json([
|
||||
'error' => false,
|
||||
'message' => 'Yêu cầu nạp tiền đã được ghi nhận, vui lòng chờ admin xác nhận',
|
||||
|
||||
Reference in New Issue
Block a user