设为首页 加入收藏

TOP

第2-3-7章 个人网盘服务接口开发-文件存储服务系统-nginx/fastDFS/minio/阿里云oss/七牛云oss(一)
2023-07-25 21:33:33 】 浏览:119
Tags:2-3-7 文件存 储服务 -nginx/fastDFS/minio/ oss/ 牛云 oss

5.8 导入其他接口代码

第2-1-2章 传统方式安装FastDFS-附FastDFS常用命令
第2-1-3章 docker-compose安装FastDFS,实现文件存储服务
第2-1-5章 docker安装MinIO实现文件存储服务-springboot整合minio-minio全网最全的资料

全套代码及资料全部完整提供,点此处下载

5.8.1 接口导入-分页查询附件

接口文档:

在这里插入图片描述

AttachmentController代码:

/**
* 分页查询附件
*
*/
@ApiOperation(value = "分页查询附件", notes = "分页查询附件")
@ApiImplicitParams({
    @ApiImplicitParam(name = "current", value = "当前页", dataType = "long", paramType = "query", defaultValue = "1"),
    @ApiImplicitParam(name = "size", value = "每页显示几条", dataType = "long", paramType = "query", defaultValue = "10"),
})
@GetMapping(value = "/page")
public R<IPage<Attachment>> page(FilePageReqDTO data) {
    Page<Attachment> page = getPage();
    attachmentService.page(page, data);
    return success(page);
}

AttachmentService接口:

/**
* 查询附件分页数据
*
* @param page
* @param data
* @return
*/
IPage<Attachment> page(Page<Attachment> page, FilePageReqDTO data);

AttachmentServiceImpl类:

/**
* 查询附件分页数据
*
* @param page
* @param data
* @return
*/
public IPage<Attachment> page(Page<Attachment> page, FilePageReqDTO data) {
    Attachment attachment = dozer.map(data, Attachment.class);

    // ${ew.customSqlSegment} 语法一定要手动eq like 等 不能用lbQ!
    LbqWrapper<Attachment> wrapper = Wraps.<Attachment>lbQ()
        .like(Attachment::getSubmittedFileName, attachment.getSubmittedFileName())
        .like(Attachment::getBizType, attachment.getBizType())
        .like(Attachment::getBizId, attachment.getBizId())
        .eq(Attachment::getDataType, attachment.getDataType())
        .orderByDesc(Attachment::getId);
    return baseMapper.page(page, wrapper);
}

5.8.2 接口导入-根据业务类型/业务id查询附件

接口文档:
在这里插入图片描述

AttachmentController代码:

@ApiOperation(value = "查询附件", notes = "查询附件")
@ApiResponses(
    @ApiResponse(code = 60103, message = "文件id为空")
)
@GetMapping
public R<List<AttachmentResultDTO>> findAttachment(@RequestParam(value = "bizTypes", required = false) String[] bizTypes,
                                                   @RequestParam(value = "bizIds", required = false) String[] bizIds) {
    //不能同时为空
    BizAssert.isTrue(!(ArrayUtils.isEmpty(bizTypes) && ArrayUtils.isEmpty(bizIds)), BASE_VALID_PARAM.build("业务类型不能为空"));
    return success(attachmentService.find(bizTypes, bizIds));
}

AttachmentService接口:

/**
* 根据业务类型和业务id查询附件
*
* @param bizTypes
* @param bizIds
* @return
*/
List<AttachmentResultDTO> find(String[] bizTypes, String[] bizIds);

AttachmentServiceImpl类:

/**
* 根据业务类型和业务id查询附件
*
* @param bizTypes
* @param bizIds
* @return
*/
public List<AttachmentResultDTO> find(String[] bizTypes, String[] bizIds) {
        return baseMapper.find(bizTypes, bizIds);
}

5.9 导入网盘服务接口

前面我们已经完成了文件服务中的附件服务相关接口的开发,附件服务最终是将上传的文件信息保存在pd_attachment表中。

本小节要完成的是文件服务中的网盘服务功能,此功能最终是将上传的文件信息保存在pd_file表中。网盘服务和附件服务非常类似,只是多了一个文件夹的概念。

5.9.1 导入FileController

package com.itheima.pinda.file.controller;

im
首页 上一页 1 2 3 4 5 6 7 下一页 尾页 1/11/11
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Mybatis 入门实战(2)--简单使用 下一篇框架进行时——SpringMVC流程简析..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目