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
public class DocumentLibraryController extends JeecgController<DocumentLibrary, IDocumentLibraryService> {
@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<DocumentLibrary,
@DeleteMapping(value = "/delete")
public Result<String> 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<DocumentLibrary,
@RequiresPermissions("library:document_library:deleteBatch")
@DeleteMapping(value = "/deleteBatch")
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("批量删除成功!");
}

View File

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

View File

@@ -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<DocumentFavorites> {
List<DocumentFavorites> getTopFavoritesByUserId(String userId);
List<DocumentLibrary> getTopFavoritesByUserId(String userId);
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);
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.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<DocumentFavoritesMapper, DocumentFavorites>
implements IDocumentFavoritesService {
@Autowired
private IDocumentLibraryService documentLibraryService;
@Override
public List<DocumentFavorites> getTopFavoritesByUserId(String userId) {
public List<DocumentLibrary> getTopFavoritesByUserId(String userId) {
LambdaQueryWrapper<DocumentFavorites> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(DocumentFavorites::getUserId, userId);
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
@@ -33,6 +43,13 @@ public class DocumentFavoritesServiceImpl extends ServiceImpl<DocumentFavoritesM
LambdaQueryWrapper<DocumentFavorites> 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<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.orderByDesc(DocumentVisitHistory::getVisitCount);
List<DocumentVisitHistory> list = list(new Page<>(1, 5), queryWrapper);
return list.stream().map(visitHistory -> documentLibraryService.getById(visitHistory.getDocumentId()))
.collect(Collectors.toList());
List<DocumentLibrary> result = list.stream().map(visitHistory -> documentLibraryService.getById(visitHistory.getDocumentId()))
.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);
}
}