nishiwei
5 days ago 3f43e40ed1a1e9f66b3ad2862da9dbc4b710c712
ard-sample/src/main/java/com/ard/sample/media/service/impl/FileServiceImpl.java
@@ -114,17 +114,21 @@
     */
    @Override
    public PaginationData<MediaFileDTO> getJobFiles(long page, long pageSize,String jobId, String isType) {
        Page<MediaFileEntity> pageData = mapper.selectPage(
                new Page<MediaFileEntity>(page, pageSize),
                new LambdaQueryWrapper<MediaFileEntity>()
                        .eq(Objects.nonNull(jobId), MediaFileEntity::getJobId, jobId)
//                        .orderByDesc(MediaFileEntity::getId));
                        // isType=1 时匹配 V.jpeg
                        .like("1".equals(isType), MediaFileEntity::getFileName, "V.jpeg")
                        // isType=0 时匹配 V.mp4
                        .like("0".equals(isType), MediaFileEntity::getFileName, "V.mp4")
                        // 排序修改:按start_time正序(升序)排列
                        .orderByAsc(MediaFileEntity::getStartTime)); // 关键改动1:替换排序方式
        LambdaQueryWrapper<MediaFileEntity> queryWrapper = new LambdaQueryWrapper<MediaFileEntity>()
                .eq(Objects.nonNull(jobId), MediaFileEntity::getJobId, jobId);
        // 按文件扩展名区分图片/视频,不再写死镜头前缀:
        // Dock2 可见光文件名为 _V.jpeg/_V.mp4;机场1(M30T)三光相机为 _W/_Z/_T.jpeg(广角/变焦/红外)及 _W.mp4。
        // 原实现写死 V.jpeg/V.mp4,导致机场1的媒体文件在计划库中查询不到。
        if ("1".equals(isType)) {
            queryWrapper.and(w -> w.like(MediaFileEntity::getFileName, ".jpeg")
                    .or().like(MediaFileEntity::getFileName, ".jpg"));
        } else if ("0".equals(isType)) {
            queryWrapper.like(MediaFileEntity::getFileName, ".mp4");
        }
        // 排序:按 start_time 正序(升序)排列
        queryWrapper.orderByAsc(MediaFileEntity::getStartTime);
        Page<MediaFileEntity> pageData = mapper.selectPage(new Page<MediaFileEntity>(page, pageSize), queryWrapper);
        List<MediaFileDTO> records = pageData.getRecords()
                .stream()