From 781db9865f664cde276b3b42d902006353430e9e Mon Sep 17 00:00:00 2001 From: jianjun Date: Tue, 9 Jun 2020 14:59:39 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=9D=E5=AD=98=E8=8D=89=E7=A8=BF=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E6=8B=86=E5=BC=80=20=E5=88=86=E5=88=AB=E6=A0=A1?= =?UTF-8?q?=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/dto/form/DraftContentFromDTO.java | 5 +-- .../epmet/controller/ArticleController.java | 15 ++++++- .../com/epmet/service/ArticleService.java | 11 ++++- .../service/impl/ArticleServiceImpl.java | 40 ++++++++++++------- .../java/com/epmet/ArticleServiceTest.java | 3 +- 5 files changed, 52 insertions(+), 22 deletions(-) diff --git a/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/DraftContentFromDTO.java b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/DraftContentFromDTO.java index 5d933697d7..44df615c1a 100644 --- a/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/DraftContentFromDTO.java +++ b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/DraftContentFromDTO.java @@ -34,9 +34,7 @@ import java.util.List; public class DraftContentFromDTO implements Serializable { - private static final long serialVersionUID = -4206020151361420221L; - - + private static final long serialVersionUID = -5699594328218833256L; /** * 草稿ID */ @@ -51,6 +49,7 @@ public class DraftContentFromDTO implements Serializable { /** * 内容列表 */ + @NotBlank(message = "文章内容不能为空") private List contentList; @Data diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/ArticleController.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/ArticleController.java index 70b371931f..944fa4b8e7 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/ArticleController.java +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/ArticleController.java @@ -70,6 +70,18 @@ public class ArticleController { return new Result().ok(agencyGridList); } + /** + * desc:政府端-点击返回按钮时,点击保存草稿 无需校验参数 + * @param fromDTO + * @throws Exception + */ + @PostMapping("savedraft") + @RequirePermission(requirePermission = RequirePermissionEnum.WORK_PARTY_VOICE_PUBLISH) + public Result savedraft(@LoginUser TokenDto tokenDto,@RequestBody DraftContentFromDTO fromDTO) throws Exception { + DraftContentSaveResultDTO draftDTO = articleService.saveDraft(tokenDto, fromDTO); + return new Result().ok(draftDTO); + } + /** * desc:保存或修改草稿内容 * @param fromDTO @@ -78,8 +90,7 @@ public class ArticleController { @PostMapping("savecontent") @RequirePermission(requirePermission = RequirePermissionEnum.WORK_PARTY_VOICE_PUBLISH) public Result saveOrUpdateContent(@LoginUser TokenDto tokenDto,@RequestBody DraftContentFromDTO fromDTO) throws Exception { - String draftId = articleService.saveOrUpdateContent(tokenDto, fromDTO); - DraftContentSaveResultDTO resultDTO = new DraftContentSaveResultDTO(draftId); + DraftContentSaveResultDTO resultDTO = articleService.saveOrUpdateContent(tokenDto, fromDTO, true); return new Result().ok(resultDTO); } diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/ArticleService.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/ArticleService.java index 3fa1c7c49b..d9dfea5dff 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/ArticleService.java +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/ArticleService.java @@ -48,9 +48,10 @@ public interface ArticleService extends BaseService { * * @param tokenDto * @param fromDTO + * @param required * @return */ - String saveOrUpdateContent(TokenDto tokenDto, DraftContentFromDTO fromDTO); + DraftContentSaveResultDTO saveOrUpdateContent(TokenDto tokenDto, DraftContentFromDTO fromDTO, boolean required); /** * 政府端:(已发布、已下线)文章详情 @@ -183,4 +184,12 @@ public interface ArticleService extends BaseService { * @param syncScanResult */ void updateAuditStatusFailById(String draftId, SyncScanResult syncScanResult); + + /** + * desc:政府端点击返回时,点击保存草稿 + * @param tokenDto + * @param fromDTO + * @return + */ + DraftContentSaveResultDTO saveDraft(TokenDto tokenDto, DraftContentFromDTO fromDTO); } \ No newline at end of file diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java index d03f674c46..dc2e81b307 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java @@ -166,9 +166,11 @@ public class ArticleServiceImpl extends BaseServiceImpl draftContentList = null; @@ -178,20 +180,18 @@ public class ArticleServiceImpl extends BaseServiceImpl loginUserDetails = epmetUserOpenFeignClient.getLoginUserDetails(detailsFormDTO); - if (loginUserDetails == null || loginUserDetails.getData() == null){ + if (loginUserDetails == null || loginUserDetails.getData() == null) { log.warn("saveOrUpdateContent getloginUserDetails return null"); - throw new RenException(EpmetErrorCode.SERVER_ERROR.getCode(),EpmetErrorCode.SERVER_ERROR.getMsg()); + throw new RenException(EpmetErrorCode.SERVER_ERROR.getCode(), EpmetErrorCode.SERVER_ERROR.getMsg()); } draftEntity = new DraftEntity(); draftEntity.setTitle(fromDTO.getTitle()); @@ -203,7 +203,6 @@ public class ArticleServiceImpl extends BaseServiceImpl draftIdMap = new HashMap<>(); draftIdMap.put(ModuleConstant.FIELD_DRAFT_ID, fromDTO.getDraftId()); draftContentDao.deleteByMap(draftIdMap); - draftContentService.insertBatch(draftContentList); - return draftId; + if (!CollectionUtils.isEmpty(draftContentList)) { + draftContentService.insertBatch(draftContentList); + } + return new DraftContentSaveResultDTO(draftId); } private void buildPreviewContent(DraftContentFromDTO fromDTO, DraftEntity draftEntity) { + if (CollectionUtils.isEmpty(fromDTO.getContentList())){ + draftEntity.setPreviewContent(""); + return; + } for (int i = 0; i < fromDTO.getContentList().size(); i++) { if (DraftConstant.TEXT.equals(fromDTO.getContentList().get(i).getContentType())) { String content = fromDTO.getContentList().get(i).getContent(); @@ -444,9 +445,12 @@ public class ArticleServiceImpl extends BaseServiceImpl buildDraftContent(TokenDto tokenDto, DraftContentFromDTO fromDTO) { + List contentList = fromDTO.getContentList(); + if (CollectionUtils.isEmpty(contentList)) { + return null; + } List newContentList = new ArrayList<>(); - List contentList = fromDTO.getContentList(); for (int i = 0; i < contentList.size(); i++) { DraftContentFromDTO.DraftContentDTO content = contentList.get(i); @@ -460,6 +464,7 @@ public class ArticleServiceImpl extends BaseServiceImpl