标签bug

This commit is contained in:
zzpay 2024-12-25 18:57:09 +08:00
parent 852831d1c6
commit ee334d89ce
4 changed files with 60 additions and 4 deletions

View File

@ -81,7 +81,7 @@ public class TagController {
return PageObject.failedPage(500, "服务端错误,请联系系统管理员!");
}
return tagService.queryTag(parent, needChildren, keyword, exclude, page, size, orderBy, direction);
return tagService.queryTag(6L, needChildren, keyword, exclude, page, size, orderBy, direction);
}
@GetMapping("/source")

View File

@ -30,6 +30,16 @@ public interface TagMapper {
"from draft_tag_rel where draft_id = #{draftId}")
List<DraftTagRel> getDraftTagRelList(@Param("draftId") Long draftId);
// 获取标签是否有关联过文章
@Select("SELECT count(id) " +
"from news_tag_rel where tag_id = #{tagId}")
Long countNewsTagRelList(@Param("tagId") Long tagId);
// 获取标签是否有关联过文章
@Select("SELECT count(id) " +
"from draft_tag_rel where tag_id = #{tagId}")
Long countDraftTagRelList(@Param("tagId") Long tagId);
@Select("select id, news_id as newsId, tag_id as tagId " +
"from news_tag_rel where news_id = #{newsId}")
List<NewsTagRel> getNewsTagRelList(@Param("newsId") Long newsId);

View File

@ -352,7 +352,7 @@ public class NewsService {
// type = earlyKnow.getType();//时间紧暂时把早知道的type挪过来
// }
SaveDraftColumnItem everything = column.getEverything();
if (showEverything != null && showEverything && everything!=null) {
if (showEverything != null && showEverything && everything != null) {
Integer type = everything.getType();
columnMapper.saveNewsColumnRel(newIdRl, 14L, type);
}
@ -425,6 +425,8 @@ public class NewsService {
newsMapper.deleteDraft(draftId);
columnMapper.deleteDraft(draftId);
tagMapper.deleteDraft(draftId);
}
private ResultObject<Void> saveNewDraft(SaveNewsDTO saveNewsDTO, News news) {
@ -486,12 +488,38 @@ public class NewsService {
if (source != null) {
tagMapper.saveNewsTagRel(newsId, source);
}
// 先查到这个标签有没有关联过
List<NewsTagRel> newsTagRelList = tagMapper.getNewsTagRelList(newsId);
// 频道标签多个批量插
List<Long> fieldArr = saveDraftTag.getFieldArr();
// 如果前端传进来的没有而库里有就删掉
for(NewsTagRel newsTagRel: newsTagRelList){
boolean isIn = false;
for (Long item : fieldArr) {
if(item == newsTagRel.getTagId()){
isIn = true;
}
}
if(!isIn){
tagMapper.deleteNews(newsTagRel.getNewsId());
}
}
if (fieldArr != null) {
for (Long item : fieldArr) {
tagMapper.saveNewsTagRel(newsId, item);
// boolean canSave = true;
// // 先查到这个标签有没有关联过
// for (NewsTagRel newsTagRel : newsTagRelList) {
// if (newsTagRel != null) {
// canSave = false;
// }
// }
// if (canSave) {
// tagMapper.saveNewsTagRel(newsId, item);
// }
}
}
@ -512,7 +540,22 @@ public class NewsService {
if (source != null) {
tagMapper.saveDraftTagRel(draftId, source);
}
// 先查询有没有关联过
List<DraftTagRel> draftTagRelList = tagMapper.getDraftTagRelList(newsId);
List<Long> fieldArr = saveDraftTag.getFieldArr();
// 如果前端传进来的没有而库里有就删掉
for(DraftTagRel draftTagRel: draftTagRelList){
boolean isIn = false;
for (Long item : fieldArr) {
if(item == draftTagRel.getTagId()){
isIn = true;
}
}
if(!isIn){
tagMapper.deleteDraft(draftTagRel.getDraftId());
}
}
if (fieldArr != null) {
for (Long item : fieldArr) {
tagMapper.saveDraftTagRel(draftId, item);
@ -580,7 +623,7 @@ public class NewsService {
int offset = 0;
if (current != null) {
// offset = (Math.max(0, page - current)) * size;
offset = (Math.max(0, current-1)) * size;
offset = (Math.max(0, current - 1)) * size;
}
if (StringUtils.hasText(columnParam)) {

View File

@ -148,6 +148,9 @@ public class TagService {
*/
public ResultObject<Void> sourceDelete(Long id) {
if(tagMapper.countNewsTagRelList(id)> 0 || tagMapper.countDraftTagRelList(id)>0){
return ResultObject.failed("标签已经关联过文章,无法删除");
}
/**
* 目前来源标签写死为1