Browse Source

话题列表

dev
王金鹏 6 years ago
parent
commit
7aa505f0f1
  1. 7
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiTopicController.java
  2. 6
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/TopicFeignClient.java
  3. 7
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/TopicFeignClientFallback.java
  4. 6
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/TopicService.java
  5. 7
      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. 60
      esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/topic/result/TopicListResultDTO.java
  8. 8
      esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/topic/controller/AppTopicController.java
  9. 8
      esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/topic/dao/TopicDao.java
  10. 4
      esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/topic/service/TopicService.java
  11. 6
      esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/topic/service/impl/TopicServiceImpl.java
  12. 25
      esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/resources/mapper/topic/TopicDao.xml

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

@ -5,9 +5,11 @@ 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.utils.Result;
import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils; import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils;
import com.elink.esua.epdc.dto.group.result.TopicAuditRecordResultDTO; 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.TopicCloseFormDTO; 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.form.TopicSubmitFormDTO;
import com.elink.esua.epdc.dto.topic.result.TopicDetailResultDTO; import com.elink.esua.epdc.dto.topic.result.TopicDetailResultDTO;
import com.elink.esua.epdc.dto.topic.result.TopicListResultDTO;
import com.elink.esua.epdc.service.TopicService; import com.elink.esua.epdc.service.TopicService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -43,6 +45,11 @@ public class ApiTopicController {
return topicService.saveTopic(userDetail, formDto); return topicService.saveTopic(userDetail, formDto);
} }
@GetMapping("list")
public Result<List<TopicListResultDTO>> list(@RequestBody TopicListDTO topicListDTO) {
return topicService.apiList(topicListDTO);
}
/** /**
* *
* 话题详情 * 话题详情

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

@ -3,9 +3,11 @@ package com.elink.esua.epdc.feign;
import com.elink.esua.epdc.commons.tools.constant.ServiceConstant; import com.elink.esua.epdc.commons.tools.constant.ServiceConstant;
import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.group.result.TopicAuditRecordResultDTO; 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.TopicCloseFormDTO; 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.form.TopicSubmitFormDTO;
import com.elink.esua.epdc.dto.topic.result.TopicDetailResultDTO; import com.elink.esua.epdc.dto.topic.result.TopicDetailResultDTO;
import com.elink.esua.epdc.dto.topic.result.TopicListResultDTO;
import com.elink.esua.epdc.feign.fallback.TopicFeignClientFallback; import com.elink.esua.epdc.feign.fallback.TopicFeignClientFallback;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.MediaType; import org.springframework.http.MediaType;
@ -49,6 +51,10 @@ public interface TopicFeignClient {
@GetMapping(value = "group/epdc-app/topic/detail/{id}", consumes = MediaType.APPLICATION_JSON_VALUE) @GetMapping(value = "group/epdc-app/topic/detail/{id}", consumes = MediaType.APPLICATION_JSON_VALUE)
Result<TopicDetailResultDTO> detail(@PathVariable("id") String id); Result<TopicDetailResultDTO> detail(@PathVariable("id") String id);
@GetMapping(value = "group/epdc-app/topic/list", consumes = MediaType.APPLICATION_JSON_VALUE)
Result<List<TopicListResultDTO>> apiList(TopicListDTO topicListDTO);
/** /**
* *
* 关闭话题 * 关闭话题

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

@ -4,9 +4,11 @@ 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.ModuleUtils;
import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.group.result.TopicAuditRecordResultDTO; 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.TopicCloseFormDTO; 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.form.TopicSubmitFormDTO;
import com.elink.esua.epdc.dto.topic.result.TopicDetailResultDTO; import com.elink.esua.epdc.dto.topic.result.TopicDetailResultDTO;
import com.elink.esua.epdc.dto.topic.result.TopicListResultDTO;
import com.elink.esua.epdc.feign.TopicFeignClient; import com.elink.esua.epdc.feign.TopicFeignClient;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PathVariable;
@ -39,4 +41,9 @@ public class TopicFeignClientFallback implements TopicFeignClient {
public Result<List<TopicAuditRecordResultDTO>> auditRecord(@PathVariable("topicId") String topicId) { public Result<List<TopicAuditRecordResultDTO>> auditRecord(@PathVariable("topicId") String topicId) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_GROUP_SERVER, "auditRecord", topicId); return ModuleUtils.feignConError(ServiceConstant.EPDC_GROUP_SERVER, "auditRecord", topicId);
} }
@Override
public Result<List<TopicListResultDTO>> apiList(TopicListDTO topicListDTO) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_GROUP_SERVER, "list", topicListDTO);
}
} }

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

@ -3,9 +3,11 @@ package com.elink.esua.epdc.service;
import com.elink.esua.epdc.common.token.dto.TokenDto; import com.elink.esua.epdc.common.token.dto.TokenDto;
import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.group.result.TopicAuditRecordResultDTO; 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.TopicCloseFormDTO; 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.form.TopicSubmitFormDTO;
import com.elink.esua.epdc.dto.topic.result.TopicDetailResultDTO; import com.elink.esua.epdc.dto.topic.result.TopicDetailResultDTO;
import com.elink.esua.epdc.dto.topic.result.TopicListResultDTO;
import java.util.List; import java.util.List;
@ -61,4 +63,8 @@ public interface TopicService {
* @since 2019/11/8 9:43 * @since 2019/11/8 9:43
*/ */
Result<List<TopicAuditRecordResultDTO>> listOfTopicAuditRecord(String topicId); Result<List<TopicAuditRecordResultDTO>> listOfTopicAuditRecord(String topicId);
Result<List<TopicListResultDTO>> apiList(TopicListDTO topicListDTO);
} }

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

