新闻发布

This commit is contained in:
zzpay 2024-12-12 09:36:03 +08:00
parent fbfb5bfc62
commit 2dca3bdb7f
3 changed files with 70 additions and 13 deletions

View File

@ -75,6 +75,8 @@ public interface NewsMapper {
"values (#{draftId}, #{title}, #{summary}, #{picture}, #{type}, #{content}, now(), now(), #{status})")
void saveNews(News news);
@Select("<script>" +
"select " +
"news.id as id," +

View File

@ -3,12 +3,15 @@ package com.jinrui.reference.core.model.dto.news;
import com.jinrui.reference.core.model.vo.news.NewsDetailTag;
import com.jinrui.reference.core.model.vo.news.NewsDetailTagItem;
import java.util.List;
@SuppressWarnings("unused")
public class SaveDraftTag {
private Long source;
private Long field;
private List<Long> fieldArr;
public SaveDraftTag() {}
@ -38,4 +41,12 @@ public class SaveDraftTag {
public void setField(Long field) {
this.field = field;
}
public List<Long> getFieldArr() {
return fieldArr;
}
public void setFieldArr(List<Long> fieldArr) {
this.fieldArr = fieldArr;
}
}

View File

@ -162,6 +162,25 @@ public class NewsService {
}
}
}
List<NewsTagRel> tagRelListNews = tagMapper.getNewsTagRelList(id);
NewsDetailTag newsDetailTag2 = new NewsDetailTag();
newsDetailVO.setTag(newsDetailTag2);
if (!CollectionUtils.isEmpty(tagRelListNews)) {
for (NewsTagRel rel : tagRelListNews) {
Long tagId = rel.getTagId();
Tag tag = tagMap.get(tagId);
Long parentId = tag.getParentId();
NewsDetailTagItem tagItem = new NewsDetailTagItem();
tagItem.setId(tagId);
tagItem.setName(tag.getName());
if (parentId != null && parentId == 1) {
newsDetailTag2.setSource(tagItem);
} else {
newsDetailTag2.setField(tagItem);
}
}
}
return ResultObject.success(newsDetailVO);
}
@ -217,7 +236,7 @@ public class NewsService {
NewsDetailTagItem tagItem = new NewsDetailTagItem();
tagItem.setId(tagId);
tagItem.setName(tag.getName());
if (parentId == 1) {
if (parentId != null && parentId == 1) {
newsDetailTag.setSource(tagItem);
} else {
newsDetailTag.setField(tagItem);
@ -245,8 +264,16 @@ public class NewsService {
saveNewsDTO.setStatus(2);
saveNewsDTO.setPublishTime(new Date());
saveNewDraft(saveNewsDTO, null);
newsId = newsMapper.getLastInsertId();
// newsId = newsMapper.getLastInsertId();
List<News> newList = newsMapper.queryNews(null, null, null, null, "createTime", null, 1, 0);
newsId = newList.get(0).getId();
}
Long newIdRl = null;
if (id == null) {
newIdRl = newsId;
} else {
newIdRl = id;
}
news = new News(saveNewsDTO);
@ -259,13 +286,22 @@ public class NewsService {
if (saveDraftTag != null) {
Long source = saveDraftTag.getSource();
if (source != null) {
tagMapper.saveNewsTagRel(id, source);
tagMapper.saveNewsTagRel(newIdRl, source);
}
Long field = saveDraftTag.getField();
if (field != null) {
tagMapper.saveNewsTagRel(id, field);
// 频道标签多个批量插
List<Long> fieldArr = saveDraftTag.getFieldArr();
if (fieldArr != null) {
for (Long item : fieldArr) {
tagMapper.saveNewsTagRel(newIdRl, item);
}
}
// Long field = saveDraftTag.getField();
// if (field != null) {
// tagMapper.saveNewsTagRel(id, field);
// }
}
} catch (Exception e) {
log.error("保存发布新闻标签出错!", e);
return ResultObject.failed(500, "服务器错误,请联系系统管理员!");
@ -279,7 +315,7 @@ public class NewsService {
Long vipId = vip.getId();
if (vipId != null) {
Integer type = vip.getType();
columnMapper.saveNewsColumnRel(newsId, vipId, type);
columnMapper.saveNewsColumnRel(newIdRl, vipId, type);
}
}
SaveDraftColumnItem earlyKnow = column.getEarlyKnow();
@ -287,7 +323,7 @@ public class NewsService {
Boolean show = earlyKnow.getShow();
if (show != null && show) {
Integer type = earlyKnow.getType();
columnMapper.saveNewsColumnRel(newsId, 13L, null);
columnMapper.saveNewsColumnRel(newIdRl, 13L, null);
}
}
Boolean showEverything = column.getShowEverything();
@ -296,7 +332,7 @@ public class NewsService {
type = earlyKnow.getType();//时间紧暂时把早知道的type挪过来
}
if (showEverything != null && showEverything) {
columnMapper.saveNewsColumnRel(newsId, 14L, type);
columnMapper.saveNewsColumnRel(newIdRl, 14L, type);
}
}
} catch (Exception e) {
@ -419,11 +455,19 @@ public class NewsService {
if (source != null) {
tagMapper.saveDraftTagRel(draftId, source);
}
Long field = saveDraftTag.getField();
if (field != null) {
tagMapper.saveDraftTagRel(draftId, field);
List<Long> fieldArr = saveDraftTag.getFieldArr();
if (fieldArr != null) {
for (Long item : fieldArr) {
tagMapper.saveNewsTagRel(draftId, item);
}
}
// Long field = saveDraftTag.getField();
// if (field != null) {
// tagMapper.saveDraftTagRel(draftId, field);
// }
}
} catch (Exception e) {
log.error("保存草稿标签出错!", e);
return ResultObject.failed(500, "服务器错误,请联系系统管理员!");