Browse Source

数字平台-党建声音-文章列表

master
sunyuchao 3 years ago
parent
commit
9b434b0d56
  1. 20
      epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/PublishedListResultDTO.java
  2. 14
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/ArticleController.java
  3. 3
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/ArticleDao.java
  4. 2
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/ArticleService.java
  5. 28
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java
  6. 52
      epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/ArticleDao.xml

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

@ -46,4 +46,24 @@ public class PublishedListResultDTO implements Serializable {
* 概要内容 * 概要内容
*/ */
private String previewContent; private String previewContent;
/**
* 上下线状态上线published下线offline
*/
private String statusFlag;
/**
* 是不是我发布
*/
private Boolean isMePublished;
/**
* 发布范围
*/
private String publishRangeDesc;
/**
* 1是否富文本类型富文本0不是
*/
private String richTextFlag;
/**
* 文章创建人
*/
private String createdBy;
} }

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

@ -21,6 +21,7 @@ import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.annotation.RequirePermission; import com.epmet.commons.tools.annotation.RequirePermission;
import com.epmet.commons.tools.aop.NoRepeatSubmit; import com.epmet.commons.tools.aop.NoRepeatSubmit;
import com.epmet.commons.tools.enums.RequirePermissionEnum; import com.epmet.commons.tools.enums.RequirePermissionEnum;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.scan.result.SyncScanResult; import com.epmet.commons.tools.scan.result.SyncScanResult;
import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.Result;
@ -405,4 +406,17 @@ public class ArticleController {
return new Result<List<SubjectListResultDTO>>().ok(articleService.subjectList(formDTO)); return new Result<List<SubjectListResultDTO>>().ok(articleService.subjectList(formDTO));
} }
/**
* @param tokenDTO
* @return
* @Author sun
* @Description 数字平台-党建声音-文章列表
**/
@PostMapping("articleListV2")
public Result<PageData<PublishedListResultDTO>> articleListV2(@LoginUser TokenDto tokenDTO, @RequestBody ArticleListFormDTO formDTO) {
formDTO.setCustomerId(tokenDTO.getCustomerId());
formDTO.setStaffId(tokenDTO.getUserId());
return new Result<PageData<PublishedListResultDTO>>().ok(articleService.articleListV2(formDTO));
}
} }

3
epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/ArticleDao.java

@ -16,6 +16,7 @@ package com.epmet.dao;
import com.epmet.commons.mybatis.annotation.DataFilter; import com.epmet.commons.mybatis.annotation.DataFilter;
import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.form.ArticleListFormDTO;
import com.epmet.dto.form.ResiTagListFormDTO; import com.epmet.dto.form.ResiTagListFormDTO;
import com.epmet.dto.result.*; import com.epmet.dto.result.*;
import com.epmet.entity.ArticleEntity; import com.epmet.entity.ArticleEntity;
@ -160,4 +161,6 @@ public interface ArticleDao extends BaseDao<ArticleEntity> {
* @date 2021/7/16 10:29 上午 * @date 2021/7/16 10:29 上午
*/ */
List<SubjectListResultDTO> subjectList(@Param("pidList")List<String> pidList); List<SubjectListResultDTO> subjectList(@Param("pidList")List<String> pidList);
List<PublishedListResultDTO> selectAllArticle(ArticleListFormDTO formDTO);
} }

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

@ -243,4 +243,6 @@ public interface ArticleService extends BaseService<ArticleEntity> {
* @return java.util.List<com.epmet.dto.result.ArticleListResultDTO> * @return java.util.List<com.epmet.dto.result.ArticleListResultDTO>
*/ */
List<ArticleListResultDTO> getArticleListByTag(String tagId, Integer pageNo, Integer pageSize); List<ArticleListResultDTO> getArticleListByTag(String tagId, Integer pageNo, Integer pageSize);
PageData<PublishedListResultDTO> articleListV2(ArticleListFormDTO formDTO);
} }

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

