Browse Source

最新发布话题接口

dev
wanggongfeng 6 years ago
parent
commit
886461d8b7
  1. 41
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/topic/form/NewHotTopicFormDTO.java
  2. 43
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/topic/result/NewHotTopicResultDTO.java
  3. 14
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/topic/controller/AppTopicAnalysisController.java
  4. 12
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/topic/dao/TopicAnalysisDao.java
  5. 8
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/topic/service/TopicAnalysisService.java
  6. 28
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/topic/service/impl/TopicAnalysisServiceImpl.java
  7. 48
      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. 4
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/AnalysisTopicFeignClient.java
  10. 6
      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. 6
      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/NewHotTopicFormDTO.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 NewHotTopicFormDTO 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;
}

43
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/topic/result/NewHotTopicResultDTO.java

@ -0,0 +1,43 @@
package com.elink.esua.epdc.dto.topic.result;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @Description 话题列表DTO
* @Author yinzuomei
* @Date 2020/2/10 11:31
*/
@Data
public class NewHotTopicResultDTO implements Serializable {
private static final long serialVersionUID = -1938141144074477454L;
/**
* 话题IdTopicId
*/
private String id;
/**
* 内容
*/
private String content;
/**
* 图片
*/
private List<String> images;
/**
* 部门名称
*/
private String deptName;
/**
* 创建时间
*/
private String createdTime;
}

14
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/topic/controller/AppTopicAnalysisController.java

@ -19,6 +19,7 @@ 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.dto.topic.form.NewHotTopicFormDTO;
import com.elink.esua.epdc.modules.topic.service.TopicAnalysisService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
@ -53,4 +54,17 @@ public class AppTopicAnalysisController {
return result;
}
/**
* @param newHotTopicFormDTO
* @return com.elink.esua.epdc.dto.result.TopicResultDTO
* @Author wanggongfeng
* @Description 最新发布话题接口
* @Date 2020/2/11 11:12
**/
@GetMapping("getNewTopicList")
public Result getNewTopicList(@RequestBody NewHotTopicFormDTO newHotTopicFormDTO) {
Result result = topicAnalysisService.getNewTopicList(newHotTopicFormDTO);
return result;
}
}

12
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/topic/dao/TopicAnalysisDao.java

@ -19,9 +19,12 @@ 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.form.NewHotTopicFormDTO;
import com.elink.esua.epdc.dto.topic.result.HotTopicResultDTO;
import com.elink.esua.epdc.dto.topic.result.NewHotTopicResultDTO;
import com.elink.esua.epdc.dto.topic.result.TopicResultDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
@ -58,5 +61,12 @@ public interface TopicAnalysisDao extends BaseMapper<TopicResultDTO> {
* @param hotTopicFormDTO
* @return
*/
List<HotTopicResultDTO> getHotTopicList(HotTopicFormDTO hotTopicFormDTO,List deptIdList);
List<HotTopicResultDTO> selectHotTopicList(@Param("hotTopicFormDTO")HotTopicFormDTO hotTopicFormDTO,@Param("deptIdList")List<Long> deptIdList);
/**
* 最新发布话题接口
* @param newHotTopicFormDTO
* @return
*/
List<NewHotTopicResultDTO> selectNewHotTopicList(@Param("newHotTopicFormDTO")NewHotTopicFormDTO newHotTopicFormDTO, @Param("deptIdList")List<Long> deptIdList);
}

8
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/topic/service/TopicAnalysisService.java

@ -20,6 +20,7 @@ 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.form.NewHotTopicFormDTO;
import com.elink.esua.epdc.dto.topic.result.TopicResultDTO;
import java.util.Map;
@ -55,4 +56,11 @@ public interface TopicAnalysisService {
* @return
*/
Result getHotTopicList(HotTopicFormDTO hotTopicFormDTO);
/**
* 最新发布话题接口
* @param newHotTopicFormDTO
* @return
*/
Result getNewTopicList(NewHotTopicFormDTO newHotTopicFormDTO);
}

28
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/topic/service/impl/TopicAnalysisServiceImpl.java

