Java的新项目学成在线笔记-day14(六)

2 我的媒资 2.1 需求分析 
通过我的媒资可以查询本教育机构拥有的媒资文件,进行文件处理、删除文件、修改文件信息等操作,具体需求如 下:
1、分页查询我的媒资文件
2、删除媒资文件 3、处理媒资文件
4、修改媒资文件信息
Java的新项目学成在线笔记-day14(六)_第1张图片 
2.2 API 
本节讲解我的媒资文件分页查询、处理媒资文件,其它功能请学员自行实现。
 

[AppleScript] 纯文本查看 复制代码

?

1

2

3

4

@Api(value = "媒体文件管理",description = "媒体文件管理接口",tags = {"媒体文件管理接口"}) public interface MediaFileControllerApi {        

   @ApiOperation("查询文件列表")   

 public QueryResponseResult findList(int page, int size, QueryMediaFileRequest  queryMediaFileRequest)

 }


2.3 服务端开发 
2.3.1 Dao 
 

[AppleScript] 纯文本查看 复制代码

?

1

2

3

@Repository public interface MediaFileDao

extends MongoRepository<MediaFile,String> {

  }


2.3.2  Service 
定义findList方法实现媒资文件查询列表。
 

[AppleScript] 纯文本查看 复制代码

?

01

02

03

04

05

06

07

08

09

10

11

12

13

14

15

16

17

18

@Service public class MediaFileService {    

  private static Logger logger = LoggerFactory.getLogger(MediaFileService.class);  

    @Autowired  

  MediaFileRepository mediaFileRepository;  

    //文件列表分页查询 

   public QueryResponseResult findList(int page,int size,QueryMediaFileRequest

  queryMediaFileRequest){   

     //查询条件    

    MediaFile mediaFile = new MediaFile();    

    if(queryMediaFileRequest == null){   

         queryMediaFileRequest = new QueryMediaFileRequest();   

     }      

  //查询条件匹配器    

    ExampleMatcher matcher = ExampleMatcher.matching()   

             .withMatcher("tag", ExampleMatcher.GenericPropertyMatchers.contains())//tag字段 模糊匹配      

          .withMatcher("fileOriginalName",  ExampleMatcher.GenericPropertyMatchers.contains())//文件原始名称模糊匹配                 .withMatcher("processStatus", ExampleMatcher.GenericPropertyMatchers.exact());// 处理状态精确匹配(默认)

        //查询条件对象      

  if(StringUtils.isNotEmpty(queryMediaFileRequest.getTag())){

 

[AppleScript] 纯文本查看 复制代码

?

01

02

03

04

05

06

07

08

09

10

11

12

13

14

15

16

17

18

19

mediaFile.setTag(queryMediaFileRequest.getTag());   

     }   

     if(StringUtils.isNotEmpty(queryMediaFileRequest.getFileOriginalName())){             mediaFile.setFileOriginalName(queryMediaFileRequest.getFileOriginalName());  

      }     

   if(StringUtils.isNotEmpty(queryMediaFileRequest.getProcessStatus())){    

        mediaFile.setProcessStatus(queryMediaFileRequest.getProcessStatus());   

     }    

    //定义example实例 

       Example<MediaFile> ex = Example.of(mediaFile, matcher);  

        page = page‐1;   

     //分页参数  

      Pageable pageable = new PageRequest(page, size)

       //分页查询      

  Page<MediaFile> all = mediaFileRepository.findAll(ex,pageable);  

      QueryResult<MediaFile> mediaFileQueryResult = new QueryResult<MediaFile>();    

    mediaFileQueryResult.setList(all.getContent());      

  mediaFileQueryResult.setTotal(all.getTotalElements());

        return new QueryResponseResult(CommonCode.SUCCESS,mediaFileQueryResult);

    }   }


2.3.3 Controller 

[AppleScript] 纯文本查看 复制代码

?

01

02

03

04

05

06

07

08

09

10

11

@RestController @RequestMapping("/media/file") public class MediaFileController implements MediaFileControllerApi {       @Autowired

    MediaFileService mediaFileService;  

  @Autowired   

 MediaUploadService mediaUploadService;  

    @Override 

   @GetMapping("/list/{page}/{size}") 

   public QueryResponseResult findList(@PathVariable("page") int page, @PathVariable("size")

 int size, QueryMediaFileRequest queryMediaFileRequest) {      //媒资文件查询         

    return mediaFileService.findList(page,size,queryMediaFileRequest);

    } 

   }

你可能感兴趣的:(JAVA)