Files
yuezi-saas/backend/app/Http/Controllers/Client/AccountController.php
T

49 lines
1.2 KiB
PHP

<?php
namespace App\Http\Controllers\Client;
use App\Http\Controllers\Controller;
use App\Models\Crm\Customer;
use App\Models\Finance\AccountTransaction;
use App\Models\Finance\CustomerAccount;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
class AccountController extends Controller
{
/**
* 我的账户列表
*/
public function index(Request $request): JsonResponse
{
/** @var Customer $customer */
$customer = $request->user();
$accounts = CustomerAccount::withoutGlobalScope('store')
->where('customer_id', $customer->id)
->get();
return $this->success($accounts);
}
/**
* 账户流水记录(分页)
*/
public function transactions(Request $request): JsonResponse
{
/** @var Customer $customer */
$customer = $request->user();
$query = AccountTransaction::withoutGlobalScope('store')
->whereHas('account', fn ($q) => $q->where('customer_id', $customer->id));
if ($request->filled('account_id')) {
$query->where('customer_account_id', (int) $request->input('account_id'));
}
return $this->paginate(
$query->orderByDesc('id')->paginate(20)
);
}
}