Browse Source

居民热议-已关闭列表

master
sunyuchao 5 years ago
parent
commit
b2f0093f06
  1. 37
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/form/ClosedIssueListFormDTO.java
  2. 8
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/form/ShiftProjectIssueListFormDTO.java
  3. 46
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/result/ClosedIssueListResultDTO.java
  4. 13
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovIssueController.java
  5. 7
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govissue/IssueDao.java
  6. 9
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govissue/GovIssueService.java
  7. 31
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govissue/impl/GovIssueServiceImpl.java
  8. 20
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueDao.xml

37
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/form/ClosedIssueListFormDTO.java

@ -0,0 +1,37 @@
package com.epmet.dataaggre.dto.govissue.form;
import lombok.Data;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.List;
/**
* @Description 议题-已关闭列表-接口入参
* @Auth sun
*/
@Data
public class ClosedIssueListFormDTO implements Serializable {
private static final long serialVersionUID = -436147374473316845L;
/**
* 机关组织Id
* */
@NotBlank(message = "组织Id不能为空", groups = {ClosedIssueListFormDTO.ClosedForm.class})
private String agencyId;
/**
* 页码
* */
@Min(1)
private Integer pageNo;
/**
* 每页多少条
* */
private Integer pageSize = 20;
/**
* 组织下网格Id集合
* */
private List<String> gridIdList;
public interface ClosedForm{}
}

8
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/form/ShiftProjectIssueListFormDTO.java

@ -17,7 +17,7 @@ public class ShiftProjectIssueListFormDTO implements Serializable {
/**
* 机关组织Id
* */
@NotBlank(message = "组织Id不能为空", groups = {ShiftProjectIssueListFormDTO.VotingForm.class})
@NotBlank(message = "组织Id不能为空", groups = {ShiftProjectIssueListFormDTO.ShiftForm.class})
private String agencyId;
/**
* 页码
@ -28,10 +28,6 @@ public class ShiftProjectIssueListFormDTO implements Serializable {
* 每页多少条
* */
private Integer pageSize = 20;
/**
* 组织下网格Id集合
* */
private List<String> gridIdList;
public interface VotingForm{}
public interface ShiftForm{}
}

46
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/result/ClosedIssueListResultDTO.java

@ -0,0 +1,46 @@
package com.epmet.dataaggre.dto.govissue.result;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import java.io.Serializable;
/**
* @Description 议题-已关闭列表-接口返参
* @Auth sun
*/
@Data
public class ClosedIssueListResultDTO implements Serializable {
private static final long serialVersionUID = 3809252070982486401L;
/**
* 网格Id(方便查操作权限)
* */
@JsonIgnore
private String gridId;
/**
* 议题id
* */
private String issueId;
/**
* 议题标题
* */
private String issueTitle;
/**
* 所属网格网格所属组织名称-网格名称
* */
private String belongsGridName;
/**
* 关闭说明(关闭时的答复)
* */
private String closeReason;
/**
* 议题关闭时间 时间戳
* */
private Long closedTime;
/**
* 实际总表决数
* */
private Integer count;
}

13
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovIssueController.java

@ -7,9 +7,11 @@ import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.dataaggre.dto.govissue.form.AllIssueFormDTO;
import com.epmet.dataaggre.dto.govissue.form.ClosedIssueListFormDTO;
import com.epmet.dataaggre.dto.govissue.form.ShiftProjectIssueListFormDTO;
import com.epmet.dataaggre.dto.govissue.form.VotingIssueListFormDTO;
import com.epmet.dataaggre.dto.govissue.result.AllIssueResultDTO;
import com.epmet.dataaggre.dto.govissue.result.ClosedIssueListResultDTO;
import com.epmet.dataaggre.dto.govissue.result.ShiftProjectIssueListResultDTO;
import com.epmet.dataaggre.dto.govissue.result.VotingIssueListResultDTO;
import com.epmet.dataaggre.service.govissue.GovIssueService;
@ -68,4 +70,15 @@ public class GovIssueController {
return new Result<List<ShiftProjectIssueListResultDTO>>().ok(govIssueService.shiftProjectIssueList(fromDTO));
}
/**
* @param fromDTO
* @Description 居民热议-已关闭列表
* @author sun
**/
@PostMapping(value = "closedissuelist")
public Result<List<ClosedIssueListResultDTO>> closedIssueList(@RequestBody ClosedIssueListFormDTO fromDTO){
ValidatorUtils.validateEntity(fromDTO, ClosedIssueListFormDTO.ClosedForm.class);
return new Result<List<ClosedIssueListResultDTO>>().ok(govIssueService.closedIssueList(fromDTO));
}
}

7
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govissue/IssueDao.java

