manage : 查询文件目录 添加入参根据 文件名称 模糊匹配

dev_2.1.0
xueqingkun 1 year ago
parent 898fb90407
commit 60700ed54f

@ -47,9 +47,10 @@ public class DirectoryInfoManageController {
@ApiOperation("查询文件目录")
@GetMapping("/getFileDirectory")
public List<DirectoryInfoVO> getFileDirectory(@ApiParam("父级目录ID") @RequestParam(value = "parentDirId",required = false) String parentDirId) {
public List<DirectoryInfoVO> getFileDirectory(@ApiParam("父级目录ID") @RequestParam(value = "parentDirId",required = false) String parentDirId,
@ApiParam("文件名称") @RequestParam(value = "fileName",required = false) String fileName) {
return directoryInfoManageService.getFileDirectory(parentDirId);
return directoryInfoManageService.getFileDirectory(parentDirId,fileName);
}
}

@ -3,12 +3,12 @@ package com.supervision.manage.controller.file;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.supervision.manage.service.MaterialLibraryManageService;
import com.supervision.model.MaterialLibrary;
import com.supervision.vo.manage.MaterialLibraryResVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
@ -30,13 +30,11 @@ public class MaterialLibraryManageController {
@ApiOperation("素材管理分页查询")
@GetMapping("queryMedicalRecPage")
public IPage<MaterialLibrary> queryMaterialPage(@ApiParam("素材类型 0:图片 1:视频 2:音频") @RequestParam("materialType") String materialType,
@ApiParam("素材名长度小于64") @RequestParam("materialName") String materialName,
@ApiParam("目录id") @RequestParam("directoryId") String directoryId,
@ApiParam("页码") @RequestParam(name="pageNum",defaultValue = "1") Integer pageNum,
@ApiParam("每页大小") @RequestParam(name="pageSize",defaultValue = "10")Integer pageSize) {
public IPage<MaterialLibraryResVo> queryMaterialPage(MaterialLibrary materialLibrary,
@ApiParam("页码") @RequestParam(name="pageNum",defaultValue = "1") Integer pageNum,
@ApiParam("每页大小") @RequestParam(name="pageSize",defaultValue = "10")Integer pageSize) {
return materialLibraryManageService.queryMaterialPage(materialType, materialName, directoryId,pageNum, pageSize);
return materialLibraryManageService.queryMaterialPage(materialLibrary,pageNum, pageSize);
}

@ -24,5 +24,5 @@ public interface DirectoryInfoManageService {
boolean updateDirectory(DirectoryInfo directoryInfo);
List<DirectoryInfoVO> getFileDirectory(String parentDirId);
List<DirectoryInfoVO> getFileDirectory(String parentDirId,String fileName);
}

@ -2,6 +2,7 @@ package com.supervision.manage.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.supervision.model.MaterialLibrary;
import com.supervision.vo.manage.MaterialLibraryResVo;
import java.util.List;
@ -15,7 +16,7 @@ public interface MaterialLibraryManageService {
*/
void uploadMaterial(List<MaterialLibrary> materialLibraryList) throws Exception;
IPage<MaterialLibrary> queryMaterialPage(String materialType, String materialName, String directoryId,Integer pageNum, Integer pageSize);
IPage<MaterialLibraryResVo> queryMaterialPage(MaterialLibrary materialLibrary, Integer pageNum, Integer pageSize);
boolean deleteMaterial(String id) throws Exception;

@ -7,13 +7,18 @@ import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.supervision.manage.pojo.vo.DirectoryInfoVO;
import com.supervision.manage.service.DirectoryInfoManageService;
import com.supervision.manage.service.FileManageService;
import com.supervision.model.DirectoryInfo;
import com.supervision.model.MaterialLibrary;
import com.supervision.service.DirectoryInfoService;
import com.supervision.service.MaterialLibraryService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
@Service
@RequiredArgsConstructor
@ -21,6 +26,8 @@ public class DirectoryInfoManageServiceImpl implements DirectoryInfoManageServic
private final DirectoryInfoService directoryInfoService;
private final MaterialLibraryService materialLibraryService;
@Override
public String addDirectory(DirectoryInfo directoryInfo) {
@ -66,11 +73,21 @@ public class DirectoryInfoManageServiceImpl implements DirectoryInfoManageServic
}
@Override
public List<DirectoryInfoVO> getFileDirectory(String parentDirId) {
public List<DirectoryInfoVO> getFileDirectory(String parentDirId,String fileName) {
List<String> directoryIds = new ArrayList<>();
if (StrUtil.isNotEmpty(fileName)){
List<MaterialLibrary> list = materialLibraryService.lambdaQuery().like(MaterialLibrary::getMaterialName, fileName).list();
if (CollectionUtil.isEmpty(list)){
return new ArrayList<>();
}
directoryIds = list.stream().map(MaterialLibrary::getDirectoryId).filter(StrUtil::isNotEmpty).collect(Collectors.toList());
}
List<DirectoryInfo> directoryInfoList = directoryInfoService.lambdaQuery()
.eq(StrUtil.isNotEmpty(parentDirId), DirectoryInfo::getParentId, parentDirId).list();
.eq(StrUtil.isNotEmpty(parentDirId), DirectoryInfo::getParentId, parentDirId)
.in(CollectionUtil.isNotEmpty(directoryIds),DirectoryInfo::getId, directoryIds)
.list();
if (CollectionUtil.isEmpty(directoryInfoList)){
return new ArrayList<>();

@ -12,6 +12,7 @@ import com.supervision.model.FileResource;
import com.supervision.model.MaterialLibrary;
import com.supervision.service.FileResourceService;
import com.supervision.service.MaterialLibraryService;
import com.supervision.vo.manage.MaterialLibraryResVo;
import lombok.RequiredArgsConstructor;
import org.apache.commons.lang3.tuple.Triple;
import org.springframework.stereotype.Service;
@ -60,15 +61,9 @@ public class MaterialLibraryManageServiceImpl implements MaterialLibraryManageSe
}
@Override
public IPage<MaterialLibrary> queryMaterialPage(String materialType, String materialName, String directoryId,
Integer pageNum, Integer pageSize) {
public IPage<MaterialLibraryResVo> queryMaterialPage(MaterialLibrary materialLibrary, Integer pageNum, Integer pageSize) {
AbstractWrapper wrapper = materialLibraryService.lambdaQuery()
.eq(StrUtil.isNotEmpty(materialType), MaterialLibrary::getMaterialType, materialType)
.eq(StrUtil.isNotEmpty(directoryId), MaterialLibrary::getDirectoryId, directoryId)
.like(StrUtil.isNotEmpty(materialName), MaterialLibrary::getMaterialName, materialName).getWrapper();
return materialLibraryService.page(new Page<>(pageNum, pageSize),wrapper);
return materialLibraryService.queryMaterialPage(materialLibrary,new Page<>(pageNum,pageSize));
}
@Override

@ -1,7 +1,10 @@
package com.supervision.mapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.supervision.model.MaterialLibrary;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.supervision.vo.manage.MaterialLibraryResVo;
import org.apache.ibatis.annotations.Param;
/**
* @author Administrator
@ -11,6 +14,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/
public interface MaterialLibraryMapper extends BaseMapper<MaterialLibrary> {
IPage<MaterialLibraryResVo> queryMaterialPage(IPage<MaterialLibraryResVo> page, @Param("materialLibrary") MaterialLibrary materialLibrary);
}

@ -1,7 +1,10 @@
package com.supervision.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.supervision.model.MaterialLibrary;
import com.baomidou.mybatisplus.extension.service.IService;
import com.supervision.vo.manage.MaterialLibraryResVo;
/**
* @author Administrator
@ -17,4 +20,6 @@ public interface MaterialLibraryService extends IService<MaterialLibrary> {
* @return true: false:
*/
boolean checkMaterialNameIfExist(String materialName);
IPage<MaterialLibraryResVo> queryMaterialPage(MaterialLibrary materialLibrary, Page<MaterialLibraryResVo> page);
}

@ -1,9 +1,12 @@
package com.supervision.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.supervision.model.MaterialLibrary;
import com.supervision.service.MaterialLibraryService;
import com.supervision.mapper.MaterialLibraryMapper;
import com.supervision.vo.manage.MaterialLibraryResVo;
import org.springframework.stereotype.Service;
/**
@ -21,6 +24,12 @@ public class MaterialLibraryServiceImpl extends ServiceImpl<MaterialLibraryMappe
return super.getBaseMapper()
.selectCount(this.lambdaQuery().eq(MaterialLibrary::getMaterialName, materialName).getWrapper()) > 0;
}
@Override
public IPage<MaterialLibraryResVo> queryMaterialPage(MaterialLibrary materialLibrary, Page<MaterialLibraryResVo> page) {
return super.getBaseMapper().queryMaterialPage(page,materialLibrary);
}
}

@ -0,0 +1,14 @@
package com.supervision.vo.manage;
import com.supervision.model.MaterialLibrary;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
@EqualsAndHashCode(callSuper = true)
@Data
public class MaterialLibraryResVo extends MaterialLibrary {
@ApiModelProperty("目录名称")
private String directoryName;
}

@ -22,4 +22,26 @@
material_type,directory_id,material_desc,create_user_id,create_time,
update_user_id,update_time
</sql>
<select id="queryMaterialPage" resultType="com.supervision.vo.manage.MaterialLibraryResVo">
select ml.id as id,
ml.file_resource_id as fileResourceId,
ml.material_name as materialName,
ml.material_type as materialType,
ml.directory_id as directoryId,
ml.material_desc as materialDesc,
di.directory_name as directoryName
from vp_material_library ml
left join vp_directory_info di on ml.directory_id = di.id
where 1=1
<if test="materialLibrary.materialType != null and materialLibrary.materialType != ''">
and ml.material_type = #{materialLibrary.materialType}
</if>
<if test="materialLibrary.materialName != null and materialLibrary.materialName != ''">
and ml.material_name like concat('%',#{materialLibrary.materialName},'%')
</if>
<if test="materialLibrary.directoryId != null and materialLibrary.directoryId != ''">
and ml.directory_id = #{materialLibrary.directoryId}
</if>
</select>
</mapper>

Loading…
Cancel
Save