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("