Browse Source

最热话题接口

dev
wanggongfeng 6 years ago
parent
commit
81590efa4d
  1. 41
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/topic/form/HotTopicFormDTO.java
  2. 32
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/topic/result/HotTopicResultDTO.java
  3. 56
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/topic/controller/AppTopicAnalysisController.java
  4. 9
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/topic/dao/TopicAnalysisDao.java
  5. 9
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/topic/service/TopicAnalysisService.java
  6. 9
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/topic/service/impl/TopicAnalysisServiceImpl.java
  7. 25
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/topic/TopicAnalysisDao.xml
  8. 15
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiAnalysisTopicController.java
  9. 5
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/AnalysisTopicFeignClient.java
  10. 7
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/AnalysisTopicFeignClientFallback.java
  11. 9
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/AnalysisTopicService.java
  12. 8
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AnalysisTopicServiceImpl.java

41
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;
}

32
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;
/**
* 话题IdTopicId
*/
private String id;
/**
* 内容
*/
private String content;
/**
* 表态数
*/
private String statementNum;
}

56
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
* <p>
* 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.
* <p>
* 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.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
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;
}
}

9
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<TopicResultDTO> {
* @Date 2020/2/10 12:51
**/
List<TopicResultDTO> selectListLatesttTopicDTO(Map<String, Object> params);
/**
* 最热话题接口
* @param hotTopicFormDTO
* @return
*/
List<HotTopicResultDTO> getHotTopicList(HotTopicFormDTO hotTopicFormDTO,List deptIdList);
}

9
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<TopicResultDTO> listLatestTopic(Map<String, Object> params);
/**
* 最热话题接口
* @param hotTopicFormDTO
* @return
*/
Result getHotTopicList(HotTopicFormDTO hotTopicFormDTO);
}

9
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<TopicAnalysisDao,
return new PageData<>(list, page.getTotal());
}
@Override
public Result getHotTopicList(HotTopicFormDTO hotTopicFormDTO){
List<HotTopicResultDTO> list = baseDao.getHotTopicList(hotTopicFormDTO,SecurityUser.getUser().getDeptIdList());
return new Result().ok(list);
}
}

25
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/topic/TopicAnalysisDao.xml

@ -87,4 +87,29 @@
</if>
order by expressAttitudeNum desc,releaseTime desc
</select>
<!--最热话题APP接口-->
<select id="getHotTopicList" resultType="com.elink.esua.epdc.dto.topic.result.HotTopicResultDTO">
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 ) &lt;= et.CREATED_TIME
AND et.GRID_ID IN
<foreach item="deptIdItem" collection="deptIdList" open="(" separator="," close=")">
#{deptIdItem}
</foreach>
<if test="timestamp != null">
<![CDATA[ AND DATE_FORMAT(et.CREATED_TIME,'%Y-%m-%d %H:%i:%s') <= ]]> #{timestamp}
</if>
ORDER BY
statementNum DESC
LIMIT #{pageIndex},#{pageSize}
</select>
</mapper>

15
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);
}
}

5
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);
}

7
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");
}
}

9
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);
}

8
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);
}
}

Loading…
Cancel
Save