From c56b238189c01e2a24a1419ca5501c81c2730fcc Mon Sep 17 00:00:00 2001 From: Shuixiang Date: Sun, 17 Oct 2021 18:57:07 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B7=9D=E7=A6=BB=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Api/AgentProductController.php | 26 ++++++++++++++++--- app/Models/Views/AgentProduct.php | 8 ++++++ 2 files changed, 31 insertions(+), 3 deletions(-) create mode 100644 app/Models/Views/AgentProduct.php diff --git a/app/Http/Controllers/Api/AgentProductController.php b/app/Http/Controllers/Api/AgentProductController.php index 0731609..a13b152 100644 --- a/app/Http/Controllers/Api/AgentProductController.php +++ b/app/Http/Controllers/Api/AgentProductController.php @@ -7,6 +7,8 @@ use App\Models\Advertising; use App\Models\AgentProduct; use App\Models\Category; use App\Models\UserFav; +use App\Models\Views\AgentProduct as AgentProductView; +use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Storage; /** @@ -19,17 +21,35 @@ class AgentProductController extends Controller // 代理商产品列表 public function index() { - $formData = request()->only(['category_id', 'type', 'by']); + $formData = request()->only(['category_id', 'type', 'by', 'lat', 'lng']); $category_id = $formData['category_id'] ?? 0; $type = $formData['type'] ?? 0; $by = $formData['by'] ?? 0; + $lat = $formData['lat'] ?? 0; + $lng = $formData['lng'] ?? 0; - $list = AgentProduct::list($this->agent_id); + $list = AgentProductView::list($this->agent_id); if ($category_id) { $list = $list->whereIn('category_id', [$category_id, ...$this->get_category_child_ids($category_id)]); } - $fields = ['id', 'sale', 'updated_at', 'price']; //排序字段 TODO 还有距离排序 + // 距离排序,TODO 优化 + if ($type == 4) { + $list = $list->addSelect(DB::raw(<<