@ -9,7 +9,9 @@ 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.form.NewHotTopicFormDTO;
import com.elink.esua.epdc.dto.topic.result.HotTopicResultDTO;
import com.elink.esua.epdc.dto.topic.result.NewHotTopicResultDTO;
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;
@ -66,9 +68,33 @@ public class TopicAnalysisServiceImpl extends BaseServiceImpl<TopicAnalysisDao,
return new PageData<>(list, page.getTotal());
}
/**
* 最热话题接口
* @param hotTopicFormDTO
* @Author wanggongfeng
* @return
*/
@Override
public Result getHotTopicList(HotTopicFormDTO hotTopicFormDTO){
List<HotTopicResultDTO> list = baseDao.getHotTopicList(hotTopicFormDTO,SecurityUser.getUser().getDeptIdList());
List<HotTopicResultDTO> list = baseDao.selectHotTopicList(hotTopicFormDTO,SecurityUser.getUser().getDeptIdList());
return new Result().ok(list);
}
/**
* 最新发布话题接口
* @param newHotTopicFormDTO
* @Author wanggongfeng
* @return
*/
@Override
public Result getNewTopicList(NewHotTopicFormDTO newHotTopicFormDTO){
//List<Long> aaa = SecurityUser.getUser().getDeptIdList();
/*Long long1 = 1169158285790900226L;
Long long2 = 1169158285790900226L;
List<Long> list2 = new ArrayList<Long>();
list2.add(long1);
list2.add(long2);*/
List<NewHotTopicResultDTO> list = baseDao.selectNewHotTopicList(newHotTopicFormDTO,SecurityUser.getUser().getDeptIdList());
return new Result().ok(list);
}

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

@ -89,7 +89,7 @@
</select>
<!--最热话题APP接口-->
<select id="getHotTopicList" resultType="com.elink.esua.epdc.dto.topic.result.HotTopicResultDTO">
<select id="selectHotTopicList" resultType="com.elink.esua.epdc.dto.topic.result.HotTopicResultDTO">
SELECT
et.ID,
et.TOPIC_CONTENT content,
@ -99,17 +99,55 @@
WHERE
et.DEL_FLAG = '0'
AND et.STATE = 0
AND DATE_SUB( CURDATE( ), INTERVAL #{someMonthsType} MONTH ) &lt;= et.CREATED_TIME
AND DATE_SUB( CURDATE( ), INTERVAL #{hotTopicFormDTO.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 test="hotTopicFormDTO.timestamp != null">
<![CDATA[ AND DATE_FORMAT(et.CREATED_TIME,'%Y-%m-%d %H:%i:%s') <= ]]> #{hotTopicFormDTO.timestamp}
</if>
ORDER BY
statementNum DESC
LIMIT #{pageIndex},#{pageSize}
LIMIT #{hotTopicFormDTO.pageIndex},#{hotTopicFormDTO.pageSize}
</select>
<!--最新发布话题APP接口-->
<resultMap id="newHotTopicListMap" type="com.elink.esua.epdc.dto.topic.result.NewHotTopicResultDTO">
<result property="id" column="ID"/>
<result property="content" column="TOPIC_CONTENT"/>
<result property="deptName" column="ALL_DEPT_NAMES"/>
<result property="createdTime" column="CREATED_TIME"/>
<collection property="images" ofType="java.lang.String">
<result property="image" column="IMG_URL"/>
</collection>
</resultMap>
<select id="selectNewHotTopicList" resultMap="newHotTopicListMap">
SELECT
et.ID,
et.TOPIC_CONTENT,
timg.IMG_URL,
et.ALL_DEPT_NAMES,
et.CREATED_TIME
FROM
esua_epdc_group.epdc_topic et
LEFT JOIN esua_epdc_group.epdc_topic_img timg ON timg.REFERENCE_ID = et.ID
AND timg.DEL_FLAG = '0'
WHERE
et.DEL_FLAG = '0'
AND et.STATE = 0
AND et.GRID_ID IN
<foreach item="deptIdItem" collection="deptIdList" open="(" separator="," close=")">
#{deptIdItem}
</foreach>
<if test="newHotTopicFormDTO.timestamp != null">
<![CDATA[ AND DATE_FORMAT(et.CREATED_TIME,'%Y-%m-%d %H:%i:%s') <= ]]> #{newHotTopicFormDTO.timestamp}
</if>
ORDER BY
et.CREATED_TIME DESC,
timg.IMG_URL
LIMIT #{newHotTopicFormDTO.pageIndex},#{newHotTopicFormDTO.pageSize}
</select>
</mapper>

15
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiAnalysisTopicController.java

@ -4,6 +4,7 @@ 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.dto.topic.form.HotTopicFormDTO;
import com.elink.esua.epdc.dto.topic.form.NewHotTopicFormDTO;
import com.elink.esua.epdc.service.AnalysisTopicService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
@ -44,7 +45,19 @@ public class ApiAnalysisTopicController {
* @Date: 2020/02/11 09:45
*/
@GetMapping("getHotTopicList")
public Result getHotTopicList(@LoginUser TokenDto tokenDto, @RequestBody HotTopicFormDTO hotTopicFormDTO) {
public Result getHotTopicList(@RequestBody HotTopicFormDTO hotTopicFormDTO) {
return analysisTopicService.getHotTopicList(hotTopicFormDTO);
}
/**
* 最新发布话题接口
* @Return: com.elink.esua.epdc.commons.tools.utils.Result<>
* @Author: wgf
* @Date: 2020/02/11 09:45
*/
@GetMapping("getNewTopicList")
public Result getNewTopicList(@RequestBody NewHotTopicFormDTO newHotTopicFormDTO) {
return analysisTopicService.getNewTopicList(newHotTopicFormDTO);
}
}

4
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/AnalysisTopicFeignClient.java

@ -4,6 +4,7 @@ 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.dto.topic.form.HotTopicFormDTO;
import com.elink.esua.epdc.dto.topic.form.NewHotTopicFormDTO;
import com.elink.esua.epdc.feign.fallback.AnalysisTopicFeignClientFallback;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.MediaType;
@ -31,6 +32,9 @@ public interface AnalysisTopicFeignClient {
@GetMapping(value = "analysis/apptopic/getHotTopicList", consumes = MediaType.APPLICATION_JSON_VALUE)
Result getHotTopicList(HotTopicFormDTO hotTopicFormDTO);
@GetMapping(value = "analysis/apptopic/getNewTopicList", consumes = MediaType.APPLICATION_JSON_VALUE)
Result getNewTopicList(NewHotTopicFormDTO newHotTopicFormDTO);
}

6
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/AnalysisTopicFeignClientFallback.java

@ -4,6 +4,7 @@ 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.dto.topic.form.HotTopicFormDTO;
import com.elink.esua.epdc.dto.topic.form.NewHotTopicFormDTO;
import com.elink.esua.epdc.feign.AnalysisTopicFeignClient;
import org.springframework.stereotype.Component;
@ -25,4 +26,9 @@ public class AnalysisTopicFeignClientFallback implements AnalysisTopicFeignClien
return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "getHotTopicList");
}
@Override
public Result getNewTopicList(NewHotTopicFormDTO newHotTopicFormDTO) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "getNewTopicList");
}
}

