|
@@ -3,6 +3,8 @@ namespace App\Repositories;
|
|
|
use App\Models\Floor;
|
|
|
use App\Models\TopicGroup;
|
|
|
use App\Models\TopicGroupInfo;
|
|
|
+use App\Models\VideoGroup;
|
|
|
+use App\Models\VideoGroupInfo;
|
|
|
use App\Traits\UserTrait;
|
|
|
use Illuminate\Support\Facades\Log;
|
|
|
use Symfony\Component\HttpKernel\Exception\HttpException;
|
|
@@ -21,10 +23,14 @@ class FloorRepository
|
|
|
{
|
|
|
use UserTrait;
|
|
|
public function __construct(Floor $floor,
|
|
|
+ VideoGroup $videoGroup,
|
|
|
+ VideoGroupInfo $videoGroupInfo,
|
|
|
TopicGroup $topicGroup,
|
|
|
TopicGroupInfo $topicGroupInfo)
|
|
|
{
|
|
|
$this->floor = $floor;
|
|
|
+ $this->videoGroup = $videoGroup;
|
|
|
+ $this->videoGroupInfo = $videoGroupInfo;
|
|
|
$this->topicGroup = $topicGroup;
|
|
|
$this->topicGroupInfo = $topicGroupInfo;
|
|
|
}
|
|
@@ -64,6 +70,20 @@ class FloorRepository
|
|
|
//user
|
|
|
}elseif($item->floor_type == 2){
|
|
|
//video
|
|
|
+ $videoIds = $this->videoGroup
|
|
|
+ ->join('video_group_info', 'video_group_info.video_group_id', '=', 'video_group.id')
|
|
|
+ ->where('video_group.id', $item->group_ids)
|
|
|
+ ->limit(20)
|
|
|
+ ->pluck('video_group_info.post_id')
|
|
|
+ ->toArray();
|
|
|
+ if(!$videoIds) continue;
|
|
|
+ $videoIds = implode($videoIds, ',');
|
|
|
+ $video = $this->getPostVideo($videoIds);
|
|
|
+ if(!$video) continue;
|
|
|
+ $data[$item->floor_location] = [
|
|
|
+ 'show_type' => 'video',
|
|
|
+ 'data' => $video
|
|
|
+ ];
|
|
|
}elseif($item->floor_type == 3){
|
|
|
//topic
|
|
|
$topicIds = $this->topicGroup
|
|
@@ -72,14 +92,14 @@ class FloorRepository
|
|
|
->limit(20)
|
|
|
->pluck('topic_group_info.topic_id')
|
|
|
->toArray();
|
|
|
+ if(!$topicIds) continue;
|
|
|
$topicIds = implode($topicIds, ',');
|
|
|
$topic = $this->getTopic($topicIds);
|
|
|
- if($topic){
|
|
|
- $data[$item->floor_location] = [
|
|
|
- 'show_type' => 'topic',
|
|
|
- 'data' => $topic
|
|
|
- ];
|
|
|
- }
|
|
|
+ if(!$topic) continue;
|
|
|
+ $data[$item->floor_location] = [
|
|
|
+ 'show_type' => 'topic',
|
|
|
+ 'data' => $topic
|
|
|
+ ];
|
|
|
}
|
|
|
}
|
|
|
return $data;
|