Browse Source

Merge remote-tracking branch 'remotes/origin/dev_voice' into dev

dev_shibei_match
jianjun 5 years ago
parent
commit
4d97fa343c
  1. 388
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java

388
epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java

@ -56,7 +56,6 @@ import com.epmet.service.*;
import com.epmet.utils.ModuleConstant;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.sun.javafx.binding.StringConstant;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.jsoup.helper.StringUtil;
@ -68,7 +67,6 @@ import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import javax.swing.text.StringContent;
import java.util.*;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.stream.Collectors;
@ -136,8 +134,8 @@ public class ArticleServiceImpl extends BaseServiceImpl<ArticleDao, ArticleEntit
private static final String GRID = "grid";
@Autowired
private ArticleVisitRecordService articleVisitRecordService;
@Autowired
private ArticleVisitRecordService articleVisitRecordService;
/**
* @param tokenDTO
@ -148,26 +146,26 @@ public class ArticleServiceImpl extends BaseServiceImpl<ArticleDao, ArticleEntit
@Override
public ArticleGridResultDTO agencyGridList(TokenDto tokenDTO) {
Result<ArticleGridResultDTO> result = govOrgOpenFeignClient.getAgencyGridList(tokenDTO.getUserId());
if(!result.success()){
if (!result.success()) {
throw new RenException(result.getInternalMsg());
}
return result.getData();
}
/**
* @param tokenDTO
* @return
* @Author sun
* @Description 党建声音-政府端-可选发布单位
**/
@Override
public PublishAgencyListResultDTO publishAgencyList(TokenDto tokenDTO) {
Result<PublishAgencyListResultDTO> result = govOrgOpenFeignClient.getPublishAgencyList(tokenDTO.getUserId());
if(!result.success()){
/**
* @param tokenDTO
* @return
* @Author sun
* @Description 党建声音-政府端-可选发布单位
**/
@Override
public PublishAgencyListResultDTO publishAgencyList(TokenDto tokenDTO) {
Result<PublishAgencyListResultDTO> result = govOrgOpenFeignClient.getPublishAgencyList(tokenDTO.getUserId());
if (!result.success()) {
throw new RenException(result.getInternalMsg());
}
return result.getData();
}
return result.getData();
}
@Override
@Transactional(rollbackFor = Exception.class)
@ -222,10 +220,10 @@ public class ArticleServiceImpl extends BaseServiceImpl<ArticleDao, ArticleEntit
}
private void buildPreviewContent(DraftContentFromDTO fromDTO, DraftEntity draftEntity) {
if (CollectionUtils.isEmpty(fromDTO.getContentList())){
draftEntity.setPreviewContent("");
return;
}
if (CollectionUtils.isEmpty(fromDTO.getContentList())) {
draftEntity.setPreviewContent("");
return;
}
String content = "";
for (int i = 0; i < fromDTO.getContentList().size(); i++) {
if (DraftConstant.TEXT.equals(fromDTO.getContentList().get(i).getContentType())) {
@ -244,22 +242,22 @@ public class ArticleServiceImpl extends BaseServiceImpl<ArticleDao, ArticleEntit
GovArticleDetailResultDTO articleDetail = baseDao.queryGovArticleDetail(articleId);
if (null != articleDetail) {
List<GovArticleContentDTO> articleContentList = baseDao.queryGovArticleContent(articleId);
if(null!=articleContentList&&articleContentList.size()>0){
if (null != articleContentList && articleContentList.size() > 0) {
articleDetail.setArticleContentList(articleContentList);
}else{
} else {
articleDetail.setArticleContentList(new ArrayList<>());
}
if (StringUtils.isNoneBlank(articleDetail.getTags())) {
String[] tagNames = articleDetail.getTags().split("\\|");
articleDetail.setTagNameList(tagNames);
}else{
if (StringUtils.isNoneBlank(articleDetail.getTags())) {
String[] tagNames = articleDetail.getTags().split("\\|");
articleDetail.setTagNameList(tagNames);
} else {
articleDetail.setTagNameList(new String[0]);
}
ArticleEntity articleEntity=this.baseDao.selectById(articleId);
ArticleEntity articleEntity = this.baseDao.selectById(articleId);
log.info(String.format("当前文章id%s,发布人id%s,当前用户id%s", articleId, articleEntity.getCreatedBy(), loginUserUtil.getLoginUserId()));
if(articleEntity.getCreatedBy().equals(loginUserUtil.getLoginUserId())){
if (articleEntity.getCreatedBy().equals(loginUserUtil.getLoginUserId())) {
articleDetail.setIsMePublished(true);
}else{
} else {
articleDetail.setIsMePublished(false);
}
}
@ -268,7 +266,7 @@ public class ArticleServiceImpl extends BaseServiceImpl<ArticleDao, ArticleEntit
@Override
public Boolean saveDraftAttr(TokenDto tokenDto, DraftAttrFromDTO fromDTO) {
log.debug("saveDraftAttr param:{}",JSON.toJSONString(fromDTO));
log.debug("saveDraftAttr param:{}", JSON.toJSONString(fromDTO));
DraftEntity draftEntity = checkDraftStatus(fromDTO.getDraftId());
@ -288,18 +286,18 @@ public class ArticleServiceImpl extends BaseServiceImpl<ArticleDao, ArticleEntit
draftEntity.setPublisherType(fromDTO.getPublisherType());
//TODO ? 如果为机关 不设置?
if(DraftConstant.GRID.equals(fromDTO.getPublisherType())) {
if (DraftConstant.GRID.equals(fromDTO.getPublisherType())) {
draftEntity.setGridId(fromDTO.getPublisher());
}
if (StringUtils.isNotBlank(fromDTO.getPublishDate())){
draftEntity.setPublishDate(DateUtils.stringToDate(fromDTO.getPublishDate(),DateUtils.DATE_PATTERN));
if (StringUtils.isNotBlank(fromDTO.getPublishDate())) {
draftEntity.setPublishDate(DateUtils.stringToDate(fromDTO.getPublishDate(), DateUtils.DATE_PATTERN));
}
//封面
DraftCoverEntity coverEntity = buildCoverEntity(tokenDto, fromDTO);
//发布范围
List<DraftPublishRangeEntity> publishRangeEntityList = buildDraftPublishRange(draftEntity,tokenDto, fromDTO);
List<DraftPublishRangeEntity> publishRangeEntityList = buildDraftPublishRange(draftEntity, tokenDto, fromDTO);
executeSaveDraftAttr(draftEntity, coverEntity, publishRangeEntityList);
@ -309,16 +307,16 @@ public class ArticleServiceImpl extends BaseServiceImpl<ArticleDao, ArticleEntit
private DraftEntity checkDraftStatus(String draftId) {
DraftEntity draftEntity = draftDao.selectById(draftId);
if (draftEntity == null) {
log.warn("saveDraftAttr draftId:{} is not exist in db",draftId);
log.warn("saveDraftAttr draftId:{} is not exist in db", draftId);
throw new RenException(ModuleConstant.DRAFT_ID_IS_NOT_EXIST);
}
if (NumConstant.ONE_STR.equals(draftEntity.getDelFlag())) {
log.warn("saveDraftAttr draftId:{} have deleted",draftId);
log.warn("saveDraftAttr draftId:{} have deleted", draftId);
throw new RenException(ModuleConstant.DRAFT_STATUS_IS_DEL);
}
//只有未发布的和审核失败的才能修改
if (DraftConstant.AUDITING.equals(draftEntity.getStatusFlag()) || DraftConstant.PUBLISHED.equals(draftEntity.getStatusFlag())) {
log.warn("saveDraftAttr draftId:{} publishStatus have published",draftId);
log.warn("saveDraftAttr draftId:{} publishStatus have published", draftId);
throw new RenException(ModuleConstant.DRAFT_STATUS_IS_NOT_ALLOW_MODIFY);
}
return draftEntity;
@ -339,8 +337,8 @@ public class ArticleServiceImpl extends BaseServiceImpl<ArticleDao, ArticleEntit
throw new RenException(ModuleConstant.DRAFT_IS_TOP_ERROR);
}
if ( fromDTO.getPublisherType() != DraftConstant.AGENCY && fromDTO.getPublisherType() != DraftConstant.DEPARTMENT
&&fromDTO.getPublisherType() != DraftConstant.GRID) {
if (fromDTO.getPublisherType() != DraftConstant.AGENCY && fromDTO.getPublisherType() != DraftConstant.DEPARTMENT
&& fromDTO.getPublisherType() != DraftConstant.GRID) {
throw new RenException(ModuleConstant.DRAFT_PUBLISHER_TYPE_ERROR);
}
return saveDraftAttr(tokenDto, fromDTO);
@ -348,7 +346,7 @@ public class ArticleServiceImpl extends BaseServiceImpl<ArticleDao, ArticleEntit
@Override
public Boolean publish(TokenDto tokenDto, String draftId) {
if (StringUtils.isBlank(draftId)){
if (StringUtils.isBlank(draftId)) {
log.warn("publish param error draftId is blank");
throw new RenException(ModuleConstant.DRAFT_ID_IS_NULL);
}
@ -360,24 +358,24 @@ public class ArticleServiceImpl extends BaseServiceImpl<ArticleDao, ArticleEntit
@Transactional(rollbackFor = Exception.class)
public void executeSaveDraftAttr(DraftEntity draftEntity, DraftCoverEntity coverEntity, List<DraftPublishRangeEntity> publishRangeEntityList) {
Map<String,Object> draftIdMap = new HashMap<>();
Map<String, Object> draftIdMap = new HashMap<>();
//物理删除
draftCoverDao.deleteByDraftId(draftEntity.getId());
if (coverEntity != null){
if (coverEntity != null) {
draftCoverDao.insert(coverEntity);
}
//物理删除
draftPublishRangeDao.deleteByDraftId(draftEntity.getId());
if (!CollectionUtils.isEmpty(publishRangeEntityList)){
publishRangeEntityList.forEach(publishRange->draftPublishRangeDao.insert(publishRange));
if (!CollectionUtils.isEmpty(publishRangeEntityList)) {
publishRangeEntityList.forEach(publishRange -> draftPublishRangeDao.insert(publishRange));
}
draftDao.updateById(draftEntity);
}
private List<DraftPublishRangeEntity> buildDraftPublishRange(DraftEntity draftEntity, TokenDto tokenDto, DraftAttrFromDTO fromDTO) {
if (CollectionUtils.isEmpty(fromDTO.getGridIdList())){
return null;
}
if (CollectionUtils.isEmpty(fromDTO.getGridIdList())) {
return null;
}
List<DraftPublishRangeEntity> publishRangeEntityList = new ArrayList<>();
List<String> agencyGridNameList = new ArrayList<>();
@ -386,15 +384,15 @@ public class ArticleServiceImpl extends BaseServiceImpl<ArticleDao, ArticleEntit
log.warn("saveDraftAttr userId:{} have not right access publishRange", tokenDto.getUserId());
throw new RenException(ModuleConstant.GET_USER_CAN_SELECT_GRID_ERROR);
}
buildName(tokenDto,agencyGridNameList,publishRangeEntityList, fromDTO, articleGridResultDTO);
buildAgencyGridNames(tokenDto,agencyGridNameList,publishRangeEntityList, fromDTO, articleGridResultDTO);
buildName(tokenDto, agencyGridNameList, publishRangeEntityList, fromDTO, articleGridResultDTO);
buildAgencyGridNames(tokenDto, agencyGridNameList, publishRangeEntityList, fromDTO, articleGridResultDTO);
draftEntity.setPublishRangeDesc(StringUtils.join(agencyGridNameList, StrConstant.COMMA_ZH));
return publishRangeEntityList;
}
private DraftCoverEntity buildCoverEntity(TokenDto tokenDto, DraftAttrFromDTO fromDTO) {
String coverImg = fromDTO.getCoverImg();
if (StringUtils.isBlank(coverImg)){
if (StringUtils.isBlank(coverImg)) {
return null;
}
DraftCoverEntity coverEntity = new DraftCoverEntity();
@ -409,7 +407,7 @@ public class ArticleServiceImpl extends BaseServiceImpl<ArticleDao, ArticleEntit
private void buildAgencyGridNames(TokenDto tokenDto, List<String> agencyGridNameList, List<DraftPublishRangeEntity> publishRangeEntityList, DraftAttrFromDTO fromDTO, ArticleGridResultDTO articleGridResultDTO) {
articleGridResultDTO.getSubAgencyGridList().forEach(subAgencyGrid -> {
buildName(tokenDto,agencyGridNameList, publishRangeEntityList,fromDTO, subAgencyGrid);
buildName(tokenDto, agencyGridNameList, publishRangeEntityList, fromDTO, subAgencyGrid);
});
if (!CollectionUtils.isEmpty(articleGridResultDTO.getSubAgencyGridList())) {
articleGridResultDTO.getSubAgencyGridList().forEach(subAgencyGrid -> {
@ -422,7 +420,7 @@ public class ArticleServiceImpl extends BaseServiceImpl<ArticleDao, ArticleEntit
private void buildName(TokenDto tokenDto, List<String> agencyGridNameList, List<DraftPublishRangeEntity> publishRangeEntityList, DraftAttrFromDTO fromDTO, ArticleGridResultDTO articleGridResultDTO) {
List<String> gridIdList = fromDTO.getGridIdList();
List<AgencyGridListResultDTO> gridList = articleGridResultDTO.getGridList();
if (!CollectionUtils.isEmpty(gridList)&&!CollectionUtils.isEmpty(gridIdList)) {
if (!CollectionUtils.isEmpty(gridList) && !CollectionUtils.isEmpty(gridIdList)) {
gridList.forEach(grid -> {
if (gridIdList.contains(grid.getGridId())) {
String agencyGridName = articleGridResultDTO.getAgencyName().concat(StrConstant.HYPHEN).concat(grid.getGridName());
@ -483,14 +481,14 @@ public class ArticleServiceImpl extends BaseServiceImpl<ArticleDao, ArticleEntit
@Override
@Transactional(rollbackFor = Exception.class)
public void offLineArticle(OffLineArticleFormDTO formDTO) {
//0:查询文章表数据,判断当前操作人是否是当初发表文章的人(谁发布的文章水才能下线)
ArticleEntity articleEntity = baseDao.selectById(formDTO.getArticleId());
if (null == articleEntity) {
throw new RenException(ArticleConstant.SELECT_ARTICLE_EXCEPTION);
}
if(!formDTO.getStaffId().equals(articleEntity.getCreatedBy())){
throw new RenException(ArticleConstant.SHIRO_EXCEPTION);
}
//0:查询文章表数据,判断当前操作人是否是当初发表文章的人(谁发布的文章水才能下线)
ArticleEntity articleEntity = baseDao.selectById(formDTO.getArticleId());
if (null == articleEntity) {
throw new RenException(ArticleConstant.SELECT_ARTICLE_EXCEPTION);
}
if (!formDTO.getStaffId().equals(articleEntity.getCreatedBy())) {
throw new RenException(ArticleConstant.SHIRO_EXCEPTION);
}
//1:根据文章Id查询全部(已发布、已下线)发布范围数据
ArticlePublishRangeEntity rangeEntity = new ArticlePublishRangeEntity();
@ -554,19 +552,19 @@ public class ArticleServiceImpl extends BaseServiceImpl<ArticleDao, ArticleEntit
recordEntity.setCustomerId(articleEntity.getCustomerId());
recordEntity.setArticleId(formDTO.getArticleId());
recordEntity.setOpUser(articleEntity.getPublisherName() + StrConstant.HYPHEN + staffDTO.getRealName());
//下线文案,分为全部下线和部分下线
String content = "";
if (null == publishedList || publishedList.size() < NumConstant.ONE) {
content = String.format(ArticleConstant.OFF_LINE_ALL_ARTICLE_MSG, articleEntity.getPublisherName(), staffDTO.getRealName(), articleEntity.getTitle());
} else {
StringBuffer offLineRangeDesc = new StringBuffer();
offLineList.forEach(off -> {
offLineRangeDesc.append(offLineRangeDesc.length() > NumConstant.ZERO ? StrConstant.COMMA_ZH : "");
offLineRangeDesc.append(off.getAgencyGridName());
});
content = String.format(ArticleConstant.OFF_LINE_ARTICLE_MSG, articleEntity.getPublisherName(), staffDTO.getRealName(), articleEntity.getTitle(), offLineRangeDesc);
}
recordEntity.setContent(content);
//下线文案,分为全部下线和部分下线
String content = "";
if (null == publishedList || publishedList.size() < NumConstant.ONE) {
content = String.format(ArticleConstant.OFF_LINE_ALL_ARTICLE_MSG, articleEntity.getPublisherName(), staffDTO.getRealName(), articleEntity.getTitle());
} else {
StringBuffer offLineRangeDesc = new StringBuffer();
offLineList.forEach(off -> {
offLineRangeDesc.append(offLineRangeDesc.length() > NumConstant.ZERO ? StrConstant.COMMA_ZH : "");
offLineRangeDesc.append(off.getAgencyGridName());
});
content = String.format(ArticleConstant.OFF_LINE_ARTICLE_MSG, articleEntity.getPublisherName(), staffDTO.getRealName(), articleEntity.getTitle(), offLineRangeDesc);
}
recordEntity.setContent(content);
recordEntity.setOpType(ArticleConstant.OFFLINE);
recordEntity.setOpTime(date);
articleOperateRecordService.insert(recordEntity);
@ -582,7 +580,7 @@ public class ArticleServiceImpl extends BaseServiceImpl<ArticleDao, ArticleEntit
@Override
public PageData publishedArticleList(TokenDto tokenDto, PublishedListFormDTO formDTO) {
PageHelper.startPage(formDTO.getPageNo(),formDTO.getPageSize());
PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize());
List<PublishedListResultDTO> resultList;
List<CustomerStaffRoleResultDTO> roles = epmetUserOpenFeignClient.getStaffRoles(tokenDto.getUserId()).getData();
LoginUserDetailsFormDTO loginUserDetailsFormDTO = new LoginUserDetailsFormDTO();
@ -616,7 +614,7 @@ public class ArticleServiceImpl extends BaseServiceImpl<ArticleDao, ArticleEntit
resultList.forEach(result -> {
String tags = result.getTags();
List<String> tagList = new ArrayList<>();
tagList= Arrays.asList(tags.split("[|]"));
tagList = Arrays.asList(tags.split("[|]"));
result.setTagNameList(tagList);
});
PageInfo<PublishedListResultDTO> pageInfo = new PageInfo<>(resultList);
@ -625,7 +623,7 @@ public class ArticleServiceImpl extends BaseServiceImpl<ArticleDao, ArticleEntit
@Override
public PageData offlineList(TokenDto tokenDto, OfflineListFormDTO formDTO) {
PageHelper.startPage(formDTO.getPageNo(),formDTO.getPageSize());
PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize());
LoginUserDetailsFormDTO loginUserDetailsFormDTO = new LoginUserDetailsFormDTO();
loginUserDetailsFormDTO.setApp(tokenDto.getApp());
@ -637,46 +635,46 @@ public class ArticleServiceImpl extends BaseServiceImpl<ArticleDao, ArticleEntit
return new PageData<>(resultList, pageInfo.getTotal());
}
/**
* @Description 根据网格Id查找置顶文章的相关信息列表 用处:居民端首页轮播
* @param commonArticleListFormDTO :: getGridId :: getNum
* @return List<ArticleBannerResultDTO>
* @author wangc
* @date 2020.06.02 16:13
**/
@Override
public List<ArticleBannerResultDTO> getTopArticleList(CommonArticleListFormDTO commonArticleListFormDTO) {
return baseDao.selectTopArticleMsg(commonArticleListFormDTO.getGridId(),
null == commonArticleListFormDTO.getNum() || commonArticleListFormDTO.getNum() <= NumConstant.ZERO ?
NumConstant.THREE : commonArticleListFormDTO.getNum());
}
/**
* @Description 根据网格Id查找最新文章的相关信息列表 用处:居民端首页最新文章列表
* @param commonArticleListFormDTO :: getGridId :: getNum
* @return List<ArticleLatestResultDTO>
* @author wangc
* @date 2020.06.03 09:53
**/
@Override
public List<ArticleLatestResultDTO> getLatestArticleList(CommonArticleListFormDTO commonArticleListFormDTO) {
return baseDao.selectLatestArticleMsg(commonArticleListFormDTO.getGridId(),
null == commonArticleListFormDTO.getNum() || commonArticleListFormDTO.getNum() <= NumConstant.ZERO ?
NumConstant.FIVE : commonArticleListFormDTO.getNum());
}
/**
* @Description 根据网格Id和标签列表查找文章的相关信息列表 用处:居民端党建声音列表
* @param articlePageFormDTO
* @return List<ArticleListResultDTO>
* @author wangc
* @date 2020.06.03 14:19
**/
@Override
public List<ArticleListResultDTO> getArticleList(ArticlePageFormDTO articlePageFormDTO) {
PageHelper.startPage(articlePageFormDTO.getPageNo(),articlePageFormDTO.getPageSize());
return baseDao.selectArticleList(articlePageFormDTO.getGridId(),articlePageFormDTO.getTagIdList());
}
/**
* @param commonArticleListFormDTO :: getGridId :: getNum
* @return List<ArticleBannerResultDTO>
* @Description 根据网格Id查找置顶文章的相关信息列表 用处:居民端首页轮播
* @author wangc
* @date 2020.06.02 16:13
**/
@Override
public List<ArticleBannerResultDTO> getTopArticleList(CommonArticleListFormDTO commonArticleListFormDTO) {
return baseDao.selectTopArticleMsg(commonArticleListFormDTO.getGridId(),
null == commonArticleListFormDTO.getNum() || commonArticleListFormDTO.getNum() <= NumConstant.ZERO ?
NumConstant.THREE : commonArticleListFormDTO.getNum());
}
/**
* @param commonArticleListFormDTO :: getGridId :: getNum
* @return List<ArticleLatestResultDTO>
* @Description 根据网格Id查找最新文章的相关信息列表 用处:居民端首页最新文章列表
* @author wangc
* @date 2020.06.03 09:53
**/
@Override
public List<ArticleLatestResultDTO> getLatestArticleList(CommonArticleListFormDTO commonArticleListFormDTO) {
return baseDao.selectLatestArticleMsg(commonArticleListFormDTO.getGridId(),
null == commonArticleListFormDTO.getNum() || commonArticleListFormDTO.getNum() <= NumConstant.ZERO ?
NumConstant.FIVE : commonArticleListFormDTO.getNum());
}
/**
* @param articlePageFormDTO
* @return List<ArticleListResultDTO>
* @Description 根据网格Id和标签列表查找文章的相关信息列表 用处:居民端党建声音列表
* @author wangc
* @date 2020.06.03 14:19
**/
@Override
public List<ArticleListResultDTO> getArticleList(ArticlePageFormDTO articlePageFormDTO) {
PageHelper.startPage(articlePageFormDTO.getPageNo(), articlePageFormDTO.getPageSize());
return baseDao.selectArticleList(articlePageFormDTO.getGridId(), articlePageFormDTO.getTagIdList());
}
/**
* @param formDTO
@ -700,7 +698,7 @@ public class ArticleServiceImpl extends BaseServiceImpl<ArticleDao, ArticleEntit
loginUserDetailsFormDTO.setClient("wxmp");
loginUserDetailsFormDTO.setUserId(formDTO.getStaffId());
Result<LoginUserDetailsResultDTO> resultDTOResult = epmetUserOpenFeignClient.getLoginUserDetails(loginUserDetailsFormDTO);
String agencyId = resultDTOResult.getData().getOrgIdPath().substring(resultDTOResult.getData().getOrgIdPath().lastIndexOf(":")+NumConstant.ONE);
String agencyId = resultDTOResult.getData().getOrgIdPath().substring(resultDTOResult.getData().getOrgIdPath().lastIndexOf(":") + NumConstant.ONE);
//存放树的每一个节点对象,用于将同一节点下的网格列表合并(主键:agencyId 值:节点对象)
Map<String, ArticleGridResultDTO> map = new HashMap<>();
//3:循环可下线网格列表,根据pids组织每一个树节点对象信息
@ -753,6 +751,7 @@ public class ArticleServiceImpl extends BaseServiceImpl<ArticleDao, ArticleEntit
List<ArticleGridResultDTO> list = agencyGridListToTree(resultDTOList);
return list.get(NumConstant.ZERO);
}
/**
* @Author sun
* @Description 可下线网格列表-将list转为Tree结构
@ -790,6 +789,7 @@ public class ArticleServiceImpl extends BaseServiceImpl<ArticleDao, ArticleEntit
}
return listParentRecord;
}
/**
* @Author sun
* @Description 可下线网格列表-将list转为Tree结构-递归查询每一个根节点的下级节点集合
@ -818,9 +818,9 @@ public class ArticleServiceImpl extends BaseServiceImpl<ArticleDao, ArticleEntit
}
/**
* @Description 根绝文章Id查询出文章的内容封面等相关信息如果居民端传入的网格Id不在该文章的发布范围内则返回NULL
* @param articleDetailFormDTO
* @return ArticleDetailResultDTO
* @Description 根绝文章Id查询出文章的内容封面等相关信息如果居民端传入的网格Id不在该文章的发布范围内则返回NULL
* @author wangc
* @date 2020.06.03 18:28
**/
@ -828,20 +828,20 @@ public class ArticleServiceImpl extends BaseServiceImpl<ArticleDao, ArticleEntit
@Transactional(rollbackFor = Exception.class)
public ArticleDetailResultDTO getArticleDetail(ResiArticleDetailFormDTO articleDetailFormDTO) {
//1.查询文章详情信息
ArticleDetailResultDTO articleInfo = baseDao.selectArticleDetail(articleDetailFormDTO.getGridId(),articleDetailFormDTO.getArticleId());
if(null == articleInfo) {
throw new RenException(String.format(ModuleConstant.SPECIFIED_ARTICLE_NOT_FOUND_EXCEPTION_TEMPLATE,articleDetailFormDTO.getArticleId(),articleDetailFormDTO.getGridId()));
ArticleDetailResultDTO articleInfo = baseDao.selectArticleDetail(articleDetailFormDTO.getGridId(), articleDetailFormDTO.getArticleId());
if (null == articleInfo) {
throw new RenException(String.format(ModuleConstant.SPECIFIED_ARTICLE_NOT_FOUND_EXCEPTION_TEMPLATE, articleDetailFormDTO.getArticleId(), articleDetailFormDTO.getGridId()));
}
//2.判断当前用户当前文章当前网格是否存在访问记录
Map<String,Object> params = new HashMap<>();
params.put(ModuleConstant.FIELD_GRID_ID_CAMEL,articleDetailFormDTO.getGridId());
params.put(ModuleConstant.FIELD_USER_ID_CAMEL,articleDetailFormDTO.getUserId());
params.put(ModuleConstant.FIELD_ARTICLE_ID_CAMEL,articleDetailFormDTO.getArticleId());
params.put(ModuleConstant.FIELD_CUSTOMER_ID_CAMEL,articleInfo.getCustomerId());
params.put(FieldConstant.DEL_FLAG_HUMP,NumConstant.ZERO_STR);
Map<String, Object> params = new HashMap<>();
params.put(ModuleConstant.FIELD_GRID_ID_CAMEL, articleDetailFormDTO.getGridId());
params.put(ModuleConstant.FIELD_USER_ID_CAMEL, articleDetailFormDTO.getUserId());
params.put(ModuleConstant.FIELD_ARTICLE_ID_CAMEL, articleDetailFormDTO.getArticleId());
params.put(ModuleConstant.FIELD_CUSTOMER_ID_CAMEL, articleInfo.getCustomerId());
params.put(FieldConstant.DEL_FLAG_HUMP, NumConstant.ZERO_STR);
List<ArticleVisitRecordDTO> existedVisitRecord = articleVisitRecordService.list(params);
//3.没有则插入
if(null == existedVisitRecord || existedVisitRecord.size() < NumConstant.ONE){
if (null == existedVisitRecord || existedVisitRecord.size() < NumConstant.ONE) {
ArticleVisitRecordEntity recordToInsert = new ArticleVisitRecordEntity();
recordToInsert.setArticleId(articleDetailFormDTO.getArticleId());
recordToInsert.setGridId(articleDetailFormDTO.getGridId());
@ -856,9 +856,9 @@ public class ArticleServiceImpl extends BaseServiceImpl<ArticleDao, ArticleEntit
}
/**
* @Description 草稿发布文章
* @param draft
* @return String 返回新发布文章的Id
* @Description 草稿发布文章
* @author wangc
* @date 2020.06.05 09:10
**/
@ -866,40 +866,40 @@ public class ArticleServiceImpl extends BaseServiceImpl<ArticleDao, ArticleEntit
public ArticleEntity publishDraftToArticle(DraftEntity draft) {
//1.查找草稿内容
if(null != draft){
if (null != draft) {
//2.查找草稿内容、封面、发布范围
String draftId = draft.getId();
//直接查询改草稿的 封面及内容
List<DraftContentEntity> draftContents = draftContentDao.selectByDraftId(draftId,null);
DraftCoverEntity draftCover = draftCoverDao.selectByDraftId(draftId,null);
List<DraftContentEntity> draftContents = draftContentDao.selectByDraftId(draftId, null);
DraftCoverEntity draftCover = draftCoverDao.selectByDraftId(draftId, null);
List<DraftPublishRangeEntity> draftPublishRange = draftPublishRangeDao.selectByDraftId(draftId);
//3.生成文章以及相关记录
ArticleEntity article = ConvertUtils.sourceToTarget(draft,ArticleEntity.class);
ArticleEntity article = ConvertUtils.sourceToTarget(draft, ArticleEntity.class);
article.setId(null);
article.setDraftId(draftId);
article.setStatusFlag(DraftConstant.PUBLISHED);
baseDao.insert(article);
if(null != draftContents && draftContents.size() > NumConstant.ZERO){
if (null != draftContents && draftContents.size() > NumConstant.ZERO) {
draftContents.forEach(content -> {
content.setOrderNum(content.getOrderNum());
ArticleContentEntity contentToInsert = ConvertUtils.sourceToTarget(content,ArticleContentEntity.class);
ArticleContentEntity contentToInsert = ConvertUtils.sourceToTarget(content, ArticleContentEntity.class);
contentToInsert.setArticleId(article.getId());
contentToInsert.setId(null);
articleContentDao.insert(contentToInsert);
});
}
if(null != draftPublishRange && draftPublishRange.size() > NumConstant.ZERO){
if (null != draftPublishRange && draftPublishRange.size() > NumConstant.ZERO) {
draftPublishRange.forEach(range -> {
range.setPublishStatus(DraftConstant.PUBLISHED);
ArticlePublishRangeEntity rangeToInsert = ConvertUtils.sourceToTarget(range,ArticlePublishRangeEntity.class);
ArticlePublishRangeEntity rangeToInsert = ConvertUtils.sourceToTarget(range, ArticlePublishRangeEntity.class);
rangeToInsert.setArticleId(article.getId());
rangeToInsert.setId(null);
articlePublishRangeDao.insert(rangeToInsert);
draftPublishRangeDao.updateById(range);
});
if(null != draftCover){
ArticleCoverEntity coverToInsert = ConvertUtils.sourceToTarget(draftCover,ArticleCoverEntity.class);
if (null != draftCover) {
ArticleCoverEntity coverToInsert = ConvertUtils.sourceToTarget(draftCover, ArticleCoverEntity.class);
coverToInsert.setArticleId(article.getId());
coverToInsert.setId(null);
articleCoverDao.insert(coverToInsert);
@ -920,7 +920,7 @@ public class ArticleServiceImpl extends BaseServiceImpl<ArticleDao, ArticleEntit
return article;
}
throw new RenException(String.format(ModuleConstant.SPECIFIED_DRAFT_NOT_FOUNT_EXCEPTION_TEMPLATE,draft.getId()));
throw new RenException(String.format(ModuleConstant.SPECIFIED_DRAFT_NOT_FOUNT_EXCEPTION_TEMPLATE, draft.getId()));
}
@Override
@ -942,7 +942,7 @@ public class ArticleServiceImpl extends BaseServiceImpl<ArticleDao, ArticleEntit
}
if (!isOk) {
this.sendMsg(draftEntity.getCustomerId(),draftEntity.getTitle(), String.format(ModuleConstant.MSG_ARTICLE_PUBLISH_ERROR, draftEntity.getTitle()));
this.sendMsg(draftEntity.getCustomerId(), draftEntity.getTitle(), String.format(ModuleConstant.MSG_ARTICLE_PUBLISH_ERROR, draftEntity.getTitle()));
this.updateDraftPublishStatus(draftId, DraftConstant.AUDITFAIL);
return null;
}
@ -977,20 +977,20 @@ public class ArticleServiceImpl extends BaseServiceImpl<ArticleDao, ArticleEntit
Result<SyncScanResult> imgSyncScanResult = null;
Result<SyncScanResult> textSyncScanResult = null;
if(!CollectionUtils.isEmpty(imgScanParamDTO.getTasks())){
log.info("scanContent imgScanParamDTO:{}", JSON.toJSONString(imgScanParamDTO));
if (!CollectionUtils.isEmpty(imgScanParamDTO.getTasks())) {
log.info("scanContent imgScanParamDTO:{}", JSON.toJSONString(imgScanParamDTO));
imgSyncScanResult = ScanContentUtils.imgSyncScan(scanApiUrl.concat(imgSyncScanMethod), imgScanParamDTO);
log.info("scanContent imgSyncScanResult:{}", JSON.toJSONString(imgSyncScanResult));
}
if(!CollectionUtils.isEmpty(textScanParamDTO.getTasks())){
log.info("scanContent textScanParamDTO:{}", JSON.toJSONString(textScanParamDTO));
if (!CollectionUtils.isEmpty(textScanParamDTO.getTasks())) {
log.info("scanContent textScanParamDTO:{}", JSON.toJSONString(textScanParamDTO));
textSyncScanResult = ScanContentUtils.textSyncScan(scanApiUrl.concat(textSyncScanMethod), textScanParamDTO);
log.info("scanContent textSyncScanResult:{}", JSON.toJSONString(textSyncScanResult));
}
result = new SyncScanResult();
if (imgSyncScanResult != null){
if (imgSyncScanResult != null) {
SyncScanResult imgSyncScanResultData = imgSyncScanResult.getData();
if (imgSyncScanResult.success()) {
result.setAllPass(imgSyncScanResultData.isAllPass());
@ -1008,15 +1008,16 @@ public class ArticleServiceImpl extends BaseServiceImpl<ArticleDao, ArticleEntit
}
} catch (Exception e) {
log.error("scanContent exception", e);
this.sendMsg(draftEntity.getCustomerId(),draftEntity.getTitle(), String.format(ModuleConstant.MSG_ARTICLE_PUBLISH_ERROR, draftEntity.getTitle()));
this.sendMsg(draftEntity.getCustomerId(), draftEntity.getTitle(), String.format(ModuleConstant.MSG_ARTICLE_PUBLISH_ERROR, draftEntity.getTitle()));
this.updateDraftPublishStatus(draftId, DraftConstant.AUDITFAIL);
}
log.debug("scanContent result:{}", JSON.toJSONString(result));
return result;
}
@Override
@Transactional(rollbackFor = Exception.class,propagation = Propagation.REQUIRED)
public void scanAllPassPublishArticle(TokenDto tokenDto, String draftId, SyncScanResult syncScanResult){
@Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
public void scanAllPassPublishArticle(TokenDto tokenDto, String draftId, SyncScanResult syncScanResult) {
DraftEntity draft = draftDao.selectById(draftId);
if (draft == null) {
@ -1028,7 +1029,7 @@ public class ArticleServiceImpl extends BaseServiceImpl<ArticleDao, ArticleEntit
this.updateAuditStatusFailById(draftId, syncScanResult);
this.publishDraftToArticle(draft);
UpdateCustomerTagCacheDTO updateCustomerTagCacheDTO = this.updateCustomerTag(tokenDto, draftId);
if (updateCustomerTagCacheDTO == null){
if (updateCustomerTagCacheDTO == null) {
return;
}
List<UpdateGridTagCacheDTO> updateGridTagCacheDTOS = this.updateGridTag(tokenDto, draftId, updateCustomerTagCacheDTO);
@ -1044,31 +1045,31 @@ public class ArticleServiceImpl extends BaseServiceImpl<ArticleDao, ArticleEntit
}
} catch (Exception e) {
log.error("scanAllPassPublishArticle update db exception", e);
this.sendMsg(draft.getCustomerId(),draft.getTitle(), String.format(ModuleConstant.MSG_ARTICLE_PUBLISH_ERROR, draft.getTitle()));
this.sendMsg(draft.getCustomerId(), draft.getTitle(), String.format(ModuleConstant.MSG_ARTICLE_PUBLISH_ERROR, draft.getTitle()));
throw new RenException(EpmetErrorCode.SERVER_ERROR.getCode(), EpmetErrorCode.SERVER_ERROR.getMsg());
}
}
@Override
@Transactional(rollbackFor = Exception.class)
public void updateAuditStatusFailById(String draftId,SyncScanResult syncScanResult) {
public void updateAuditStatusFailById(String draftId, SyncScanResult syncScanResult) {
DraftEntity draft = draftDao.selectById(draftId);
if (draft == null) {
log.error("updateAuditStatusFailById draftId:{} is not exist in db", draftId);
throw new RenException(EpmetErrorCode.INTERNAL_VALIDATE_ERROR.getCode(), EpmetErrorCode.INTERNAL_VALIDATE_ERROR.getMsg());
}
if (syncScanResult.isAllPass()){
if (syncScanResult.isAllPass()) {
this.updateDraftPublishStatus(draftId, DraftConstant.PUBLISHED);
}else{
} else {
this.updateDraftPublishStatus(draftId, DraftConstant.AUDITFAIL);
}
boolean coverFail = false,contentFail = false;
boolean coverFail = false, contentFail = false;
try {
List<String> failDataIds = syncScanResult.getFailDataIds();
for(String id:failDataIds) {
for (String id : failDataIds) {
if (id.indexOf(ModuleConstant.SCAN_COVER_PREFIX) >= NumConstant.ZERO) {
draftCoverDao.updateAuditStatusById(id.replace(ModuleConstant.SCAN_COVER_PREFIX.concat(StrConstant.UNDER_LINE),""), ModuleConstant.AUDIT_STATUS_FAIL);
draftCoverDao.updateAuditStatusById(id.replace(ModuleConstant.SCAN_COVER_PREFIX.concat(StrConstant.UNDER_LINE), ""), ModuleConstant.AUDIT_STATUS_FAIL);
coverFail = true;
} else {
draftContentDao.updateAuditStatusById(id, ModuleConstant.AUDIT_STATUS_FAIL);
@ -1078,21 +1079,22 @@ public class ArticleServiceImpl extends BaseServiceImpl<ArticleDao, ArticleEntit
List<String> successDataIds = syncScanResult.getSuccessDataIds();
successDataIds.forEach(id -> {
if (id.indexOf(ModuleConstant.SCAN_COVER_PREFIX) >= NumConstant.ZERO) {
draftCoverDao.updateAuditStatusById(id.replace(ModuleConstant.SCAN_COVER_PREFIX.concat(StrConstant.UNDER_LINE),""), ModuleConstant.AUDIT_STATUS_PASS);
draftCoverDao.updateAuditStatusById(id.replace(ModuleConstant.SCAN_COVER_PREFIX.concat(StrConstant.UNDER_LINE), ""), ModuleConstant.AUDIT_STATUS_PASS);
} else {
draftContentDao.updateAuditStatusById(id, ModuleConstant.AUDIT_STATUS_PASS);
}
});
if (coverFail || contentFail){
if (coverFail || contentFail) {
String auditMsg = "";
if (coverFail&&contentFail){
if (coverFail && contentFail) {
auditMsg = ModuleConstant.DRAFT_CONTENT_AND_COVER;
}else if (contentFail){
} else if (contentFail) {
auditMsg = ModuleConstant.DRAFT_CONTENT;
}else if (coverFail){
auditMsg = ModuleConstant.DRAFT_COVER;;
} else if (coverFail) {
auditMsg = ModuleConstant.DRAFT_COVER;
;
}
this.sendMsg(draft.getCustomerId(), draft.getTitle(), String.format(ModuleConstant.MSG_AUDIT_CONTENT, draft.getTitle(),auditMsg));
this.sendMsg(draft.getCustomerId(), draft.getTitle(), String.format(ModuleConstant.MSG_AUDIT_CONTENT, draft.getTitle(), auditMsg));
}
} catch (Exception e) {
log.error("scanAllPassPublishArticle update db exception", e);
@ -1107,37 +1109,37 @@ public class ArticleServiceImpl extends BaseServiceImpl<ArticleDao, ArticleEntit
return this.saveOrUpdateContent(tokenDto, fromDTO, false);
}
public Result sendMsg(String customerId, String title,String content) {
public Result sendMsg(String customerId, String title, String content) {
UserMessageFormDTO formDTO = new UserMessageFormDTO();
formDTO.setCustomerId(customerId);
formDTO.setGridId("");
formDTO.setUserId(loginUserUtil.getLoginUserId());
formDTO.setApp(AppClientConstant.APP_GOV);
formDTO.setTitle(String.format(ModuleConstant.MSG_TITLE,title));
formDTO.setTitle(String.format(ModuleConstant.MSG_TITLE, title));
formDTO.setMessageContent(content);
formDTO.setReadFlag(ReadFlagConstant.UN_READ);
return epmetMessageOpenFeignClient.saveUserMessage(formDTO);
}
@Override
public void updateDraftPublishStatus(String draftId,String statusFlag){
draftDao.updateAuditStatusById(draftId,statusFlag);
public void updateDraftPublishStatus(String draftId, String statusFlag) {
draftDao.updateAuditStatusById(draftId, statusFlag);
}
/**
* @Description 更新DB的标签使用次数 政府端
* @param draftId
* @Description 更新DB的标签使用次数 政府端
* @author zxc
*/
public UpdateCustomerTagCacheDTO updateCustomerTag(TokenDto tokenDto, String draftId){
public UpdateCustomerTagCacheDTO updateCustomerTag(TokenDto tokenDto, String draftId) {
//获取草稿基本信息
DraftDTO draft = draftService.get(draftId);
String tags = draft.getTags();
String customerId = draft.getCustomerId();
String userId = tokenDto.getUserId();
UpdateCustomerTagCacheDTO result = null;
if (StringUtils.isNotBlank(tags)){
UpdateCustomerTagCacheDTO result = null;
if (StringUtils.isNotBlank(tags)) {
result = new UpdateCustomerTagCacheDTO();
List<String> tagsList = Arrays.asList(tags.split("\\|"));
List<UpdateTagUseCountsResultDTO> tagsInfo = new ArrayList<>();
@ -1155,37 +1157,37 @@ public class ArticleServiceImpl extends BaseServiceImpl<ArticleDao, ArticleEntit
}
/**
* @Description 更新redis 标签使用数量 标签级联 政府端
* @param formDto
* @Description 更新redis 标签使用数量 标签级联 政府端
* @author zxc
*/
public void updateCacheCustomerTag(UpdateCustomerTagCacheDTO formDto){
public void updateCacheCustomerTag(UpdateCustomerTagCacheDTO formDto) {
List<UpdateTagUseCountsResultDTO> tagsInfo = formDto.getTagsInfo();
String customerId = formDto.getCustomerId();
//更新缓存标签使用数量
tagsInfo.forEach(resultDTO -> {
String customerKey = TagConstant.GOV_TAG_KEY+customerId;
tagRedis.updateTagUseCounts(customerKey,resultDTO);
String customerKey = TagConstant.GOV_TAG_KEY + customerId;
tagRedis.updateTagUseCounts(customerKey, resultDTO);
});
//政府端更新redis的级联标签(set)
List<UpdateTagUseCountsResultDTO> tagsInfoCopy = new ArrayList<>();
for (int i = 0; i < tagsInfo.size(); i++) {
tagsInfoCopy.addAll(tagsInfo);
String key = TagConstant.GOV_RETAG_KEY+customerId+TagConstant.COLON+tagsInfo.get(i).getTagId();
String key = TagConstant.GOV_RETAG_KEY + customerId + TagConstant.COLON + tagsInfo.get(i).getTagId();
tagsInfoCopy.remove(tagsInfo.get(i));
Set<UpdateTagUseCountsResultDTO> setTag = new HashSet<>(tagsInfoCopy);
tagRedis.updateMoreTag(key,setTag);
tagRedis.updateMoreTag(key, setTag);
tagsInfoCopy.clear();
}
}
/**
* @Description 更新数据库 网格下的标签使用数量 居民端
* @param draftId
* @param formDto
* @Description 更新数据库 网格下的标签使用数量 居民端
* @author zxc
*/
public List<UpdateGridTagCacheDTO> updateGridTag(TokenDto tokenDto,String draftId,UpdateCustomerTagCacheDTO formDto){
public List<UpdateGridTagCacheDTO> updateGridTag(TokenDto tokenDto, String draftId, UpdateCustomerTagCacheDTO formDto) {
//获取草稿基本信息
DraftDTO draft = draftService.get(draftId);
String customerId = draft.getCustomerId();
@ -1193,7 +1195,7 @@ public class ArticleServiceImpl extends BaseServiceImpl<ArticleDao, ArticleEntit
String userId = tokenDto.getUserId();
//根据草稿id查询发布范围id集合
List<String> gridIds = draftPublishRangeDao.selectGridIdByDraftId(draftId);
if (gridIds.size() == NumConstant.ZERO){
if (gridIds.size() == NumConstant.ZERO) {
throw new RenException(TagConstant.SELECT_GRIDIDLIST_FAILURE);
}
List<UpdateGridTagsFormDTO> gridTags = new ArrayList<>();
@ -1205,7 +1207,7 @@ public class ArticleServiceImpl extends BaseServiceImpl<ArticleDao, ArticleEntit
gridTagCache.add(cache);
tagsInfo.forEach(resultDTO -> {
UpdateGridTagsFormDTO tag = new UpdateGridTagsFormDTO();
BeanUtils.copyProperties(resultDTO,tag);
BeanUtils.copyProperties(resultDTO, tag);
tag.setCreatedBy(userId);
tag.setUpdatedBy(userId);
tag.setCustomerId(customerId);
@ -1213,43 +1215,43 @@ public class ArticleServiceImpl extends BaseServiceImpl<ArticleDao, ArticleEntit
gridTags.add(tag);
});
});
tagGridDao.updateGridTag(gridTags,userId);
tagGridDao.updateGridTag(gridTags, userId);
return gridTagCache;
}
/**
* @Description 更新redis 网格下的 标签使用数量 级联标签 居民端
* @param gridTagCache
* @Description 更新redis 网格下的 标签使用数量 级联标签 居民端
* @author zxc
*/
public void updateCacheGridTag(List<UpdateGridTagCacheDTO> gridTagCache){
public void updateCacheGridTag(List<UpdateGridTagCacheDTO> gridTagCache) {
//更新 网格下 标签使用数量
List<UpdateTagUseCountsResultDTO> gridTagCacheCopy = new ArrayList<>();
gridTagCache.forEach(cacheDTO -> {
String gridId = cacheDTO.getGridId();
String key = TagConstant.GRID_TAG_KEY+gridId;
String key = TagConstant.GRID_TAG_KEY + gridId;
List<UpdateTagUseCountsResultDTO> tagsInfo = cacheDTO.getTagsInfo();
tagsInfo.forEach(resultDTO -> {
tagRedis.updateTagUseCounts(key,resultDTO);
tagRedis.updateTagUseCounts(key, resultDTO);
});
//级联
for (int i = 0; i < tagsInfo.size(); i++) {
gridTagCacheCopy.addAll(tagsInfo);
String moreKey = TagConstant.GRID_RETAG_KEY+gridId+TagConstant.COLON+tagsInfo.get(i).getTagId();
String moreKey = TagConstant.GRID_RETAG_KEY + gridId + TagConstant.COLON + tagsInfo.get(i).getTagId();
gridTagCacheCopy.remove(tagsInfo.get(i));
Set<UpdateTagUseCountsResultDTO> setTag = new HashSet<>(gridTagCacheCopy);
tagRedis.updateMoreTag(moreKey,setTag);
tagRedis.updateMoreTag(moreKey, setTag);
gridTagCacheCopy.clear();
}
});
}
/**
* @Description 给文章挂标签 article_tags
* @param formDto
* @Description 给文章挂标签 article_tags
* @author zxc
*/
public void addArticleTags(UpdateCustomerTagCacheDTO formDto,String draftId,TokenDto tokenDto){
public void addArticleTags(UpdateCustomerTagCacheDTO formDto, String draftId, TokenDto tokenDto) {
List<AddArticleTagsFormDTO> addArticleTags = new ArrayList<>();
List<UpdateTagUseCountsResultDTO> tagsInfo = formDto.getTagsInfo();
DraftDTO draft = draftService.get(draftId);
@ -1262,7 +1264,7 @@ public class ArticleServiceImpl extends BaseServiceImpl<ArticleDao, ArticleEntit
addArticleTag.setUpdatedBy(userId);
addArticleTag.setCustomerId(customerId);
addArticleTag.setArticleId(articleId);
BeanUtils.copyProperties(resultDTO,addArticleTag);
BeanUtils.copyProperties(resultDTO, addArticleTag);
addArticleTags.add(addArticleTag);
});
articleTagsDao.addArticleTags(addArticleTags);

Loading…
Cancel
Save