From 1e3f6c5d43a34e2136c3ddd5e05d7db41afc0423 Mon Sep 17 00:00:00 2001 From: xpecya Date: Wed, 11 Dec 2024 07:40:28 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E7=AE=A1=E7=90=86=E5=90=8E?= =?UTF-8?q?=E5=8F=B0=E6=96=B0=E9=97=BB=E8=AF=A6=E6=83=85=E9=A1=B5=E4=BF=9D?= =?UTF-8?q?=E5=AD=98=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/controller/NewsController.java | 38 +++++- .../reference/core/mapper/ColumnMapper.java | 15 +++ .../reference/core/mapper/NewsMapper.java | 16 +++ .../reference/core/mapper/TagMapper.java | 6 + .../{SaveDraftDTO.java => SaveNewsDTO.java} | 2 +- .../reference/core/model/entity/News.java | 14 +-- .../core/model/entity/NewsDraft.java | 14 +-- .../reference/core/service/NewsService.java | 112 +++++++++++++++--- 8 files changed, 180 insertions(+), 37 deletions(-) rename core/src/main/java/com/jinrui/reference/core/model/dto/news/{SaveDraftDTO.java => SaveNewsDTO.java} (97%) diff --git a/admin/src/main/java/com/jinrui/reference/admin/controller/NewsController.java b/admin/src/main/java/com/jinrui/reference/admin/controller/NewsController.java index d82a5c6..41a51ca 100644 --- a/admin/src/main/java/com/jinrui/reference/admin/controller/NewsController.java +++ b/admin/src/main/java/com/jinrui/reference/admin/controller/NewsController.java @@ -1,7 +1,7 @@ package com.jinrui.reference.admin.controller; import com.fasterxml.jackson.databind.ObjectMapper; -import com.jinrui.reference.core.model.dto.news.SaveDraftDTO; +import com.jinrui.reference.core.model.dto.news.SaveNewsDTO; import com.jinrui.reference.admin.model.entity.AdminUser; import com.jinrui.reference.core.model.vo.ResultObject; import com.jinrui.reference.core.model.vo.news.NewsVO; @@ -34,9 +34,39 @@ public class NewsController { this.objectMapper = objectMapper; } + @PostMapping("/create/publish") + public ResultObject createPublish(@RequestHeader("auth-token") String token, + @RequestBody SaveNewsDTO saveNewsDTO) { + if (!StringUtils.hasText(token)) { + return ResultObject.failed("登陆Token为空!"); + } + + try { + AdminUser adminUser = AdminJwtService.parseToken(token); + if (adminUser == null) { + log.warn("解析token {}拿不到AdminUser对象!", token); + return ResultObject.failed("登陆Token有误,请联系系统管理员!"); + } + + Long adminUserId = adminUser.getId(); + if (!adminUser.isActive()) { + log.warn("当前用户已被封禁! id = {}", adminUserId); + return ResultObject.failed("当前用户已被封禁!请联系系统管理员!"); + } + + log.info("path: /news/create/publish, method: POST, request user id: {}, param: {}", + adminUserId, objectMapper.writeValueAsString(saveNewsDTO)); + + return newsService.createPublish(adminUserId, saveNewsDTO); + } catch (Exception e) { + log.error("解析登陆Token出错!", e); + return ResultObject.failed(500, "服务端错误,请联系系统管理员!"); + } + } + @PostMapping("/save") public ResultObject saveDraft(@RequestHeader("auth-token") String token, - @RequestBody SaveDraftDTO saveDraftDTO) { + @RequestBody SaveNewsDTO saveNewsDTO) { if (!StringUtils.hasText(token)) { return ResultObject.failed("登陆Token为空!"); } @@ -54,13 +84,13 @@ public class NewsController { } log.info("path: /news/save, method: POST, request user id: {}, param: {}", - adminUser.getId(), objectMapper.writeValueAsString(saveDraftDTO)); + adminUser.getId(), objectMapper.writeValueAsString(saveNewsDTO)); } catch (Exception e) { log.error("解析登陆Token出错!", e); return ResultObject.failed(500, "服务端错误,请联系系统管理员!"); } - return newsService.saveDraft(saveDraftDTO); + return newsService.saveDraft(saveNewsDTO); } @GetMapping diff --git a/core/src/main/java/com/jinrui/reference/core/mapper/ColumnMapper.java b/core/src/main/java/com/jinrui/reference/core/mapper/ColumnMapper.java index 423c162..014385f 100644 --- a/core/src/main/java/com/jinrui/reference/core/mapper/ColumnMapper.java +++ b/core/src/main/java/com/jinrui/reference/core/mapper/ColumnMapper.java @@ -17,6 +17,9 @@ import java.util.Set; public interface ColumnMapper { + @Delete("delete from news_column_rel where news_id = #{newsId}") + void deleteNews(@Param("newsId") Long newsId); + @Delete("delete from draft_column_rel where draft_id = #{draftId}") void deleteDraft(@Param("draftId") Long draftId); @@ -32,6 +35,18 @@ public interface ColumnMapper { ")") void saveDraftColumnRel(@Param("draftId") Long draftId, @Param("columnId") Long columnId, @Param("type") Integer type); + @Insert("