123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136 |
- <?php
- /**
- * Created by PhpStorm.
- * User: Administrator
- * Date: 2019-06-12
- * Time: 17:34
- */
- namespace App\Http\Controllers\V2;
- use App\Http\Controllers\Controller;
- use App\Repositories\V2\MemberGroupRepository;
- use App\Transformers\DetailMemberGroupInfoTransformer;
- use App\Transformers\MemberGroupTansformer;
- use Illuminate\Validation\Rule;
- 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 MemberGroupController extends Controller {
- public function __construct(MemberGroupRepository $memberGroupRepository) {
- $this->memberGroupRepository = $memberGroupRepository;
- }
- //列表
- public function index(Request $request){
- $topicGroup = $this->memberGroupRepository->index($request->all());
- $fractal = new Manager();
- $resource = new Collection($topicGroup, new MemberGroupTansformer());
- $resource->setPaginator(new IlluminatePaginatorAdapter($topicGroup));
- $data = $fractal->createData($resource)->toArray();
- $data['extra'] = [
- 'filters' => [
- 'name',
- ],
- 'columns' => [
- 'id',
- 'name',
- 'member_list',
- 'video_count',
- 'created_at',
- 'is_suggest',
- ]
- ];
- return $data;
- }
- //创建
- public function create(Request $request){
- $data = $request->only('name','is_suggest','member_list');
- $validator = Validator::make($data, [
- 'name' => 'required|string|max:20',
- 'is_suggest' => ['required', Rule::in(0,1)],
- 'member_list' => 'string',
- ]);
- if ($validator->fails()) {
- return $this->response->error($validator->errors()->first(), 500);
- }
- return $this->memberGroupRepository->create($data);
- }
- //详情
- public function view(Request $request){
- $data = $request->all();
- $validator = Validator::make($data, [
- 'id' => 'required|integer|max:12',
- ]);
- if ($validator->fails()) {
- return $this->response->error($validator->errors()->first(), 500);
- }
- $info = $this->memberGroupRepository->view($data);
- return $this->response->item($info, new DetailMemberGroupInfoTransformer());
- }
- //设置排序
- public function edit(Request $request){
- $data = $request->only('id','name','is_suggest','member_list');
- $validator = Validator::make($data, [
- 'id' => 'required|integer|max:12',
- 'name' => 'required|string|max:20',
- 'is_suggest' => ['required', Rule::in(0,1)],
- 'member_list' => 'string',
- ]);
- if ($validator->fails()) {
- return $this->response->error($validator->errors()->first(), 500);
- }
- return $this->memberGroupRepository->edit($data);
- }
- //删除内容
- public function delete(Request $request){
- $data = $request->only('id');
- $validator = Validator::make($data, [
- 'id' => 'required|integer|max:12',
- ]);
- if ($validator->fails()) {
- return $this->response->error($validator->errors()->first(), 500);
- }
- return $this->memberGroupRepository->delete($data['id']);
- }
- //删除内容
- public function deleteMemberInfo(Request $request){
- $data = $request->only('id');
- $validator = Validator::make($data, [
- 'id' => 'required|integer|max:12',
- ]);
- if ($validator->fails()) {
- return $this->response->error($validator->errors()->first(), 500);
- }
- return $this->memberGroupRepository->deleteMemberInfo($data['id']);
- }
- //设置推荐
- public function setIsSuggest(Request $request){
- $data = $request->only('id','is_suggest');
- $validator = Validator::make($data, [
- 'id' => 'required|string|max:20',
- 'is_suggest' => ['required', Rule::in(0,1)],
- ]);
- if ($validator->fails()) {
- return $this->response->error($validator->errors()->first(), 500);
- }
- return $this->memberGroupRepository->setIsSuggest($data);
- }
- //设置内容排序
- public function setSort(Request $request){
- $data = $request->only('id','member_info');
- $validator = Validator::make($data, [
- 'id' => 'required|string|max:20',
- 'member_info' => 'required',
- ]);
- if ($validator->fails()) {
- return $this->response->error($validator->errors()->first(), 500);
- }
- return $this->memberGroupRepository->setSort($data);
- }
- }
|