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
+
+
+
+ SELECT
+ et.ID,
+ et.TOPIC_CONTENT content,
+ ( et.COMMENT_NUM + et.BROWSE_NUM ) AS statementNum
+ FROM
+ esua_epdc_group.epdc_topic et
+ WHERE
+ et.DEL_FLAG = '0'
+ AND et.STATE = 0
+ AND DATE_SUB( CURDATE( ), INTERVAL #{someMonthsType} MONTH ) <= et.CREATED_TIME
+ AND et.GRID_ID IN
+
+ #{deptIdItem}
+
+
+ #{timestamp}
+
+ ORDER BY
+ statementNum DESC
+ LIMIT #{pageIndex},#{pageSize}
+
+
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);
+ }
}