package com.iplatform.recvideo.support; import com.iplatform.model.po.Rc_task_status; import com.iplatform.model.po.Rc_video_batch; import com.iplatform.reccommon.TaskType; import com.iplatform.recvideo.VideoLoadInfo; import com.iplatform.recvideo.VideoLoader; import com.iplatform.recvideo.service.VideoLoaderServiceImpl; import com.walker.connector.support.DatabaseConnector; import com.walker.infrastructure.utils.DateUtils; import com.walker.infrastructure.utils.NumberGenerator; import java.util.ArrayList; import java.util.List; public class DefaultVideoLoader extends VideoLoader { private VideoLoaderServiceImpl videoLoaderService; private DatabaseConnector databaseConnector = null; public void setDatabaseConnector(DatabaseConnector databaseConnector) { this.databaseConnector = databaseConnector; } public void setVideoLoaderService(VideoLoaderServiceImpl videoLoaderService) { this.videoLoaderService = videoLoaderService; } @Override protected long acquireNextBatchId() { return this.videoLoaderService.queryNextBatchValue(); } @Override protected long acquireInitBatchId() { return 20210101; } @Override protected List acquireLoadVideoFromDatabase(long nextBatchId) { this.databaseConnector.queryForList("", new Object[]{nextBatchId}); return null; } @Override protected long copyRemoteVideoFiles(List readyLoadList, long nextBatchId) throws Exception { return 0; } @Override protected int saveDataAndStatus(List readyLoadList, long savedBatchId) { List videoBatchList = this.toVideoBatchList(readyLoadList, savedBatchId); Rc_task_status taskStatus = this.createNewTaskStatus(savedBatchId); return this.videoLoaderService.execSaveBatchAndStatus(videoBatchList, taskStatus); } private Rc_task_status createNewTaskStatus(long savedBatchId){ Rc_task_status status = new Rc_task_status(); status.setCreate_time(Long.parseLong(DateUtils.getDateTimeSecondForShow())); status.setStatus("0"); status.setId(NumberGenerator.getLongSequenceNumber()); status.setTask_type(TaskType.INDEX_VIDEO_LOAD); status.setLast_value(savedBatchId); status.setName("整理获取短视频任务"); return status; } private List toVideoBatchList(List readyLoadList, long savedBatchId){ List resultList = new ArrayList<>(readyLoadList.size()); Rc_video_batch e = null; String batchId = String.valueOf(savedBatchId); for(VideoLoadInfo v : readyLoadList){ e = new Rc_video_batch(); e.setBatch_id(batchId); e.setSrc_video_id(v.getSrcVideoId()); e.setUser_id(v.getUserId()); e.setSrc_video_path(v.getVideoDestPath()); e.setId(NumberGenerator.getLongSequenceNumber()); resultList.add(e); } return resultList; } }