收藏页面数据查询接口
This commit is contained in:
parent
2c6189cc6e
commit
5e118c9d10
|
|
@ -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));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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<EdFileInfo> {
|
||||
|
||||
String maxPrjId();
|
||||
|
||||
/**
|
||||
* 收藏页 数据查询
|
||||
* @param page
|
||||
* @param ids
|
||||
* @param queryDTO
|
||||
* @return
|
||||
*/
|
||||
IPage<FileInfoVO> queryFileList (Page<FileInfoVO> page,
|
||||
@Param("ids")List<String> ids,
|
||||
@Param("pars") FileInfoQueryDTO queryDTO,
|
||||
@Param("saveStatus") int saveStatus,
|
||||
@Param("effectFlag") int effectFlag);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
|
@ -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<EdFileFavorite> {
|
||||
|
||||
|
|
@ -35,8 +35,8 @@ public interface EdFileFavoriteService extends IService<EdFileFavorite> {
|
|||
/**
|
||||
* 查询当前用户收藏文件信息
|
||||
* @param userId 用户id
|
||||
* @param pageDTO 分页信息
|
||||
* @param fileInfoQueryDTO 分页信息
|
||||
* @return
|
||||
*/
|
||||
IPage<EdFileInfo> findFavorite(String userId, PageDTO pageDTO);
|
||||
IPage<FileInfoVO> findFavorite(String userId, FileInfoQueryDTO fileInfoQueryDTO);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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<InputStreamResource> preview(String id, HttpServletResponse response);
|
||||
|
||||
/**
|
||||
* 计算fileSizeShow字段
|
||||
* @param records
|
||||
*/
|
||||
void resetFileSize(List<FileInfoVO> records);
|
||||
|
||||
/**
|
||||
* 收藏页 数据查询
|
||||
* @param page
|
||||
* @param ids
|
||||
* @param queryDTO
|
||||
* @return
|
||||
*/
|
||||
IPage<FileInfoVO> queryFileList (Page<FileInfoVO> page, List<String> ids, FileInfoQueryDTO queryDTO, int saveStatus, int effectFlag);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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<EdFileFavoriteMapper, EdFileFavorite> 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<EdFileFavoriteMapper,
|
|||
}
|
||||
|
||||
@Override
|
||||
public IPage<EdFileInfo> findFavorite(String userId, PageDTO pageDTO) {
|
||||
public IPage<FileInfoVO> findFavorite(String userId, FileInfoQueryDTO fileInfoQueryDTO) {
|
||||
// 查询该用户收藏的文件id
|
||||
LambdaQueryWrapper<EdFileFavorite> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.select(EdFileFavorite::getFileId).eq(EdFileFavorite::getUserId, userId);
|
||||
List<String> fileIds = this.listObjs(queryWrapper, Object::toString);
|
||||
|
||||
// 创建分页对象
|
||||
Page<EdFileInfo> page = new Page<>(pageDTO.getPageIndex(), pageDTO.getPageSize());
|
||||
Page<FileInfoVO> page = new Page<>(fileInfoQueryDTO.getPageNum(), fileInfoQueryDTO.getPageSize());
|
||||
|
||||
LambdaQueryWrapper<EdFileInfo> queryWrapper2 = Wrappers.lambdaQuery(EdFileInfo.class)
|
||||
.eq(EdFileInfo::getSaveStatus, EleDataSaveStatusEnum.SUCCESS.code)
|
||||
.eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code);
|
||||
IPage<FileInfoVO> 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;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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<EdFileInfoMapper, EdFileI
|
|||
return ElectromagneticResultUtil.success(new FileInfoQueryPageVO(total, records));
|
||||
}
|
||||
|
||||
private void resetFileSize(List<FileInfoVO> records) {
|
||||
@Override
|
||||
public void resetFileSize(List<FileInfoVO> records) {
|
||||
for (FileInfoVO fileInfoDTO : records) {
|
||||
if (fileInfoDTO.getFileSize() < 1024) {
|
||||
fileInfoDTO.setFileSizeShow(fileInfoDTO.getFileSize() + "B");
|
||||
|
|
@ -1236,4 +1239,15 @@ public class EdFileInfoServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileI
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 收藏页 数据查询
|
||||
* @param page
|
||||
* @param ids
|
||||
* @param queryDTO
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public IPage<FileInfoVO> queryFileList (Page<FileInfoVO> page, List<String> ids, FileInfoQueryDTO queryDTO, int saveStatus, int effectFlag) {
|
||||
return this.baseMapper.queryFileList(page, ids, queryDTO, saveStatus, effectFlag);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,9 +3,92 @@
|
|||
|
||||
<mapper namespace="com.electromagnetic.industry.software.manage.mapper.EdFileInfoMapper">
|
||||
|
||||
<resultMap id="FileInfoResultMap" type="com.electromagnetic.industry.software.manage.pojo.other.FileInfoVO">
|
||||
<id column="id" property="id"/>
|
||||
<result column="file_id" property="fileId"/>
|
||||
<result column="file_type" property="fileType"/>
|
||||
<result column="file_name" property="fileName"/>
|
||||
<result column="file_note" property="fileNote"/>
|
||||
<result column="file_version" property="fileVersion"/>
|
||||
<result column="parent_id" property="parentId"/>
|
||||
<result column="data_type" property="dataType"/>
|
||||
<result column="data_status" property="dataStatus"/>
|
||||
<result column="save_status" property="saveStatus"/>
|
||||
<result column="file_size" property="fileSize"/>
|
||||
<result column="file_size_show" property="fileSizeShow"/>
|
||||
<result column="updated_time" property="updatedTime" jdbcType="TIMESTAMP"/>
|
||||
<result column="created_time" property="createdTime" jdbcType="TIMESTAMP"/>
|
||||
<result column="file_code" property="fileCode"/>
|
||||
<result column="created_by" property="createdBy"/>
|
||||
</resultMap>
|
||||
|
||||
<select id="maxPrjId" resultType="java.lang.String">
|
||||
select max(id)
|
||||
from ed_file_info
|
||||
where prj_dir = true
|
||||
</select>
|
||||
|
||||
<select id="queryFileList" resultMap="FileInfoResultMap" >
|
||||
SELECT *
|
||||
FROM ed_file_info
|
||||
<where>
|
||||
|
||||
<if test="ids != null and ids.size() > 0">
|
||||
AND id IN
|
||||
<foreach collection="ids" item="id" open="(" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
</if>
|
||||
|
||||
<if test="pars.dataStatus != null">
|
||||
AND data_status = #{pars.dataStatus}
|
||||
</if>
|
||||
|
||||
<if test="pars.fileType != null and pars.fileType != ''">
|
||||
AND file_type = #{pars.fileType}
|
||||
</if>
|
||||
|
||||
AND save_status = #{saveStatus}
|
||||
AND effect_flag = #{effectFlag}
|
||||
</where>
|
||||
|
||||
<choose>
|
||||
<when test="pars.fileNameSort == 0">
|
||||
ORDER BY file_name ASC
|
||||
</when>
|
||||
|
||||
<when test="pars.fileNameSort == 1">
|
||||
ORDER BY file_name DESC
|
||||
</when>
|
||||
|
||||
<when test="pars.fileTypeSort == 0">
|
||||
ORDER BY file_type ASC
|
||||
</when>
|
||||
<when test="pars.fileTypeSort == 1">
|
||||
ORDER BY file_type DESC
|
||||
</when>
|
||||
<when test="pars.createdTime == 0">
|
||||
ORDER BY created_time ASC
|
||||
</when>
|
||||
<when test="pars.createdTime == 1">
|
||||
ORDER BY created_time DESC
|
||||
</when>
|
||||
<when test="pars.versionSort == 0">
|
||||
ORDER BY file_version ASC
|
||||
</when>
|
||||
<when test="pars.versionSort == 1">
|
||||
ORDER BY file_version DESC
|
||||
</when>
|
||||
<when test="pars.fileSize == 0">
|
||||
ORDER BY file_size ASC
|
||||
</when>
|
||||
<when test="pars.fileSize == 1">
|
||||
ORDER BY file_size DESC
|
||||
</when>
|
||||
<otherwise>
|
||||
ORDER BY created_time DESC
|
||||
</otherwise>
|
||||
</choose>
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
Loading…
Reference in New Issue