9
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/AnalysisTopicService.java

@ -2,6 +2,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;
import com.elink.esua.epdc.dto.topic.form.NewHotTopicFormDTO;
/**
* 项目模块-数据分析移动端
@ -27,5 +28,13 @@ public interface AnalysisTopicService {
*/
Result getHotTopicList(HotTopicFormDTO hotTopicFormDTO);
/**
* 最新发布话题接口
* @Return: com.elink.esua.epdc.commons.tools.utils.Result<>
* @Author: wanggongfeng
* @return
*/
Result getNewTopicList(NewHotTopicFormDTO newHotTopicFormDTO);
}

6
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AnalysisTopicServiceImpl.java

@ -3,6 +3,7 @@ package com.elink.esua.epdc.service.impl;
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.form.NewHotTopicFormDTO;
import com.elink.esua.epdc.feign.AnalysisTopicFeignClient;
import com.elink.esua.epdc.service.AnalysisTopicService;
import org.springframework.beans.factory.annotation.Autowired;
@ -30,4 +31,9 @@ public class AnalysisTopicServiceImpl implements AnalysisTopicService {
public Result getHotTopicList(HotTopicFormDTO hotTopicFormDTO) {
return analysisTopicFeignClient.getHotTopicList(hotTopicFormDTO);
}
@Override
public Result getNewTopicList(NewHotTopicFormDTO newHotTopicFormDTO) {
return analysisTopicFeignClient.getNewTopicList(newHotTopicFormDTO);
}
}

Loading…
Cancel
Save