From bf7e6c0b708a9316af5ec1dc2fc2bebc3952a881 Mon Sep 17 00:00:00 2001 From: wangchao Date: Thu, 4 Jun 2020 16:51:29 +0800 Subject: [PATCH] =?UTF-8?q?DTO=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/controller/ArticleController.java | 2 +- .../main/java/com/epmet/dao/ArticleDao.java | 7 +--- .../service/impl/ArticleServiceImpl.java | 1 - .../src/main/resources/mapper/ArticleDao.xml | 1 + .../dto/form/CommonArticleListFormDTO.java | 34 --------------- .../dto/result/ArticleBannerResultDTO.java | 31 -------------- .../dto/result/ArticleLatestResultDTO.java | 41 ------------------ .../epmet/controller/ArticleController.java | 6 +-- .../com/epmet/service/ArticleService.java | 11 +++++ .../service/impl/ArticleServiceImpl.java | 42 +++++++++++++++++++ .../java/com/epmet/utils/ModuleConstant.java | 12 ++++++ 11 files changed, 71 insertions(+), 117 deletions(-) delete mode 100644 epmet-module/resi-home/resi-home-client/src/main/java/com/epmet/dto/form/CommonArticleListFormDTO.java delete mode 100644 epmet-module/resi-home/resi-home-client/src/main/java/com/epmet/dto/result/ArticleBannerResultDTO.java delete mode 100644 epmet-module/resi-home/resi-home-client/src/main/java/com/epmet/dto/result/ArticleLatestResultDTO.java create mode 100644 epmet-module/resi-voice/resi-voice-server/src/main/java/com/epmet/utils/ModuleConstant.java diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/ArticleController.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/ArticleController.java index 6040b192de..fd551fbe25 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/ArticleController.java +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/ArticleController.java @@ -36,7 +36,7 @@ import com.epmet.dto.form.ArticlePageFormDTO; import com.epmet.dto.form.CommonArticleListFormDTO; import com.epmet.dto.result.ArticleBannerResultDTO; import com.epmet.dto.result.ArticleLatestResultDTO; -import com.epmet.dto.result.ArticleListResultDTO; +import com.epmet.dto.result.ArticleWithTagsResultDTO; import com.epmet.excel.ArticleExcel; import com.epmet.service.ArticleOperateRecordService; import com.epmet.service.ArticleService; diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/ArticleDao.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/ArticleDao.java index 57fa72015c..9946d010b2 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/ArticleDao.java +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/ArticleDao.java @@ -23,16 +23,13 @@ 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.ArticleListResultDTO; +import com.epmet.dto.result.ArticleWithTagsResultDTO; import com.epmet.entity.ArticleEntity; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import java.util.List; import java.util.Set; -import org.apache.ibatis.annotations.Param; - -import java.util.List; /** * 文章表 @@ -126,7 +123,7 @@ public interface ArticleDao extends BaseDao { * @author wangc * @date 2020.06.03 14:19 **/ - List selectArticleList(@Param("gridId") String gridId,@Param("tagIdList")List tagIdList); + List selectArticleList(@Param("gridId") String gridId, @Param("tagIdList")List tagIdList); /** * @Description 根绝文章Id查询出文章的内容、封面等相关信息,如果居民端传入的网格Id不在该文章的发布范围内,则返回NULL diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java index 205aecc0d6..5219c1de67 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java @@ -38,7 +38,6 @@ import com.epmet.constant.RoleKeyConstants; import com.epmet.dao.*; import com.epmet.dto.ArticleDTO; import com.epmet.dto.ArticleVisitRecordDTO; -import com.epmet.dto.CustomerAgencyDTO; import com.epmet.dto.CustomerStaffDTO; import com.epmet.dto.feign.GovOrgSelfFeignClient; import com.epmet.dto.form.*; diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/ArticleDao.xml b/epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/ArticleDao.xml index d5f9b7f9a2..14f8875696 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/ArticleDao.xml +++ b/epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/ArticleDao.xml @@ -226,6 +226,7 @@ + diff --git a/epmet-module/resi-home/resi-home-client/src/main/java/com/epmet/dto/form/CommonArticleListFormDTO.java b/epmet-module/resi-home/resi-home-client/src/main/java/com/epmet/dto/form/CommonArticleListFormDTO.java deleted file mode 100644 index 5602cabf48..0000000000 --- a/epmet-module/resi-home/resi-home-client/src/main/java/com/epmet/dto/form/CommonArticleListFormDTO.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.epmet.dto.form; - -import lombok.Data; - -import javax.validation.constraints.NotBlank; -import java.io.Serializable; - -/** - * @Description 居民端首页轮播查询接口DTO - * @ClassName ArticleBannerFormDTO - * @Auth wangc - * @Date 2020-06-02 11:20 - */ -@Data -public class CommonArticleListFormDTO implements Serializable { - private static final long serialVersionUID = 5996259506950697451L; - - /** - * 内部错误分组 - * */ - public interface ArticleBannerInternalGroup{} - - /** - * 网格Id - * */ - @NotBlank(message = "网格Id不能为空" , groups = {ArticleBannerInternalGroup.class}) - private String gridId; - - /** - * 客户定制化条数(高级配置里的参数) - * */ - private Integer num; - -} diff --git a/epmet-module/resi-home/resi-home-client/src/main/java/com/epmet/dto/result/ArticleBannerResultDTO.java b/epmet-module/resi-home/resi-home-client/src/main/java/com/epmet/dto/result/ArticleBannerResultDTO.java deleted file mode 100644 index c88dc10f22..0000000000 --- a/epmet-module/resi-home/resi-home-client/src/main/java/com/epmet/dto/result/ArticleBannerResultDTO.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.epmet.dto.result; - -import lombok.Data; - -import java.io.Serializable; - -/** - * @Description - * @ClassName ArticleBannerResultDTO - * @Auth wangc - * @Date 2020-06-02 13:55 - */ -@Data -public class ArticleBannerResultDTO implements Serializable { - private static final long serialVersionUID = 7764443348626371305L; - - /** - * 文章Id - * */ - private String articleId; - - /** - * 封面图url - * */ - private String coverImg; - - /** - * 标题 - * */ - private String title; -} diff --git a/epmet-module/resi-home/resi-home-client/src/main/java/com/epmet/dto/result/ArticleLatestResultDTO.java b/epmet-module/resi-home/resi-home-client/src/main/java/com/epmet/dto/result/ArticleLatestResultDTO.java deleted file mode 100644 index ce5420f22e..0000000000 --- a/epmet-module/resi-home/resi-home-client/src/main/java/com/epmet/dto/result/ArticleLatestResultDTO.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.epmet.dto.result; - -import lombok.Data; - -import java.io.Serializable; - -/** - * @Description - * @ClassName ArticleLatestResultDTO - * @Auth wangc - * @Date 2020-06-02 17:11 - */ -@Data -public class ArticleLatestResultDTO implements Serializable { - private static final long serialVersionUID = 6953266228209247094L; - - /** - * 文章Id - * */ - private String articleId; - - /** - * 文章封面图片url - * */ - private String articleCoverImg; - - /** - * 文章标题 - * */ - private String articleTitle; - - /** - * 发布单位名称 - * */ - private String publishName; - - /** - * 发布时间(天级别) 时间戳 - * */ - private String publishDate; -} diff --git a/epmet-module/resi-voice/resi-voice-server/src/main/java/com/epmet/controller/ArticleController.java b/epmet-module/resi-voice/resi-voice-server/src/main/java/com/epmet/controller/ArticleController.java index 9096383be1..4a21402b45 100644 --- a/epmet-module/resi-voice/resi-voice-server/src/main/java/com/epmet/controller/ArticleController.java +++ b/epmet-module/resi-voice/resi-voice-server/src/main/java/com/epmet/controller/ArticleController.java @@ -1,8 +1,6 @@ package com.epmet.controller; import com.epmet.commons.tools.annotation.LoginUser; -import com.epmet.commons.tools.annotation.RequirePermission; -import com.epmet.commons.tools.enums.RequirePermissionEnum; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; @@ -59,9 +57,9 @@ public class ArticleController { * @date 2020.06.03 14:19 **/ @PostMapping("articlelist") - public Result> articleList(@RequestBody ArticlePageFormDTO articlePageFormDTO){ + public Result> articleList(@RequestBody ArticlePageFormDTO articlePageFormDTO){ ValidatorUtils.validateEntity(articlePageFormDTO,ArticlePageFormDTO.ArticlePageInternalGroup.class); - return govVoiceFeignClient.resiArticleList(articlePageFormDTO); + return new Result>().ok(articleService.articleList(articlePageFormDTO)); } /** diff --git a/epmet-module/resi-voice/resi-voice-server/src/main/java/com/epmet/service/ArticleService.java b/epmet-module/resi-voice/resi-voice-server/src/main/java/com/epmet/service/ArticleService.java index 853e0a3579..d84c9fb966 100644 --- a/epmet-module/resi-voice/resi-voice-server/src/main/java/com/epmet/service/ArticleService.java +++ b/epmet-module/resi-voice/resi-voice-server/src/main/java/com/epmet/service/ArticleService.java @@ -1,8 +1,10 @@ package com.epmet.service; import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.dto.form.ArticlePageFormDTO; import com.epmet.dto.form.ResiTagListFormDTO; import com.epmet.dto.form.TagCascadeListFormDTO; +import com.epmet.dto.result.ArticleWithTagsResultDTO; import com.epmet.dto.result.TagInfoResultDTO; import java.util.List; @@ -26,4 +28,13 @@ public interface ArticleService { * @author zxc */ List tagCascadeList(TokenDto tokenDto, TagCascadeListFormDTO formDto); + + /** + * @Description 根据网格Id和标签列表查找文章的相关信息列表 用处:居民端党建声音列表 返回的标签以数组形式 + * @param articlePageFormDTO + * @return List + * @author wangc + * @date 2020.06.03 14:19 + **/ + List articleList(ArticlePageFormDTO articlePageFormDTO); } diff --git a/epmet-module/resi-voice/resi-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java b/epmet-module/resi-voice/resi-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java index 7fb0e57bdb..27eb5433d6 100644 --- a/epmet-module/resi-voice/resi-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java +++ b/epmet-module/resi-voice/resi-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java @@ -1,15 +1,28 @@ package com.epmet.service.impl; +import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.utils.Result; import com.epmet.dto.feign.GovVoiceFeignClient; +import com.epmet.dto.form.ArticlePageFormDTO; import com.epmet.dto.form.ResiTagListFormDTO; import com.epmet.dto.form.TagCascadeListFormDTO; +import com.epmet.dto.result.ArticleListResultDTO; +import com.epmet.dto.result.ArticleWithTagsResultDTO; import com.epmet.dto.result.TagInfoResultDTO; import com.epmet.service.ArticleService; +import com.epmet.utils.ModuleConstant; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.Arrays; +import java.util.HashSet; import java.util.List; +import java.util.Set; +import java.util.stream.Collectors; /** @@ -44,4 +57,33 @@ public class ArticleServiceImpl implements ArticleService { // formDto.setCustomerId(tokenDto.getCustomerId()); return govVoiceFeignClient.tagCascadeList(formDto).getData(); } + + /** + * @Description 根据网格Id和标签列表查找文章的相关信息列表 用处:居民端党建声音列表 返回的标签以数组形式 + * @param articlePageFormDTO + * @return List + * @author wangc + * @date 2020.06.03 14:19 + **/ + @Override + public List articleList(ArticlePageFormDTO articlePageFormDTO) { + Result> articles = govVoiceFeignClient.resiArticleList(articlePageFormDTO); + if(articles.success() && null != articles.getData() && articles.getData().size() > NumConstant.ZERO){ + return articles.getData().stream().map(article -> { + ArticleWithTagsResultDTO artObj = ConvertUtils.sourceToTarget(article,ArticleWithTagsResultDTO.class); + artObj.setTagName(new HashSet<>()); + if(StringUtils.isNotBlank(article.getTagName())){ + String[] tagArray = article.getTagName().split(ModuleConstant.VERTICAL_BAR_WITH_ESCAPE_CHARACTER); + if(tagArray.length > NumConstant.ZERO){ + artObj.setTagName(new HashSet<>(Arrays.asList(tagArray))); + } + } + return artObj; + }).collect(Collectors.toList()); + + } + + throw new RenException(articles.getInternalMsg()); + } + } diff --git a/epmet-module/resi-voice/resi-voice-server/src/main/java/com/epmet/utils/ModuleConstant.java b/epmet-module/resi-voice/resi-voice-server/src/main/java/com/epmet/utils/ModuleConstant.java new file mode 100644 index 0000000000..693bdc156d --- /dev/null +++ b/epmet-module/resi-voice/resi-voice-server/src/main/java/com/epmet/utils/ModuleConstant.java @@ -0,0 +1,12 @@ +package com.epmet.utils; + +/** + * 常量类 + * */ +public interface ModuleConstant { + + /** + * 竖线的转义字符表示 + * */ + String VERTICAL_BAR_WITH_ESCAPE_CHARACTER = "\\|"; +}