Browse Source

文章详情

dev
sunyuchao 3 years ago
parent
commit
29ba18680a
  1. 35
      epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/PublishedListResultDTO.java
  2. 12
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/ArticleController.java
  3. 2
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/ArticleService.java
  4. 40
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java
  5. 13
      epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/ArticleDao.xml

35
epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/PublishedListResultDTO.java

@ -5,6 +5,7 @@ import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.LinkedList;
import java.util.List;
/**
@ -25,10 +26,26 @@ public class PublishedListResultDTO implements Serializable {
* 文章标题
*/
private String title;
/**
* 是否置顶 1是0否
*/
private String isTop;
/**
* 是否置顶 1是0否
*/
private String isTopName;
/**
* 发布单位ID
*/
private String publisherId;
/**
* 发布单位
*/
private String publisherName;
/**
* 发布单位类型 机关:agency部门department网格grid
*/
private String publisherType;
/**
* 发布时间
*/
@ -39,9 +56,13 @@ public class PublishedListResultDTO implements Serializable {
@JsonIgnore
private String tags;
/**
* 文章标签列表
* 文章标签列表
*/
private List<String> tagNameList;
/**
* 文章标签Id列表
*/
private List<String> tagIdList;
/**
* 概要内容
*/
@ -66,4 +87,16 @@ public class PublishedListResultDTO implements Serializable {
* 文章创建人
*/
private String createdBy;
/**
* 封面图片url
*/
private String imgUrl;
/**
* 发布范围网格Id集合
*/
private List<String> gridIdList;
/**
* 文章内容
*/
private LinkedList<String> contentList;
}

12
epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/ArticleController.java

@ -419,4 +419,16 @@ public class ArticleController {
return new Result<PageData<PublishedListResultDTO>>().ok(articleService.articleListV2(formDTO));
}
/**
* @param tokenDTO
* @return
* @Author sun
* @Description 数字平台-党建声音-文章详情
**/
@PostMapping("detailV2")
public Result<PublishedListResultDTO> detailV2(@LoginUser TokenDto tokenDTO, @RequestBody ArticleListFormDTO formDTO) {
formDTO.setCustomerId(tokenDTO.getCustomerId());
return new Result<PublishedListResultDTO>().ok(articleService.detailV2(formDTO));
}
}

2
epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/ArticleService.java

@ -245,4 +245,6 @@ public interface ArticleService extends BaseService<ArticleEntity> {
List<ArticleListResultDTO> getArticleListByTag(String tagId, Integer pageNo, Integer pageSize);
PageData<PublishedListResultDTO> articleListV2(ArticleListFormDTO formDTO);
PublishedListResultDTO detailV2(ArticleListFormDTO formDTO);
}

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

@ -18,6 +18,7 @@
package com.epmet.service.impl;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.AppClientConstant;
import com.epmet.commons.tools.constant.FieldConstant;
@ -1477,4 +1478,43 @@ public class ArticleServiceImpl extends BaseServiceImpl<ArticleDao, ArticleEntit
return new PageData<>(list, pageInfo.getTotal());
}
@Override
public PublishedListResultDTO detailV2(ArticleListFormDTO formDTO) {
PublishedListResultDTO resultDTO = new PublishedListResultDTO();
//1.查询文章主表信息
List<PublishedListResultDTO> list = baseDao.selectAllArticle(formDTO);
if (!CollectionUtils.isEmpty(list)) {
resultDTO = list.get(NumConstant.ZERO);
//查询文章涉及的发布范围网络Id列表
LambdaQueryWrapper<ArticlePublishRangeEntity> tWrapper = new LambdaQueryWrapper<>();
tWrapper.eq(ArticlePublishRangeEntity::getArticleId, formDTO.getArticleId());
tWrapper.eq(ArticlePublishRangeEntity::getDelFlag, NumConstant.ZERO_STR);
//【文章下线的查所有发布范围,文章没下线的只查还没下线的发布范围】
if("offline".equals(resultDTO.getStatusFlag())){
tWrapper.eq(ArticlePublishRangeEntity::getPublishStatus, "offline");
}else {
tWrapper.eq(ArticlePublishRangeEntity::getPublishStatus, "published");
}
List<ArticlePublishRangeEntity> entityList = articlePublishRangeDao.selectList(tWrapper);
if (!CollectionUtils.isEmpty(entityList)) {
List<String> contentList = entityList.stream().map(ArticlePublishRangeEntity::getGridId).collect(Collectors.toList());
resultDTO.setGridIdList(contentList);
}
//查询文章内容
LambdaQueryWrapper<ArticleContentEntity> tWrapper1 = new LambdaQueryWrapper<>();
tWrapper1.eq(ArticleContentEntity::getArticleId, formDTO.getArticleId());
tWrapper1.eq(ArticleContentEntity::getDelFlag, NumConstant.ZERO_STR);
tWrapper1.orderByDesc(ArticleContentEntity::getOrderNum);
List<ArticleContentEntity> contentEntityList = articleContentDao.selectList(tWrapper1);
if (!CollectionUtils.isEmpty(entityList)) {
LinkedList<String> contentList = (LinkedList)contentEntityList.stream().map(ArticleContentEntity::getContent).collect(Collectors.toList());
resultDTO.setContentList(contentList);
}
}
return resultDTO;
}
}

13
epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/ArticleDao.xml

@ -431,17 +431,28 @@
a.id AS "articleId",
a.title AS "title",
IFNULL(a.preview_content, "") AS "previewContent",
a.publisher_id AS "publisherId",
a.publisher_name AS "publisherName",
a.publisher_type AS "publisherType",
a.publish_date AS "publishDate",
IFNULL(a.tags, "") AS "tags",
a.status_flag AS "statusFlag",
a.rich_text_flag AS "richTextFlag",
a.created_by AS "createdBy"
a.created_by AS "createdBy",
a.is_top AS "isTop",
IF (a.is_top = '0', '否', '是') "isTopName",
ac.img_url AS "imgUrl"
FROM
article a
LEFT JOIN article_cover ac ON a.id = ac.article_id AND ac.del_flag = '0'
WHERE
a.del_flag = '0'
<if test="articleId != null and articleId != '' ">
AND id = #{articleId}
</if>
<if test="customerId != null and customerId != '' ">
AND a.customer_id = #{customerId}
</if>
<if test="agencyId != null and agencyId != '' ">
AND a.org_id_path like concat('%',#{agencyId},'%')
</if>

Loading…
Cancel
Save