<?php
namespace App\Http\Controllers;
use App\Models\ConfigPickupGroup;
use Illuminate\Http\Request;
use App\Http\ApiHelper;
use Illuminate\Support\Facades\Validator;
use App\Transformers\PickupGroupTransformer;

/**
 * Created by PhpStorm.
 * User: qinyaer
 * Date: 2019/4/24
 * Time: 下午4:16
 */

 class ConfigPickupGroupController extends BaseController
 {
     /**
      * @api {get} /pickupGroup/index 自提点分组列表
      * @apiVersion 0.1
      * @apiName ConfigPickupGroup index
      * @apiGroup ConfigPickupGroup
      * @apiPermission none
      * @apiSuccessExample 成功响应:

     {
     "data": [],
     "extra": {
     "filters": [
     "筛选字段1",
     "筛选字段2"
     ],
     "columns": [
     "id",
     "name"
     ]
     },
     "meta": {
     "pagination": {
     "total": 2,
     "count": 2,
     "per_page": 15,
     "current_page": 1,
     "total_pages": 1,
     "links": []
     }
     }
      */
     public function index()
     {
         $ConfigPickupGroup = ConfigPickupGroup::orderBy('id', 'desc')
             ->paginate();

         return $this->response->paginator($ConfigPickupGroup, new PickupGroupTransformer());
     }

     /**
      * @api {post} /pickupGroup/add 新建自提点分组
      * @apiVersion 0.1
      * @apiName ConfigPickupGroup add
      * @apiGroup ConfigPickupGroup
      * @apiPermission none
      * @apiSuccessExample 成功响应:

     {
     "meta": {
     "message": "Success.",
     "status_code": 200
     }
     }
      */

     public function add(Request $request)
     {
         $name = $request->input('name') ? $request->input('name') : '';
         $all = [
             'name' => $name,
         ];
         $rules = [
             'name' => 'required|max:20',
             ];
         $massage = [
             'name.required' => '自提点分组名称不能为空',
             'name.max' => '自提点分组名称不能超过20个字符',
             ];
         $validator = Validator::make($all, $rules, $massage);

         if ($validator->fails()) {

             return $this->response->array(ApiHelper::error('请求参数格式不正确!', 412));
         }
         $pickup_group = ConfigPickupGroup::create($all);
         if(!$pickup_group) {

             return $this->response->array(ApiHelper::error('新建自提点分组失败!', 500));
         }

         return $this->response->array(ApiHelper::success());
     }

 }