Browse Source

议题列表

dev
王金鹏 6 years ago
parent
commit
f9ff6d01e9
  1. 14
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiWorkIssueController.java
  2. 9
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/WorkIssueFeignClient.java
  3. 5
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/WorkIssueFeignClientFallback.java
  4. 9
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/WorkIssueService.java
  5. 12
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/WorkIssueServiceImpl.java
  6. 10
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/form/WorkIssueListFormDTO.java
  7. 6
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/result/IssueHotCommentResultDTO.java
  8. 57
      esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/result/WorkIssueListResultDTO.java
  9. 12
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/controller/EpdcAppWorkIssueController.java
  10. 7
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/dao/IssueDao.java
  11. 5
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/IssueService.java
  12. 24
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/impl/IssueServiceImpl.java
  13. 1
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/comment/EventCommentDao.xml
  14. 58
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/issue/IssueDao.xml

14
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiWorkIssueController.java

@ -7,8 +7,10 @@ import com.elink.esua.epdc.dto.events.form.EpdcEventsReviewFormDTO;
import com.elink.esua.epdc.dto.events.result.EventAppDetailResultDTO;
import com.elink.esua.epdc.dto.issue.form.IssuePendingResponseFormDTO;
import com.elink.esua.epdc.dto.issue.form.IssueStateStatisticsFormDTO;
import com.elink.esua.epdc.dto.issue.form.WorkIssueListFormDTO;
import com.elink.esua.epdc.dto.issue.result.IssueStateStatisticsResultDTO;
import com.elink.esua.epdc.dto.issue.result.IssuePendingResponseResultDTO;
import com.elink.esua.epdc.dto.issue.result.WorkIssueListResultDTO;
import com.elink.esua.epdc.service.WorkIssueService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@ -41,7 +43,7 @@ public class ApiWorkIssueController {
* @param formDto
* @return
*/
@GetMapping("issue/list")
@GetMapping("event/list")
public Result<List<IssuePendingResponseResultDTO>> list(@RequestBody IssuePendingResponseFormDTO formDto) {
return workIssueService.listIssuePendingResponse(formDto);
}
@ -74,4 +76,14 @@ public class ApiWorkIssueController {
public Result review(EpdcEventsReviewFormDTO dto) {
return workIssueService.review(dto);
}
/**
* 工作端-议题待处理或者已关闭的最新最热列表
* @param formDto
* @return
*/
@GetMapping("issue/list")
public Result<List<WorkIssueListResultDTO>> selectWorkIssueListOfNewOrHot(WorkIssueListFormDTO formDto) {
return workIssueService.selectWorkIssueListOfNewOrHot(formDto);
}
}

9
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/WorkIssueFeignClient.java

@ -59,4 +59,13 @@ public interface WorkIssueFeignClient {
@PostMapping(value = "events/epdc-app/work/event/review", consumes = MediaType.APPLICATION_JSON_VALUE)
Result review(EpdcEventsReviewFormDTO dto);
/**
* 工作端-议题待处理或者已关闭的最新最热列表
* @param formDto
* @return
*/
@GetMapping(value = "events/epdc-app/work/issue/list", consumes = MediaType.APPLICATION_JSON_VALUE)
Result<List<WorkIssueListResultDTO>> selectWorkIssueListOfNewOrHot(WorkIssueListFormDTO formDto);
}

5
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/WorkIssueFeignClientFallback.java

@ -46,4 +46,9 @@ public class WorkIssueFeignClientFallback implements WorkIssueFeignClient {
public Result review(EpdcEventsReviewFormDTO dto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_EVENTS_SERVER, "review", dto);
}
@Override
public Result<List<WorkIssueListResultDTO>> selectWorkIssueListOfNewOrHot(WorkIssueListFormDTO formDto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_EVENTS_SERVER, "selectWorkIssueListOfNewOrHot", formDto);
}
}

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

@ -24,8 +24,10 @@ import com.elink.esua.epdc.dto.events.form.EpdcEventsReviewFormDTO;
import com.elink.esua.epdc.dto.events.result.EventAppDetailResultDTO;
import com.elink.esua.epdc.dto.issue.form.IssuePendingResponseFormDTO;
import com.elink.esua.epdc.dto.issue.form.IssueStateStatisticsFormDTO;
import com.elink.esua.epdc.dto.issue.form.WorkIssueListFormDTO;
import com.elink.esua.epdc.dto.issue.result.IssuePendingResponseResultDTO;
import com.elink.esua.epdc.dto.issue.result.IssueStateStatisticsResultDTO;
import com.elink.esua.epdc.dto.issue.result.WorkIssueListResultDTO;
import java.util.List;
@ -64,4 +66,11 @@ public interface WorkIssueService {
* @return
*/
Result review(EpdcEventsReviewFormDTO dto);
/**
* 工作端-议题待处理或者已关闭的最新最热列表
* @param formDto
* @return
*/
Result<List<WorkIssueListResultDTO>> selectWorkIssueListOfNewOrHot(WorkIssueListFormDTO formDto);
}

