diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/EdFileFavoriteController.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/EdFileFavoriteController.java index 10ce452..e884daa 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/EdFileFavoriteController.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/EdFileFavoriteController.java @@ -3,7 +3,7 @@ package com.electromagnetic.industry.software.manage.controller; import com.electromagnetic.industry.software.common.resp.ElectromagneticResult; import com.electromagnetic.industry.software.common.util.ElectromagneticResultUtil; import com.electromagnetic.industry.software.common.util.UserThreadLocal; -import com.electromagnetic.industry.software.manage.pojo.req.PageDTO; +import com.electromagnetic.industry.software.manage.pojo.req.FileInfoQueryDTO; import com.electromagnetic.industry.software.manage.service.EdFileFavoriteService; import org.springframework.web.bind.annotation.*; @@ -43,8 +43,8 @@ public class EdFileFavoriteController { * @return */ @PostMapping("/list") - public ElectromagneticResult listFavorite(@RequestBody PageDTO pageDTO) { + public ElectromagneticResult listFavorite(@RequestBody FileInfoQueryDTO fileInfoQueryDTO) { String userId = UserThreadLocal.getUserId(); - return ElectromagneticResultUtil.success(edFileFavoriteService.findFavorite(userId, pageDTO)); + return ElectromagneticResultUtil.success(edFileFavoriteService.findFavorite(userId, fileInfoQueryDTO)); } } diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/mapper/EdFileInfoMapper.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/mapper/EdFileInfoMapper.java index 39df6df..882ba2a 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/mapper/EdFileInfoMapper.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/mapper/EdFileInfoMapper.java @@ -1,12 +1,31 @@ package com.electromagnetic.industry.software.manage.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.electromagnetic.industry.software.manage.pojo.models.EdFileInfo; +import com.electromagnetic.industry.software.manage.pojo.other.FileInfoVO; +import com.electromagnetic.industry.software.manage.pojo.req.FileInfoQueryDTO; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; @Mapper public interface EdFileInfoMapper extends BaseMapper { String maxPrjId(); + /** + * 收藏页 数据查询 + * @param page + * @param ids + * @param queryDTO + * @return + */ + IPage queryFileList (Page page, + @Param("ids")List ids, + @Param("pars") FileInfoQueryDTO queryDTO, + @Param("saveStatus") int saveStatus, + @Param("effectFlag") int effectFlag); } diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/req/PageDTO.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/req/PageDTO.java deleted file mode 100644 index 99575f1..0000000 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/req/PageDTO.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.electromagnetic.industry.software.manage.pojo.req; - -import lombok.Data; - -@Data -public class PageDTO { - - /** - * 页码 - */ - private Integer pageIndex = 1; - - /** - * 页数据量 - */ - private Integer pageSize = 10; -} diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/EdFileFavoriteService.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/EdFileFavoriteService.java index 2e5ff18..620b2c6 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/EdFileFavoriteService.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/EdFileFavoriteService.java @@ -3,8 +3,8 @@ package com.electromagnetic.industry.software.manage.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import com.electromagnetic.industry.software.manage.pojo.models.EdFileFavorite; -import com.electromagnetic.industry.software.manage.pojo.models.EdFileInfo; -import com.electromagnetic.industry.software.manage.pojo.req.PageDTO; +import com.electromagnetic.industry.software.manage.pojo.other.FileInfoVO; +import com.electromagnetic.industry.software.manage.pojo.req.FileInfoQueryDTO; public interface EdFileFavoriteService extends IService { @@ -35,8 +35,8 @@ public interface EdFileFavoriteService extends IService { /** * 查询当前用户收藏文件信息 * @param userId 用户id - * @param pageDTO 分页信息 + * @param fileInfoQueryDTO 分页信息 * @return */ - IPage findFavorite(String userId, PageDTO pageDTO); + IPage findFavorite(String userId, FileInfoQueryDTO fileInfoQueryDTO); } diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/EdFileInfoService.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/EdFileInfoService.java index 02f8001..dc64364 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/EdFileInfoService.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/EdFileInfoService.java @@ -1,16 +1,21 @@ package com.electromagnetic.industry.software.manage.service; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.electromagnetic.industry.software.common.resp.ElectromagneticResult; +import com.electromagnetic.industry.software.manage.pojo.other.FileInfoVO; import com.electromagnetic.industry.software.manage.pojo.req.CreateFolderDTO; import com.electromagnetic.industry.software.manage.pojo.req.FileChunkDTO; import com.electromagnetic.industry.software.manage.pojo.req.FileInfoQueryDTO; import com.electromagnetic.industry.software.manage.pojo.req.UpdateFileInfoDTO; +import org.apache.ibatis.annotations.Param; import org.springframework.core.io.InputStreamResource; import org.springframework.http.ResponseEntity; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; import java.io.IOException; +import java.util.List; public interface EdFileInfoService { @@ -171,4 +176,19 @@ public interface EdFileInfoService { * @param response */ ResponseEntity preview(String id, HttpServletResponse response); + + /** + * 计算fileSizeShow字段 + * @param records + */ + void resetFileSize(List records); + + /** + * 收藏页 数据查询 + * @param page + * @param ids + * @param queryDTO + * @return + */ + IPage queryFileList (Page page, List ids, FileInfoQueryDTO queryDTO, int saveStatus, int effectFlag); } diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdFileFavoriteServiceImpl.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdFileFavoriteServiceImpl.java index 4f89b37..25f569f 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdFileFavoriteServiceImpl.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdFileFavoriteServiceImpl.java @@ -2,7 +2,6 @@ package com.electromagnetic.industry.software.manage.service.serviceimpl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.electromagnetic.industry.software.common.enums.EffectFlagEnum; @@ -10,15 +9,11 @@ import com.electromagnetic.industry.software.common.enums.EleDataSaveStatusEnum; import com.electromagnetic.industry.software.common.exception.BizException; import com.electromagnetic.industry.software.manage.mapper.EdFileFavoriteMapper; import com.electromagnetic.industry.software.manage.pojo.models.EdFileFavorite; -import com.electromagnetic.industry.software.manage.pojo.models.EdFileInfo; -import com.electromagnetic.industry.software.manage.pojo.req.PageDTO; -import com.electromagnetic.industry.software.manage.pojo.req.RoleDTO; +import com.electromagnetic.industry.software.manage.pojo.other.FileInfoVO; +import com.electromagnetic.industry.software.manage.pojo.req.FileInfoQueryDTO; import com.electromagnetic.industry.software.manage.service.EdFileFavoriteService; import com.electromagnetic.industry.software.manage.service.EdFileInfoService; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import org.thymeleaf.util.ListUtils; import javax.annotation.Resource; import java.util.List; @@ -27,7 +22,7 @@ import java.util.List; public class EdFileFavoriteServiceImpl extends ServiceImpl implements EdFileFavoriteService { @Resource - private EdFileInfoServiceImpl fileInfoServiceImpl; + private EdFileInfoService fileInfoService; @Override public boolean addFavorite(String userId, String fileId) { @@ -63,26 +58,18 @@ public class EdFileFavoriteServiceImpl extends ServiceImpl findFavorite(String userId, PageDTO pageDTO) { + public IPage findFavorite(String userId, FileInfoQueryDTO fileInfoQueryDTO) { // 查询该用户收藏的文件id LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.select(EdFileFavorite::getFileId).eq(EdFileFavorite::getUserId, userId); List fileIds = this.listObjs(queryWrapper, Object::toString); // 创建分页对象 - Page page = new Page<>(pageDTO.getPageIndex(), pageDTO.getPageSize()); + Page page = new Page<>(fileInfoQueryDTO.getPageNum(), fileInfoQueryDTO.getPageSize()); - LambdaQueryWrapper queryWrapper2 = Wrappers.lambdaQuery(EdFileInfo.class) - .eq(EdFileInfo::getSaveStatus, EleDataSaveStatusEnum.SUCCESS.code) - .eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code); + IPage fileInfoVOIPage = fileInfoService.queryFileList(page, fileIds, fileInfoQueryDTO, EleDataSaveStatusEnum.SUCCESS.code, EffectFlagEnum.EFFECT.code); - // 只有 fileIds 不为空时才添加 in 条件,否则添加一个 false 条件 - if (fileIds != null && !fileIds.isEmpty()) { - queryWrapper2.in(EdFileInfo::getFileId, fileIds); - } else { - queryWrapper2.apply("1 = 0"); // 保证 fileIds 为空时查询结果为空 - } - - return fileInfoServiceImpl.page(page, queryWrapper2); + fileInfoService.resetFileSize(fileInfoVOIPage.getRecords()); + return fileInfoVOIPage; } } diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdFileInfoServiceImpl.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdFileInfoServiceImpl.java index 7fb3338..c5a22f8 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdFileInfoServiceImpl.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdFileInfoServiceImpl.java @@ -15,6 +15,7 @@ import cn.hutool.crypto.SecureUtil; import cn.hutool.crypto.symmetric.AES; import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -34,6 +35,7 @@ import com.electromagnetic.industry.software.manage.pojo.resp.*; import com.electromagnetic.industry.software.manage.service.EdFileInfoService; import com.electromagnetic.industry.software.manage.service.FileSystemService; import com.electromagnetic.industry.software.manage.service.PermissionService; +import org.apache.ibatis.annotations.Param; import org.springframework.core.env.Environment; import org.springframework.core.io.FileSystemResource; import org.springframework.core.io.InputStreamResource; @@ -145,7 +147,8 @@ public class EdFileInfoServiceImpl extends ServiceImpl records) { + @Override + public void resetFileSize(List records) { for (FileInfoVO fileInfoDTO : records) { if (fileInfoDTO.getFileSize() < 1024) { fileInfoDTO.setFileSizeShow(fileInfoDTO.getFileSize() + "B"); @@ -1236,4 +1239,15 @@ public class EdFileInfoServiceImpl extends ServiceImpl queryFileList (Page page, List ids, FileInfoQueryDTO queryDTO, int saveStatus, int effectFlag) { + return this.baseMapper.queryFileList(page, ids, queryDTO, saveStatus, effectFlag); + } } diff --git a/electrmangnetic/src/main/resources/sqlmapper/EdFileInfoMapper.xml b/electrmangnetic/src/main/resources/sqlmapper/EdFileInfoMapper.xml index be5b7f2..5ea0082 100644 --- a/electrmangnetic/src/main/resources/sqlmapper/EdFileInfoMapper.xml +++ b/electrmangnetic/src/main/resources/sqlmapper/EdFileInfoMapper.xml @@ -3,9 +3,92 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file