|
@@ -0,0 +1,79 @@
|
|
|
+<?php
|
|
|
+namespace App\Http\Controllers;
|
|
|
+use App\Models\ConfigPickupNode;
|
|
|
+use App\Repositories\ConfigPickupNodeRepository;
|
|
|
+use App\Transformers\PickupNodeTransformer;
|
|
|
+use Illuminate\Http\Request;
|
|
|
+use Illuminate\Support\Facades\Auth;
|
|
|
+use JeroenDesloovere\Distance\Distance;
|
|
|
+use League\Fractal\Resource\Collection;
|
|
|
+use League\Fractal\Manager;
|
|
|
+use League\Fractal\Pagination\IlluminatePaginatorAdapter;
|
|
|
+use Illuminate\Support\Facades\Validator;
|
|
|
+
|
|
|
+ * Created by PhpStorm.
|
|
|
+ * User: qinyaer
|
|
|
+ * Date: 2019/4/25
|
|
|
+ * Time: 上午10:09
|
|
|
+ */
|
|
|
+
|
|
|
+class ConfigPickupNodeController extends BaseController
|
|
|
+{
|
|
|
+ public function __construct(ConfigPickupNodeRepository $configPickupNodeRepository) {
|
|
|
+
|
|
|
+ $this->configPickupNodeRepository = $configPickupNodeRepository;
|
|
|
+ }
|
|
|
+
|
|
|
+ public function index(Request $request)
|
|
|
+ {
|
|
|
+
|
|
|
+ $configPickupNode = $this->configPickupNodeRepository->index($request->all());
|
|
|
+
|
|
|
+ if (count($configPickupNode)>0) {
|
|
|
+
|
|
|
+ foreach ($configPickupNode as $k => $v) {
|
|
|
+ $configPickupNode[$k]->receive_type = $v->receive_type == 0 ? '信任交付' : '手动确认接货';
|
|
|
+
|
|
|
+ $configPickupNode[$k]->status = $v->status == 0 ? '禁用' : '启用';
|
|
|
+
|
|
|
+ $configPickupNode[$k]->store_ids = $v->getStoreNameAttribute();
|
|
|
+ $configPickupNode[$k]->pickup_group_id = $v->getGroupNameAttribute();
|
|
|
+ $configPickupNode[$k]->distance = Distance::between(
|
|
|
+ $request['latitude'], $request['longitude'], $v->latitude, $v->longitude
|
|
|
+ );
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ $fractal = new Manager();
|
|
|
+ $resource = new Collection($configPickupNode , new PickupNodeTransformer());
|
|
|
+ $resource->setPaginator(new IlluminatePaginatorAdapter($configPickupNode));
|
|
|
+ $data = $fractal->createData($resource)->toArray();
|
|
|
+ return $this->jsonSuccess($data);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ public function getPickupNode(Request $request)
|
|
|
+ {
|
|
|
+ $all = $request->all();
|
|
|
+ $validator = Validator::make($all, [
|
|
|
+ 'id' => 'required|integer',
|
|
|
+ ]);
|
|
|
+
|
|
|
+ $getPickup = ConfigPickupNode::where('id',$all['id'])->first();
|
|
|
+
|
|
|
+ if(!$getPickup){
|
|
|
+ return $this->jsonError('该自提点不存在或已删除');
|
|
|
+ }
|
|
|
+ if($validator->fails()) {
|
|
|
+ return $this->jsonError($validator->errors()->first());
|
|
|
+ }
|
|
|
+ $getPickup->receive_type = $getPickup->receive_type == 0 ? '信任交付':'手动确认接货';
|
|
|
+ $getPickup->status = $getPickup->status == 0 ? '禁用':'启用';
|
|
|
+ $getPickup->store_ids = $getPickup->getStoreNameAttribute();
|
|
|
+ $getPickup->pickup_group_id = $getPickup->getGroupNameAttribute();
|
|
|
+
|
|
|
+ return $this->jsonSuccess($getPickup);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+}
|