12
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/WorkIssueServiceImpl.java

@ -23,8 +23,10 @@ import com.elink.esua.epdc.dto.events.form.EpdcEventsReviewFormDTO;
import com.elink.esua.epdc.dto.events.result.EventAppDetailResultDTO;
import com.elink.esua.epdc.dto.issue.form.IssuePendingResponseFormDTO;
import com.elink.esua.epdc.dto.issue.form.IssueStateStatisticsFormDTO;
import com.elink.esua.epdc.dto.issue.form.WorkIssueListFormDTO;
import com.elink.esua.epdc.dto.issue.result.IssuePendingResponseResultDTO;
import com.elink.esua.epdc.dto.issue.result.IssueStateStatisticsResultDTO;
import com.elink.esua.epdc.dto.issue.result.WorkIssueListResultDTO;
import com.elink.esua.epdc.feign.WorkIssueFeignClient;
import com.elink.esua.epdc.service.WorkIssueService;
import org.springframework.beans.factory.annotation.Autowired;
@ -87,4 +89,14 @@ public class WorkIssueServiceImpl implements WorkIssueService {
public Result review(EpdcEventsReviewFormDTO dto) {
return workIssueFeignClient.review(dto);
}
/**
* 工作端-议题待处理或者已关闭的最新最热列表
* @param formDto
* @return
*/
@Override
public Result<List<WorkIssueListResultDTO>> selectWorkIssueListOfNewOrHot(WorkIssueListFormDTO formDto) {
return null;
}
}

10
esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/form/WorkIssueListFormDTO.java

@ -1,11 +1,15 @@
package com.elink.esua.epdc.dto.issue.form;
import lombok.Data;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
@Data
public class WorkIssueListFormDTO implements Serializable {
private static final long serialVersionUID = -8864248267071206774L;
@ -13,6 +17,12 @@ public class WorkIssueListFormDTO implements Serializable {
* 用户所属网格ID
*/
private Long deptId;
/**
* 用户所属网格ID列表
*/
private List<Long> deptIdList;
/**
* 0: 获取最新列表1: 获取最热列表
*/

6
esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/result/IssueHotCommentResultDTO.java

@ -28,4 +28,10 @@ public class IssueHotCommentResultDTO implements Serializable {
* 评论反对数
*/
private Integer oppositionNum;
/**
* 评论时间
*/
private Integer createdTime;
}

57
esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/result/WorkIssueListResultDTO.java

@ -0,0 +1,57 @@
package com.elink.esua.epdc.dto.issue.result;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* 移动端-议题最新最热列表
* @Author LC
* @Date 2019/9/7 10:53
*/
@Data
public class WorkIssueListResultDTO implements Serializable {
private static final long serialVersionUID = 6087794316919494277L;
/**
* 议题ID
*/
private String id;
/**
* 事件ID
*/
private String eventId;
/**
* 议题内容
*/
private String issueContent;
/**
* 昵称
*/
private String nickname;
/**
* 头像地址
*/
private String userFace;
/**
* 是否党员 0否1是
*/
private String partyFlag;
/**
* 议题类别
*/
private String categoryName;
/**
* 发布时间
*/
private Date distributeTime;
/**
* 表态数
*/
private Integer statementNum;
/**
* 最热的一条评论
*/
private IssueHotCommentResultDTO comment;
}

12
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/controller/EpdcAppWorkIssueController.java

@ -5,8 +5,10 @@ import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.category.EventCategoryDTO;
import com.elink.esua.epdc.dto.issue.form.IssuePendingResponseFormDTO;
import com.elink.esua.epdc.dto.issue.form.IssueStateStatisticsFormDTO;
import com.elink.esua.epdc.dto.issue.form.WorkIssueListFormDTO;
import com.elink.esua.epdc.dto.issue.result.IssuePendingResponseResultDTO;
import com.elink.esua.epdc.dto.issue.result.IssueStateStatisticsResultDTO;
import com.elink.esua.epdc.dto.issue.result.WorkIssueListResultDTO;
import com.elink.esua.epdc.modules.category.service.EventCategoryService;
import com.elink.esua.epdc.modules.issue.service.IssueService;
import org.springframework.beans.factory.annotation.Autowired;
@ -62,4 +64,14 @@ public class EpdcAppWorkIssueController {
return new Result<List<EventCategoryDTO>>().ok(list);
}
/**
* 工作端-议题待处理或者已关闭的最新最热列表
* @param formDto
* @return
*/
@GetMapping("list")
public Result<List<WorkIssueListResultDTO>> selectWorkIssueListOfNewOrHot(WorkIssueListFormDTO formDto){
return issueService.selectWorkIssueListOfNewOrHot(formDto);
}
}

7
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/dao/IssueDao.java

@ -142,12 +142,17 @@ public interface IssueDao extends BaseDao<IssueEntity> {
int selectCountOfDeptNotice(Long deptId, int state);
/**
* 根据网格id和状态查询数量
* 工作端-根据网格id和状态查询数量
* @param deptIdList
* @param state
* @return
*/
int selectCountOfIssueState(List<Long> deptIdList, int state);
/**
* 工作端-议题待处理或者已关闭的最新最热列表
*/
List<WorkIssueListResultDTO> selectWorkIssueListOfNewOrHot(WorkIssueListFormDTO formDto);
}

5
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/IssueService.java

@ -227,4 +227,9 @@ public interface IssueService extends BaseService<IssueEntity> {
* @return
*/
Result<List<IssuePendingResponseResultDTO>> listIssuePendingResponse(@RequestBody IssuePendingResponseFormDTO formDto);
/**
* 工作端-议题待处理或者已关闭的最新最热列表
*/
Result<List<WorkIssueListResultDTO>> selectWorkIssueListOfNewOrHot(WorkIssueListFormDTO formDto);
}

24
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/impl/IssueServiceImpl.java

@ -416,5 +416,27 @@ public class IssueServiceImpl extends BaseServiceImpl<IssueDao, IssueEntity> imp
return epdcEventsService.listIssuePendingResponse(formDto);
}
/**
* 工作端-议题待处理或者已关闭的最新最热列表
* @param formDto
* @return
*/
@Override
public Result<List<WorkIssueListResultDTO>> selectWorkIssueListOfNewOrHot(WorkIssueListFormDTO formDto) {
List<Long> list;
if (formDto.getDeptId() == null){
list = SecurityUser.getUser().getDeptIdList();
}else {
list = new ArrayList<>();
list.add(formDto.getDeptId());
}
formDto.setDeptIdList(list);
List<WorkIssueListResultDTO> data = baseDao.selectWorkIssueListOfNewOrHot(formDto);
// 查询最热评论
for (WorkIssueListResultDTO dto : data) {
IssueHotCommentResultDTO resultDTO = eventCommentService.getHotComment(dto.getEventId());
dto.setComment(resultDTO);
}
return new Result<List<WorkIssueListResultDTO>>().ok(data);
}
}

