From 71a37d8df313ec1011fa1b54215555ce65650368 Mon Sep 17 00:00:00 2001 From: fengshuonan Date: Tue, 11 Jul 2023 16:06:29 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=908.0=E3=80=91=E3=80=90file=E3=80=91?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=9F=A5=E8=AF=A2=E6=96=87=E4=BB=B6=E5=88=97?= =?UTF-8?q?=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/SysFileInfoController.java | 3 +- .../file/modular/entity/SysFileInfo.java | 11 ++++ .../modular/mapper/SysFileInfoMapper.java | 14 ---- .../mapper/mapping/SysFileInfoMapper.xml | 64 ------------------- .../modular/service/SysFileInfoService.java | 3 +- .../service/impl/SysFileInfoServiceImpl.java | 35 +++++++--- 6 files changed, 39 insertions(+), 91 deletions(-) diff --git a/kernel-d-file/file-business/src/main/java/cn/stylefeng/roses/kernel/file/modular/controller/SysFileInfoController.java b/kernel-d-file/file-business/src/main/java/cn/stylefeng/roses/kernel/file/modular/controller/SysFileInfoController.java index ccc2d9a3d..66cde86bf 100644 --- a/kernel-d-file/file-business/src/main/java/cn/stylefeng/roses/kernel/file/modular/controller/SysFileInfoController.java +++ b/kernel-d-file/file-business/src/main/java/cn/stylefeng/roses/kernel/file/modular/controller/SysFileInfoController.java @@ -29,7 +29,6 @@ import cn.stylefeng.roses.kernel.file.api.FileInfoApi; import cn.stylefeng.roses.kernel.file.api.constants.FileConstants; import cn.stylefeng.roses.kernel.file.api.pojo.AntdvFileInfo; import cn.stylefeng.roses.kernel.file.api.pojo.request.SysFileInfoRequest; -import cn.stylefeng.roses.kernel.file.api.pojo.response.SysFileInfoListResponse; import cn.stylefeng.roses.kernel.file.api.pojo.response.SysFileInfoResponse; import cn.stylefeng.roses.kernel.file.modular.entity.SysFileInfo; import cn.stylefeng.roses.kernel.file.modular.service.SysFileInfoService; @@ -265,7 +264,7 @@ public class SysFileInfoController { * @since 2020/11/29 11:29 */ @GetResource(name = "分页查询文件信息表", path = "/sysFileInfo/fileInfoListPage") - public ResponseData> fileInfoListPage(SysFileInfoRequest sysFileInfoRequest) { + public ResponseData> fileInfoListPage(SysFileInfoRequest sysFileInfoRequest) { return new SuccessResponseData<>(this.sysFileInfoService.fileInfoListPage(sysFileInfoRequest)); } diff --git a/kernel-d-file/file-business/src/main/java/cn/stylefeng/roses/kernel/file/modular/entity/SysFileInfo.java b/kernel-d-file/file-business/src/main/java/cn/stylefeng/roses/kernel/file/modular/entity/SysFileInfo.java index 160274322..3c4a2f1b4 100644 --- a/kernel-d-file/file-business/src/main/java/cn/stylefeng/roses/kernel/file/modular/entity/SysFileInfo.java +++ b/kernel-d-file/file-business/src/main/java/cn/stylefeng/roses/kernel/file/modular/entity/SysFileInfo.java @@ -144,4 +144,15 @@ public class SysFileInfo extends BaseEntity { @TableLogic private String delFlag; + //-------------------------------非实体字段------------------------------- + //-------------------------------非实体字段------------------------------- + //-------------------------------非实体字段------------------------------- + + /** + * 文件访问的url + */ + @TableField(exist = false) + @ChineseDescription("文件访问的url") + private String fileUrl; + } diff --git a/kernel-d-file/file-business/src/main/java/cn/stylefeng/roses/kernel/file/modular/mapper/SysFileInfoMapper.java b/kernel-d-file/file-business/src/main/java/cn/stylefeng/roses/kernel/file/modular/mapper/SysFileInfoMapper.java index ffc8063ea..08655a89b 100644 --- a/kernel-d-file/file-business/src/main/java/cn/stylefeng/roses/kernel/file/modular/mapper/SysFileInfoMapper.java +++ b/kernel-d-file/file-business/src/main/java/cn/stylefeng/roses/kernel/file/modular/mapper/SysFileInfoMapper.java @@ -24,14 +24,8 @@ */ package cn.stylefeng.roses.kernel.file.modular.mapper; -import cn.stylefeng.roses.kernel.file.api.pojo.request.SysFileInfoRequest; -import cn.stylefeng.roses.kernel.file.api.pojo.response.SysFileInfoListResponse; import cn.stylefeng.roses.kernel.file.modular.entity.SysFileInfo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import org.apache.ibatis.annotations.Param; - -import java.util.List; /** *

@@ -43,12 +37,4 @@ import java.util.List; */ public interface SysFileInfoMapper extends BaseMapper { - /** - * 附件列表(有分页) - * - * @author majianguo - * @since 2020/12/27 12:57 - */ - List fileInfoList(@Param("page") Page page, @Param("sysFileInfoRequest") SysFileInfoRequest sysFileInfoRequest); - } diff --git a/kernel-d-file/file-business/src/main/java/cn/stylefeng/roses/kernel/file/modular/mapper/mapping/SysFileInfoMapper.xml b/kernel-d-file/file-business/src/main/java/cn/stylefeng/roses/kernel/file/modular/mapper/mapping/SysFileInfoMapper.xml index 20bc987e0..69bde3de9 100644 --- a/kernel-d-file/file-business/src/main/java/cn/stylefeng/roses/kernel/file/modular/mapper/mapping/SysFileInfoMapper.xml +++ b/kernel-d-file/file-business/src/main/java/cn/stylefeng/roses/kernel/file/modular/mapper/mapping/SysFileInfoMapper.xml @@ -2,68 +2,4 @@ - - - SELECT fileinfo.file_id AS fileId, - fileinfo.file_code AS fileCode, - fileinfo.secret_flag AS secretFlag, - fileinfo.file_bucket AS fileBucket, - fileinfo.file_object_name AS fileObjectName, - fileinfo.file_location AS fileLocation, - fileinfo.file_origin_name AS fileOriginName, - fileinfo.file_suffix AS fileSuffix, - fileinfo.file_size_info AS fileSizeInfo, - fileinfo.file_version AS fileVersion, - suser.real_name AS createUserName, - fileinfo.create_time AS createTime, - fileinfo.del_flag AS delFlag - FROM sys_file_info fileinfo - LEFT JOIN sys_user suser ON suser.user_id = fileinfo.create_user - - - AND fileinfo.file_origin_name LIKE CONCAT('%', #{sysFileInfoRequest.fileOriginName}, '%') - - - AND fileinfo.file_location = #{sysFileInfoRequest.fileLocation} - - - - - - - SELECT fileinfo.file_id AS fileId, - fileinfo.file_code AS fileCode, - fileinfo.secret_flag AS secretFlag, - fileinfo.file_bucket AS fileBucket, - fileinfo.file_object_name AS fileObjectName, - fileinfo.file_location AS fileLocation, - fileinfo.file_origin_name AS fileOriginName, - fileinfo.file_suffix AS fileSuffix, - fileinfo.file_size_info AS fileSizeInfo, - fileinfo.file_version AS fileVersion, - suser.real_name AS createUserName, - fileinfo.create_time AS createTime, - fileinfo.del_flag AS delFlag - FROM sys_file_info fileinfo - LEFT JOIN sys_user suser ON suser.user_id = fileinfo.create_user - - - AND fileinfo.file_origin_name like '%' || #{sysFileInfoRequest.fileOriginName} || '%' - - - AND fileinfo.file_location = #{sysFileInfoRequest.fileLocation} - - - - - - - - - - diff --git a/kernel-d-file/file-business/src/main/java/cn/stylefeng/roses/kernel/file/modular/service/SysFileInfoService.java b/kernel-d-file/file-business/src/main/java/cn/stylefeng/roses/kernel/file/modular/service/SysFileInfoService.java index d2014dbb2..8c9b9e7a4 100644 --- a/kernel-d-file/file-business/src/main/java/cn/stylefeng/roses/kernel/file/modular/service/SysFileInfoService.java +++ b/kernel-d-file/file-business/src/main/java/cn/stylefeng/roses/kernel/file/modular/service/SysFileInfoService.java @@ -27,7 +27,6 @@ package cn.stylefeng.roses.kernel.file.modular.service; import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult; import cn.stylefeng.roses.kernel.file.api.FileInfoApi; import cn.stylefeng.roses.kernel.file.api.pojo.request.SysFileInfoRequest; -import cn.stylefeng.roses.kernel.file.api.pojo.response.SysFileInfoListResponse; import cn.stylefeng.roses.kernel.file.api.pojo.response.SysFileInfoResponse; import cn.stylefeng.roses.kernel.file.modular.entity.SysFileInfo; import com.baomidou.mybatisplus.extension.service.IService; @@ -93,7 +92,7 @@ public interface SysFileInfoService extends IService, FileInfoApi { * @author fengshuonan * @since 2020/11/29 14:09 */ - PageResult fileInfoListPage(SysFileInfoRequest sysFileInfoRequest); + PageResult fileInfoListPage(SysFileInfoRequest sysFileInfoRequest); /** * 打包下载文件 diff --git a/kernel-d-file/file-business/src/main/java/cn/stylefeng/roses/kernel/file/modular/service/impl/SysFileInfoServiceImpl.java b/kernel-d-file/file-business/src/main/java/cn/stylefeng/roses/kernel/file/modular/service/impl/SysFileInfoServiceImpl.java index a50c537f7..466255635 100644 --- a/kernel-d-file/file-business/src/main/java/cn/stylefeng/roses/kernel/file/modular/service/impl/SysFileInfoServiceImpl.java +++ b/kernel-d-file/file-business/src/main/java/cn/stylefeng/roses/kernel/file/modular/service/impl/SysFileInfoServiceImpl.java @@ -33,6 +33,7 @@ import cn.hutool.core.util.StrUtil; import cn.stylefeng.roses.kernel.auth.api.context.LoginContext; import cn.stylefeng.roses.kernel.db.api.factory.PageFactory; import cn.stylefeng.roses.kernel.db.api.factory.PageResultFactory; +import cn.stylefeng.roses.kernel.db.api.pojo.entity.BaseEntity; import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult; import cn.stylefeng.roses.kernel.file.api.FileOperatorApi; import cn.stylefeng.roses.kernel.file.api.constants.FileConstants; @@ -43,7 +44,6 @@ import cn.stylefeng.roses.kernel.file.api.exception.enums.FileExceptionEnum; import cn.stylefeng.roses.kernel.file.api.expander.FileConfigExpander; import cn.stylefeng.roses.kernel.file.api.pojo.AntdvFileInfo; import cn.stylefeng.roses.kernel.file.api.pojo.request.SysFileInfoRequest; -import cn.stylefeng.roses.kernel.file.api.pojo.response.SysFileInfoListResponse; import cn.stylefeng.roses.kernel.file.api.pojo.response.SysFileInfoResponse; import cn.stylefeng.roses.kernel.file.api.util.DownloadUtil; import cn.stylefeng.roses.kernel.file.api.util.PdfFileTypeUtil; @@ -250,19 +250,36 @@ public class SysFileInfoServiceImpl extends ServiceImpl fileInfoListPage(SysFileInfoRequest sysFileInfoRequest) { - Page page = PageFactory.defaultPage(); - List list = this.baseMapper.fileInfoList(page, sysFileInfoRequest); + public PageResult fileInfoListPage(SysFileInfoRequest sysFileInfoRequest) { + + LambdaQueryWrapper fileWrapper = new LambdaQueryWrapper<>(); + + // 根据文件名进行查询 + if (ObjectUtil.isNotEmpty(sysFileInfoRequest.getFileOriginName())) { + fileWrapper.like(SysFileInfo::getFileOriginName, sysFileInfoRequest.getFileOriginName()); + } + // 根据文件存储路径进行查询 + if (ObjectUtil.isNotEmpty(sysFileInfoRequest.getFileLocation())) { + fileWrapper.eq(SysFileInfo::getFileLocation, sysFileInfoRequest.getFileLocation()); + } + + // 查询必要字段 + fileWrapper.select(SysFileInfo::getFileId, SysFileInfo::getFileCode, SysFileInfo::getSecretFlag, SysFileInfo::getFileBucket, + SysFileInfo::getFileObjectName, SysFileInfo::getFileLocation, SysFileInfo::getFileOriginName, SysFileInfo::getFileSuffix, + SysFileInfo::getFileSizeInfo, SysFileInfo::getFileVersion, BaseEntity::getCreateTime); + + Page page = this.page(PageFactory.defaultPage(), fileWrapper); + List records = page.getRecords(); // 排除defaultAvatar.png这个图片,这个是默认头像 - List newList = list.stream() + List newList = records.stream() .filter(i -> !i.getFileOriginName().equals(FileConstants.DEFAULT_AVATAR_FILE_OBJ_NAME)).collect(Collectors.toList()); // 拼接图片url地址 - for (SysFileInfoListResponse sysFileInfoListResponse : newList) { + for (SysFileInfo sysFileInfo : newList) { // 判断是否是可以预览的文件 - if (PicFileTypeUtil.getFileImgTypeFlag(sysFileInfoListResponse.getFileSuffix())) { - sysFileInfoListResponse.setFileUrl(this.getFileAuthUrl(sysFileInfoListResponse.getFileId())); + if (PicFileTypeUtil.getFileImgTypeFlag(sysFileInfo.getFileSuffix())) { + sysFileInfo.setFileUrl(this.getFileAuthUrl(sysFileInfo.getFileId())); } } @@ -582,7 +599,7 @@ public class SysFileInfoServiceImpl extends ServiceImpl