categroupRepository = $categoryRepository; } //创建 public function create(Request $request){ $validator = Validator::make($request->all(), [ 'name' => 'required|string|max:12', 'img' => 'required|url', 'desc' => 'required|string|max:100', 'sort' => 'required|integer', 'topic_ids' => 'string', ]); if ($validator->fails()) { return $this->response->error($validator->errors()->first(), 500); } return $this->categroupRepository->create($request->all()); } //创建 public function edit(Request $request){ $validator = Validator::make($request->all(), [ 'id'=>'required|integer', 'name' => 'required|string|max:12', 'img' => 'required|url', 'desc' => 'required|string|max:100', 'sort' => 'required|integer', 'topic_ids' => 'string', ]); if ($validator->fails()) { return $this->response->error($validator->errors()->first(), 500); } return $this->categroupRepository->edit($request->all()); } //列表 public function index(Request $request){ $categroup = $this->categroupRepository->index($request->all()); $fractal = new Manager(); $resource = new Collection($categroup, new CategoryTransformer()); $resource->setPaginator(new IlluminatePaginatorAdapter($categroup)); $data = $fractal->createData($resource)->toArray(); $data['extra'] = [ 'filters' => [ 'name', ], 'columns' => [ 'id', 'name', 'img', 'created_at', 'is_suggest', 'is_open', 'sort', 'topic_count' ] ]; return $data; } public function view(Request $request){ $data = $request->only('id'); $validator = Validator::make($data, [ 'id' => 'required|integer', ]); if ($validator->fails()) { return $this->response->error($validator->errors()->first(), 500); } $categroup = $this->categroupRepository->view($data); return $this->response->item($categroup, new DetailCategoryTransformer()); } //设置推荐 public function isSuggest(Request $request){ $data = $request->only('id','is_suggest'); $validator = Validator::make($data, [ 'id' => 'required|integer', 'is_suggest' => ['required',Rule::in(0, 1)], ]); if ($validator->fails()) { return $this->response->error($validator->errors()->first(), 500); } return $this->categroupRepository->update($data); } //设置开启 public function isOpen(Request $request){ $validator = Validator::make($request->all(), [ 'id' => 'required|integer', ]); if ($validator->fails()) { return $this->response->error($validator->errors()->first(), 500); } return $this->categroupRepository->isOpen($request['id']); } /** * 编辑话题分类(推荐内容首页用) */ public function suggestEdit(Request $request) { $validator = Validator::make($request->all(), [ 'category_ids' => 'required|array', 'category_ids.*' => 'required|exists:category,id', ]); if ($validator->fails()) { return $this->response->error($validator->errors()->first(), 500); } return $this->categroupRepository->suggestEdit($request->all()); } /** * 话题分类详情(推荐内容首页用) */ public function suggestDetail() { return $this->categroupRepository->suggestDetail(); } }