rain
2024-08-16 3430a3dd889ba51d06cbdb77014aa63d0a070e48
src/main/java/com/dji/sample/media/service/impl/FileServiceImpl.java
@@ -110,7 +110,22 @@
                .eq(MediaFileEntity::getFileId, fileId));
        return Optional.ofNullable(fileEntity);
    }
    public void saveMarkFile(String workspaceId, MediaFileEntity file,File file1) {
        try {
            MediaFileMarkEntity mediaFileMarkEntity= new MediaFileMarkEntity();
            mediaFileMarkEntity.setWorkspaceId(workspaceId);
            mediaFileMarkEntity.setIsadd(0);
            mediaFileMarkEntity.setIsOriginal(false);
            mediaFileMarkEntity.setFileId(UUID.randomUUID().toString());
            mediaFileMarkEntity.setObjectKey("/mark" + file.getFilePath()+ "/" + file.getFileName());
            mediaFileMarkEntity.setFileName("mark" + file.getFileName());
            mediaFileMarkEntity.setFilePath("mark" + file.getFilePath());
            uploadFile(pojo.getEndpoint(), pojo.getAccessKey(), pojo.getSecretKey(), pojo.getBucket(), mediaFileMarkEntity.getObjectKey(), file1, "image/jpeg");
            markMapper.insert(mediaFileMarkEntity);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    @Override
    public Boolean checkExist(String workspaceId, String fingerprint) {
        return this.getMediaByFingerprint(workspaceId, fingerprint).isPresent();
@@ -120,12 +135,16 @@
    public Integer saveFile(String workspaceId, FileUploadDTO file) throws ImageProcessingException, IOException {
        MediaFileEntity fileEntity = this.fileUploadConvertToEntity(file);
        fileEntity.setWorkspaceId(workspaceId);
        fileEntity.setIsadd(0);
        fileEntity.setFileId(UUID.randomUUID().toString());
        String url = pojo.getEndpoint() + "/" + pojo.getBucket() + file.getObjectKey();
        File downloadedFile = TbFjServiceImpl.downloadFile(url);
        Object data = ImgUtil.getInfo(downloadedFile);
        fileEntity.setDroneData(data);
        //避免对视频处理引发报错
        if (file.getObjectKey().endsWith("jpeg")){
            fileEntity.setIsadd(0);
            String url = pojo.getEndpoint() + "/" + pojo.getBucket() + file.getObjectKey();
            File downloadedFile = TbFjServiceImpl.downloadFile(url);
            Object data = ImgUtil.getInfo(downloadedFile);
            fileEntity.setDroneData(data);
            updateStatue(file.getName());
        }
        return mapper.insert(fileEntity);
    }
    public void saveFiles(String workspaceId, FileUploadDTO file) {
@@ -715,6 +734,10 @@
        // 如果所有 fileName 都包含 '~' 或者都不包含 '~',将 is_add 字段改为 1
        if (allContainTilde || noneContainTilde) {
            mediaFiles.forEach(file -> {
                file.setIsadd(1);
                updateMediaById(file.getId(), file);
            });
            return;
        }
@@ -1081,7 +1104,7 @@
    }
    public void updateById(Integer id, MediaFileNailEntity entity) {
        entity.setIsadd(1);
//        entity.setIsadd(1);
        UpdateWrapper<MediaFileNailEntity> updateWrapper = new UpdateWrapper<>();
        updateWrapper.eq("id", id);
        nailMapper.update(entity, updateWrapper);
@@ -1095,18 +1118,19 @@
    public void updateMediaById(Integer id, MediaFileEntity entity) {
        entity.setIsadd(1);
        UpdateWrapper<MediaFileEntity> updateWrapper = new UpdateWrapper<>();
        updateWrapper.eq("id", id);
        mapper.update(entity, updateWrapper);
    }
    public void getNoaddFile() {
        List<MediaFileNailEntity> markEntities = nailMapper.selectList(
                new LambdaQueryWrapper<MediaFileNailEntity>().eq(MediaFileNailEntity::getIsadd, 0));
        for (MediaFileNailEntity mark : markEntities) {
            updateNailMediaFileNames(mark.getJobId());
            updateMediaFileNames(mark.getJobId());
            updateMediaZipFileNames(mark.getJobId());
        List<MediaFileEntity> mediaEntities = mapper.selectList(
                new LambdaQueryWrapper<MediaFileEntity>().eq(MediaFileEntity::getIsadd, 0));
        for (MediaFileEntity media : mediaEntities) {
//            updateNailMediaFileNames(media.getJobId());
            updateMediaFileNames(media.getJobId());
//            updateMediaZipFileNames(media.getJobId());
        }
    }