@ -23,10 +23,13 @@ import com.epmet.commons.tools.constant.AppClientConstant;
import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.constant.StrConstant;
import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult;
import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.redis.RedisKeys; import com.epmet.commons.tools.redis.RedisKeys;
import com.epmet.commons.tools.redis.common.CustomerStaffRedis;
import com.epmet.commons.tools.scan.param.ImgScanParamDTO; import com.epmet.commons.tools.scan.param.ImgScanParamDTO;
import com.epmet.commons.tools.scan.param.ImgTaskDTO; import com.epmet.commons.tools.scan.param.ImgTaskDTO;
import com.epmet.commons.tools.scan.param.TextScanParamDTO; import com.epmet.commons.tools.scan.param.TextScanParamDTO;
@ -1449,4 +1452,29 @@ public class ArticleServiceImpl extends BaseServiceImpl<ArticleDao, ArticleEntit
public List<ArticleListResultDTO> getArticleListByTag(String tagId, Integer pageNo, Integer pageSize) { public List<ArticleListResultDTO> getArticleListByTag(String tagId, Integer pageNo, Integer pageSize) {
return baseDao.selectArticleListByTag(tagId, pageNo, pageSize); return baseDao.selectArticleListByTag(tagId, pageNo, pageSize);
} }
@Override
public PageData<PublishedListResultDTO> articleListV2(ArticleListFormDTO formDTO) {
//1.获取工作人员缓存信息
CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getStaffId());
if (null == staffInfo) {
throw new EpmetException("获取工作人员信息失败");
}
//查询当前组织及下级数据
formDTO.setAgencyId(staffInfo.getAgencyId());
//列表查询
PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize(), formDTO.getIsPage());
List<PublishedListResultDTO> list = baseDao.selectAllArticle(formDTO);
PageInfo<PublishedListResultDTO> pageInfo = new PageInfo<>(list);
//封装数据
if (!CollectionUtils.isEmpty(list)) {
list.forEach(l->{
l.setTagNameList(StringUtils.isNotBlank(l.getTags())?Arrays.asList(l.getTags().split("[|]")):new ArrayList<>());
l.setIsMePublished(l.getCreatedBy().equals(loginUserUtil.getLoginUserId())?true:false);
});
}
return new PageData<>(list, pageInfo.getTotal());
}
} }

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

@ -426,4 +426,56 @@
LIMIT #{pageNo}, #{pageSize} LIMIT #{pageNo}, #{pageSize}
</select> </select>
<select id="selectAllArticle" resultType="com.epmet.dto.result.PublishedListResultDTO">
SELECT
a.id AS "articleId",
a.title AS "title",
IFNULL(a.preview_content, "") AS "previewContent",
a.publisher_name AS "publisherName",
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"
FROM
article a
WHERE
a.del_flag = '0'
AND a.customer_id = #{customerId}
<if test="agencyId != null and agencyId != '' ">
AND a.org_id_path like concat('%',#{agencyId},'%')
</if>
<if test="title != null and title.trim() != ''">
AND a.title like concat('%', #{title}, '%')
</if>
<if test="statusFlag != null and statusFlag.trim() != ''">
AND a.status_flag = #{statusFlag}
</if>
<if test="startDate != null and startDate.trim() != ''">
and publish_date >= #{startDate}
</if>
<if test="endDate != null and endDate.trim() != ''">
<![CDATA[and publish_date <= #{endDate}]]>
</if>
<choose>
<when test='publishRangeType == "agency"'>
AND a.org_id_path like concat('%', #{publishRangeId}, '%')
</when>
<otherwise>
AND a.publisher_id = #{publishRangeId}
</otherwise>
</choose>
<if test="tagIds !=null and tagIds.size() > 0">
<foreach collection="tagIds" item="tagId" separator=" ">
AND EXISTS(
SELECT 1 FROM article_tags
WHERE del_flag = '0'
AND article_id = a.id
AND tag_id = #{tagId}
)
</foreach>
</if>
ORDER BY publish_date DESC, updated_time DESC
</select>
</mapper> </mapper>

Loading…
Cancel
Save