From 1917c2b3c7a208bfe5a216fa8b62dbbd154bd83c Mon Sep 17 00:00:00 2001 From: ls Date: Thu, 14 Nov 2024 18:34:16 +0800 Subject: [PATCH] update --- .../DocumentFavoritesController.java | 26 +++++++++++++++++-- .../controller/DocumentLibraryController.java | 26 ++++++++++++++++++- .../database/entity/DocumentFavorites.java | 6 +++++ .../modules/database/entity/DocumentHome.java | 25 ++++++++++++++++++ .../service/IDocumentFavoritesService.java | 4 ++- .../service/IDocumentLibraryService.java | 3 +++ .../impl/DocumentFavoritesServiceImpl.java | 14 +++++++++- .../impl/DocumentLibraryServiceImpl.java | 11 ++++++++ 8 files changed, 110 insertions(+), 5 deletions(-) create mode 100644 physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/entity/DocumentHome.java diff --git a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/controller/DocumentFavoritesController.java b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/controller/DocumentFavoritesController.java index daf1536..c874592 100755 --- a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/controller/DocumentFavoritesController.java +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/controller/DocumentFavoritesController.java @@ -13,8 +13,13 @@ import org.jeecg.common.api.vo.Result; import org.jeecg.common.aspect.annotation.AutoLog; import org.jeecg.common.system.base.controller.JeecgController; import org.jeecg.common.system.query.QueryGenerator; +import org.jeecg.common.system.util.JwtUtil; import org.jeecg.modules.database.entity.DocumentFavorites; +import org.jeecg.modules.database.entity.DocumentLibrary; import org.jeecg.modules.database.service.IDocumentFavoritesService; +import org.jeecg.modules.database.service.IDocumentLibraryService; +import org.jeecg.modules.system.entity.SysUser; +import org.jeecg.modules.system.service.ISysUserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.ModelAndView; @@ -34,6 +39,11 @@ import java.util.Arrays; public class DocumentFavoritesController extends JeecgController { @Autowired private IDocumentFavoritesService documentFavoritesService; + @Autowired + private IDocumentLibraryService documentLibraryService; + + @Autowired + private ISysUserService userService; /** * 分页列表查询 @@ -51,8 +61,12 @@ public class DocumentFavoritesController extends JeecgController queryWrapper = QueryGenerator.initQueryWrapper(documentFavorites, req.getParameterMap()); - Page page = new Page(pageNo, pageSize); + Page page = new Page<>(pageNo, pageSize); IPage pageList = documentFavoritesService.page(page, queryWrapper); return Result.OK(pageList); } @@ -67,7 +81,15 @@ public class DocumentFavoritesController extends JeecgController add(@RequestBody DocumentFavorites documentFavorites) { + public Result add(@RequestBody DocumentFavorites documentFavorites, HttpServletRequest request) { + String documentId = documentFavorites.getDocumentId(); + DocumentLibrary documentLibrary = documentLibraryService.getById(documentId); + documentFavorites.setDocumentTitle(documentLibrary.getTitle()); + + String username = JwtUtil.getUserNameByToken(request); + SysUser userByName = userService.getUserByName(username); + documentFavorites.setUserId(userByName.getId()); + documentFavoritesService.save(documentFavorites); return Result.OK("添加成功!"); } 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 67d38b7..8cde2c3 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 @@ -14,8 +14,13 @@ import org.jeecg.common.api.vo.Result; import org.jeecg.common.aspect.annotation.AutoLog; import org.jeecg.common.system.base.controller.JeecgController; import org.jeecg.common.system.query.QueryGenerator; +import org.jeecg.common.system.util.JwtUtil; +import org.jeecg.modules.database.entity.DocumentHome; import org.jeecg.modules.database.entity.DocumentLibrary; +import org.jeecg.modules.database.service.IDocumentFavoritesService; import org.jeecg.modules.database.service.IDocumentLibraryService; +import org.jeecg.modules.system.entity.SysUser; +import org.jeecg.modules.system.service.ISysUserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.ModelAndView; @@ -35,7 +40,26 @@ import java.util.List; @Slf4j public class DocumentLibraryController extends JeecgController { @Autowired - private IDocumentLibraryService documentLibraryService; + private IDocumentLibraryService documentLibraryService; + @Autowired + private IDocumentFavoritesService documentFavoritesService; + + @Autowired + private ISysUserService userService; + + @Operation(summary = "知识库-首页查询") + @GetMapping(value = "/home") + public Result home(HttpServletRequest request) { + + String username = JwtUtil.getUserNameByToken(request); + SysUser userByName = userService.getUserByName(username); + + DocumentHome home = new DocumentHome(); + home.setFavorite(documentFavoritesService.getTopFavoritesByUserId(userByName.getId())); + home.setLatest(documentLibraryService.getLatest()); + home.setRecently(home.getLatest()); + return Result.OK(home); + } /** * 分页列表查询 diff --git a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/entity/DocumentFavorites.java b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/entity/DocumentFavorites.java index 240d989..42c49e8 100755 --- a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/entity/DocumentFavorites.java +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/entity/DocumentFavorites.java @@ -69,6 +69,12 @@ public class DocumentFavorites implements Serializable { @Excel(name = "文档ID", width = 15) @Schema(description = "文档ID") private String documentId; + /** + * 文档名称 + */ + @Excel(name = "文档名称", width = 15) + @Schema(description = "文档名称") + private String documentTitle; /** * 用户ID */ 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 new file mode 100644 index 0000000..e33f8fb --- /dev/null +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/entity/DocumentHome.java @@ -0,0 +1,25 @@ +/* + * Ant Group + * Copyright (c) 2004-2024 All Rights Reserved. + */ +package org.jeecg.modules.database.entity; + +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.util.List; + +/** + * @author lise + * @version DocumentHome.java, v 0.1 2024年11月14日 18:14 lise + */ +@Getter +@Setter +public class DocumentHome implements Serializable { + private static final long serialVersionUID = 1L; + + private List favorite; + private List latest; + private List recently; +} \ No newline at end of file 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 22e422e..bb4ab15 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 @@ -3,6 +3,8 @@ package org.jeecg.modules.database.service; import com.baomidou.mybatisplus.extension.service.IService; import org.jeecg.modules.database.entity.DocumentFavorites; +import java.util.List; + /** * @Description: 我的收藏文档 * @Author: jeecg-boot @@ -10,5 +12,5 @@ import org.jeecg.modules.database.entity.DocumentFavorites; * @Version: V1.0 */ public interface IDocumentFavoritesService extends IService { - + List getTopFavoritesByUserId(String userId); } diff --git a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/IDocumentLibraryService.java b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/IDocumentLibraryService.java index dc7dd3d..6ebb1a9 100644 --- a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/IDocumentLibraryService.java +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/IDocumentLibraryService.java @@ -3,6 +3,8 @@ package org.jeecg.modules.database.service; import com.baomidou.mybatisplus.extension.service.IService; import org.jeecg.modules.database.entity.DocumentLibrary; +import java.util.List; + /** * @Description: 知识库 * @Author: jeecg-boot @@ -11,4 +13,5 @@ import org.jeecg.modules.database.entity.DocumentLibrary; */ public interface IDocumentLibraryService extends IService { + List getLatest(); } 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 8eda65a..d8f25bb 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 @@ -1,11 +1,15 @@ package org.jeecg.modules.database.service.impl; +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.mapper.DocumentFavoritesMapper; import org.jeecg.modules.database.service.IDocumentFavoritesService; import org.springframework.stereotype.Service; +import java.util.List; + /** * @Description: 我的收藏文档 * @Author: jeecg-boot @@ -13,6 +17,14 @@ import org.springframework.stereotype.Service; * @Version: V1.0 */ @Service -public class DocumentFavoritesServiceImpl extends ServiceImpl implements IDocumentFavoritesService { +public class DocumentFavoritesServiceImpl extends ServiceImpl + implements IDocumentFavoritesService { + @Override + public List getTopFavoritesByUserId(String userId) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(DocumentFavorites::getUserId, userId); + Page page = new Page<>(1, 5); + return list(page, queryWrapper); + } } diff --git a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/impl/DocumentLibraryServiceImpl.java b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/impl/DocumentLibraryServiceImpl.java index 2a6fe87..6da214c 100644 --- a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/impl/DocumentLibraryServiceImpl.java +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/impl/DocumentLibraryServiceImpl.java @@ -1,11 +1,15 @@ package org.jeecg.modules.database.service.impl; +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.DocumentLibrary; import org.jeecg.modules.database.mapper.DocumentLibraryMapper; import org.jeecg.modules.database.service.IDocumentLibraryService; import org.springframework.stereotype.Service; +import java.util.List; + /** * @Description: 知识库 * @Author: jeecg-boot @@ -15,4 +19,11 @@ import org.springframework.stereotype.Service; @Service public class DocumentLibraryServiceImpl extends ServiceImpl implements IDocumentLibraryService { + @Override + public List getLatest() { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.orderByDesc(DocumentLibrary::getCreateTime); + Page page = new Page<>(1, 5); + return list(page, queryWrapper); + } }