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(<<