@ -5,9 +5,11 @@ import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.CompleteDeptDTO; import com.elink.esua.epdc.dto.CompleteDeptDTO;
import com.elink.esua.epdc.dto.enums.TopicStateEnum; import com.elink.esua.epdc.dto.enums.TopicStateEnum;
import com.elink.esua.epdc.dto.group.result.TopicAuditRecordResultDTO; 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.TopicCloseFormDTO; 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.form.TopicSubmitFormDTO;
import com.elink.esua.epdc.dto.topic.result.TopicDetailResultDTO; import com.elink.esua.epdc.dto.topic.result.TopicDetailResultDTO;
import com.elink.esua.epdc.dto.topic.result.TopicListResultDTO;
import com.elink.esua.epdc.feign.AdminFeignClient; import com.elink.esua.epdc.feign.AdminFeignClient;
import com.elink.esua.epdc.feign.TopicFeignClient; import com.elink.esua.epdc.feign.TopicFeignClient;
import com.elink.esua.epdc.service.TopicService; import com.elink.esua.epdc.service.TopicService;
@ -77,4 +79,9 @@ public class TopicServiceImpl implements TopicService {
public Result<List<TopicAuditRecordResultDTO>> listOfTopicAuditRecord(String topicId) { public Result<List<TopicAuditRecordResultDTO>> listOfTopicAuditRecord(String topicId) {
return topicFeignClient.auditRecord(topicId); return topicFeignClient.auditRecord(topicId);
} }
@Override
public Result<List<TopicListResultDTO>> apiList(TopicListDTO topicListDTO) {
return topicFeignClient.apiList(topicListDTO);
}
} }

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

@ -0,0 +1,19 @@
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;
}

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

@ -0,0 +1,60 @@
package com.elink.esua.epdc.dto.topic.result;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
@Data
public class TopicListResultDTO implements Serializable {
private static final long serialVersionUID = -4978924751646345443L;
/**
* 话题ID
*/
private String id;
/**
* 话题内容
*/
private String topicContent;
/**
* 发布人
*/
private String nickname;
/**
* 发布人头像
*/
private String userAvatar;
/**
* 发布时间
*/
private Date createdTime;
/**
* 党员标识0-1-
*/
private String partyMember;
/**
* 状态
*/
private Integer state;
private String issueId;
private String itemId;
/**
* 图片
*/
private List<String> images;
}

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

@ -4,9 +4,11 @@ import com.elink.esua.epdc.commons.tools.constant.Constant;
import com.elink.esua.epdc.commons.tools.constant.NumConstant; import com.elink.esua.epdc.commons.tools.constant.NumConstant;
import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.group.result.TopicAuditRecordResultDTO; 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.TopicCloseFormDTO; 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.form.TopicSubmitFormDTO;
import com.elink.esua.epdc.dto.topic.result.TopicDetailResultDTO; 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.service.TopicService; import com.elink.esua.epdc.modules.topic.service.TopicService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -41,6 +43,12 @@ public class AppTopicController {
return topicService.saveTopic(formDto); return topicService.saveTopic(formDto);
} }
@GetMapping("list")
public Result<List<TopicListResultDTO>> list(@RequestBody TopicListDTO topicListDTO) {
List<TopicListResultDTO> list = topicService.apiList(topicListDTO);
return new Result<List<TopicListResultDTO>>().ok(list);
}
/** /**
* *
* 话题详情 * 话题详情

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

@ -18,10 +18,14 @@
package com.elink.esua.epdc.modules.topic.dao; package com.elink.esua.epdc.modules.topic.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao; import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.dto.topic.TopicListDTO;
import com.elink.esua.epdc.dto.topic.result.TopicDetailResultDTO; 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; import com.elink.esua.epdc.modules.topic.entity.TopicEntity;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/** /**
* 话题表 话题表 * 话题表 话题表
* *
@ -47,4 +51,8 @@ public interface TopicDao extends BaseDao<TopicEntity> {
*/ */
TopicDetailResultDTO selectOneOfTopicDetailById(String id); TopicDetailResultDTO selectOneOfTopicDetailById(String id);
List<TopicListResultDTO> apiList(TopicListDTO topicListDTO);
} }

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

