|
@@ -0,0 +1,71 @@
|
|
|
+<?php
|
|
|
+
|
|
|
+namespace App\Admin\Repositories;
|
|
|
+
|
|
|
+use App\Models\SitePreviewVideo as Model;
|
|
|
+use Dcat\Admin\Repositories\EloquentRepository;
|
|
|
+use Illuminate\Support\Facades\DB;
|
|
|
+
|
|
|
+class SitePreviewVideo extends EloquentRepository
|
|
|
+{
|
|
|
+
|
|
|
+ * Model.
|
|
|
+ *
|
|
|
+ * @var string
|
|
|
+ */
|
|
|
+ protected $eloquentClass = Model::class;
|
|
|
+
|
|
|
+
|
|
|
+ *
|
|
|
+ */
|
|
|
+ public static function updatePreviewVideo($album_id, $data) {
|
|
|
+
|
|
|
+ $model = new Model();
|
|
|
+ $existingVideos = $model->where('album_id', $album_id)->get();
|
|
|
+
|
|
|
+
|
|
|
+ foreach ($data as $value) {
|
|
|
+ $videoSrc = $value['video_src'];
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ $existingVideo = $existingVideos->firstWhere('video_url', $videoSrc);
|
|
|
+
|
|
|
+ if ($existingVideo) {
|
|
|
+
|
|
|
+ continue;
|
|
|
+ } else {
|
|
|
+
|
|
|
+ $model->create([
|
|
|
+ 'video_url' => $videoSrc,
|
|
|
+ 'preview_url' => '',
|
|
|
+ 'status' => 0,
|
|
|
+ 'created_at' => Corder::now(),
|
|
|
+ 'updated_at' => Corder::now(),
|
|
|
+ 'album_id' => $album_id,
|
|
|
+ 'remark' => '',
|
|
|
+ ]);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ foreach ($existingVideos as $existing) {
|
|
|
+ $videoExistsInData = false;
|
|
|
+
|
|
|
+
|
|
|
+ foreach ($data as $value) {
|
|
|
+ if ($value['video_src'] === $existing->video_url) {
|
|
|
+ $videoExistsInData = true;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ if (!$videoExistsInData) {
|
|
|
+ $existing->delete();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+}
|