diff --git a/src/main/java/com/ycwl/basic/device/DeviceFactory.java b/src/main/java/com/ycwl/basic/device/DeviceFactory.java index e37bf5a..cb0ff6f 100644 --- a/src/main/java/com/ycwl/basic/device/DeviceFactory.java +++ b/src/main/java/com/ycwl/basic/device/DeviceFactory.java @@ -23,7 +23,7 @@ public class DeviceFactory { return null; } if (Integer.valueOf(DeviceStoreTypeEnum.ALI_OSS.getType()).equals(config.getStoreType())) { - operator = new AliOssStorageOperator(config.getStoreConfigJson()); + operator = new AliOssStorageOperator(config.getStoreConfigJson().replace("-internal.aliyuncs.com", ".aliyuncs.com")); } else if (Integer.valueOf(DeviceStoreTypeEnum.WVP_ACTIVE.getType()).equals(config.getStoreType())) { operator = new WvpActiveStorageOperator(config.getStoreConfigJson()); } else if (Integer.valueOf(DeviceStoreTypeEnum.WVP_PASSIVE.getType()).equals(config.getStoreType())) { diff --git a/src/main/java/com/ycwl/basic/device/operator/AliOssStorageOperator.java b/src/main/java/com/ycwl/basic/device/operator/AliOssStorageOperator.java index f6a2f35..faa0135 100644 --- a/src/main/java/com/ycwl/basic/device/operator/AliOssStorageOperator.java +++ b/src/main/java/com/ycwl/basic/device/operator/AliOssStorageOperator.java @@ -69,22 +69,14 @@ public class AliOssStorageOperator extends ADeviceStorageOperator { if (startDate == null || endDate == null) { return null; } - List fileList = new ArrayList<>(); - if (startDate.after(endDate)) { - return fileList; - } Calendar calendar = Calendar.getInstance(); calendar.setTime(startDate); calendar.set(Calendar.SECOND, 0); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd"); - while (calendar.getTime().before(endDate)) { - String prefix = dateFormat.format(calendar.getTime()); - List fileListByPrefix = getOssFileListByPrefix(prefix); - if (fileListByPrefix == null) { - return null; - } - fileList.addAll(fileListByPrefix); - calendar.add(Calendar.MINUTE, 1); + String prefix = dateFormat.format(calendar.getTime()); + List fileList = getOssFileListByPrefix(prefix); + if (fileList == null) { + return null; } calendar.clear(); return fileList.stream() diff --git a/src/main/java/com/ycwl/basic/service/task/impl/TaskFaceServiceImpl.java b/src/main/java/com/ycwl/basic/service/task/impl/TaskFaceServiceImpl.java index fdc1f28..44f4beb 100644 --- a/src/main/java/com/ycwl/basic/service/task/impl/TaskFaceServiceImpl.java +++ b/src/main/java/com/ycwl/basic/service/task/impl/TaskFaceServiceImpl.java @@ -234,7 +234,7 @@ public class TaskFaceServiceImpl implements TaskFaceService { if (tourMinutes > 0) { List acceptFaceSampleList = faceSampleMapper.listByIds(acceptFaceSampleIds); Date startDate = DateUtil.offsetMinute(firstFaceSample.get().getCreateAt(), -tourMinutes); - Date endDate = DateUtil.offsetMinute(firstFaceSample.get().getCreateAt(), 0); + Date endDate = DateUtil.offsetMinute(firstFaceSample.get().getCreateAt(), 1); acceptFaceSampleIds = acceptFaceSampleList.stream() .filter(faceSample -> faceSample.getCreateAt().after(startDate) && faceSample.getCreateAt().before(endDate)) .map(FaceSampleEntity::getId) diff --git a/src/main/java/com/ycwl/basic/service/task/impl/TaskTaskServiceImpl.java b/src/main/java/com/ycwl/basic/service/task/impl/TaskTaskServiceImpl.java index 1ec4052..6468ef7 100644 --- a/src/main/java/com/ycwl/basic/service/task/impl/TaskTaskServiceImpl.java +++ b/src/main/java/com/ycwl/basic/service/task/impl/TaskTaskServiceImpl.java @@ -525,7 +525,6 @@ public class TaskTaskServiceImpl implements TaskService { String hash = MD5.create().digestHex(task.getTaskParams()); String filename = StorageUtil.joinPath(StorageConstant.VLOG_PATH, hash + "_" + task.getScenicId() + ".mp4"); adapter.setAcl(StorageAcl.PUBLIC_READ, filename); - videoReUploader.addVideoTask(video.getId()); int isBuy = 0; FaceEntity face = faceRepository.getFace(task.getFaceId()); if (face != null) { diff --git a/src/main/java/com/ycwl/basic/utils/VideoReUploader.java b/src/main/java/com/ycwl/basic/utils/VideoReUploader.java index fe2d462..9169074 100644 --- a/src/main/java/com/ycwl/basic/utils/VideoReUploader.java +++ b/src/main/java/com/ycwl/basic/utils/VideoReUploader.java @@ -7,15 +7,12 @@ import com.ycwl.basic.mapper.SourceMapper; import com.ycwl.basic.mapper.VideoMapper; import com.ycwl.basic.model.pc.scenic.entity.ScenicConfigEntity; import com.ycwl.basic.model.pc.source.entity.SourceEntity; -import com.ycwl.basic.model.pc.video.entity.VideoEntity; import com.ycwl.basic.repository.ScenicRepository; import com.ycwl.basic.repository.VideoRepository; import com.ycwl.basic.service.pc.ScenicService; import com.ycwl.basic.storage.adapters.IStorageAdapter; -import com.ycwl.basic.storage.enums.StorageAcl; import com.ycwl.basic.storage.utils.StorageUtil; import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.Strings; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @@ -94,44 +91,4 @@ public class VideoReUploader { } }); } - public void addVideoTask(Long videoId) { - VideoEntity entity = videoMapper.getEntity(videoId); - if (entity == null) { - return; - } - if (entity.getScenicId() == null) { - return; - } - final String dstFilePath = StorageUtil.joinPath(StorageConstant.VLOG_PATH, entity.getTaskId() + "_" + entity.getScenicId() + ".mp4"); - final IStorageAdapter adapter = scenicService.getScenicStorageAdapter(entity.getScenicId()); - if (Strings.CS.equals(entity.getVideoUrl(), adapter.getUrl(dstFilePath))) { - return; - } - String tmpFilePath = UUID.randomUUID().toString(); - executor.execute(() -> { - // 先下载,后上传 - File dstFile = new File(tmpFilePath); - log.info("下载视频:{};videoId:{}", entity.getVideoUrl(), videoId); - long size = HttpUtil.downloadFile(entity.getVideoUrl(), dstFile); - log.info("下载视频完成:{};大小:{};videoId:{}", entity.getVideoUrl(), size, videoId); - try { - log.info("开始上传:{};videoId:{}", dstFilePath, videoId); - String newUrl = adapter.uploadFile("video/mp4", dstFile, dstFilePath); - adapter.setAcl(StorageAcl.PUBLIC_READ, dstFilePath); - log.info("上传成功:{};videoId:{}", newUrl, videoId); - VideoEntity updateEntity = new VideoEntity(); - updateEntity.setId(videoId); - updateEntity.setVideoUrl(newUrl); - videoMapper.update(updateEntity); - } catch (Exception e) { - log.info("上传失败:{};videoId:{}", dstFilePath, videoId, e); - } finally { - videoRepository.clearVideoCache(videoId); - try { - dstFile.delete(); - } catch (Exception ignored) { - } - } - }); - } }