Browse Source

查询最新文章列表 添加参数 包含和不包含的标签

dev_shibei_match
jianjun 4 years ago
parent
commit
72497851b4
  1. 9
      epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/CommonArticleListFormDTO.java
  2. 48
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/ArticleDao.java
  3. 2
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java
  4. 2
      epmet-module/gov-voice/gov-voice-server/src/main/resources/logback-spring.xml
  5. 14
      epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/ArticleDao.xml

9
epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/CommonArticleListFormDTO.java

@ -31,4 +31,13 @@ public class CommonArticleListFormDTO implements Serializable {
* */
private Integer num;
/**
* 标签名称(高级配置里的参数)
* */
private String tagName;
/**
* 排除的标签名称(高级配置里的参数)
* */
private String excludeTagName;
}

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

@ -23,7 +23,6 @@ import com.epmet.dto.result.GovArticleDetailResultDTO;
import com.epmet.dto.result.ArticleBannerResultDTO;
import com.epmet.dto.result.ArticleDetailResultDTO;
import com.epmet.dto.result.ArticleLatestResultDTO;
import com.epmet.dto.result.ArticleWithTagsResultDTO;
import com.epmet.entity.ArticleEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -43,105 +42,108 @@ public interface ArticleDao extends BaseDao<ArticleEntity> {
/**
* 政府端查询文章详情
*
* @param articleId
* 文章id
* @param articleId 文章id
*/
GovArticleDetailResultDTO queryGovArticleDetail(String articleId);
/**
* 政府端查询文章详情-内容
*
* @param articleId
* 文章id
* @param articleId 文章id
*/
List<GovArticleContentDTO> queryGovArticleContent(String articleId);
/**
* @Description
* @param formDto
* @Description
* @author zxc
*/
Integer checkPublishArticle(ResiTagListFormDTO formDto);
/**
* 已发布列表---组织工作人员
* @author zhaoqifeng
* @date 2020/6/2 16:59
*
* @param customerId
* @param tagIdList
* @return java.util.List<com.epmet.dto.result.PublishedListResultDTO>
* @author zhaoqifeng
* @date 2020/6/2 16:59
*/
@DataFilter(tableAliases = "a", gridIdsArgName = "gridList")
List<PublishedListResultDTO> selectArticleListForAgency(@Param("customerId") String customerId, @Param("tagIdList") List<String> tagIdList, Set<String> gridList);
/**
* 已发布列表---网格工作人员
* @author zhaoqifeng
* @date 2020/6/5 16:35
*
* @param customerId
* @param tagIdList
* @param gridList
* @return java.util.List<com.epmet.dto.result.PublishedListResultDTO>
* @author zhaoqifeng
* @date 2020/6/5 16:35
*/
List<PublishedListResultDTO> selectArticleListForGrid(@Param("customerId") String customerId,
@Param("tagIdList") List<String> tagIdList,
@Param("gridList")Set<String> gridList);
@Param("gridList") Set<String> gridList);
/**
* 已下线文章列表
* @author zhaoqifeng
* @date 2020/6/3 15:16
*
* @param gridList
* @return java.util.List<com.epmet.dto.result.OfflineListResultDTO>
* @author zhaoqifeng
* @date 2020/6/3 15:16
*/
@DataFilter(tableAliases = "a", gridIdsArgName = "gridList")
List<OfflineListResultDTO> selectOfflineList(Set<String> gridList);
/**
* @Description 根据网格Id查找置顶文章的相关信息列表 用处:居民端首页轮播
* @param gridId
* @param num
* @return List<ArticleBannerResultDTO>
* @Description 根据网格Id查找置顶文章的相关信息列表 用处:居民端首页轮播
* @author wangc
* @date 2020.06.02 16:04
**/
List<ArticleBannerResultDTO> selectTopArticleMsg (@Param("gridId")String gridId,@Param("num")Integer num);
List<ArticleBannerResultDTO> selectTopArticleMsg(@Param("gridId") String gridId, @Param("num") Integer num);
/**
* @Description 根据网格Id查找最新文章的相关信息列表 用处:居民端最新文章列表
* @param gridId
* @param tagName
* @param excludeTagName
* @param num
* @return List<ArticleBannerResultDTO>
* @Description 根据网格Id查找最新文章的相关信息列表 用处:居民端最新文章列表
* @author wangc
* @date 2020.06.02 16:04
**/
List<ArticleLatestResultDTO> selectLatestArticleMsg(@Param("gridId")String gridId,@Param("num")Integer num);
List<ArticleLatestResultDTO> selectLatestArticleMsg(@Param("gridId") String gridId, @Param("tagName") String tagName, @Param("excludeTagName") String excludeTagName, @Param("num") Integer num);
/**
* @Description 根据网格Id和标签列表查找文章的相关信息列表 用处:居民端党建声音列表
* @param gridId
* @param tagIdList
* @return List<ArticleListResultDTO>
* @Description 根据网格Id和标签列表查找文章的相关信息列表 用处:居民端党建声音列表
* @author wangc
* @date 2020.06.03 14:19
**/
List<ArticleListResultDTO> selectArticleList(@Param("gridId") String gridId, @Param("tagIdList")List<String> tagIdList);
List<ArticleListResultDTO> selectArticleList(@Param("gridId") String gridId, @Param("tagIdList") List<String> tagIdList);
/**
* @Description 根绝文章Id查询出文章的内容封面等相关信息如果居民端传入的网格Id不在该文章的发布范围内则返回NULL
* @param gridId
* @param articleId
* @return ArticleDetailResultDTO
* @Description 根绝文章Id查询出文章的内容封面等相关信息如果居民端传入的网格Id不在该文章的发布范围内则返回NULL
* @author wangc
* @date 2020.06.03 18:28
**/
ArticleDetailResultDTO selectArticleDetail(@Param("gridId")String gridId,@Param("articleId")String articleId);
ArticleDetailResultDTO selectArticleDetail(@Param("gridId") String gridId, @Param("articleId") String articleId);
/**
* @Description 根据draftId获取文章id
* @param draftId
* @Description 根据draftId获取文章id
* @author zxc
*/
String getArticleIdByDraftId(@Param("draftId")String draftId);
String getArticleIdByDraftId(@Param("draftId") String draftId);
}

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