@ -22,9 +22,11 @@ import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.group.result.TopicAuditRecordResultDTO; import com.elink.esua.epdc.dto.group.result.TopicAuditRecordResultDTO;
import com.elink.esua.epdc.dto.topic.TopicDTO; import com.elink.esua.epdc.dto.topic.TopicDTO;
import com.elink.esua.epdc.dto.topic.TopicListDTO;
import com.elink.esua.epdc.dto.topic.form.TopicCloseFormDTO; 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.form.TopicSubmitFormDTO;
import com.elink.esua.epdc.dto.topic.result.TopicDetailResultDTO; 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; import com.elink.esua.epdc.modules.topic.entity.TopicEntity;
import java.util.List; import java.util.List;
@ -58,6 +60,8 @@ public interface TopicService extends BaseService<TopicEntity> {
*/ */
List<TopicDTO> list(Map<String, Object> params); List<TopicDTO> list(Map<String, Object> params);
List<TopicListResultDTO> apiList(TopicListDTO topicListDTO);
/** /**
* 单条查询 * 单条查询
* *

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

@ -35,9 +35,11 @@ import com.elink.esua.epdc.dto.group.GroupDTO;
import com.elink.esua.epdc.dto.group.UserGroupDTO; import com.elink.esua.epdc.dto.group.UserGroupDTO;
import com.elink.esua.epdc.dto.group.result.TopicAuditRecordResultDTO; import com.elink.esua.epdc.dto.group.result.TopicAuditRecordResultDTO;
import com.elink.esua.epdc.dto.topic.TopicDTO; import com.elink.esua.epdc.dto.topic.TopicDTO;
import com.elink.esua.epdc.dto.topic.TopicListDTO;
import com.elink.esua.epdc.dto.topic.form.TopicCloseFormDTO; 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.form.TopicSubmitFormDTO;
import com.elink.esua.epdc.dto.topic.result.TopicDetailResultDTO; import com.elink.esua.epdc.dto.topic.result.TopicDetailResultDTO;
import com.elink.esua.epdc.dto.topic.result.TopicListResultDTO;
import com.elink.esua.epdc.modules.async.NewsTask; import com.elink.esua.epdc.modules.async.NewsTask;
import com.elink.esua.epdc.modules.group.service.GroupService; import com.elink.esua.epdc.modules.group.service.GroupService;
import com.elink.esua.epdc.modules.group.service.UserGroupService; import com.elink.esua.epdc.modules.group.service.UserGroupService;
@ -205,4 +207,8 @@ public class TopicServiceImpl extends BaseServiceImpl<TopicDao, TopicEntity> imp
return topicAuditRecordService.listOfTopicAuditRecord(topicId); return topicAuditRecordService.listOfTopicAuditRecord(topicId);
} }
@Override
public List<TopicListResultDTO> apiList(TopicListDTO topicListDTO) {
return baseDao.apiList(topicListDTO);
}
} }

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

@ -64,4 +64,29 @@
</select> </select>
<resultMap id="topicListMap" type="com.elink.esua.epdc.dto.topic.result.TopicListResultDTO">
<result property="id" column="ID"/>
<result property="topicContent" column="TOPIC_CONTENT"/>
<result property="createdTime" column="CREATED_TIME"/>
<result property="nickname" column="NICKNAME"/>
<result property="userAvatar" column="USER_FACE"/>
<result property="partyMember" column="PARTY_MEMBER"/>
<result property="state" column="STATE"/>
<result property="issueId" column="ISSUE_ID"/>
<result property="itemId" column="ITEM_ID"/>
<collection property="images" ofType="java.lang.String">
<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
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}
LIMIT #{pageIndex},#{pageSize}
</select>
</mapper> </mapper>

Loading…
Cancel
Save