user() ->quotaLogs() ->latest('id') ->simplePaginate($perPage); return QuotaLogResource::collection($quotaLogs); } public function quotaV1Logs(Request $request) { $perPage = PaginatorHelper::resolvePerPage('per_page', 20, 50); return QuotaV1LogResource::collection( QuotaV1SendLog::where('user_id', $request->user()->id) ->receive()->latest('id') ->simplePaginate($perPage)); } /** * 领取老配额分红 * * @return void */ public function receiveQuotaV1(Request $request, WalletService $walletService) { $user = $request->user(); try { DB::beginTransaction(); foreach (QuotaV1SendLog::where('user_id', $user->id)->waitReceive()->cursor() as $log) { $log->update(['status'=>1]); $walletService->changeBalance($user, $log->amount, WalletLog::ACTION_QUOTA_V1, '老配额分红', $log); } DB::commit(); } catch (Throwable $th) { DB::rollBack(); report($th); throw new BizException('领取失败,稍后再试'); } return response()->noContent(); } }