6
0
Fork 0
jiqu-library-server/app/Endpoint/Api/Http/Controllers/Dealer/ManageSubsidyLogController.php

50 lines
2.1 KiB
PHP

<?php
namespace App\Endpoint\Api\Http\Controllers\Dealer;
use App\Endpoint\Api\Http\Controllers\Controller;
use App\Endpoint\Api\Http\Resources\Dealer\DealerManageSubsidyLogResource;
use App\Helpers\Paginator;
use App\Models\DealerManageSubsidyLog;
use Illuminate\Http\Request;
class ManageSubsidyLogController extends Controller
{
/**
* 管理津贴列表
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\JsonResponse
*/
public function index(Request $request)
{
$isComplted = (bool) $request->input('is_completed');
$perPage = Paginator::resolvePerPage('per_page', 20, 50);
$manageSubsidyLogs = DealerManageSubsidyLog::with(['product', 'order'])
->when($isComplted, function ($query) {
$tz = now();
if ($tz->day >= 20) {
// 结算当月20号开始的管理津贴
$startAt = $tz->copy()->setDay(20)->startOfDay();
} elseif ($tz->day >= 5) {
// 结算当月5号开始的管理津贴
$startAt = $tz->copy()->setDay(5)->startOfDay();
} else {
// 结算上月20号开始的管理津贴
$startAt = $tz->copy()->subMonthNoOverflow()->setDay(20)->startOfDay();
}
$query->where('order_completed_at', '>=', $startAt)->latest('order_completed_at');
}, function ($query) {
$query->whereNull('order_completed_at')->latest('id');
})
->where('user_id', $request->user()->id)
->simplePaginate($perPage);
return DealerManageSubsidyLogResource::collection($manageSubsidyLogs);
}
}