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 lombok.NoArgsConstructor;
import java.io.Serializable; import java.io.Serializable;
import java.util.LinkedList;
import java.util.List; import java.util.List;
/** /**
@ -25,10 +26,26 @@ public class PublishedListResultDTO implements Serializable {
* 文章标题 * 文章标题
*/ */
private String title; private String title;
/**
* 是否置顶 1是0否
*/
private String isTop;
/**
* 是否置顶 1是0否
*/
private String isTopName;
/**
* 发布单位ID
*/
private String publisherId;
/** /**
* 发布单位 * 发布单位
*/ */
private String publisherName; private String publisherName;
/**
* 发布单位类型 机关:agency部门department网格grid
*/
private String publisherType;
/** /**
* 发布时间 * 发布时间
*/ */
@ -39,9 +56,13 @@ public class PublishedListResultDTO implements Serializable {
@JsonIgnore @JsonIgnore
private String tags; private String tags;
/** /**
* 文章标签列表 * 文章标签列表
*/ */
private List<String> tagNameList; private List<String> tagNameList;
/**
* 文章标签Id列表
*/
private List<String> tagIdList;
/** /**
* 概要内容 * 概要内容
*/ */
@ -66,4 +87,16 @@ public class PublishedListResultDTO implements Serializable {
* 文章创建人 * 文章创建人
*/ */
private String createdBy; 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)); 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); List<ArticleListResultDTO> getArticleListByTag(String tagId, Integer pageNo, Integer pageSize);
PageData<PublishedListResultDTO> articleListV2(ArticleListFormDTO formDTO); 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; package com.epmet.service.impl;
import com.alibaba.fastjson.JSON; 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.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.AppClientConstant; import com.epmet.commons.tools.constant.AppClientConstant;
import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.FieldConstant;
@ -1477,4 +1478,43 @@ public class ArticleServiceImpl extends BaseServiceImpl<ArticleDao, ArticleEntit
return new PageData<>(list, pageInfo.getTotal()); 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.id AS "articleId",
a.title AS "title", a.title AS "title",
IFNULL(a.preview_content, "") AS "previewContent", IFNULL(a.preview_content, "") AS "previewContent",
a.publisher_id AS "publisherId",
a.publisher_name AS "publisherName", a.publisher_name AS "publisherName",
a.publisher_type AS "publisherType",
a.publish_date AS "publishDate", a.publish_date AS "publishDate",
IFNULL(a.tags, "") AS "tags", IFNULL(a.tags, "") AS "tags",
a.status_flag AS "statusFlag", a.status_flag AS "statusFlag",
a.rich_text_flag AS "richTextFlag", 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 FROM
article a article a
LEFT JOIN article_cover ac ON a.id = ac.article_id AND ac.del_flag = '0'
WHERE WHERE
a.del_flag = '0' 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} AND a.customer_id = #{customerId}
</if>
<if test="agencyId != null and agencyId != '' "> <if test="agencyId != null and agencyId != '' ">
AND a.org_id_path like concat('%',#{agencyId},'%') AND a.org_id_path like concat('%',#{agencyId},'%')
</if> </if>

Loading…
Cancel
Save