From 2b1f542577dd8dfc54d3433dff3615796ceab0af Mon Sep 17 00:00:00 2001
From: shikeying <shikeying@163.com>
Date: 星期二, 11 十月 2022 17:17:50 +0800
Subject: [PATCH] 视频下载,解析分析调度跑通

---
 recommend-video/src/main/java/com/iplatform/recvideo/service/VideoExecutorServiceImpl.java |   94 +++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 94 insertions(+), 0 deletions(-)

diff --git a/recommend-video/src/main/java/com/iplatform/recvideo/service/VideoExecutorServiceImpl.java b/recommend-video/src/main/java/com/iplatform/recvideo/service/VideoExecutorServiceImpl.java
index bd4408f..728e739 100644
--- a/recommend-video/src/main/java/com/iplatform/recvideo/service/VideoExecutorServiceImpl.java
+++ b/recommend-video/src/main/java/com/iplatform/recvideo/service/VideoExecutorServiceImpl.java
@@ -1,9 +1,103 @@
 package com.iplatform.recvideo.service;
 
+import com.iplatform.model.po.Rc_video_t1;
+import com.iplatform.model.po.Rc_video_t2;
+import com.iplatform.model.po.Rc_video_user;
+import com.walker.infrastructure.utils.DateUtils;
+import com.walker.infrastructure.utils.StringUtils;
 import com.walker.jdbc.service.BaseServiceImpl;
 import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Map;
 
 @Service
 public class VideoExecutorServiceImpl extends BaseServiceImpl {
 
+    private static final String SQL_CHECK_VIDEO_STATUS = "select * from milvus_video_status where id=?";
+    private static final String SQL_CLEAR_VIDEO_T1 = "delete from rc_video_t1 where src_img=?";
+    private static final String SQL_CLEAR_VIDEO_T2 = "delete from rc_video_t2 where src_video_id=?";
+
+    private static final String SQL_GET_BATCH_VIDEO = "select user_id, src_video_id from rc_video_batch where batch_id=?";
+
+    private static final String SQL_UPDATE_TASK_STATUS_LOAD = "update rc_task_status set status='1', end_time=? where last_value=? and status='0'";
+    private static final String SQL_IGNORE_TASK_STATUS_LOAD = "update rc_task_status set status='1', msg='ignore' where last_value=? and status='0' and task_type='video_load'";
+
+    /**
+     * 鍐欏叆瑙嗛鐩镐技搴︾涓�绾т复鏃舵暟鎹紝姣忎釜鍥惧儚鍖呭惈澶氫釜鐩镐技瑙嗛璁板綍銆�
+     * @param list
+     * @param srcImageId 鍘熷鍥惧儚ID
+     */
+    public void execBatchInsertVideoT1(List<Rc_video_t1> list, String srcImageId){
+        // 鍐欏叆鏂版暟鎹箣鍓嶏紝鍏堟竻闄よ�佽棰戞暟鎹紝鍚庣画鍒嗘瀽閬垮厤鏁版嵁閲嶅(姣忎釜瑙嗛)
+        this.execute(SQL_CLEAR_VIDEO_T1, new Object[]{srcImageId});
+        this.insert(list);
+    }
+
+    /**
+     * 鍐欏叆瑙嗛鐩镐技搴︾浜屼复鏃舵暟鎹紝姣忎釜鍘熷瑙嗛瀵瑰簲澶氫釜鐩镐技瑙嗛锛屽凡鎺掑簭瀛樺偍銆�
+     * @param list
+     * @param srcVideoId
+     */
+    public void execBatchInsertVideoT2(List<Rc_video_t2> list, String srcVideoId){
+        this.execute(SQL_CLEAR_VIDEO_T2, new Object[]{srcVideoId});
+        this.insert(list);
+    }
+
+    /**
+     * 鍐欏叆鐢ㄦ埛鎺ㄨ崘瑙嗛璁板綍闆嗗悎锛屽苟鏇存柊鎵规浠诲姟鐘舵�佷负(宸插畬鎴�)
+     * @param videoUserList
+     * @param batchId
+     */
+    public void execBatchInsertVideoUser(List<Rc_video_user> videoUserList, String batchId){
+        this.insert(videoUserList);
+        Object[] param = new Object[2];
+        param[0] = Long.parseLong(DateUtils.getDateTimeSecondForShow());
+        param[1] = Long.parseLong(batchId);
+        this.execute(SQL_UPDATE_TASK_STATUS_LOAD, param);
+    }
+
+    public void execIgnoreTaskStatus(String batchId){
+        this.execute(SQL_IGNORE_TASK_STATUS_LOAD, new Object[]{Long.parseLong(batchId)});
+    }
+
+    /**
+     * 杩斿洖涓�涓壒娆$敤鎴峰搴旇棰戣褰曢泦鍚堬紝鐢ㄤ簬鏈�鍚庢洿鏂扮敤鎴锋帹鑽愯棰戞暟鎹��
+     * @param batchId
+     * @return
+     * @date 2022-09-26
+     */
+    public List<Map<String, Object>> queryBatchUserVideoList(String batchId){
+        return this.select(SQL_GET_BATCH_VIDEO, new Object[]{batchId});
+    }
+
+    public List<Rc_video_t2> queryVideoT_2List(String batchId){
+        return this.select(new Rc_video_t2(), "where batch_id=?", new Object[]{batchId});
+    }
+
+    /**
+     * 鏍规嵁鍘熷瑙嗛ID杩斿洖鐩镐技璁板綍闆嗗悎銆�
+     * @param srcVideoId
+     * @return
+     */
+    public List<Rc_video_t1> queryVideoT_1List(String srcVideoId){
+        return this.select(new Rc_video_t1(), "where src_video_id=?", new Object[]{srcVideoId});
+    }
+
+    /**
+     * 鏌ヨ瑙嗛鍔犺浇鐘舵�佽〃锛屾槸鍚﹀凡缁忓畬鎴愬姞杞�(绗竴姝�)锛屽鏋滆褰曚笉瀛樺湪璇存槑杩樻病鏈夊紑濮嬪姞杞姐��
+     * @param videoStatusId
+     * @return
+     */
+    public boolean queryLoadVideoDone(String videoStatusId){
+        Map<String, Object> map = this.get(SQL_CHECK_VIDEO_STATUS, new Object[]{videoStatusId});
+        if(map == null){
+            return false;
+        }
+        int status = Integer.parseInt(map.get("status").toString());
+        if(status == 1){
+            return true;
+        }
+        return false;
+    }
 }

--
Gitblit v1.9.1