|
@@ -65,6 +65,28 @@ class OfflineShop extends Api
|
|
|
}
|
|
|
|
|
|
$list = $model->getList(params: $params,orderBy: array_merge($orderBy,['weigh' => 'desc']),select: $select);
|
|
|
+ foreach ($list as &$item) {
|
|
|
+ [$distance,$unit] = \app\utils\Common::distanceTo($item['distance']);
|
|
|
+ $item['distance'] = "{$distance}{$unit}";
|
|
|
+ }
|
|
|
return $this->success('success',$list);
|
|
|
}
|
|
|
+
|
|
|
+ // 商铺列表
|
|
|
+ public function info()
|
|
|
+ {
|
|
|
+ $params = $this->request->param();
|
|
|
+ $userLng = $this->auth->lng;
|
|
|
+ $userLat = $this->auth->lat;
|
|
|
+ $model = new OfflineShopModel();
|
|
|
+ $select = ['*'];
|
|
|
+ if (!empty($userLng) && !empty($userLat)) {
|
|
|
+ $select[] = Db::raw("(st_distance(point ({$userLng}, {$userLat}),point(lng,lat))*111195) as distance");
|
|
|
+ }
|
|
|
+ $info = $model->getDetail(params: $params,select: $select);
|
|
|
+ if (!empty($info)) {
|
|
|
+ $info['images'] = explode(',',$info['image']);
|
|
|
+ }
|
|
|
+ return $this->success('success',$info);
|
|
|
+ }
|
|
|
}
|