filter($request->all()) ->latest('id') ->paginate(20); return RiceShrimpWeeklyPriceResource::collection($riceShrimpWeeklyPrices); } /** * 创建稻虾每周价格 * * @param \App\Http\Requestes\RiceShrimpWeeklyPriceStoreRequest $request * @return \App\Http\Resources\RiceShrimpWeeklyPriceResource * * @throws \App\Exceptions\BizException */ public function store(RiceShrimpWeeklyPriceStoreRequest $request): RiceShrimpWeeklyPriceResource { $user = $request->user(); $riceShrimpWeeklyPrice = RiceShrimpWeeklyPrice::create( array_merge( $request->only(['year', 'quarter', 'price']), [ 'created_by' => $user->id, 'updated_by' => $user->id, ] ) ); $riceShrimpWeeklyPrice->setRelations([ 'createdBy' => $user, 'updatedBy' => $user, ]); (new OperationLogService())->inLog(OperationType::Create, '', $riceShrimpWeeklyPrice, $request->input()); return RiceShrimpWeeklyPriceResource::make($riceShrimpWeeklyPrice); } /** * 修改稻虾每周价格 * * @param int $id * @param \App\Http\Requestes\RiceShrimpWeeklyPriceUpdateRequest $request * @return \App\Http\Resources\RiceShrimpWeeklyPriceResource */ public function update($id, RiceShrimpWeeklyPriceUpdateRequest $request): RiceShrimpWeeklyPriceResource { $riceShrimpWeeklyPrice = RiceShrimpWeeklyPrice::findOrFail($id); foreach ([ 'year', 'week', 'price', ] as $key) { if ($request->filled($key)) { $riceShrimpWeeklyPrice->{$key} = $request->input($key); } } if ($riceShrimpWeeklyPrice->isDirty()) { $riceShrimpWeeklyPrice->updated_by = $request->user()->id; } $riceShrimpWeeklyPrice->save(); (new OperationLogService())->inLog(OperationType::Update, '', $riceShrimpWeeklyPrice, $request->input()); return RiceShrimpWeeklyPriceResource::make( $riceShrimpWeeklyPrice->loadMissing(['createdBy', 'updatedBy']) ); } /** * 删除稻虾每周价格 * * @param int $id * @return \Illuminate\Http\JsonResponse */ public function destroy($id): JsonResponse { $riceShrimpWeeklyPrice = RiceShrimpWeeklyPrice::findOrFail($id); $riceShrimpWeeklyPrice->delete(); (new OperationLogService())->inLog(OperationType::Delete, '', $riceShrimpWeeklyPrice); return response()->json(null); } }