@ -18,8 +18,10 @@
package com.epmet.dataaggre.dao.govissue;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dataaggre.dto.govissue.form.ClosedIssueListFormDTO;
import com.epmet.dataaggre.dto.govissue.form.ShiftProjectIssueListFormDTO;
import com.epmet.dataaggre.dto.govissue.form.VotingIssueListFormDTO;
import com.epmet.dataaggre.dto.govissue.result.ClosedIssueListResultDTO;
import com.epmet.dataaggre.dto.govissue.result.IssueListResultDTO;
import com.epmet.dataaggre.dto.govissue.result.IssueShiftProjectResultDTO;
import com.epmet.dataaggre.dto.govissue.result.VotingIssueListResultDTO;
@ -66,4 +68,9 @@ public interface IssueDao extends BaseDao<IssueEntity> {
**/
List<IssueShiftProjectResultDTO> selectIssueListByGridIds(ShiftProjectIssueListFormDTO fromDTO);
/**
* @Description 查询组织下议题转项目切项目已关闭列表数据
* @author sun
**/
List<ClosedIssueListResultDTO> selectClosedListGov(ClosedIssueListFormDTO fromDTO);
}

9
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govissue/GovIssueService.java

@ -2,9 +2,11 @@ package com.epmet.dataaggre.service.govissue;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.dataaggre.dto.govissue.form.AllIssueFormDTO;
import com.epmet.dataaggre.dto.govissue.form.ClosedIssueListFormDTO;
import com.epmet.dataaggre.dto.govissue.form.ShiftProjectIssueListFormDTO;
import com.epmet.dataaggre.dto.govissue.form.VotingIssueListFormDTO;
import com.epmet.dataaggre.dto.govissue.result.AllIssueResultDTO;
import com.epmet.dataaggre.dto.govissue.result.ClosedIssueListResultDTO;
import com.epmet.dataaggre.dto.govissue.result.ShiftProjectIssueListResultDTO;
import com.epmet.dataaggre.dto.govissue.result.VotingIssueListResultDTO;
@ -37,4 +39,11 @@ public interface GovIssueService {
* @author sun
**/
List<ShiftProjectIssueListResultDTO> shiftProjectIssueList(ShiftProjectIssueListFormDTO fromDTO);
/**
* @param fromDTO
* @Description 居民热议-已关闭列表
* @author sun
**/
List<ClosedIssueListResultDTO> closedIssueList(ClosedIssueListFormDTO fromDTO);
}

31
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govissue/impl/GovIssueServiceImpl.java

@ -9,6 +9,7 @@ import com.epmet.dataaggre.constant.IssueConstant;
import com.epmet.dataaggre.dao.govissue.IssueApplicationDao;
import com.epmet.dataaggre.dao.govissue.IssueDao;
import com.epmet.dataaggre.dto.govissue.form.AllIssueFormDTO;
import com.epmet.dataaggre.dto.govissue.form.ClosedIssueListFormDTO;
import com.epmet.dataaggre.dto.govissue.form.ShiftProjectIssueListFormDTO;
import com.epmet.dataaggre.dto.govissue.form.VotingIssueListFormDTO;
import com.epmet.dataaggre.dto.govissue.result.*;
@ -261,4 +262,34 @@ public class GovIssueServiceImpl implements GovIssueService {
return resultList;
}
/**
* @param fromDTO
* @Description 居民热议-已关闭列表
* @author sun
**/
@Override
public List<ClosedIssueListResultDTO> closedIssueList(ClosedIssueListFormDTO fromDTO) {
List<ClosedIssueListResultDTO> resultList = new ArrayList<>();
//分页参数
int pageIndex = (fromDTO.getPageNo() - NumConstant.ONE) * fromDTO.getPageSize();
fromDTO.setPageNo(pageIndex);
//1.查询组织下议题转项目切项目已关闭列表数据
resultList = issueDao.selectClosedListGov(fromDTO);
if(null == resultList || resultList.size()<NumConstant.ONE){
return new ArrayList<>();
}
//2.根据网格Id查询"组织-网格"名称
List<String> gridIdList = resultList.stream().map(ClosedIssueListResultDTO::getGridId).collect(Collectors.toList());
List<GridsInfoListResultDTO> gridInfoList = govOrgService.gridListByIds(gridIdList);
//3.封装数据并返回
HashMap<String, String> gridIdAndNames = new HashMap<>();
gridInfoList.stream().forEach(g -> gridIdAndNames.put(g.getGridId(), g.getGridName()));
resultList.stream().forEach(pt -> pt.setBelongsGridName(gridIdAndNames.get(pt.getGridId())));
return resultList;
}
}

20
epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueDao.xml

@ -72,6 +72,26 @@
WHERE
i.del_flag = '0'
AND i.issue_status = 'shift_project'
AND i.org_id = #{agencyId}
ORDER BY
count DESC
LIMIT #{pageNo}, #{pageSize}
</select>
<select id="selectClosedListGov" resultType="com.epmet.dataaggre.dto.govissue.result.ClosedIssueListResultDTO">
SELECT
i.grid_id AS gridId,
i.id AS issueId,
IFNULL(i.issue_title, '') AS issueTitle,
IFNULL(i.close_reason, '') AS closeReason,
UNIX_TIMESTAMP(i.closed_time) AS closedTime,
( SELECT count(id) FROM issue_vote_detail WHERE del_flag = '0' AND issue_id = i.id ) AS "count"
FROM
issue i
WHERE
i.del_flag = '0'
AND i.org_id = #{agencyId}
AND i.issue_status = 'closed'
ORDER BY
count DESC
LIMIT #{pageNo}, #{pageSize}

Loading…
Cancel
Save