Browse Source

修改话题列表接口

我的话题列表接口 init
dev
liuchuang 6 years ago
parent
commit
7c51498367
  1. 31
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiTopicController.java
  2. 14
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/TopicFeignClient.java
  3. 6
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/TopicFeignClientFallback.java
  4. 24
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/TopicService.java
  5. 19
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/TopicServiceImpl.java
  6. 19
      esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/topic/TopicListDTO.java
  7. 52
      esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/topic/form/TopicListFormDTO.java
  8. 6
      esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/topic/result/TopicListResultDTO.java
  9. 17
      esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/topic/controller/AppTopicController.java
  10. 15
      esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/topic/dao/TopicDao.java
  11. 13
      esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/topic/service/TopicService.java
  12. 16
      esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/topic/service/impl/TopicServiceImpl.java
  13. 50
      esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/resources/mapper/topic/TopicDao.xml

31
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiTopicController.java

@ -5,7 +5,7 @@ import com.elink.esua.epdc.commons.tools.annotation.LoginUser;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils;
import com.elink.esua.epdc.dto.group.result.TopicAuditRecordResultDTO;
import com.elink.esua.epdc.dto.topic.TopicListDTO;
import com.elink.esua.epdc.dto.topic.form.TopicListFormDTO;
import com.elink.esua.epdc.dto.topic.form.TopicChangeToIssueFormDTO;
import com.elink.esua.epdc.dto.topic.form.TopicCloseFormDTO;
import com.elink.esua.epdc.dto.topic.form.TopicSubmitFormDTO;
@ -46,9 +46,34 @@ public class ApiTopicController {
return topicService.saveTopic(userDetail, formDto);
}
/**
*
* 话题列表
*
* @params [userDetail, formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.dto.topic.result.TopicListResultDTO>>
* @author liuchuang
* @since 2019/11/11 15:04
*/
@GetMapping("list")
public Result<List<TopicListResultDTO>> list(@RequestBody TopicListDTO topicListDTO) {
return topicService.apiList(topicListDTO);
public Result<List<TopicListResultDTO>> listTopic(@LoginUser TokenDto userDetail, @RequestBody TopicListFormDTO formDto) {
ValidatorUtils.validateEntity(formDto);
return topicService.listOfTopic(userDetail, formDto);
}
/**
*
* 我的话题列表
*
* @params [userDetail, formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.dto.topic.result.TopicListResultDTO>>
* @author liuchuang
* @since 2019/11/11 15:04
*/
@GetMapping("listOfMine")
public Result<List<TopicListResultDTO>> listTopicOfMine(@LoginUser TokenDto userDetail, @RequestBody TopicListFormDTO formDto) {
ValidatorUtils.validateEntity(formDto);
return topicService.listTopicOfMine(userDetail, formDto);
}
/**

14
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/TopicFeignClient.java

@ -4,7 +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.dto.group.result.TopicAuditRecordResultDTO;
import com.elink.esua.epdc.dto.topic.form.TopicChangeToIssueFormDTO;
import com.elink.esua.epdc.dto.topic.TopicListDTO;
import com.elink.esua.epdc.dto.topic.form.TopicListFormDTO;
import com.elink.esua.epdc.dto.topic.form.TopicCloseFormDTO;
import com.elink.esua.epdc.dto.topic.form.TopicSubmitFormDTO;
import com.elink.esua.epdc.dto.topic.result.TopicDetailResultDTO;
@ -52,9 +52,17 @@ public interface TopicFeignClient {
@GetMapping(value = "group/epdc-app/topic/detail/{id}", consumes = MediaType.APPLICATION_JSON_VALUE)
Result<TopicDetailResultDTO> detail(@PathVariable("id") String id);
/**
*
* 话题列表
*
* @params [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.dto.topic.result.TopicListResultDTO>>
* @author liuchuang
* @since 2019/11/11 15:06
*/
@GetMapping(value = "group/epdc-app/topic/list", consumes = MediaType.APPLICATION_JSON_VALUE)
Result<List<TopicListResultDTO>> apiList(TopicListDTO topicListDTO);
Result<List<TopicListResultDTO>> listOfTopic(TopicListFormDTO formDto);
/**
*

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

@ -5,7 +5,7 @@ import com.elink.esua.epdc.commons.tools.utils.ModuleUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.group.result.TopicAuditRecordResultDTO;
import com.elink.esua.epdc.dto.topic.form.TopicChangeToIssueFormDTO;
import com.elink.esua.epdc.dto.topic.TopicListDTO;
import com.elink.esua.epdc.dto.topic.form.TopicListFormDTO;
import com.elink.esua.epdc.dto.topic.form.TopicCloseFormDTO;
import com.elink.esua.epdc.dto.topic.form.TopicSubmitFormDTO;
import com.elink.esua.epdc.dto.topic.result.TopicDetailResultDTO;
@ -44,8 +44,8 @@ public class TopicFeignClientFallback implements TopicFeignClient {
}
@Override
public Result<List<TopicListResultDTO>> apiList(TopicListDTO topicListDTO) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_GROUP_SERVER, "list", topicListDTO);
public Result<List<TopicListResultDTO>> listOfTopic(TopicListFormDTO formDto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_GROUP_SERVER, "listOfTopic", formDto);
}
@Override

24
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/TopicService.java

@ -3,7 +3,7 @@ package com.elink.esua.epdc.service;
import com.elink.esua.epdc.common.token.dto.TokenDto;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.group.result.TopicAuditRecordResultDTO;
import com.elink.esua.epdc.dto.topic.TopicListDTO;
import com.elink.esua.epdc.dto.topic.form.TopicListFormDTO;
import com.elink.esua.epdc.dto.topic.form.TopicChangeToIssueFormDTO;
import com.elink.esua.epdc.dto.topic.form.TopicCloseFormDTO;
import com.elink.esua.epdc.dto.topic.form.TopicSubmitFormDTO;
@ -65,9 +65,27 @@ public interface TopicService {
*/
Result<List<TopicAuditRecordResultDTO>> listOfTopicAuditRecord(String topicId);
/**
*
* 话题列表
*
* @params [userDetail, formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.dto.topic.result.TopicListResultDTO>>
* @author liuchuang
* @since 2019/11/11 15:05
*/
Result<List<TopicListResultDTO>> listOfTopic(TokenDto userDetail, TopicListFormDTO formDto);
Result<List<TopicListResultDTO>> apiList(TopicListDTO topicListDTO);
/**
*
* 我的话题列表
*
* @params [userDetail, formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.dto.topic.result.TopicListResultDTO>>
* @author liuchuang
* @since 2019/11/11 15:50
*/
Result<List<TopicListResultDTO>> listTopicOfMine(TokenDto userDetail, TopicListFormDTO formDto);
/**
*

19
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/TopicServiceImpl.java

@ -6,7 +6,7 @@ import com.elink.esua.epdc.dto.CompleteDeptDTO;
import com.elink.esua.epdc.dto.enums.TopicStateEnum;
import com.elink.esua.epdc.dto.group.result.TopicAuditRecordResultDTO;
import com.elink.esua.epdc.dto.topic.form.TopicChangeToIssueFormDTO;
import com.elink.esua.epdc.dto.topic.TopicListDTO;
import com.elink.esua.epdc.dto.topic.form.TopicListFormDTO;
import com.elink.esua.epdc.dto.topic.form.TopicCloseFormDTO;
import com.elink.esua.epdc.dto.topic.form.TopicSubmitFormDTO;
import com.elink.esua.epdc.dto.topic.result.TopicDetailResultDTO;
@ -83,8 +83,21 @@ public class TopicServiceImpl implements TopicService {
}
@Override
public Result<List<TopicListResultDTO>> apiList(TopicListDTO topicListDTO) {
return topicFeignClient.apiList(topicListDTO);
public Result<List<TopicListResultDTO>> listOfTopic(TokenDto userDetail, TopicListFormDTO formDto) {
if (null == userDetail) {
return new Result().error("获取用户信息失败");
}
formDto.setGridId(userDetail.getGridId());
return topicFeignClient.listOfTopic(formDto);
}
@Override
public Result<List<TopicListResultDTO>> listTopicOfMine(TokenDto userDetail, TopicListFormDTO formDto) {
if (null == userDetail) {
return new Result().error("获取用户信息失败");
}
formDto.setUserId(userDetail.getUserId());
return topicFeignClient.listOfTopic(formDto);
}
@Override

19
esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/topic/TopicListDTO.java

@ -1,19 +0,0 @@
package com.elink.esua.epdc.dto.topic;
import lombok.Data;
import java.io.Serializable;
@Data
public class TopicListDTO implements Serializable {
private Integer pageIndex;
private Integer pageSize;
private String timestamp;
private String id;
}

52
esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/topic/form/TopicListFormDTO.java

@ -0,0 +1,52 @@
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;
import java.util.Date;
@Data
public class TopicListFormDTO implements Serializable {
private static final long serialVersionUID = 2286962006082337344L;
/**
* 社群ID
*/
private String groupId;
/**
* 网格ID
*/
private Long gridId;
/**
* 用户ID
*/
private String userId;
/**
* 页码
*/
@Min(value = 1, message = "页码必须大于0")
private Integer pageIndex;
/**
* 页容量默认20页
*/
@Min(value = 1, message = "每页条数必须大于必须大于0")
private Integer pageSize;
/**
* 第一页查询发起时的时间
*/
private String timestamp;
/**
* 只查询半年内的数据
*/
private Date someMonthsAgo;
}

