123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- <?php
- /**
- * Created by PhpStorm.
- * User: Administrator
- * Date: 2019-06-15
- * Time: 15:09
- */
- namespace App\Http\Controllers\V1;
- use App\Repositories\MemberFollowTopicRepository;
- use App\Transformers\MemberFollowTopicTanrformer;
- use Illuminate\Http\Request;
- use Illuminate\Support\Facades\Validator;
- use League\Fractal\Manager;
- use League\Fractal\Pagination\IlluminatePaginatorAdapter;
- use League\Fractal\Resource\Collection;
- use League\Fractal\Resource\Item;
- class MemberFollowTopic extends Controller {
- public function __construct(MemberFollowTopicRepository $memberFollowTopicRepository) {
- $this->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);
- }
- }
|