rain
2024-06-24 1fc2b9a38ce7fb5f0a78361a731e98750fbd20c1
src/main/java/com/dji/sample/media/service/impl/FileServiceImpl.java
@@ -20,10 +20,12 @@
import com.dji.sample.media.util.ImgUtil;
import com.dji.sample.patches.dao.GetPatchesMapper;
import com.dji.sample.patches.model.entity.LotInfo;
import com.dji.sample.patches.utils.DistrictCodeUtils;
import com.dji.sample.patches.utils.TimerUtil;
import com.dji.sample.territory.pojo.TerritoryConfigPojo;
import com.dji.sample.territory.service.impl.TbFjServiceImpl;
import com.dji.sample.territory.utils.WaterMarkUtil;
import com.dji.sample.wayline.service.IWaylineJobService;
import com.drew.imaging.ImageProcessingException;
import io.minio.MinioClient;
import io.minio.PutObjectArgs;
@@ -64,6 +66,9 @@
    private OssServiceContext ossService;
    @Autowired
    private TerritoryConfigPojo territoryConfigPojo;
    @Autowired
    private IWaylineJobService waylineJobService;
    private Optional<MediaFileEntity> getMediaByFingerprint(String workspaceId, String fingerprint) {
        MediaFileEntity fileEntity = mapper.selectOne(new LambdaQueryWrapper<MediaFileEntity>()
                .eq(MediaFileEntity::getWorkspaceId, workspaceId)
@@ -153,6 +158,48 @@
    }
    @Override
    public PaginationData<MediaFileEntity> MediaQuery(Integer page, Integer pageSize, Long updateStart, Long updateEnd, Long photoStart, Long photoEnd, String jobName, String workspaceId) {
        // 创建分页对象
        Page<MediaFileEntity> pageObj = new Page<>(page, pageSize);
        // 创建查询条件对象
        LambdaQueryWrapper<MediaFileEntity> queryWrapper = new LambdaQueryWrapper<>();
        // 添加查询条件
        queryWrapper.eq(MediaFileEntity::getWorkspaceId,workspaceId);
        if (updateStart != null && updateEnd != null) {
            queryWrapper.between(MediaFileEntity::getCreateTime, updateStart, updateEnd);
        }
        if (photoStart != null && photoEnd != null) {
            queryWrapper.apply("JSON_UNQUOTE(JSON_EXTRACT(metadata, '$.createdTime')) BETWEEN {0} AND {1}", photoStart, photoEnd);
        }
        if (jobName != null && !jobName.isEmpty()) {
            List<String> jobIds = waylineJobService.getJobId(jobName);
                queryWrapper.in(MediaFileEntity::getJobId, jobIds);
        }
        // 执行分页查询
        Page<MediaFileEntity> resultPage = mapper.selectPage(pageObj, queryWrapper);
        // 处理查询结果
        List<MediaFileEntity> records = resultPage.getRecords()
                .stream()
                .peek(mediaFile -> {
                    // 获取任务名称并设置到fileId
                    String taskNameResult = waylineJobService.getName(mediaFile.getJobId());
                    mediaFile.setJobName(taskNameResult);
                })
                .collect(Collectors.toList());
// 返回分页数据
        return new PaginationData<>(records, new Pagination(resultPage));
    }
    @Override
    public List<MediaFileEntity> listMediaFileEntity(String workspaceId, String jobId) {
        return mapper.selectList(new LambdaQueryWrapper<MediaFileEntity>()
                .eq(MediaFileEntity::getWorkspaceId, workspaceId).eq(MediaFileEntity::getJobId, jobId));
@@ -201,6 +248,11 @@
        List<MediaFileEntity> records = pageData.getRecords()
                .stream()
                .peek(mediaFile -> {
                    // 获取任务名称并设置到fileId
                    String taskNameResult = waylineJobService.getName(mediaFile.getJobId());
                    mediaFile.setJobName(taskNameResult);
                })
                .collect(Collectors.toList());
        return new PaginationData<MediaFileEntity>(records, new Pagination(pageData));
    }