diff --git a/app/Http/Controllers/Api/IndexController.php b/app/Http/Controllers/Api/IndexController.php index f97f3df..59586b3 100644 --- a/app/Http/Controllers/Api/IndexController.php +++ b/app/Http/Controllers/Api/IndexController.php @@ -24,11 +24,38 @@ class IndexController extends Controller ->orderBy('sort')->orderBy('id', 'DESC')->limit(10)->get(['title','url']); # 公告 - $notice = Notice::where('agent_id', $this->agent_id)->limit(10)->get(['title', 'updated_at']); + $notice = Notice::where('agent_id', $this->agent_id)->limit(10)->get(['id', 'title', 'updated_at']); # 我的频道 - $channel_ids = UserChannel::where('user_id', $this->user_id)->value('channels'); - $my_channels = Channel::whereIn('id', $channel_ids)->get(['id', 'name', 'icon']); + if ($this->user_id) { + $channel_ids = UserChannel::where('user_id', $this->user_id)->value('channels'); + //如果不存在则存入初始数据 + if (!$channel_ids) { + $channel_ids = Channel::where([ + ['agent_id', '=', $this->agent_id], + ['pid', '<>', 0], + ]) + ->orderBy('id') + ->limit(8) + ->pluck('id') + ->toArray(); + //存入user_channel + UserChannel::where('user_id', $this->user_id) + ->insert([ + 'user_id' => $this->user_id, + 'channels' => json_encode($channel_ids) + ]); + } + $my_channels = Channel::where('agent_id', $this->agent_id) + ->whereIn('id', $channel_ids) + ->get(['id', 'name', 'icon']); + } else { + $my_channels = Channel::where('agent_id', $this->agent_id) + ->where('pid', '<>', 0) + ->orderBy('id') + ->limit(8) + ->get(['id', 'name', 'icon']); + } # 专题列表 $special = Special::query() @@ -39,6 +66,7 @@ class IndexController extends Controller # 人气爆款 $hots = AgentProduct::query() + ->where('agent_id', $this->agent_id) ->select('id', 'sale', 'product_id', 'price', 'original_price') //必须查询product_id才能with ->with('product:id,title,pictures') //必须查询ID才能正常查询 ->limit(6)->get();