1
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/comment/EventCommentDao.xml

@ -163,6 +163,7 @@
SELECT
ID AS commentId,
content,
CREATED_TIME as createdTime,
UN_LIKE_COUNT AS oppositionNum,
LIKE_COUNT AS supportNum,
( UN_LIKE_COUNT + LIKE_COUNT + REPLY_COUNT ) AS statementNum

58
esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/issue/IssueDao.xml

@ -465,4 +465,62 @@
AND ISSUE_STATE = #{state}
</select>
<resultMap id="workIssueList" type="com.elink.esua.epdc.dto.issue.result.WorkIssueListResultDTO">
<result property="id" column="ID"/>
<result property="eventId" column="EVENT_ID"/>
<result property="issueContent" column="ISSUE_CONTENT"/>
<result property="nickname" column="NICK_NAME"/>
<result property="userFace" column="USER_FACE"/>
<result property="partyFlag" column="IS_PARTY_MEMBER"/>
<result property="categoryName" column="CATEGORY_NAME"/>
<result property="distributeTime" column="DISTRIBUTE_TIME"/>
<result property="statementNum" column="STATEMENT_NUM"/>
</resultMap>
<select id="selectWorkIssueListOfNewOrHot" resultMap="workIssueList">
SELECT
issue.ID,
issue.EVENT_ID,
issue.ISSUE_CONTENT,
issue.NICK_NAME,
issue.USER_FACE,
issue.IS_PARTY_MEMBER,
cate.CATEGORY_NAME,
issue.DISTRIBUTE_TIME,
( eve.APPROVE_NUM + eve.OPPOSE_NUM + eve.COMMENT_NUM + eve.BROWSE_NUM ) AS STATEMENT_NUM
FROM
epdc_issue issue
LEFT JOIN epdc_events eve ON issue.EVENT_ID = eve.id
AND eve.DEL_FLAG = '0'
LEFT JOIN epdc_event_category cate ON issue.ISSUE_CATEGORY_ID = cate.id
AND cate.DEL_FLAG = '0'
WHERE
issue.ID IN (
SELECT temp.ID FROM (
SELECT
t1.id
FROM
epdc_issue t1
LEFT JOIN epdc_events t2
ON t1.EVENT_ID = t2.ID
AND t2.DEL_FLAG = '0'
WHERE t1.DEL_FLAG = '0'
AND t1.ISSUE_STATE = #{issueState}
AND t1.GRID_ID IN
<foreach collection="deptIdList" item="id" index="index" open="(" close=")" separator=",">
#{id}
</foreach>
<![CDATA[ AND DATE_FORMAT(t1.DISTRIBUTE_TIME,'%Y-%m-%d %H:%i:%s') <= ]]> #{timestamp}
t1.DISTRIBUTE_TIME DESC
LIMIT #{pageIndex},#{pageSize}
) temp
)
ORDER BY
<if test='orderType == "1"'>statementNum DESC</if>
<if test='orderType == "0"'>issue.DISTRIBUTE_TIME DESC</if>
</select>
</mapper>

Loading…
Cancel
Save