Browse Source

1、去掉AgentProductView;2、优化距离排序只有升序的部分代码;

master
李可松 4 years ago
parent
commit
ae81a1bd5d
  1. 13
      app/Http/Controllers/Api/AgentProductController.php
  2. 8
      app/Models/Views/AgentProduct.php

13
app/Http/Controllers/Api/AgentProductController.php

@ -8,7 +8,6 @@ use App\Models\AgentProduct;
use App\Models\AgentProductSpec;
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;
@ -23,13 +22,13 @@ class AgentProductController extends Controller
public function index()
{
$formData = request()->only(['category_id', 'type', 'by', 'lat', 'lng']);
$category_id = $formData['category_id'] ?? 0;
$category_id = (int)$formData['category_id'] ?? 0;
$type = $formData['type'] ?? 0;
$by = $formData['by'] ?? 0;
$lat = $formData['lat'] ?? 0;
$lng = $formData['lng'] ?? 0;
$list = AgentProductView::list($this->agent_id);
$list = AgentProduct::list($this->agent_id);
if ($category_id) {
$list = $list->whereIn('category_id', [$category_id, ...$this->get_category_child_ids($category_id)]);
}
@ -49,10 +48,14 @@ round(
)) * 1000),0) AS `distance_m`
SQL
));
$by = 1; //距离排序默认升序
}
$fields = ['id', 'sale', 'updated_at', 'price', 'distance_m']; //排序字段
//距离排序只有升序
if ($type == 4) {
$by = 1;
}
$field = $fields[$type] ?? $fields[0];
$by = $by == 0 ? 'desc' : 'asc';
@ -336,7 +339,7 @@ SQL
$prefix = Storage::disk('public')->url('');
foreach ($list->items() as $k=>&$v) {
$v->pictures = array_map(function($item) use ($prefix) {
return strpos($item, $prefix) === false ? $prefix . $item : $item;
return !str_contains($item, $prefix) ? $prefix . $item : $item;
}, $v->pictures);
}

8
app/Models/Views/AgentProduct.php

@ -1,8 +0,0 @@
<?php
namespace App\Models\Views;
class AgentProduct extends \App\Models\AgentProduct
{
protected $table = 'view_agent_products';
}
Loading…
Cancel
Save