@ -688,7 +688,7 @@ public class ArticleServiceImpl extends BaseServiceImpl<ArticleDao, ArticleEntit
**/
@Override
public List<ArticleLatestResultDTO> getLatestArticleList(CommonArticleListFormDTO commonArticleListFormDTO) {
return baseDao.selectLatestArticleMsg(commonArticleListFormDTO.getGridId(),
return baseDao.selectLatestArticleMsg(commonArticleListFormDTO.getGridId(),commonArticleListFormDTO.getTagName(),commonArticleListFormDTO.getExcludeTagName(),
null == commonArticleListFormDTO.getNum() || commonArticleListFormDTO.getNum() <= NumConstant.ZERO ?
NumConstant.FIVE : commonArticleListFormDTO.getNum());
}

2
epmet-module/gov-voice/gov-voice-server/src/main/resources/logback-spring.xml

@ -139,7 +139,7 @@
</appender>
<!-- 开发、测试环境 -->
<springProfile name="dev,test">
<springProfile name="local,dev,test">
<logger name="org.springframework.web" level="INFO"/>
<logger name="org.springboot.sample" level="INFO"/>
<logger name="com.epmet.dao" level="INFO"/>

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

@ -193,9 +193,11 @@
art.TITLE AS articleTitle ,
IFNULL(artcover.IMG_URL,'') AS articleCoverImg,
art.PUBLISHER_NAME AS publishName,
art.PUBLISH_DATE AS publishDate
art.PUBLISH_DATE AS publishDate,
group_concat(tag.TAG_NAME) tags #条件筛选用
FROM
ARTICLE art
LEFT JOIN article_tags tag ON tag.ARTICLE_ID = art.ID AND tag.DEL_FLAG = '0'
LEFT JOIN (
SELECT
@ -222,7 +224,17 @@
art.DEL_FLAG = '0'
AND
art.STATUS_FLAG = 'published'
<if test="(tagName != null and tagName != '') or (excludeTagName != null and excludeTagName != '')">
GROUP BY art.ID
HAVING
<if test="tagName != null and tagName != ''">
FIND_IN_SET(#{tagName},tags)
</if>
<if test="excludeTagName != null and excludeTagName != ''">
AND !FIND_IN_SET(#{excludeTagName},tags)
</if>
</if>
ORDER BY art.PUBLISH_DATE DESC , art.CREATED_TIME DESC
LIMIT #{num}
</select>

Loading…
Cancel
Save