A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

2 我的媒资 2.1 需求分析
通过我的媒资可以查询本教育机构拥有的媒资文件,进行文件处理、删除文件、修改文件信息等操作,具体需求如 下:
1、分页查询我的媒资文件
2、删除媒资文件 3、处理媒资文件
4、修改媒资文件信息

2.2 API
本节讲解我的媒资文件分页查询、处理媒资文件,其它功能请学员自行实现。

[AppleScript] 纯文本查看 复制代码
@Api(value = "媒体文件管理",description = "媒体文件管理接口",tags = {"媒体文件管理接口"}) public interface MediaFileControllerApi {         
   @ApiOperation("查询文件列表")    
 public QueryResponseResult findList(int page, int size, QueryMediaFileRequest  queryMediaFileRequest) ;  
 }

2.3 服务端开发
2.3.1 Dao

[AppleScript] 纯文本查看 复制代码
@Repository public interface MediaFileDao 
extends MongoRepository<MediaFile,String> { 
  }

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

[AppleScript] 纯文本查看 复制代码
@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] 纯文本查看 复制代码
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] 纯文本查看 复制代码
@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); 
    }  
   }





0 个回复

您需要登录后才可以回帖 登录 | 加入黑马