瀏覽代碼

楼层列表、筛选

duqinya 5 年之前
父節點
當前提交
ab8dff40e9

+ 35 - 0
app/Http/Controllers/V2/FloorController.php

@@ -0,0 +1,35 @@
+<?php
+namespace App\Http\Controllers\V2;
+use App\Http\Controllers\BaseController;
+use App\Repositories\FloorRepository;
+use App\Transformers\FloorTransformer;
+use Illuminate\Http\Request;
+use League\Fractal\Resource\Collection;
+use League\Fractal\Manager;
+use League\Fractal\Pagination\IlluminatePaginatorAdapter;
+/**
+ * Created by PhpStorm.
+ * User: durong
+ * Date: 2019/6/15
+ * Time: 下午4:30
+ */
+
+class FloorController extends BaseController
+{
+    public function __construct(FloorRepository $floorRepository)
+    {
+        $this->floorRepository = $floorRepository;
+    }
+
+    //楼层列表
+    public function index(Request $request)
+    {
+        $floor = $this->floorRepository->index($request->all());
+        $fractal = new Manager();
+        $resource = new Collection($floor , new FloorTransformer());
+        $resource->setPaginator(new IlluminatePaginatorAdapter($floor));
+        $data = $fractal->createData($resource)->toArray();
+        return $this->jsonSuccess($data);
+    }
+
+}

+ 16 - 0
app/Models/Floor.php

@@ -0,0 +1,16 @@
+<?php
+
+namespace App\Models;
+
+
+class Floor extends BaseModel
+{
+    protected  $table = 'cms_floor';
+    /**
+     * 可被批量赋值的字段
+     * @var array
+     */
+    protected $fillable = ['name','floor_location','group_ids','floor_type','is_open'];
+
+
+}

+ 36 - 0
app/Repositories/FloorRepository.php

@@ -0,0 +1,36 @@
+<?php
+namespace App\Repositories;
+use App\Models\Floor;
+use Illuminate\Support\Facades\Log;
+use Symfony\Component\HttpKernel\Exception\HttpException;
+use Dingo\Api\Http\Response;
+use Illuminate\Support\Facades\DB;
+use Illuminate\Database\QueryException;
+
+/**
+ * Created by PhpStorm.
+ * User: durong
+ * Date: 2019/6/15
+ * Time: 下午4:36
+ */
+
+class FloorRepository
+{
+    public function __construct(Floor $floor)
+    {
+        $this->floor = $floor;
+    }
+
+    public function index($request)
+    {
+        $perPage = isset($request['per_page']) ? $request['per_page'] : 20;
+        $where = [];
+        if(isset($request['id'])){
+            $where[] = ['id',$request['id']];
+        }
+
+        return $this->floor->where($where)->orderBy('id', 'asc')->paginate($perPage);
+    }
+
+}
+

+ 28 - 0
app/Transformers/FloorTransformer.php

@@ -0,0 +1,28 @@
+<?php
+namespace App\Transformers;
+/**
+ * Created by PhpStorm.
+ * User: durong
+ * Date: 2019/6/15
+ * Time: 下午4:32
+ */
+
+use App\Models\Floor;
+use League\Fractal\TransformerAbstract;
+
+class FloorTransformer extends TransformerAbstract
+{
+
+    public function transform(Floor $floor)
+    {
+        return [
+            'id'  => $floor['id'],
+            'name'  => $floor['name'],
+            'floor_location'    => $floor['floor_location'],
+            'group_ids'    => $floor['group_ids'],
+            'floor_type'    => $floor['floor_type'],
+            'is_open'    => $floor['is_open'],
+            'updated_at'    => date($floor['updated_at']),
+        ];
+    }
+}

+ 14 - 0
routes/api.php

@@ -31,4 +31,18 @@ $api->version('v1', [
 
     });
 
+});
+
+$api->version('v1', [
+    'namespace' => 'App\Http\Controllers\V2',
+], function ($api) {
+
+    $api->group([
+        'prefix' => 'v2'
+    ], function ($api) {
+        $api->group(['middleware' => 'jwt.chxq_auth'], function ($api) {
+            //楼层列表
+            $api->get('/floor/index', 'FloorController@index');
+        });
+    });
 });