6
esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/topic/result/TopicListResultDTO.java

@ -46,8 +46,14 @@ public class TopicListResultDTO implements Serializable {
*/
private Integer state;
/**
* 议题ID
*/
private String issueId;
/**
* 项目ID
*/
private String itemId;
/**

17
esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/topic/controller/AppTopicController.java

@ -5,7 +5,7 @@ import com.elink.esua.epdc.commons.tools.constant.NumConstant;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.group.result.TopicAuditRecordResultDTO;
import com.elink.esua.epdc.dto.topic.form.TopicChangeToIssueFormDTO;
import com.elink.esua.epdc.dto.topic.TopicListDTO;
import com.elink.esua.epdc.dto.topic.form.TopicListFormDTO;
import com.elink.esua.epdc.dto.topic.form.TopicCloseFormDTO;
import com.elink.esua.epdc.dto.topic.form.TopicSubmitFormDTO;
import com.elink.esua.epdc.dto.topic.result.TopicDetailResultDTO;
@ -44,10 +44,19 @@ public class AppTopicController {
return topicService.saveTopic(formDto);
}
/**
*
* 话题列表
*
* @params [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.dto.topic.result.TopicListResultDTO>>
* @author liuchuang
* @since 2019/11/11 15:07
*/
@GetMapping("list")
public Result<List<TopicListResultDTO>> list(@RequestBody TopicListDTO topicListDTO) {
List<TopicListResultDTO> list = topicService.apiList(topicListDTO);
return new Result<List<TopicListResultDTO>>().ok(list);
public Result<List<TopicListResultDTO>> listOfTopic(@RequestBody TopicListFormDTO formDto) {
List<TopicListResultDTO> data = topicService.listOfTopic(formDto);
return new Result<List<TopicListResultDTO>>().ok(data);
}
/**

15
esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/topic/dao/TopicDao.java

@ -19,7 +19,7 @@ package com.elink.esua.epdc.modules.topic.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.dto.events.form.EpdcEventSubmitFormDTO;
import com.elink.esua.epdc.dto.topic.TopicListDTO;
import com.elink.esua.epdc.dto.topic.form.TopicListFormDTO;
import com.elink.esua.epdc.dto.topic.result.TopicDetailResultDTO;
import com.elink.esua.epdc.dto.topic.result.TopicListResultDTO;
import com.elink.esua.epdc.modules.topic.entity.TopicEntity;
@ -52,9 +52,16 @@ public interface TopicDao extends BaseDao<TopicEntity> {
*/
TopicDetailResultDTO selectOneOfTopicDetailById(String id);
List<TopicListResultDTO> apiList(TopicListDTO topicListDTO);
/**
*
* 移动端-话题列表
*
* @params [formDto]
* @return java.util.List<com.elink.esua.epdc.dto.topic.result.TopicListResultDTO>
* @author liuchuang
* @since 2019/11/11 15:14
*/
List<TopicListResultDTO> selectListOfTopic(TopicListFormDTO formDto);
/**
*

13
esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/topic/service/TopicService.java

@ -23,7 +23,7 @@ import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.group.result.TopicAuditRecordResultDTO;
import com.elink.esua.epdc.dto.topic.TopicDTO;
import com.elink.esua.epdc.dto.topic.form.TopicChangeToIssueFormDTO;
import com.elink.esua.epdc.dto.topic.TopicListDTO;
import com.elink.esua.epdc.dto.topic.form.TopicListFormDTO;
import com.elink.esua.epdc.dto.topic.form.TopicCloseFormDTO;
import com.elink.esua.epdc.dto.topic.form.TopicReviewFormDTO;
import com.elink.esua.epdc.dto.topic.form.TopicSubmitFormDTO;
@ -62,7 +62,16 @@ public interface TopicService extends BaseService<TopicEntity> {
*/
List<TopicDTO> list(Map<String, Object> params);
List<TopicListResultDTO> apiList(TopicListDTO topicListDTO);
/**
*
* 移动端-话题列表
*
* @params [formDto]
* @return java.util.List<com.elink.esua.epdc.dto.topic.result.TopicListResultDTO>
* @author liuchuang
* @since 2019/11/11 15:08
*/
List<TopicListResultDTO> listOfTopic(TopicListFormDTO formDto);
/**
* 单条查询

16
esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/topic/service/impl/TopicServiceImpl.java

@ -24,6 +24,7 @@ import com.elink.esua.epdc.commons.tools.constant.FieldConstant;
import com.elink.esua.epdc.commons.tools.constant.NumConstant;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
import com.elink.esua.epdc.commons.tools.utils.DateUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.constant.GroupNoticeConstant;
import com.elink.esua.epdc.dto.constant.TopicImageConstant;
@ -36,7 +37,7 @@ import com.elink.esua.epdc.dto.group.GroupDTO;
import com.elink.esua.epdc.dto.group.UserGroupDTO;
import com.elink.esua.epdc.dto.group.result.TopicAuditRecordResultDTO;
import com.elink.esua.epdc.dto.topic.TopicDTO;
import com.elink.esua.epdc.dto.topic.TopicListDTO;
import com.elink.esua.epdc.dto.topic.form.TopicListFormDTO;
import com.elink.esua.epdc.dto.topic.form.TopicChangeToIssueFormDTO;
import com.elink.esua.epdc.dto.topic.form.TopicCloseFormDTO;
import com.elink.esua.epdc.dto.topic.form.TopicReviewFormDTO;
@ -58,10 +59,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.*;
/**
* 话题表 话题表
@ -224,8 +222,12 @@ public class TopicServiceImpl extends BaseServiceImpl<TopicDao, TopicEntity> imp
}
@Override
public List<TopicListResultDTO> apiList(TopicListDTO topicListDTO) {
return baseDao.apiList(topicListDTO);
public List<TopicListResultDTO> listOfTopic(TopicListFormDTO formDto) {
int pageIndex = (formDto.getPageIndex() - NumConstant.ONE) * formDto.getPageSize();
formDto.setPageIndex(pageIndex);
// 查询半年内的数据
formDto.setSomeMonthsAgo(DateUtils.addDateMonths(new Date(), -6));
return baseDao.selectListOfTopic(formDto);
}
@Override

50
esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/resources/mapper/topic/TopicDao.xml

@ -134,14 +134,52 @@
<result property="image" column="IMG_URL"/>
</collection>
</resultMap>
<select id="apiList" resultMap="topicListMap">
SELECT topic.ID,topic.TOPIC_CONTENT,topic.CREATED_TIME,topic.NICKNAME,topic.USER_FACE,topic.PARTY_MEMBER,topic.STATE,topic.ISSUE_ID,topic.ITEM_ID,img.IMG_URL
FROM epdc_topic topic
<select id="selectListOfTopic" resultMap="topicListMap">
SELECT
topic.ID,
topic.TOPIC_CONTENT,
topic.CREATED_TIME,
topic.NICKNAME,
topic.USER_FACE,
topic.PARTY_MEMBER,
topic.STATE,
topic.ISSUE_ID,
topic.ITEM_ID,
img.IMG_URL
FROM
epdc_topic topic
LEFT JOIN epdc_topic_img img ON topic.ID = img.REFERENCE_ID
WHERE topic.GROUP_ID = #{id}
<![CDATA[ AND DATE_FORMAT(t1.CREATED_TIME,'%Y-%m-%d %H:%i:%s') <= ]]> #{timestamp}
AND img.DEL_FLAG = '0'
WHERE
topic.ID IN (
SELECT
tmp.ID
FROM
(
SELECT
t1.ID
FROM
epdc_topic t1
WHERE
t1.DEL_FLAG = '0'
<if test="userId != null and userId.trim() != ''">
and t1.userId = #{userId}
</if>
<if test="userId == null or userId.trim() == ''">
AND t1.STATE <![CDATA[ <> ]]> 20
AND t1.GROUP_ID = #{groupId}
AND t1.GRID_ID = #{gridId}
<![CDATA[ AND DATE_FORMAT(t1.CREATED_TIME,'%Y-%m-%d %H:%i:%s') >= ]]> #{someMonthsAgo}
<![CDATA[ AND DATE_FORMAT(t1.CREATED_TIME,'%Y-%m-%d %H:%i:%s') <= ]]> #{timestamp}
</if>
ORDER BY
t1.CREATED_TIME DESC
LIMIT #{pageIndex},#{pageSize}
) tmp
)
ORDER BY
topic.CREATED_TIME DESC,
img.IMG_URL
</select>
</mapper>

Loading…
Cancel
Save