|
|
@ -18,6 +18,7 @@ |
|
|
|
package com.epmet.service.impl; |
|
|
|
|
|
|
|
import com.alibaba.fastjson.JSON; |
|
|
|
import com.baomidou.mybatisplus.core.conditions.Wrapper; |
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
|
|
|
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; |
|
|
@ -36,9 +37,7 @@ import com.epmet.constant.ArticleConstant; |
|
|
|
import com.epmet.constant.DraftConstant; |
|
|
|
import com.epmet.constant.RoleKeyConstants; |
|
|
|
import com.epmet.dao.*; |
|
|
|
import com.epmet.dto.ArticleDTO; |
|
|
|
import com.epmet.dto.ArticleVisitRecordDTO; |
|
|
|
import com.epmet.dto.CustomerStaffDTO; |
|
|
|
import com.epmet.dto.*; |
|
|
|
import com.epmet.dto.feign.GovOrgSelfFeignClient; |
|
|
|
import com.epmet.dto.form.*; |
|
|
|
import com.epmet.dto.result.*; |
|
|
@ -92,6 +91,10 @@ public class ArticleServiceImpl extends BaseServiceImpl<ArticleDao, ArticleEntit |
|
|
|
private DraftCoverDao draftCoverDao; |
|
|
|
@Autowired |
|
|
|
private DraftPublishRangeDao draftPublishRangeDao; |
|
|
|
@Autowired |
|
|
|
private ArticleContentDao articleContentDao; |
|
|
|
@Autowired |
|
|
|
private ArticleCoverDao articleCoverDao; |
|
|
|
|
|
|
|
private static final String AGENCY = "agency"; |
|
|
|
private static final String GRID = "grid"; |
|
|
@ -683,4 +686,58 @@ public class ArticleServiceImpl extends BaseServiceImpl<ArticleDao, ArticleEntit |
|
|
|
return articleInfo; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* @Description 草稿发布文章 |
|
|
|
* @param draftId |
|
|
|
* @return String 返回新发布文章的Id |
|
|
|
* @author wangc |
|
|
|
* @date 2020.06.05 09:10 |
|
|
|
**/ |
|
|
|
@Override |
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
|
public String publishDraftToArticle(String draftId) { |
|
|
|
//1.查找草稿内容
|
|
|
|
DraftEntity draft = draftDao.selectById(draftId); |
|
|
|
if(null != draft){ |
|
|
|
//2.查找草稿内容、封面、发布范围
|
|
|
|
List<DraftContentDTO> draftContents = draftContentDao.selectByDraftId(draftId,ModuleConstant.AUDIT_STATUS_PASS); |
|
|
|
DraftCoverDTO draftCover = draftCoverDao.selectByDraftId(draftId,ModuleConstant.AUDIT_STATUS_PASS); |
|
|
|
List<DraftPublishRangeDTO> draftPublishRange = draftPublishRangeDao.selectByDraftId(draftId); |
|
|
|
|
|
|
|
//3.生成文章以及相关记录
|
|
|
|
ArticleEntity article = ConvertUtils.sourceToTarget(draft,ArticleEntity.class); |
|
|
|
article.setId(null); |
|
|
|
article.setDraftId(draftId); |
|
|
|
baseDao.insert(article); |
|
|
|
int order = NumConstant.ONE; |
|
|
|
if(null != draftContents && draftContents.size() > NumConstant.ZERO){ |
|
|
|
draftContents.forEach(content -> { |
|
|
|
content.setOrderNum(order+NumConstant.ONE); |
|
|
|
ArticleContentEntity contentToInsert = ConvertUtils.sourceToTarget(content,ArticleContentEntity.class); |
|
|
|
contentToInsert.setArticleId(article.getId()); |
|
|
|
contentToInsert.setId(null); |
|
|
|
articleContentDao.insert(contentToInsert); |
|
|
|
}); |
|
|
|
} |
|
|
|
if(null != draftPublishRange && draftPublishRange.size() > NumConstant.ZERO){ |
|
|
|
draftPublishRange.forEach(range -> { |
|
|
|
ArticlePublishRangeEntity rangeToInsert = ConvertUtils.sourceToTarget(range,ArticlePublishRangeEntity.class); |
|
|
|
rangeToInsert.setArticleId(article.getId()); |
|
|
|
rangeToInsert.setId(null); |
|
|
|
articlePublishRangeDao.insert(rangeToInsert); |
|
|
|
}); |
|
|
|
if(null != draftCover){ |
|
|
|
ArticleCoverEntity coverToInsert = ConvertUtils.sourceToTarget(draftCover,ArticleCoverEntity.class); |
|
|
|
coverToInsert.setArticleId(article.getId()); |
|
|
|
coverToInsert.setId(null); |
|
|
|
articleCoverDao.insert(coverToInsert); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
return article.getId(); |
|
|
|
} |
|
|
|
|
|
|
|
throw new RenException(String.format(ModuleConstant.SPECIFIED_DRAFT_NOT_FOUNT_EXCEPTION_TEMPLATE,draftId)); |
|
|
|
} |
|
|
|
|
|
|
|
} |