41 lines
1.1 KiB
PHP
41 lines
1.1 KiB
PHP
<?php
|
|
|
|
namespace Modules\Merchant\Http\Controllers\Portal;
|
|
|
|
use Illuminate\Http\JsonResponse;
|
|
use Illuminate\Http\Request;
|
|
use Modules\AnnoRoute\Attribute\GetRoute;
|
|
use Modules\AnnoRoute\Attribute\RequestAttribute;
|
|
use Modules\Common\Http\Controllers\BaseController;
|
|
use Modules\Merchant\Models\OrderPaymentModel;
|
|
|
|
#[RequestAttribute('/merchant-portal/payment', 'merchant.portal.payment')]
|
|
class PaymentController extends BaseController
|
|
{
|
|
use MerchantAuthTrait;
|
|
|
|
protected array $searchField = [
|
|
'pay_type' => '=',
|
|
'status' => '=',
|
|
];
|
|
|
|
protected array $quickSearchField = ['payment_no'];
|
|
|
|
#[GetRoute(authorize: 'query')]
|
|
public function query(Request $request): JsonResponse
|
|
{
|
|
$params = $request->all();
|
|
$pageSize = $params['pageSize'] ?? 10;
|
|
$merchantId = $this->getMerchantId();
|
|
|
|
$query = OrderPaymentModel::whereHas('order', function ($q) use ($merchantId) {
|
|
$q->where('merchant_id', $merchantId);
|
|
});
|
|
|
|
$data = $this->buildSearch($params, $query)
|
|
->paginate($pageSize)
|
|
->toArray();
|
|
return $this->success($data);
|
|
}
|
|
}
|