|
|
@ -166,32 +166,28 @@ public class ArticleServiceImpl extends BaseServiceImpl<ArticleDao, ArticleEntit |
|
|
|
|
|
|
|
@Override |
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
|
public String saveOrUpdateContent(TokenDto tokenDto, DraftContentFromDTO fromDTO) { |
|
|
|
public DraftContentSaveResultDTO saveOrUpdateContent(TokenDto tokenDto, DraftContentFromDTO fromDTO, boolean required) { |
|
|
|
log.debug("saveOrUpdateContent param:{}", JSON.toJSONString(fromDTO)); |
|
|
|
ValidatorUtils.validateEntity(fromDTO, AddGroup.class, DefaultGroup.class); |
|
|
|
if (required) { |
|
|
|
ValidatorUtils.validateEntity(fromDTO, AddGroup.class, DefaultGroup.class); |
|
|
|
} |
|
|
|
|
|
|
|
DraftEntity draftEntity = null; |
|
|
|
List<DraftContentEntity> draftContentList = null; |
|
|
|
if (StringUtils.isNotBlank(fromDTO.getDraftId())) { |
|
|
|
draftEntity = draftDao.selectById(fromDTO.getDraftId()); |
|
|
|
if (draftEntity == null) { |
|
|
|
log.warn("saveOrUpdateContent draftId is not exist in db"); |
|
|
|
throw new RenException("参数错误"); |
|
|
|
} |
|
|
|
draftEntity.setTitle(draftEntity.getTitle()); |
|
|
|
draftEntity.setPreviewContent(""); |
|
|
|
draftEntity = this.checkDraftStatus(fromDTO.getDraftId()); |
|
|
|
draftEntity.setTitle(StringUtils.isBlank(draftEntity.getTitle()) ? "" : draftEntity.getTitle()); |
|
|
|
buildPreviewContent(fromDTO, draftEntity); |
|
|
|
draftDao.updateById(draftEntity); |
|
|
|
|
|
|
|
} else { |
|
|
|
LoginUserDetailsFormDTO detailsFormDTO = new LoginUserDetailsFormDTO(); |
|
|
|
detailsFormDTO.setUserId(loginUserUtil.getLoginUserId()); |
|
|
|
detailsFormDTO.setApp(loginUserUtil.getLoginUserApp()); |
|
|
|
detailsFormDTO.setClient(loginUserUtil.getLoginUserClient()); |
|
|
|
Result<LoginUserDetailsResultDTO> 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 +199,6 @@ public class ArticleServiceImpl extends BaseServiceImpl<ArticleDao, ArticleEntit |
|
|
|
draftEntity.setGridId(""); |
|
|
|
draftEntity.setDepartmentId(loginUserDetails.getData().getCustomerId()); |
|
|
|
draftEntity.setDelFlag(NumConstant.ZERO_STR); |
|
|
|
draftEntity.setPreviewContent(""); |
|
|
|
buildPreviewContent(fromDTO, draftEntity); |
|
|
|
draftDao.insert(draftEntity); |
|
|
|
} |
|
|
@ -211,19 +206,21 @@ public class ArticleServiceImpl extends BaseServiceImpl<ArticleDao, ArticleEntit |
|
|
|
String draftId = draftEntity.getId(); |
|
|
|
fromDTO.setDraftId(draftId); |
|
|
|
draftContentList = buildDraftContent(tokenDto, fromDTO); |
|
|
|
if (CollectionUtils.isEmpty(draftContentList)) { |
|
|
|
log.warn("saveOrUpdateContent contentList is empty"); |
|
|
|
throw new RenException("参数错误"); |
|
|
|
} |
|
|
|
|
|
|
|
Map<String, Object> 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(); |
|
|
@ -308,11 +305,12 @@ public class ArticleServiceImpl extends BaseServiceImpl<ArticleDao, ArticleEntit |
|
|
|
} |
|
|
|
if (NumConstant.ONE_STR.equals(draftEntity.getDelFlag())) { |
|
|
|
log.warn("saveDraftAttr draftId:{} have deleted",draftId); |
|
|
|
throw new RenException("参数错误"); |
|
|
|
throw new RenException("草稿已删除"); |
|
|
|
} |
|
|
|
if (DraftConstant.PUBLISHED.equals(draftEntity.getStatusFlag())) { |
|
|
|
//只有为发布的才能保存修改
|
|
|
|
if (!DraftConstant.UNPUBLISH.equals(draftEntity.getStatusFlag())) { |
|
|
|
log.warn("saveDraftAttr draftId:{} publishStatus have published"); |
|
|
|
throw new RenException("参数错误"); |
|
|
|
throw new RenException("草稿发布状态错误"); |
|
|
|
} |
|
|
|
return draftEntity; |
|
|
|
} |
|
|
@ -393,7 +391,6 @@ public class ArticleServiceImpl extends BaseServiceImpl<ArticleDao, ArticleEntit |
|
|
|
coverEntity.setImgUrl(coverImg); |
|
|
|
coverEntity.setAuditStatus(ModuleConstant.AUDIT_STATUS_PASS); |
|
|
|
coverEntity.setAuditReason(""); |
|
|
|
coverEntity.setRevision(0); |
|
|
|
coverEntity.setDelFlag(NumConstant.ZERO_STR); |
|
|
|
return coverEntity; |
|
|
|
} |
|
|
@ -425,10 +422,10 @@ public class ArticleServiceImpl extends BaseServiceImpl<ArticleDao, ArticleEntit |
|
|
|
draftPublishRangeEntity.setAgencyGridName(agencyGridName); |
|
|
|
draftPublishRangeEntity.setOffLineTime(null); |
|
|
|
draftPublishRangeEntity.setPublishStatus(DraftConstant.UNPUBLISH); |
|
|
|
draftPublishRangeEntity.setRevision(0); |
|
|
|
draftPublishRangeEntity.setDelFlag(NumConstant.ZERO_STR); |
|
|
|
draftPublishRangeEntity.setPids(articleGridResultDTO.getPids()); |
|
|
|
draftPublishRangeEntity.setAllParentName(articleGridResultDTO.getAllParentName()); |
|
|
|
draftPublishRangeEntity.setAgencyId(articleGridResultDTO.getAgencyId()); |
|
|
|
|
|
|
|
publishRangeEntityList.add(draftPublishRangeEntity); |
|
|
|
} |
|
|
@ -444,9 +441,12 @@ public class ArticleServiceImpl extends BaseServiceImpl<ArticleDao, ArticleEntit |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
private List<DraftContentEntity> buildDraftContent(TokenDto tokenDto, DraftContentFromDTO fromDTO) { |
|
|
|
List<DraftContentFromDTO.DraftContentDTO> contentList = fromDTO.getContentList(); |
|
|
|
if (CollectionUtils.isEmpty(contentList)) { |
|
|
|
return null; |
|
|
|
} |
|
|
|
List<DraftContentEntity> newContentList = new ArrayList<>(); |
|
|
|
|
|
|
|
List<DraftContentFromDTO.DraftContentDTO> contentList = fromDTO.getContentList(); |
|
|
|
|
|
|
|
for (int i = 0; i < contentList.size(); i++) { |
|
|
|
DraftContentFromDTO.DraftContentDTO content = contentList.get(i); |
|
|
@ -460,6 +460,7 @@ public class ArticleServiceImpl extends BaseServiceImpl<ArticleDao, ArticleEntit |
|
|
|
newContentList.add(entity); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
return newContentList; |
|
|
|
} |
|
|
|
|
|
|
@ -906,7 +907,7 @@ public class ArticleServiceImpl extends BaseServiceImpl<ArticleDao, ArticleEntit |
|
|
|
return null; |
|
|
|
} |
|
|
|
|
|
|
|
if (!NumConstant.ONE_STR.equals(draftEntity.getDelFlag())){ |
|
|
|
if (!NumConstant.ZERO_STR.equals(draftEntity.getDelFlag())){ |
|
|
|
log.error("scanContent draftId:{} delFlag:{} is not support 2 modify",draftId,draftEntity.getDelFlag()); |
|
|
|
return null; |
|
|
|
} |
|
|
@ -999,6 +1000,11 @@ public class ArticleServiceImpl extends BaseServiceImpl<ArticleDao, ArticleEntit |
|
|
|
}); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public DraftContentSaveResultDTO saveDraft(TokenDto tokenDto, DraftContentFromDTO fromDTO) { |
|
|
|
return this.saveOrUpdateContent(tokenDto, fromDTO, false); |
|
|
|
} |
|
|
|
|
|
|
|
public Result sendMsg(String title,String content) { |
|
|
|
UserMessageFormDTO formDTO = new UserMessageFormDTO(); |
|
|
|
formDTO.setCustomerId(loginUserUtil.getLoginUserApp()); |
|
|
|