diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/controller/file/DirectoryInfoManageController.java b/virtual-patient-manage/src/main/java/com/supervision/manage/controller/file/DirectoryInfoManageController.java index 04efbb8a..20251e7b 100644 --- a/virtual-patient-manage/src/main/java/com/supervision/manage/controller/file/DirectoryInfoManageController.java +++ b/virtual-patient-manage/src/main/java/com/supervision/manage/controller/file/DirectoryInfoManageController.java @@ -47,9 +47,10 @@ public class DirectoryInfoManageController { @ApiOperation("查询文件目录") @GetMapping("/getFileDirectory") - public List getFileDirectory(@ApiParam("父级目录ID") @RequestParam(value = "parentDirId",required = false) String parentDirId) { + public List 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); } } diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/controller/file/MaterialLibraryManageController.java b/virtual-patient-manage/src/main/java/com/supervision/manage/controller/file/MaterialLibraryManageController.java index f3b52a58..12577836 100644 --- a/virtual-patient-manage/src/main/java/com/supervision/manage/controller/file/MaterialLibraryManageController.java +++ b/virtual-patient-manage/src/main/java/com/supervision/manage/controller/file/MaterialLibraryManageController.java @@ -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 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 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); } diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/service/DirectoryInfoManageService.java b/virtual-patient-manage/src/main/java/com/supervision/manage/service/DirectoryInfoManageService.java index b6615b9e..0dbe1fb1 100644 --- a/virtual-patient-manage/src/main/java/com/supervision/manage/service/DirectoryInfoManageService.java +++ b/virtual-patient-manage/src/main/java/com/supervision/manage/service/DirectoryInfoManageService.java @@ -24,5 +24,5 @@ public interface DirectoryInfoManageService { boolean updateDirectory(DirectoryInfo directoryInfo); - List getFileDirectory(String parentDirId); + List getFileDirectory(String parentDirId,String fileName); } diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/service/MaterialLibraryManageService.java b/virtual-patient-manage/src/main/java/com/supervision/manage/service/MaterialLibraryManageService.java index f19d60e2..38278a92 100644 --- a/virtual-patient-manage/src/main/java/com/supervision/manage/service/MaterialLibraryManageService.java +++ b/virtual-patient-manage/src/main/java/com/supervision/manage/service/MaterialLibraryManageService.java @@ -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 materialLibraryList) throws Exception; - IPage queryMaterialPage(String materialType, String materialName, String directoryId,Integer pageNum, Integer pageSize); + IPage queryMaterialPage(MaterialLibrary materialLibrary, Integer pageNum, Integer pageSize); boolean deleteMaterial(String id) throws Exception; diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/DirectoryInfoManageServiceImpl.java b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/DirectoryInfoManageServiceImpl.java index 2ee68583..48326360 100644 --- a/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/DirectoryInfoManageServiceImpl.java +++ b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/DirectoryInfoManageServiceImpl.java @@ -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 getFileDirectory(String parentDirId) { + public List getFileDirectory(String parentDirId,String fileName) { + List directoryIds = new ArrayList<>(); + if (StrUtil.isNotEmpty(fileName)){ + List 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 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<>(); diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/MaterialLibraryManageServiceImpl.java b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/MaterialLibraryManageServiceImpl.java index 7d764445..3106fe4e 100644 --- a/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/MaterialLibraryManageServiceImpl.java +++ b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/MaterialLibraryManageServiceImpl.java @@ -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 queryMaterialPage(String materialType, String materialName, String directoryId, - Integer pageNum, Integer pageSize) { + public IPage 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 diff --git a/virtual-patient-model/src/main/java/com/supervision/mapper/MaterialLibraryMapper.java b/virtual-patient-model/src/main/java/com/supervision/mapper/MaterialLibraryMapper.java index 6c4e9913..123b530c 100644 --- a/virtual-patient-model/src/main/java/com/supervision/mapper/MaterialLibraryMapper.java +++ b/virtual-patient-model/src/main/java/com/supervision/mapper/MaterialLibraryMapper.java @@ -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 { + IPage queryMaterialPage(IPage page, @Param("materialLibrary") MaterialLibrary materialLibrary); } diff --git a/virtual-patient-model/src/main/java/com/supervision/service/MaterialLibraryService.java b/virtual-patient-model/src/main/java/com/supervision/service/MaterialLibraryService.java index e2b96b96..81bbef74 100644 --- a/virtual-patient-model/src/main/java/com/supervision/service/MaterialLibraryService.java +++ b/virtual-patient-model/src/main/java/com/supervision/service/MaterialLibraryService.java @@ -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 { * @return true:已存在 false:不存在 */ boolean checkMaterialNameIfExist(String materialName); + + IPage queryMaterialPage(MaterialLibrary materialLibrary, Page page); } diff --git a/virtual-patient-model/src/main/java/com/supervision/service/impl/MaterialLibraryServiceImpl.java b/virtual-patient-model/src/main/java/com/supervision/service/impl/MaterialLibraryServiceImpl.java index e0392792..521482bd 100644 --- a/virtual-patient-model/src/main/java/com/supervision/service/impl/MaterialLibraryServiceImpl.java +++ b/virtual-patient-model/src/main/java/com/supervision/service/impl/MaterialLibraryServiceImpl.java @@ -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 0; } + + @Override + public IPage queryMaterialPage(MaterialLibrary materialLibrary, Page page) { + + return super.getBaseMapper().queryMaterialPage(page,materialLibrary); + } } diff --git a/virtual-patient-model/src/main/java/com/supervision/vo/manage/MaterialLibraryResVo.java b/virtual-patient-model/src/main/java/com/supervision/vo/manage/MaterialLibraryResVo.java new file mode 100644 index 00000000..07d5ae0b --- /dev/null +++ b/virtual-patient-model/src/main/java/com/supervision/vo/manage/MaterialLibraryResVo.java @@ -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; +} diff --git a/virtual-patient-model/src/main/resources/mapper/MaterialLibraryMapper.xml b/virtual-patient-model/src/main/resources/mapper/MaterialLibraryMapper.xml index 851c13bb..a9e12b1b 100644 --- a/virtual-patient-model/src/main/resources/mapper/MaterialLibraryMapper.xml +++ b/virtual-patient-model/src/main/resources/mapper/MaterialLibraryMapper.xml @@ -22,4 +22,26 @@ material_type,directory_id,material_desc,create_user_id,create_time, update_user_id,update_time + +