This commit is contained in:
ls
2024-11-15 15:25:40 +08:00
parent ebb2da787b
commit f1448b1597
6 changed files with 49 additions and 10 deletions

View File

@@ -38,9 +38,9 @@ import java.util.List;
@Slf4j @Slf4j
public class DocumentLibraryController extends JeecgController<DocumentLibrary, IDocumentLibraryService> { public class DocumentLibraryController extends JeecgController<DocumentLibrary, IDocumentLibraryService> {
@Autowired @Autowired
private IDocumentLibraryService documentLibraryService; private IDocumentLibraryService documentLibraryService;
@Autowired @Autowired
private IDocumentFavoritesService documentFavoritesService; private IDocumentFavoritesService documentFavoritesService;
@Autowired @Autowired
private ISysUserService userService; private ISysUserService userService;
@Autowired @Autowired
@@ -160,6 +160,8 @@ public class DocumentLibraryController extends JeecgController<DocumentLibrary,
@DeleteMapping(value = "/delete") @DeleteMapping(value = "/delete")
public Result<String> delete(@RequestParam(name = "id", required = true) String id) { public Result<String> delete(@RequestParam(name = "id", required = true) String id) {
documentLibraryService.removeById(id); documentLibraryService.removeById(id);
documentVisitHistoryService.removeByDocId(id);
documentFavoritesService.removeByDocId(id);
return Result.OK("删除成功!"); return Result.OK("删除成功!");
} }
@@ -174,7 +176,12 @@ public class DocumentLibraryController extends JeecgController<DocumentLibrary,
@RequiresPermissions("library:document_library:deleteBatch") @RequiresPermissions("library:document_library:deleteBatch")
@DeleteMapping(value = "/deleteBatch") @DeleteMapping(value = "/deleteBatch")
public Result<String> deleteBatch(@RequestParam(name = "ids", required = true) String ids) { public Result<String> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
this.documentLibraryService.removeByIds(Arrays.asList(ids.split(","))); List<String> list = Arrays.asList(ids.split(","));
this.documentLibraryService.removeByIds(list);
list.forEach(id -> {
documentVisitHistoryService.removeByDocId(id);
documentFavoritesService.removeByDocId(id);
});
return Result.OK("批量删除成功!"); return Result.OK("批量删除成功!");
} }

View File

@@ -21,7 +21,7 @@ public class DocumentHome implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@Schema(description = "我的收藏") @Schema(description = "我的收藏")
private List<DocumentFavorites> favorite; private List<DocumentLibrary> favorite;
@Schema(description = "最新文档") @Schema(description = "最新文档")
private List<DocumentLibrary> latest; private List<DocumentLibrary> latest;
@Schema(description = "最近访问") @Schema(description = "最近访问")

View File

@@ -2,6 +2,7 @@ package org.jeecg.modules.database.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.database.entity.DocumentFavorites; import org.jeecg.modules.database.entity.DocumentFavorites;
import org.jeecg.modules.database.entity.DocumentLibrary;
import java.util.List; import java.util.List;
@@ -12,6 +13,9 @@ import java.util.List;
* @Version: V1.0 * @Version: V1.0
*/ */
public interface IDocumentFavoritesService extends IService<DocumentFavorites> { public interface IDocumentFavoritesService extends IService<DocumentFavorites> {
List<DocumentFavorites> getTopFavoritesByUserId(String userId); List<DocumentLibrary> getTopFavoritesByUserId(String userId);
DocumentFavorites getByDocIdAndUserId(String userId,String documentId); DocumentFavorites getByDocIdAndUserId(String userId,String documentId);
void removeByDocId(String documentId);
} }

View File

@@ -16,4 +16,7 @@ public interface IDocumentVisitHistoryService extends IService<DocumentVisitHist
DocumentVisitHistory findByUserAndDocId(String userId, String documentId); DocumentVisitHistory findByUserAndDocId(String userId, String documentId);
List<DocumentLibrary> getRecently(String id); List<DocumentLibrary> getRecently(String id);
void removeByDocId(String documentId);
} }

View File

@@ -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.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.jeecg.modules.database.entity.DocumentFavorites; 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.mapper.DocumentFavoritesMapper;
import org.jeecg.modules.database.service.IDocumentFavoritesService; 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 org.springframework.stereotype.Service;
import java.util.List; import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
/** /**
* @Description: 我的收藏文档 * @Description: 我的收藏文档
@@ -19,13 +24,18 @@ import java.util.List;
@Service @Service
public class DocumentFavoritesServiceImpl extends ServiceImpl<DocumentFavoritesMapper, DocumentFavorites> public class DocumentFavoritesServiceImpl extends ServiceImpl<DocumentFavoritesMapper, DocumentFavorites>
implements IDocumentFavoritesService { implements IDocumentFavoritesService {
@Autowired
private IDocumentLibraryService documentLibraryService;
@Override @Override
public List<DocumentFavorites> getTopFavoritesByUserId(String userId) { public List<DocumentLibrary> getTopFavoritesByUserId(String userId) {
LambdaQueryWrapper<DocumentFavorites> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<DocumentFavorites> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(DocumentFavorites::getUserId, userId); queryWrapper.eq(DocumentFavorites::getUserId, userId);
Page<DocumentFavorites> page = new Page<>(1, 5); Page<DocumentFavorites> page = new Page<>(1, 5);
return list(page, queryWrapper); List<DocumentFavorites> list = list(page, queryWrapper);
List<DocumentLibrary> result = list.stream().map(visitHistory -> documentLibraryService.getById(visitHistory.getDocumentId()))
.filter(Objects::nonNull).collect(Collectors.toList());
return result;
} }
@Override @Override
@@ -33,6 +43,13 @@ public class DocumentFavoritesServiceImpl extends ServiceImpl<DocumentFavoritesM
LambdaQueryWrapper<DocumentFavorites> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<DocumentFavorites> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(DocumentFavorites::getUserId, userId); queryWrapper.eq(DocumentFavorites::getUserId, userId);
queryWrapper.eq(DocumentFavorites::getDocumentId, userId); queryWrapper.eq(DocumentFavorites::getDocumentId, userId);
return getOne(queryWrapper,false); return getOne(queryWrapper, false);
}
@Override
public void removeByDocId(String documentId) {
LambdaQueryWrapper<DocumentFavorites> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(DocumentFavorites::getDocumentId, documentId);
remove(queryWrapper);
} }
} }

View File

@@ -47,7 +47,15 @@ public class DocumentVisitHistoryServiceImpl extends ServiceImpl<DocumentVisitHi
queryWrapper.eq(DocumentVisitHistory::getUserId, userId); queryWrapper.eq(DocumentVisitHistory::getUserId, userId);
queryWrapper.orderByDesc(DocumentVisitHistory::getVisitCount); queryWrapper.orderByDesc(DocumentVisitHistory::getVisitCount);
List<DocumentVisitHistory> list = list(new Page<>(1, 5), queryWrapper); List<DocumentVisitHistory> list = list(new Page<>(1, 5), queryWrapper);
return list.stream().map(visitHistory -> documentLibraryService.getById(visitHistory.getDocumentId())) List<DocumentLibrary> result = list.stream().map(visitHistory -> documentLibraryService.getById(visitHistory.getDocumentId()))
.collect(Collectors.toList()); .filter(Objects::nonNull).collect(Collectors.toList());
return result;
}
@Override
public void removeByDocId(String documentId) {
LambdaQueryWrapper<DocumentVisitHistory> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(DocumentVisitHistory::getDocumentId, documentId);
remove(queryWrapper);
} }
} }