This commit is contained in:
ls
2024-11-14 18:34:16 +08:00
parent 82d2f405f0
commit 1917c2b3c7
8 changed files with 110 additions and 5 deletions

View File

@@ -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<DocumentFavorites, IDocumentFavoritesService> {
@Autowired
private IDocumentFavoritesService documentFavoritesService;
@Autowired
private IDocumentLibraryService documentLibraryService;
@Autowired
private ISysUserService userService;
/**
* 分页列表查询
@@ -51,8 +61,12 @@ public class DocumentFavoritesController extends JeecgController<DocumentFavorit
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) {
String username = JwtUtil.getUserNameByToken(req);
SysUser userByName = userService.getUserByName(username);
documentFavorites.setUserId(userByName.getId());
QueryWrapper<DocumentFavorites> queryWrapper = QueryGenerator.initQueryWrapper(documentFavorites, req.getParameterMap());
Page<DocumentFavorites> page = new Page<DocumentFavorites>(pageNo, pageSize);
Page<DocumentFavorites> page = new Page<>(pageNo, pageSize);
IPage<DocumentFavorites> pageList = documentFavoritesService.page(page, queryWrapper);
return Result.OK(pageList);
}
@@ -67,7 +81,15 @@ public class DocumentFavoritesController extends JeecgController<DocumentFavorit
@Operation(summary = "我的收藏文档-添加")
@RequiresPermissions("database:document_favorites:add")
@PostMapping(value = "/add")
public Result<String> add(@RequestBody DocumentFavorites documentFavorites) {
public Result<String> 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("添加成功!");
}

View File

@@ -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<DocumentLibrary, IDocumentLibraryService> {
@Autowired
private IDocumentLibraryService documentLibraryService;
private IDocumentLibraryService documentLibraryService;
@Autowired
private IDocumentFavoritesService documentFavoritesService;
@Autowired
private ISysUserService userService;
@Operation(summary = "知识库-首页查询")
@GetMapping(value = "/home")
public Result<DocumentHome> 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);
}
/**
* 分页列表查询

View File

@@ -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
*/

View File

@@ -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<DocumentFavorites> favorite;
private List<DocumentLibrary> latest;
private List<DocumentLibrary> recently;
}

View File

@@ -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<DocumentFavorites> {
List<DocumentFavorites> getTopFavoritesByUserId(String userId);
}

View File

@@ -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<DocumentLibrary> {
List<DocumentLibrary> getLatest();
}

View File

@@ -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<DocumentFavoritesMapper, DocumentFavorites> implements IDocumentFavoritesService {
public class DocumentFavoritesServiceImpl extends ServiceImpl<DocumentFavoritesMapper, DocumentFavorites>
implements IDocumentFavoritesService {
@Override
public List<DocumentFavorites> getTopFavoritesByUserId(String userId) {
LambdaQueryWrapper<DocumentFavorites> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(DocumentFavorites::getUserId, userId);
Page<DocumentFavorites> page = new Page<>(1, 5);
return list(page, queryWrapper);
}
}

View File

@@ -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<DocumentLibraryMapper, DocumentLibrary> implements IDocumentLibraryService {
@Override
public List<DocumentLibrary> getLatest() {
LambdaQueryWrapper<DocumentLibrary> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.orderByDesc(DocumentLibrary::getCreateTime);
Page<DocumentLibrary> page = new Page<>(1, 5);
return list(page, queryWrapper);
}
}