diff --git a/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/AddOrSaveDraftFormDTO.java b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/AddOrSaveDraftFormDTO.java index b9f60f9ea0..6467737355 100644 --- a/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/AddOrSaveDraftFormDTO.java +++ b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/AddOrSaveDraftFormDTO.java @@ -69,4 +69,9 @@ public class AddOrSaveDraftFormDTO implements Serializable { private String userId; private String customerId; + + /** + * 草稿ID + */ + private String draftId; } 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 67ba076d23..18590b1e4a 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 @@ -132,6 +132,8 @@ public class ArticleServiceImpl extends BaseServiceImpl updateGridTagV2(UpdateCustomerTagCacheDTO formDto,String customerId,List gridIds,String userId){ + if (CollectionUtils.isEmpty(gridIds)){ + return new ArrayList<>(); + } List tagsInfo = formDto.getTagsInfo(); List gridTags = new ArrayList<>(); List gridTagCache = new ArrayList<>(); @@ -1369,6 +1374,9 @@ public class ArticleServiceImpl extends BaseServiceImpl gridTagCache) { + if (CollectionUtils.isEmpty(gridTagCache)){ + return; + } //更新 网格下 标签使用数量 List gridTagCacheCopy = new ArrayList<>(); gridTagCache.forEach(cacheDTO -> { @@ -1406,6 +1414,9 @@ public class ArticleServiceImpl extends BaseServiceImpl articleTags = new ArrayList<>(); List tagsInfo = formDto.getTagsInfo(); + if (CollectionUtils.isEmpty(tagsInfo)){ + return; + } tagsInfo.forEach(resultDTO -> { ArticleTagsEntity e = ConvertUtils.sourceToTarget(resultDTO, ArticleTagsEntity.class); e.setCustomerId(customerId); @@ -1479,6 +1490,12 @@ public class ArticleServiceImpl extends BaseServiceImpl DraftConstant.PREVIEW_CONTENT_MAX_LENGTH ? formDTO.getContent().substring(NumConstant.ZERO,DraftConstant.PREVIEW_CONTENT_MAX_LENGTH) : formDTO.getContent()); article.setPublishDate(DateUtils.stringToDate(formDTO.getPublishDate(),DateUtils.DATE_PATTERN)); article.setPublisherId(formDTO.getPublisher()); - article.setPublishRangeDesc(formDTO.getPublishRangeDesc().stream().collect(Collectors.joining("、"))); + article.setPublishRangeDesc(CollectionUtils.isEmpty(formDTO.getPublishRangeDesc()) ? "" : formDTO.getPublishRangeDesc().stream().collect(Collectors.joining("、"))); article.setTags(CollectionUtils.isEmpty(formDTO.getTagNameList()) ? "" : formDTO.getTagNameList().stream().collect(Collectors.joining("|"))); article.setOrgId(staffInfo.getAgencyId()); article.setOrgIdPath(StringUtils.isBlank(agencyInfo.getPids()) || agencyInfo.getPids().equals(NumConstant.ZERO_STR) ? agencyInfo.getId() : agencyInfo.getPids().concat(":").concat(agencyInfo.getId())); @@ -1522,30 +1538,32 @@ public class ArticleServiceImpl extends BaseServiceImpl rangeList = new ArrayList<>(); - formDTO.getGridIdList().forEach(g -> { - GridInfoCache gridInfo = CustomerOrgRedis.getGridInfo(g); - if (null == gridInfo){ - throw new EpmetException("未查询到网格信息:"+g); - } - ArticlePublishRangeEntity articlePublishRange = ConvertUtils.sourceToTarget(gridInfo,ArticlePublishRangeEntity.class); - articlePublishRange.setCustomerId(customerId); - articlePublishRange.setArticleId(article.getId()); - articlePublishRange.setGridId(g); - articlePublishRange.setAgencyGridName(gridInfo.getGridNamePath()); - articlePublishRange.setAgencyId(gridInfo.getPid()); - articlePublishRange.setPublishStatus(ArticleConstant.PUBLISHED); - articlePublishRange.setId(null); - rangeList.add(articlePublishRange); - }); - articlePublishRangeService.insertBatch(rangeList); + if (!CollectionUtils.isEmpty(formDTO.getGridIdList())){ + List rangeList = new ArrayList<>(); + formDTO.getGridIdList().forEach(g -> { + GridInfoCache gridInfo = CustomerOrgRedis.getGridInfo(g); + if (null == gridInfo){ + throw new EpmetException("未查询到网格信息:"+g); + } + ArticlePublishRangeEntity articlePublishRange = ConvertUtils.sourceToTarget(gridInfo,ArticlePublishRangeEntity.class); + articlePublishRange.setCustomerId(customerId); + articlePublishRange.setArticleId(article.getId()); + articlePublishRange.setGridId(g); + articlePublishRange.setAgencyGridName(gridInfo.getGridNamePath()); + articlePublishRange.setAgencyId(gridInfo.getPid()); + articlePublishRange.setPublishStatus(ArticleConstant.PUBLISHED); + articlePublishRange.setId(null); + rangeList.add(articlePublishRange); + }); + articlePublishRangeService.insertBatch(rangeList); + } // 5.文章标签 UpdateCustomerTagCacheDTO updateCustomerTagCacheDTO = updateCustomerTagV2(formDTO.getUserId(), formDTO.getCustomerId(), article.getTags()); addArticleTagsV2(updateCustomerTagCacheDTO,customerId,article.getId()); @@ -1560,7 +1578,51 @@ public class ArticleServiceImpl extends BaseServiceImpl DraftConstant.PREVIEW_CONTENT_MAX_LENGTH ? formDTO.getContent().substring(NumConstant.ZERO,DraftConstant.PREVIEW_CONTENT_MAX_LENGTH) : formDTO.getContent()); + draft.setPublishRangeDesc(CollectionUtils.isEmpty(formDTO.getPublishRangeDesc()) ? "" : formDTO.getPublishRangeDesc().stream().collect(Collectors.joining("、"))); + draft.setPublisherId(formDTO.getPublisher()); + draft.setPublishDate(DateUtils.stringToDate(formDTO.getPublishDate(),DateUtils.DATE_PATTERN)); + draft.setTags(CollectionUtils.isEmpty(formDTO.getTagNameList()) ? "" : formDTO.getTagNameList().stream().collect(Collectors.joining("|"))); + draft.setOrgId(staffInfo.getAgencyId()); + draft.setOrgIdPath(StringUtils.isBlank(agencyInfo.getPids()) || agencyInfo.getPids().equals(NumConstant.ZERO_STR) ? agencyInfo.getId() : agencyInfo.getPids().concat(":").concat(agencyInfo.getId())); + if (formDTO.getPublisherType().equals(DraftConstant.GRID)){ + draft.setGridId(formDTO.getPublisher()); + } + draft.setStatusFlag(DraftConstant.UNPUBLISH); + draftDao.insert(draft); + // 2.内容 + DraftContentEntity draftContent = ConvertUtils.sourceToTarget(draft, DraftContentEntity.class); + draftContent.setCustomerId(customerId); + draftContent.setDraftId(draft.getId()); + draftContent.setContent(formDTO.getContent()); + draftContent.setContentType("rich_text"); + draftContent.setAuditStatus(ArticleConstant.AUDIT_WAY_NO_AUDIT); + draftContent.setOrderNum(NumConstant.ZERO); + draftContentDao.insert(draftContent); + // 3.发布范围 + if (!CollectionUtils.isEmpty(formDTO.getGridIdList())){ + List rangeList = new ArrayList<>(); + formDTO.getGridIdList().forEach(g -> { + GridInfoCache gridInfo = CustomerOrgRedis.getGridInfo(g); + if (null == gridInfo){ + throw new EpmetException("未查询到网格信息:"+g); + } + DraftPublishRangeEntity draftPublishRange = ConvertUtils.sourceToTarget(gridInfo,DraftPublishRangeEntity.class); + draftPublishRange.setCustomerId(customerId); + draftPublishRange.setDraftId(draft.getId()); + draftPublishRange.setGridId(g); + draftPublishRange.setAgencyGridName(gridInfo.getGridNamePath()); + draftPublishRange.setAgencyId(gridInfo.getPid()); + draftPublishRange.setPublishStatus(ArticleConstant.PUBLISHED); + draftPublishRange.setId(null); + rangeList.add(draftPublishRange); + }); + draftPublishRangeService.insertBatch(rangeList); + } } }