diff --git a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/controller/DocumentLibraryController.java b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/controller/DocumentLibraryController.java index 2c0497e..e2f6149 100644 --- a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/controller/DocumentLibraryController.java +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/controller/DocumentLibraryController.java @@ -38,9 +38,9 @@ import java.util.List; @Slf4j public class DocumentLibraryController extends JeecgController { @Autowired - private IDocumentLibraryService documentLibraryService; + private IDocumentLibraryService documentLibraryService; @Autowired - private IDocumentFavoritesService documentFavoritesService; + private IDocumentFavoritesService documentFavoritesService; @Autowired private ISysUserService userService; @Autowired @@ -160,6 +160,8 @@ public class DocumentLibraryController extends JeecgController delete(@RequestParam(name = "id", required = true) String id) { documentLibraryService.removeById(id); + documentVisitHistoryService.removeByDocId(id); + documentFavoritesService.removeByDocId(id); return Result.OK("删除成功!"); } @@ -174,7 +176,12 @@ public class DocumentLibraryController extends JeecgController deleteBatch(@RequestParam(name = "ids", required = true) String ids) { - this.documentLibraryService.removeByIds(Arrays.asList(ids.split(","))); + List list = Arrays.asList(ids.split(",")); + this.documentLibraryService.removeByIds(list); + list.forEach(id -> { + documentVisitHistoryService.removeByDocId(id); + documentFavoritesService.removeByDocId(id); + }); return Result.OK("批量删除成功!"); } diff --git a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/entity/DocumentHome.java b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/entity/DocumentHome.java index 9c811d3..779b2d6 100644 --- a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/entity/DocumentHome.java +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/entity/DocumentHome.java @@ -21,7 +21,7 @@ public class DocumentHome implements Serializable { private static final long serialVersionUID = 1L; @Schema(description = "我的收藏") - private List favorite; + private List favorite; @Schema(description = "最新文档") private List latest; @Schema(description = "最近访问") diff --git a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/IDocumentFavoritesService.java b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/IDocumentFavoritesService.java index b1f4a0c..e1f1311 100755 --- a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/IDocumentFavoritesService.java +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/IDocumentFavoritesService.java @@ -2,6 +2,7 @@ package org.jeecg.modules.database.service; import com.baomidou.mybatisplus.extension.service.IService; import org.jeecg.modules.database.entity.DocumentFavorites; +import org.jeecg.modules.database.entity.DocumentLibrary; import java.util.List; @@ -12,6 +13,9 @@ import java.util.List; * @Version: V1.0 */ public interface IDocumentFavoritesService extends IService { - List getTopFavoritesByUserId(String userId); + List getTopFavoritesByUserId(String userId); DocumentFavorites getByDocIdAndUserId(String userId,String documentId); + + void removeByDocId(String documentId); + } diff --git a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/IDocumentVisitHistoryService.java b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/IDocumentVisitHistoryService.java index a58a444..84c614a 100644 --- a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/IDocumentVisitHistoryService.java +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/IDocumentVisitHistoryService.java @@ -16,4 +16,7 @@ public interface IDocumentVisitHistoryService extends IService getRecently(String id); + + void removeByDocId(String documentId); + } diff --git a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/impl/DocumentFavoritesServiceImpl.java b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/impl/DocumentFavoritesServiceImpl.java index ef4cf88..69d32d3 100755 --- a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/impl/DocumentFavoritesServiceImpl.java +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/impl/DocumentFavoritesServiceImpl.java @@ -4,11 +4,16 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.jeecg.modules.database.entity.DocumentFavorites; +import org.jeecg.modules.database.entity.DocumentLibrary; import org.jeecg.modules.database.mapper.DocumentFavoritesMapper; import org.jeecg.modules.database.service.IDocumentFavoritesService; +import org.jeecg.modules.database.service.IDocumentLibraryService; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; /** * @Description: 我的收藏文档 @@ -19,13 +24,18 @@ import java.util.List; @Service public class DocumentFavoritesServiceImpl extends ServiceImpl implements IDocumentFavoritesService { + @Autowired + private IDocumentLibraryService documentLibraryService; @Override - public List getTopFavoritesByUserId(String userId) { + public List getTopFavoritesByUserId(String userId) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(DocumentFavorites::getUserId, userId); Page page = new Page<>(1, 5); - return list(page, queryWrapper); + List list = list(page, queryWrapper); + List result = list.stream().map(visitHistory -> documentLibraryService.getById(visitHistory.getDocumentId())) + .filter(Objects::nonNull).collect(Collectors.toList()); + return result; } @Override @@ -33,6 +43,13 @@ public class DocumentFavoritesServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(DocumentFavorites::getUserId, userId); queryWrapper.eq(DocumentFavorites::getDocumentId, userId); - return getOne(queryWrapper,false); + return getOne(queryWrapper, false); + } + + @Override + public void removeByDocId(String documentId) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(DocumentFavorites::getDocumentId, documentId); + remove(queryWrapper); } } diff --git a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/impl/DocumentVisitHistoryServiceImpl.java b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/impl/DocumentVisitHistoryServiceImpl.java index d052c77..a3d645f 100644 --- a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/impl/DocumentVisitHistoryServiceImpl.java +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/impl/DocumentVisitHistoryServiceImpl.java @@ -47,7 +47,15 @@ public class DocumentVisitHistoryServiceImpl extends ServiceImpl list = list(new Page<>(1, 5), queryWrapper); - return list.stream().map(visitHistory -> documentLibraryService.getById(visitHistory.getDocumentId())) - .collect(Collectors.toList()); + List result = list.stream().map(visitHistory -> documentLibraryService.getById(visitHistory.getDocumentId())) + .filter(Objects::nonNull).collect(Collectors.toList()); + return result; + } + + @Override + public void removeByDocId(String documentId) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(DocumentVisitHistory::getDocumentId, documentId); + remove(queryWrapper); } }