middleware('checkUserPermission'); $this->service = $service; } /** * 列表 * @param Request $request * * @return \Illuminate\Http\JsonResponse|\Illuminate\Http\Resources\Json\JsonResource * @throws \Prettus\Repository\Exceptions\RepositoryException */ public function index(Request $request) { $lists = $this->service->handleList($request); return $this->response->success($lists); } /** * 新增 * @param Request $request * * @return \Illuminate\Http\JsonResponse|\Illuminate\Http\Resources\Json\JsonResource * @throws \Prettus\Validator\Exceptions\ValidatorException */ public function store(Request $request) { $data = $this->validateData($request, [ 'name' => 'required|string', 'jifen' => 'required|integer', 'cover' => 'required|string', 'nums' => 'required|integer', 'sort' => 'required|integer', ], [ 'name' => '礼品名称', 'jifen' => '兑换积分', 'cover' => '礼品封面图', 'nums' => '库存', 'sort' => '排序', ]); $data['status'] = ModelStatusEnum::OK; $model = $this->service->handleStore($data); if ($model) { ShopGood::updateKuCun($model['id'], $model['nums']); } return $this->response->created($model, '创建成功'); } /** * 详情 * @param Request $request * @return \Illuminate\Http\JsonResponse|\Illuminate\Http\Resources\Json\JsonResource */ public function show(Request $request) { $this->validate($request, ['id' => 'required|integer']); $model = $this->service->handleProfile($request->get('id')); return $this->response->success($model); } /** * 更新 * @param Request $request * * @return \Illuminate\Http\JsonResponse|\Illuminate\Http\Resources\Json\JsonResource * @throws \Prettus\Validator\Exceptions\ValidatorException */ public function update(Request $request) { $data = $this->validateData($request, [ 'id' => 'required|integer', 'name' => 'required|string', 'jifen' => 'required|integer', 'cover' => 'required|string', // 'nums' => 'required|integer', 'sort' => 'required|integer', 'status' => 'required|integer', ], [ 'name' => '礼品名称', 'jifen' => '兑换积分', 'cover' => '礼品封面图', // 'nums' => '库存', 'sort' => '排序', ]); $model = $this->service->handleUpdate($data); return $this->response->success($model, '更新成功'); } /** * 删除 * @param Request $request */ public function destroy(Request $request) { $this->validate($request, ['id' => 'required|integer']); $re = $this->service->handleDelete($request->get('id')); if ($re) { return $this->response->ok('删除成功'); } return $this->response->fail('删除失败'); } /** * 批量删除 * @param Request $request */ public function batchDelete(Request $request) { $ids = $this->validateData($request, ['ids' => 'required|array']); $re = $this->service->handleBatchDelete($ids); if ($re) { return $this->response->ok('删除成功'); } return $this->response->fail('删除失败'); } /** * 选项 * @must * @param Request $request */ public function selectOptions(Request $request) { $lists = $this->service->handleSelectOptions($request); return $this->response->success($lists); } // /** // * 更新库存 // * @param Request $request // * // * @return \Illuminate\Http\JsonResponse|\Illuminate\Http\Resources\Json\JsonResource // * @throws \Prettus\Validator\Exceptions\ValidatorException // */ // public function updateGoodNums(Request $request) // { // $data = $this->validateData($request, [ // 'id' => 'required|integer', // 'nums' => 'required|integer', // ], [ // 'nums' => '库存' // ]); // // $model = $this->service->handleUpdate($data); // if ($model) { // ShopGood::updateKuCun($data['id'], $data['nums']); // } // return $this->response->success($model, '更新成功'); // } /** * 更新库存 * @param Request $request * * @return \Illuminate\Http\JsonResponse|\Illuminate\Http\Resources\Json\JsonResource * @throws \Prettus\Validator\Exceptions\ValidatorException */ public function addGoodNums(Request $request) { $data = $this->validateData($request, [ 'id' => 'required|integer', 'type' => 'required|in:1,0', 'nums' => 'required|integer', ], [ 'type' => '操作类型', 'nums' => '库存' ]); ShopGood::addGoodNums($data['id'], $data['type'], $data['nums']); return $this->response->success([], '更新成功'); } /** * 更新库存 * @param Request $request * * @return \Illuminate\Http\JsonResponse|\Illuminate\Http\Resources\Json\JsonResource * @throws \Prettus\Validator\Exceptions\ValidatorException */ public function reloadGoodKucun(Request $request) { ShopGood::reloadKuCun(); return $this->response->success(null, '更新成功'); } }