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. 122
      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 Integer num;
/**
* 标签名称(高级配置里的参数)
* */
private String tagName;
/**
* 排除的标签名称(高级配置里的参数)
* */
private String excludeTagName;
} }

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

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

@ -139,7 +139,7 @@
</appender> </appender>
<!-- 开发、测试环境 --> <!-- 开发、测试环境 -->
<springProfile name="dev,test"> <springProfile name="local,dev,test">
<logger name="org.springframework.web" level="INFO"/> <logger name="org.springframework.web" level="INFO"/>
<logger name="org.springboot.sample" level="INFO"/> <logger name="org.springboot.sample" level="INFO"/>
<logger name="com.epmet.dao" 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 , art.TITLE AS articleTitle ,
IFNULL(artcover.IMG_URL,'') AS articleCoverImg, IFNULL(artcover.IMG_URL,'') AS articleCoverImg,
art.PUBLISHER_NAME AS publishName, art.PUBLISHER_NAME AS publishName,
art.PUBLISH_DATE AS publishDate art.PUBLISH_DATE AS publishDate,
group_concat(tag.TAG_NAME) tags #条件筛选用
FROM FROM
ARTICLE art ARTICLE art
LEFT JOIN article_tags tag ON tag.ARTICLE_ID = art.ID AND tag.DEL_FLAG = '0'
LEFT JOIN ( LEFT JOIN (
SELECT SELECT
@ -222,7 +224,17 @@
art.DEL_FLAG = '0' art.DEL_FLAG = '0'
AND AND
art.STATUS_FLAG = 'published' 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 ORDER BY art.PUBLISH_DATE DESC , art.CREATED_TIME DESC
LIMIT #{num} LIMIT #{num}
</select> </select>

Loading…
Cancel
Save