| | |
| | | File nailFile = new File(ImgZipUtil.compressImage(file1, 50).toURI()); |
| | | MediaFileNailEntity nailEntity = this.fileUploadConvertToNailEntity(file); |
| | | Object data = ImgUtil.getInfo(file1); |
| | | nailEntity.setIsadd(0); |
| | | nailEntity.setIsOriginal(false); |
| | | nailEntity.setDronedata(data); |
| | | nailEntity.setWorkspaceId(workspaceId); |
| | |
| | | } |
| | | } |
| | | } else { |
| | | String names = "nail" + filename; |
| | | List<MediaFileNailEntity> entities = nailMapper.selectList(new LambdaQueryWrapper<MediaFileNailEntity>() |
| | | .eq(MediaFileNailEntity::getFileName, name)); |
| | | .eq(MediaFileNailEntity::getFileName, names)); |
| | | if (entities != null && !entities.isEmpty()) { |
| | | for (MediaFileNailEntity NailEntity : entities) { |
| | | if (NailEntity.getDronedata() != null) { |
| | |
| | | public void updateMarkMediaFileNames(String jobId) { |
| | | try { |
| | | // 查询符合条件的数据 |
| | | List<MediaFileMarkEntity> mediaFiles = markMapper.selectList(new LambdaQueryWrapper<MediaFileMarkEntity>() |
| | | .eq(MediaFileMarkEntity::getJobId, jobId)); |
| | | List<MediaFileNailEntity> mediaFiles = nailMapper.selectList(new LambdaQueryWrapper<MediaFileNailEntity>() |
| | | .eq(MediaFileNailEntity::getJobId, jobId)); |
| | | |
| | | // 判断所有 fileName 是否都包含 '~' 或者都不包含 '~' |
| | | boolean allContainTilde = mediaFiles.stream().allMatch(file -> file.getFileName().contains("~")); |
| | |
| | | } |
| | | |
| | | // 筛选出name字段不包含'~'的数据 |
| | | List<MediaFileMarkEntity> filteredFiles = mediaFiles.stream() |
| | | List<MediaFileNailEntity> filteredFiles = mediaFiles.stream() |
| | | .filter(file -> !file.getFileName().contains("~")) |
| | | .collect(Collectors.toList()); |
| | | |
| | | for (MediaFileMarkEntity currentFile : filteredFiles) { |
| | | for (MediaFileNailEntity currentFile : filteredFiles) { |
| | | String currentName = currentFile.getFileName(); |
| | | Map<String, Object> currentMetadata = JSON.parseObject(JSON.toJSONString(currentFile.getMetadata()), Map.class); |
| | | Long currentCreatedTime = (Long) currentMetadata.get("createdTime"); |
| | | |
| | | // 找到metadata中的createdTime小于当前数据的createdTime且最接近的那条数据 |
| | | Optional<MediaFileMarkEntity> closestFileOpt = mediaFiles.stream() |
| | | Optional<MediaFileNailEntity> closestFileOpt = mediaFiles.stream() |
| | | .filter(file -> { |
| | | Map<String, Object> metadata = JSON.parseObject(JSON.toJSONString(file.getMetadata()), Map.class); |
| | | Long createdTime = (Long) metadata.get("createdTime"); |
| | |
| | | .groupBy(MediaFileEntity::getFileName)); // 使用groupBy去重 |
| | | } |
| | | |
| | | public void updateById(Integer id, MediaFileMarkEntity entity) { |
| | | public void updateById(Integer id, MediaFileNailEntity entity) { |
| | | entity.setIsadd(1); |
| | | UpdateWrapper<MediaFileMarkEntity> updateWrapper = new UpdateWrapper<>(); |
| | | UpdateWrapper<MediaFileNailEntity> updateWrapper = new UpdateWrapper<>(); |
| | | updateWrapper.eq("id", id); |
| | | markMapper.update(entity, updateWrapper); |
| | | nailMapper.update(entity, updateWrapper); |
| | | } |
| | | |
| | | public void updateMediaById(Integer id, MediaFileEntity entity) { |
| | |
| | | } |
| | | |
| | | public void getNoaddFile() { |
| | | List<MediaFileMarkEntity> markEntities = markMapper.selectList(new LambdaQueryWrapper<MediaFileMarkEntity>().eq(MediaFileMarkEntity::getIsadd, 0)); |
| | | for (MediaFileMarkEntity mark : markEntities) { |
| | | List<MediaFileNailEntity> markEntities = nailMapper.selectList(new LambdaQueryWrapper<MediaFileNailEntity>().eq(MediaFileNailEntity::getIsadd, 0)); |
| | | for (MediaFileNailEntity mark : markEntities) { |
| | | updateMarkMediaFileNames(mark.getJobId()); |
| | | updateMediaFileNames(mark.getJobId()); |
| | | } |