From 81590efa4d518108f1e3f9279c8e22c082ebb5bd Mon Sep 17 00:00:00 2001 From: wanggongfeng <1305282856@qq.com> Date: Tue, 11 Feb 2020 12:48:05 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9C=80=E7=83=AD=E8=AF=9D=E9=A2=98=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epdc/dto/topic/form/HotTopicFormDTO.java | 41 ++++++++++++++ .../dto/topic/result/HotTopicResultDTO.java | 32 +++++++++++ .../AppTopicAnalysisController.java | 56 +++++++++++++++++++ .../modules/topic/dao/TopicAnalysisDao.java | 9 +++ .../topic/service/TopicAnalysisService.java | 9 +++ .../impl/TopicAnalysisServiceImpl.java | 9 +++ .../mapper/topic/TopicAnalysisDao.xml | 25 +++++++++ .../ApiAnalysisTopicController.java | 15 ++++- .../epdc/feign/AnalysisTopicFeignClient.java | 5 +- .../AnalysisTopicFeignClientFallback.java | 7 ++- .../epdc/service/AnalysisTopicService.java | 9 +++ .../impl/AnalysisTopicServiceImpl.java | 8 ++- 12 files changed, 220 insertions(+), 5 deletions(-) create mode 100644 esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/topic/form/HotTopicFormDTO.java create mode 100644 esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/topic/result/HotTopicResultDTO.java create mode 100644 esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/topic/controller/AppTopicAnalysisController.java diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/topic/form/HotTopicFormDTO.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/topic/form/HotTopicFormDTO.java new file mode 100644 index 000000000..28e619c38 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/topic/form/HotTopicFormDTO.java @@ -0,0 +1,41 @@ +package com.elink.esua.epdc.dto.topic.form; + +import lombok.Data; + +import javax.validation.constraints.Min; +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Description 最热话题接口入参DTO + * @Author wgf + * @Date 2020/2/11 10:31 + */ +@Data +public class HotTopicFormDTO implements Serializable { + private static final long serialVersionUID = -1938141144074477454L; + + /** + * 页码,从1开始 + */ + @Min(value = 1, message = "页码必须大于0") + private int pageIndex; + + /** + * 页容量,默认10页 + */ + @Min(value = 1, message = "每页条数必须大于必须大于0") + private int pageSize = 10; + + /** + * 第一页查询发起时的时间 + */ + @NotBlank(message = "时间戳不能为空") + private String timestamp; + + /** + * 数据时间类型(1:最近1个月,2:最近3个月,3:最近半年,4:最近一年),默认1 + */ + @NotBlank(message = "数据时间类型不能为空") + private int someMonthsType = 1; +} diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/topic/result/HotTopicResultDTO.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/topic/result/HotTopicResultDTO.java new file mode 100644 index 000000000..7bb84bc1f --- /dev/null +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/topic/result/HotTopicResultDTO.java @@ -0,0 +1,32 @@ +package com.elink.esua.epdc.dto.topic.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description 话题列表DTO + * @Author yinzuomei + * @Date 2020/2/10 11:31 + */ +@Data +public class HotTopicResultDTO implements Serializable { + private static final long serialVersionUID = -1938141144074477454L; + + /** + * 话题Id(TopicId) + */ + private String id; + + /** + * 内容 + */ + private String content; + + /** + * 表态数 + */ + private String statementNum; + + +} diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/topic/controller/AppTopicAnalysisController.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/topic/controller/AppTopicAnalysisController.java new file mode 100644 index 000000000..0de037bbc --- /dev/null +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/topic/controller/AppTopicAnalysisController.java @@ -0,0 +1,56 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.modules.topic.controller; + +import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dto.topic.form.HotTopicFormDTO; +import com.elink.esua.epdc.modules.topic.service.TopicAnalysisService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +/** + * 话题相关接口APP + * + * @author wanggongfeng + * @since v1.0.0 2020-02-11 + */ +@RestController +@RequestMapping("apptopic") +public class AppTopicAnalysisController { + + @Autowired + private TopicAnalysisService topicAnalysisService; + + /** + * @param hotTopicFormDTO + * @return com.elink.esua.epdc.dto.result.TopicResultDTO + * @Author wanggongfeng + * @Description 最热话题接口 + * @Date 2020/2/11 11:12 + **/ + @GetMapping("getHotTopicList") + public Result getHotTopicList(@RequestBody HotTopicFormDTO hotTopicFormDTO) { + Result result = topicAnalysisService.getHotTopicList(hotTopicFormDTO); + return result; + } + +} diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/topic/dao/TopicAnalysisDao.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/topic/dao/TopicAnalysisDao.java index b09de2822..9a1e6ec5b 100644 --- a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/topic/dao/TopicAnalysisDao.java +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/topic/dao/TopicAnalysisDao.java @@ -18,6 +18,8 @@ package com.elink.esua.epdc.modules.topic.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.elink.esua.epdc.dto.topic.form.HotTopicFormDTO; +import com.elink.esua.epdc.dto.topic.result.HotTopicResultDTO; import com.elink.esua.epdc.dto.topic.result.TopicResultDTO; import org.apache.ibatis.annotations.Mapper; @@ -50,4 +52,11 @@ public interface TopicAnalysisDao extends BaseMapper { * @Date 2020/2/10 12:51 **/ List selectListLatesttTopicDTO(Map params); + + /** + * 最热话题接口 + * @param hotTopicFormDTO + * @return + */ + List getHotTopicList(HotTopicFormDTO hotTopicFormDTO,List deptIdList); } diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/topic/service/TopicAnalysisService.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/topic/service/TopicAnalysisService.java index cc848f5d1..d9ac672dc 100644 --- a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/topic/service/TopicAnalysisService.java +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/topic/service/TopicAnalysisService.java @@ -18,6 +18,8 @@ package com.elink.esua.epdc.modules.topic.service; import com.elink.esua.epdc.commons.tools.page.PageData; +import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dto.topic.form.HotTopicFormDTO; import com.elink.esua.epdc.dto.topic.result.TopicResultDTO; import java.util.Map; @@ -46,4 +48,11 @@ public interface TopicAnalysisService { * @Date 2020/2/10 12:50 **/ PageData listLatestTopic(Map params); + + /** + * 最热话题接口 + * @param hotTopicFormDTO + * @return + */ + Result getHotTopicList(HotTopicFormDTO hotTopicFormDTO); } diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/topic/service/impl/TopicAnalysisServiceImpl.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/topic/service/impl/TopicAnalysisServiceImpl.java index 8924eda8d..eb59e0786 100644 --- a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/topic/service/impl/TopicAnalysisServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/topic/service/impl/TopicAnalysisServiceImpl.java @@ -5,8 +5,11 @@ import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl; import com.elink.esua.epdc.commons.tools.page.PageData; import com.elink.esua.epdc.commons.tools.security.user.SecurityUser; import com.elink.esua.epdc.commons.tools.security.user.UserDetail; +import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.datasources.DataSourceNames; import com.elink.esua.epdc.datasources.annotation.DataSource; +import com.elink.esua.epdc.dto.topic.form.HotTopicFormDTO; +import com.elink.esua.epdc.dto.topic.result.HotTopicResultDTO; import com.elink.esua.epdc.dto.topic.result.TopicResultDTO; import com.elink.esua.epdc.modules.topic.dao.TopicAnalysisDao; import com.elink.esua.epdc.modules.topic.service.TopicAnalysisService; @@ -57,5 +60,11 @@ public class TopicAnalysisServiceImpl extends BaseServiceImpl(list, page.getTotal()); } + @Override + public Result getHotTopicList(HotTopicFormDTO hotTopicFormDTO){ + List list = baseDao.getHotTopicList(hotTopicFormDTO,SecurityUser.getUser().getDeptIdList()); + return new Result().ok(list); + } + } diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/topic/TopicAnalysisDao.xml b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/topic/TopicAnalysisDao.xml index 138652452..9d7d2bc7f 100644 --- a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/topic/TopicAnalysisDao.xml +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/topic/TopicAnalysisDao.xml @@ -87,4 +87,29 @@ order by expressAttitudeNum desc,releaseTime desc + + + + diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiAnalysisTopicController.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiAnalysisTopicController.java index 2d6e6f961..a6dee654d 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiAnalysisTopicController.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiAnalysisTopicController.java @@ -3,10 +3,11 @@ package com.elink.esua.epdc.controller; import com.elink.esua.epdc.common.token.dto.TokenDto; import com.elink.esua.epdc.commons.tools.annotation.LoginUser; import com.elink.esua.epdc.commons.tools.utils.Result; -import com.elink.esua.epdc.service.AnalysisItemService; +import com.elink.esua.epdc.dto.topic.form.HotTopicFormDTO; import com.elink.esua.epdc.service.AnalysisTopicService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -34,4 +35,16 @@ public class ApiAnalysisTopicController { public Result test(@LoginUser TokenDto tokenDto) { return analysisTopicService.test(); } + + /** + * 最热话题接口 + + * @Return: com.elink.esua.epdc.commons.tools.utils.Result<> + * @Author: wgf + * @Date: 2020/02/11 09:45 + */ + @GetMapping("getHotTopicList") + public Result getHotTopicList(@LoginUser TokenDto tokenDto, @RequestBody HotTopicFormDTO hotTopicFormDTO) { + return analysisTopicService.getHotTopicList(hotTopicFormDTO); + } } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/AnalysisTopicFeignClient.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/AnalysisTopicFeignClient.java index 96071c8e1..1689963f7 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/AnalysisTopicFeignClient.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/AnalysisTopicFeignClient.java @@ -3,7 +3,7 @@ package com.elink.esua.epdc.feign; import com.elink.esua.epdc.commons.tools.constant.ServiceConstant; import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.config.FeignRequestInterceptor; -import com.elink.esua.epdc.feign.fallback.AnalysisIssueFeignClientFallback; +import com.elink.esua.epdc.dto.topic.form.HotTopicFormDTO; import com.elink.esua.epdc.feign.fallback.AnalysisTopicFeignClientFallback; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.http.MediaType; @@ -28,6 +28,9 @@ public interface AnalysisTopicFeignClient { @GetMapping(value = "analysis/item/test", consumes = MediaType.APPLICATION_JSON_VALUE) Result test(); + @GetMapping(value = "analysis/apptopic/getHotTopicList", consumes = MediaType.APPLICATION_JSON_VALUE) + Result getHotTopicList(HotTopicFormDTO hotTopicFormDTO); + } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/AnalysisTopicFeignClientFallback.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/AnalysisTopicFeignClientFallback.java index 62a35a351..043480430 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/AnalysisTopicFeignClientFallback.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/AnalysisTopicFeignClientFallback.java @@ -3,7 +3,7 @@ package com.elink.esua.epdc.feign.fallback; import com.elink.esua.epdc.commons.tools.constant.ServiceConstant; import com.elink.esua.epdc.commons.tools.utils.ModuleUtils; import com.elink.esua.epdc.commons.tools.utils.Result; -import com.elink.esua.epdc.feign.AnalysisIssueFeignClient; +import com.elink.esua.epdc.dto.topic.form.HotTopicFormDTO; import com.elink.esua.epdc.feign.AnalysisTopicFeignClient; import org.springframework.stereotype.Component; @@ -20,4 +20,9 @@ public class AnalysisTopicFeignClientFallback implements AnalysisTopicFeignClien return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "test"); } + @Override + public Result getHotTopicList(HotTopicFormDTO hotTopicFormDTO) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "getHotTopicList"); + } + } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/AnalysisTopicService.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/AnalysisTopicService.java index 145d55187..dd61d6c88 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/AnalysisTopicService.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/AnalysisTopicService.java @@ -1,6 +1,7 @@ package com.elink.esua.epdc.service; import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dto.topic.form.HotTopicFormDTO; /** * 项目模块-数据分析移动端 @@ -18,5 +19,13 @@ public interface AnalysisTopicService { */ Result test(); + /** + * 最热话题 + * @Return: com.elink.esua.epdc.commons.tools.utils.Result<> + * @Author: wanggongfeng + * @return + */ + Result getHotTopicList(HotTopicFormDTO hotTopicFormDTO); + } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AnalysisTopicServiceImpl.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AnalysisTopicServiceImpl.java index 582b1ff6b..896ecafec 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AnalysisTopicServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AnalysisTopicServiceImpl.java @@ -2,9 +2,8 @@ package com.elink.esua.epdc.service.impl; import com.elink.esua.epdc.commons.tools.utils.Result; -import com.elink.esua.epdc.feign.AnalysisIssueFeignClient; +import com.elink.esua.epdc.dto.topic.form.HotTopicFormDTO; import com.elink.esua.epdc.feign.AnalysisTopicFeignClient; -import com.elink.esua.epdc.service.AnalysisIssueService; import com.elink.esua.epdc.service.AnalysisTopicService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -26,4 +25,9 @@ public class AnalysisTopicServiceImpl implements AnalysisTopicService { public Result test() { return analysisTopicFeignClient.test(); } + + @Override + public Result getHotTopicList(HotTopicFormDTO hotTopicFormDTO) { + return analysisTopicFeignClient.getHotTopicList(hotTopicFormDTO); + } }