搜索关键字爬虫

This commit is contained in:
2025-11-12 16:10:34 +08:00
parent 7be02fe396
commit 675e6da7d7
37 changed files with 3382 additions and 572 deletions

View File

@@ -26,6 +26,7 @@ import org.xyzh.common.vo.UserDeptRoleVO;
import org.xyzh.common.core.enums.ResourceType;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
@@ -270,7 +271,7 @@ public class NCResourceServiceImpl implements ResourceService {
}
// 检查资源是否存在
TbResource existing = resourceMapper.selectById(resource.getResourceID());
TbResource existing = resourceMapper.selectByResourceId(resource.getResourceID());
if (existing == null || existing.getDeleted()) {
resultDomain.fail("资源不存在");
return resultDomain;
@@ -286,33 +287,17 @@ public class NCResourceServiceImpl implements ResourceService {
}
}
Date now = new Date();
// 原始tags
TbResourceTag filter = new TbResourceTag();
filter.setResourceID(resource.getResourceID());
List<TagVO> originalTagVOs = resourceTagMapper.selectResourceTags(filter);
List<TbResourceTag> originalTags = originalTagVOs.stream().map(TagVO::getResourceTag).collect(Collectors.toList());
// 当前tags
List<TbTag> currentTags = resourceVO.getTags();
// 新增tags
List<TbTag> tagsToAdd = currentTags.stream()
.filter(tag -> originalTags.stream().noneMatch(originalTag -> originalTag.getTagID().equals(tag.getID())))
.collect(Collectors.toList());
// 删除tags
List<TbResourceTag> tagsToDelete = originalTags.stream()
.filter(originalTag -> currentTags.stream().noneMatch(tag -> tag.getID().equals(originalTag.getTagID())))
.collect(Collectors.toList());
resourceTagMapper.batchDeleteResourceTags(tagsToDelete.stream().map(TbResourceTag::getID).collect(Collectors.toList()));
resourceTagMapper.batchInsertResourceTags(tagsToAdd.stream().map(tag -> {
TbResourceTag resourceTag = new TbResourceTag();
resourceTag.setResourceID(resource.getResourceID());
resourceTag.setTagID(tag.getID());
resourceTag.setID(IDUtils.generateID());
resourceTag.setCreator(user.getID());
resourceTag.setCreateTime(now);
return resourceTag;
}).collect(Collectors.toList()));
// tag先删后增
TbResourceTag resourceTag = new TbResourceTag();
resourceTag.setID(IDUtils.generateID());
resourceTag.setResourceID(resource.getResourceID());
resourceTag.setCreator(user.getID());
resourceTag.setCreateTime(now);
resourceTag.setDeleted(false);
resourceTag.setTagID(resourceVO.getResource().getTagID());
resourceTagMapper.deleteByResourceId(resource.getResourceID());
resourceTagMapper.batchInsertResourceTags(Arrays.asList(resourceTag));
// 更新时间
resource.setUpdateTime(now);
@@ -321,10 +306,10 @@ public class NCResourceServiceImpl implements ResourceService {
if (result > 0) {
logger.info("更新资源成功: {}", resource.getResourceID());
// 重新查询返回完整数据
TbResource updated = resourceMapper.selectById(resource.getResourceID());
TbResource updated = resourceMapper.selectByResourceId(resource.getResourceID());
ResourceVO updatedResourceVO = new ResourceVO();
updatedResourceVO.setResource(updated);
updatedResourceVO.setTags(currentTags);
updatedResourceVO.setTags(resourceVO.getTags());
resultDomain.success("更新资源成功", updatedResourceVO);
return resultDomain;
} else {
@@ -403,7 +388,7 @@ public class NCResourceServiceImpl implements ResourceService {
if (result > 0) {
logger.info("更新资源状态成功: {}", resourceID);
// 重新查询返回完整数据
TbResource updated = resourceMapper.selectById(resource.getID());
TbResource updated = resourceMapper.selectByResourceId(resource.getID());
resultDomain.success("更新资源状态成功", updated);
return resultDomain;
} else {
@@ -553,7 +538,7 @@ public class NCResourceServiceImpl implements ResourceService {
if (result > 0) {
logger.info("增加资源点赞次数成功: {}", resourceID);
// 重新查询返回完整数据
TbResource updated = resourceMapper.selectById(resource.getID());
TbResource updated = resourceMapper.selectByResourceId(resource.getID());
resultDomain.success("增加点赞次数成功", updated);
return resultDomain;
} else {
@@ -625,7 +610,7 @@ public class NCResourceServiceImpl implements ResourceService {
if (result > 0) {
logger.info("设置资源推荐状态成功: {} -> {}", resourceID, isRecommend);
// 重新查询返回完整数据
TbResource updated = resourceMapper.selectById(resource.getID());
TbResource updated = resourceMapper.selectByResourceId(resource.getID());
resultDomain.success("设置推荐状态成功", updated);
return resultDomain;
} else {
@@ -669,7 +654,7 @@ public class NCResourceServiceImpl implements ResourceService {
if (result > 0) {
logger.info("设置资源轮播状态成功: {} -> {}", resourceID, isBanner);
// 重新查询返回完整数据
TbResource updated = resourceMapper.selectById(resource.getID());
TbResource updated = resourceMapper.selectByResourceId(resource.getID());
resultDomain.success("设置轮播状态成功", updated);
return resultDomain;
} else {