|
@@ -1924,56 +1924,54 @@ class NewsService implements NewsServiceInterface
|
|
|
$data = json_decode($input['id'] ?? '', true) ?? [];
|
|
|
$result['goods'] = array_map(function ($item) use ($input) {
|
|
|
// 检查parent元素是否存在且不是undefined
|
|
|
- if (isset($item['level']) && $item['level'] != 'undefined' && $item['level']!= "") {
|
|
|
- list($Levelid, $goodStart,$goodNum) = explode(',', $item['level']);
|
|
|
- $website = $input['website_id'];
|
|
|
- $query = Good::where('good.status', 2)
|
|
|
- ->where('good.website_id', $website);
|
|
|
- switch ($Levelid) {
|
|
|
- case 1:
|
|
|
- case 2:
|
|
|
- case 3:
|
|
|
- $goods = $query->where(function($q) use ($Levelid) {
|
|
|
- $q->whereRaw("JSON_CONTAINS(good.level, '". intval($Levelid). "') = 0")
|
|
|
- ->orWhereRaw("JSON_CONTAINS(good.level, '\"". intval($Levelid). "\"') = 0");
|
|
|
- });
|
|
|
- break;
|
|
|
- case 4:
|
|
|
- $goods = $query;
|
|
|
- break;
|
|
|
- case 5:
|
|
|
- $goods = $query->where('type_id',1);
|
|
|
- break;
|
|
|
- case 6:
|
|
|
- $goods = $query->where('type_id',2);
|
|
|
-
|
|
|
- break;
|
|
|
- default:
|
|
|
- return [];
|
|
|
- }
|
|
|
- $all_goods = $goods
|
|
|
- ->select('good.id', 'good.name', 'good.imgurl', 'good.description',
|
|
|
- 'good.updated_at', 'good.catid','good.type_id','good.price','good.level',
|
|
|
- 'good.website_id')
|
|
|
- ->orderBy('updated_at','desc')
|
|
|
- ->offset($goodStart)
|
|
|
- ->limit($goodNum)
|
|
|
- ->get();
|
|
|
- $web['website_id'] = $website;
|
|
|
- $all_goods = $this->processGoods($all_goods, $web);
|
|
|
-
|
|
|
- }
|
|
|
- return $all_goods;
|
|
|
- }, $data);
|
|
|
- $website = $input['website_id'];
|
|
|
- $result['article'] = Article::where(function ($query) use ($website) {
|
|
|
- $query->where(function ($subQuery) use ($website) {
|
|
|
- $subQuery->whereRaw("JSON_CONTAINS(ignore_ids, '" . intval($website) . "') = 0");
|
|
|
- })->orWhereNull("ignore_ids");
|
|
|
- })
|
|
|
- ->where('catid', $catid)
|
|
|
- ->where('article.status', 1)
|
|
|
- ->leftJoin('article_data', 'article_data.article_id', 'article.catid')
|
|
|
+ if (isset($item['level']) && $item['level'] != 'undefined' && $item['level']!= "") {
|
|
|
+ list($Levelid, $goodStart,$goodNum) = explode(',', $item['level']);
|
|
|
+ $website = $input['website_id'];
|
|
|
+ $query = Good::where('good.status', 2)
|
|
|
+ ->where('good.website_id', $website);
|
|
|
+ switch ($Levelid) {
|
|
|
+ case 1:
|
|
|
+ case 2:
|
|
|
+ case 3:
|
|
|
+ $goods = $query->where(function($q) use ($Levelid) {
|
|
|
+ $q->whereRaw("JSON_CONTAINS(good.level, '". intval($Levelid). "') = 0")
|
|
|
+ ->orWhereRaw("JSON_CONTAINS(good.level, '\"". intval($Levelid). "\"') = 0");
|
|
|
+ });
|
|
|
+ break;
|
|
|
+ case 4:
|
|
|
+ $goods = $query;
|
|
|
+ break;
|
|
|
+ case 5:
|
|
|
+ $goods = $query->where('type_id',1);
|
|
|
+ break;
|
|
|
+ case 6:
|
|
|
+ $goods = $query->where('type_id',2);
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ return [];
|
|
|
+ }
|
|
|
+ $all_goods = $goods
|
|
|
+ ->select('good.id', 'good.name', 'good.imgurl', 'good.description',
|
|
|
+ 'good.updated_at', 'good.catid','good.type_id','good.price','good.level',
|
|
|
+ 'good.website_id')
|
|
|
+ ->orderBy('updated_at','desc')
|
|
|
+ ->offset($goodStart)
|
|
|
+ ->limit($goodNum)
|
|
|
+ ->get();
|
|
|
+ $web['website_id'] = $website;
|
|
|
+ $all_goods = $this->processGoods($all_goods, $web);
|
|
|
+ }
|
|
|
+ return $all_goods;
|
|
|
+ }, $data);
|
|
|
+ $website = $input['website_id'];
|
|
|
+ $result['article'] = Article::where(function ($query) use ($website) {
|
|
|
+ $query->where(function ($subQuery) use ($website) {
|
|
|
+ $subQuery->whereRaw("JSON_CONTAINS(ignore_ids, '" . intval($website) . "') = 0");
|
|
|
+ })->orWhereNull("ignore_ids");
|
|
|
+ })
|
|
|
+ ->where('catid', $catid)
|
|
|
+ ->where('article.status', 1)
|
|
|
+ ->leftJoin('article_data', 'article_data.article_id', 'article.id')
|
|
|
->select('article.id', 'article.title', 'article.updated_at', 'introduce', 'islink', 'linkurl','article_data.content')
|
|
|
->orderBy('article.updated_at', 'desc')
|
|
|
->first();
|