diff --git a/core/src/main/java/com/jinrui/reference/core/mapper/NewsMapper.java b/core/src/main/java/com/jinrui/reference/core/mapper/NewsMapper.java index 632cc55..67be89d 100644 --- a/core/src/main/java/com/jinrui/reference/core/mapper/NewsMapper.java +++ b/core/src/main/java/com/jinrui/reference/core/mapper/NewsMapper.java @@ -19,7 +19,7 @@ import com.jinrui.reference.core.typehandler.JsonArrayTypeHandler; public interface NewsMapper { - @Delete("update news set is_delete = 1, update_time = now(), editor_id = #{editorId} where id = #{newsId} and status = 1") + @Delete("update news set is_delete = 1, update_time = now(), editor_id = #{editorId} where id = #{newsId} and status in (-1, 1) ") int deleteNews(@Param("newsId") Long newsId, @Param("editorId") Long editorId); @Delete("update news set is_delete = 0, update_time = now(), editor_id = #{editorId} where id = #{newsId}") diff --git a/core/src/main/java/com/jinrui/reference/core/service/NewsService.java b/core/src/main/java/com/jinrui/reference/core/service/NewsService.java index 3008223..7790841 100644 --- a/core/src/main/java/com/jinrui/reference/core/service/NewsService.java +++ b/core/src/main/java/com/jinrui/reference/core/service/NewsService.java @@ -162,8 +162,8 @@ public class NewsService { Map industryMap = allIndustrys.stream().collect(Collectors.toMap(Industry::getId, Function.identity())); Long draftId = news.getDraftId(); - if (draftId != null) { - NewsDraft newsDraft = newsMapper.getDraftDetail(draftId); + NewsDraft newsDraft = Optional.ofNullable(draftId).map(e -> newsMapper.getDraftDetail(e)).orElse(null); + if (newsDraft != null) { NewsDetailVO newsDetailVO = new NewsDetailVO(newsDraft); newsDetailVO.setId(id); newsDetailVO.setDeleted(news.getDeleted()); @@ -379,12 +379,10 @@ public class NewsService { return llmFlag; } - @Deprecated public ResultObject createPublish(Long editorId, SaveNewsDTO saveNewsDTO, boolean isReviewer) { Long id = saveNewsDTO.getId(); Long newsId = saveNewsDTO.getId(); Integer newStatus = 2; - Integer oldStatus = (isReviewer ? 4: 3); News news; Long draftId = null; String newsInfoId = null; @@ -402,7 +400,7 @@ public class NewsService { // 已发布 saveNewsDTO.setStatus(2); saveNewsDTO.setPublishTime(new Date()); -// saveNewDraft(saveNewsDTO, null, isReviewer); + saveNewDraft(saveNewsDTO, null, isReviewer?"01":"02"); } Long newIdRl = saveNewsDTO.getId(); @@ -412,9 +410,14 @@ public class NewsService { news.setNewsinfoId(newsInfoId); news.setDraftId(isReviewer ? null: draftId); - int count = newsMapper.updateNews(news, oldStatus); + int count = newsMapper.updateNews(news, 4); if (count == 0) { - return ResultObject.failed("该资讯正在审核中,请勿重复操作"); + if (!isReviewer) { + count = newsMapper.updateNews(news, 3); + } + if (count == 0) { + return ResultObject.failed("该资讯正在审核中,请勿重复操作"); + } } // zzp deleteNewsRel(newsId); @@ -558,7 +561,7 @@ public class NewsService { return ResultObject.failed("请先手动下架新闻然后进行删除!"); } - if (status == 3) { + if (status == 3 || status == 4) { return ResultObject.failed("该资讯正在审核中,请勿重复操作"); } @@ -935,7 +938,7 @@ public class NewsService { newsMap.put(newsVO.getId(), newsVO); } resultList.add(newsVO); - if (isReviewer) { + if (isReviewer||isSecondReviewRange) { newsVO.setSubmitter(this.getNewsLastSubmitter(news.getId())); } }