memberFollowTopicRepository = $memberFollowTopicRepository; } //关注推荐话题 public function memberFollowTopic(Request $request){ $data = $request->all(); $validator = Validator::make($data, [ 'topic_group_ids' => 'required|string', ]); if ($validator->fails()) { return $this->jsonError($validator->errors()->first()); } return $this->memberFollowTopicRepository->setMemberFollowTopic($data['topic_group_ids']); } //关注单个话题 public function followTopic(Request $request){ $data = $request->all(); $validator = Validator::make($data, [ 'topic_id' => 'required|integer', ]); if ($validator->fails()) { return $this->jsonError($validator->errors()->first()); } return $this->memberFollowTopicRepository->follow($data['topic_id']); } //关注单个话题 public function cancelFollowTopic(Request $request){ $data = $request->all(); $validator = Validator::make($data, [ 'topic_id' => 'required|integer', ]); if ($validator->fails()) { return $this->jsonError($validator->errors()->first()); } return $this->memberFollowTopicRepository->cancel($data['topic_id']); } //我关注话题列表 public function index(Request $request){ $data = $request->all(); $list = $this->memberFollowTopicRepository->list($data); $fractal = new Manager(); $resource = new Collection($list, new MemberFollowTopicTanrformer()); $resource->setPaginator(new IlluminatePaginatorAdapter($list)); $data = $fractal->createData($resource)->toArray(); return jsonSuccess($data); } //获取用户关注话题 public function getMemberTopics(Request $request){ $data = $request->all(); $validator = Validator::make($data, [ 'uid' => 'required|integer', ]); if ($validator->fails()) { return jsonError($validator->errors()->first()); } $data = $this->memberFollowTopicRepository->getMemberTopic($data['uid']); return jsonSuccess($data); } }