|
@@ -569,30 +569,46 @@ class NewsService implements NewsServiceInterface
|
|
|
//名称
|
|
|
if (isset($data['name']) && $data['name']) {
|
|
|
$where = [
|
|
|
- 'name' => $data['name'],
|
|
|
+ 'good.name' => $data['name'],
|
|
|
];
|
|
|
}
|
|
|
+ $where1 = [];
|
|
|
//website_id
|
|
|
- if (isset($data['website_id']) && $data['website_id']) {
|
|
|
- $where = [
|
|
|
- 'website_id' => $data['website_id'],
|
|
|
- ];
|
|
|
+ // if (isset($data['website_id']) && $data['website_id']) {
|
|
|
+ // $where1 = [
|
|
|
+ // 'good.website_id', 'like', '%' . $data['website_id'] . '%',
|
|
|
+ // ];
|
|
|
+ // }
|
|
|
+ // website_name
|
|
|
+ if (isset($data['website_name']) && $data['website_name']) {
|
|
|
+ $where1[] = ['website.website_name', 'like', '%' . $data['website_name'] . '%'];
|
|
|
}
|
|
|
- //catid
|
|
|
- if (isset($data['catid']) && $data['catid']) {
|
|
|
- $where = [
|
|
|
- 'catid' => $data['catid'],
|
|
|
- ];
|
|
|
+
|
|
|
+ // catid
|
|
|
+ if (isset($data['category_name']) && $data['category_name']) {
|
|
|
+ $where1[] = ['category.name', 'like', '%' . $data['category_name'] . '%'];
|
|
|
}
|
|
|
|
|
|
// $result = Good::where($where)
|
|
|
// ->orderBy("updated_at", "desc")->paginate($data['pige_size'], ['*'], 'page', $data['page']);
|
|
|
$result = Good::where($where)
|
|
|
- ->orderBy("updated_at", "desc")
|
|
|
+ ->when(!empty($where1), function ($query) use ($where1) {
|
|
|
+ return $query->where($where1);
|
|
|
+ })
|
|
|
+ ->leftJoin('district', 'good.city_id', '=', 'district.id')
|
|
|
+ ->leftJoin('website', 'good.website_id', '=', 'website.id')
|
|
|
+ ->leftJoin('category', 'good.catid', '=', 'category.id')
|
|
|
+ ->select('good.*', 'district.name as cityname', 'website.website_name as website_name', 'category.name as category_name')
|
|
|
+ ->orderBy("id", "desc")
|
|
|
->limit($data['page_size'])
|
|
|
->offset(($data['page'] - 1) * $data['page_size'])
|
|
|
->get();
|
|
|
- $count = Good::where($where)->count();
|
|
|
+ $count = Good::where($where)
|
|
|
+ ->leftJoin('district', 'good.city_id', '=', 'district.id')
|
|
|
+ ->leftJoin('website', 'good.website_id', '=', 'website.id')
|
|
|
+ ->leftJoin('category', 'good.catid', '=', 'category.id')
|
|
|
+ ->select('good.*', 'district.name as cityname', 'website.website_name as website_name', 'category.name as category_name')
|
|
|
+ ->orderBy("updated_at", "desc")->count();
|
|
|
$data = [
|
|
|
'rows' => $result->toArray(),
|
|
|
'count' => $count,
|
|
@@ -613,8 +629,15 @@ class NewsService implements NewsServiceInterface
|
|
|
}
|
|
|
public function addGood(array $data): array
|
|
|
{
|
|
|
-
|
|
|
- $result = Good::create($data);
|
|
|
+ // unset($data['city_arr_id']);
|
|
|
+ // unset($data['cat_arr_id']);
|
|
|
+ $data['city_id'] = end($data['city_arr_id']);
|
|
|
+ $data['catid'] = end($data['cat_arr_id']);
|
|
|
+ $data['city_arr_id'] = isset($data['city_arr_id']) ? json_encode($data['city_arr_id']) : '';
|
|
|
+ $data['cat_arr_id'] = isset($data['cat_arr_id']) ? json_encode($data['cat_arr_id']) : '';
|
|
|
+ $data['imgurl'] = isset($data['imgurl']) ? json_encode($data['imgurl']) : '';
|
|
|
+ unset($data['imgUrl']);
|
|
|
+ $result = Good::insert($data);
|
|
|
if (empty($result)) {
|
|
|
return Result::error("添加失败", 0);
|
|
|
}
|
|
@@ -622,6 +645,14 @@ class NewsService implements NewsServiceInterface
|
|
|
}
|
|
|
public function updateGood(array $data): array
|
|
|
{
|
|
|
+ $data['city_id'] = end($data['city_arr_id']);
|
|
|
+ $data['catid'] = end($data['cat_arr_id']);
|
|
|
+ $data['city_arr_id'] = isset($data['city_arr_id']) ? json_encode($data['city_arr_id']) : '';
|
|
|
+ $data['cat_arr_id'] = isset($data['cat_arr_id']) ? json_encode($data['cat_arr_id']) : '';
|
|
|
+ $data['imgurl'] = isset($data['imgurl']) ? json_encode($data['imgurl']) : '';
|
|
|
+ //设置东八区
|
|
|
+ date_default_timezone_set('Asia/Shanghai');
|
|
|
+ $data['updated_at'] = date('Y-m-d H:i:s');
|
|
|
$result = Good::where('id', $data['id'])->update($data);
|
|
|
if (empty($result)) {
|
|
|
return Result::error("更新失败", 0);
|