diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/form/ClosedIssueListFormDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/form/ClosedIssueListFormDTO.java new file mode 100644 index 0000000000..2fe2404bd9 --- /dev/null +++ b/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 gridIdList; + + public interface ClosedForm{} +} diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/form/ShiftProjectIssueListFormDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/form/ShiftProjectIssueListFormDTO.java index c761eca2e8..34f3d13326 100644 --- a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/form/ShiftProjectIssueListFormDTO.java +++ b/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 gridIdList; - public interface VotingForm{} + public interface ShiftForm{} } diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/result/ClosedIssueListResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/result/ClosedIssueListResultDTO.java new file mode 100644 index 0000000000..cad51d4517 --- /dev/null +++ b/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; +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovIssueController.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovIssueController.java index 81e69f6f0d..a1a52310ba 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovIssueController.java +++ b/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>().ok(govIssueService.shiftProjectIssueList(fromDTO)); } + /** + * @param fromDTO + * @Description 居民热议-已关闭列表 + * @author sun + **/ + @PostMapping(value = "closedissuelist") + public Result> closedIssueList(@RequestBody ClosedIssueListFormDTO fromDTO){ + ValidatorUtils.validateEntity(fromDTO, ClosedIssueListFormDTO.ClosedForm.class); + return new Result>().ok(govIssueService.closedIssueList(fromDTO)); + } + } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govissue/IssueDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govissue/IssueDao.java index 57da65e3fd..7f583e13fa 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govissue/IssueDao.java +++ b/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 { **/ List selectIssueListByGridIds(ShiftProjectIssueListFormDTO fromDTO); + /** + * @Description 查询组织下议题转项目切项目已关闭列表数据 + * @author sun + **/ + List selectClosedListGov(ClosedIssueListFormDTO fromDTO); } \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govissue/GovIssueService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govissue/GovIssueService.java index 23b5849ff0..2c80898675 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govissue/GovIssueService.java +++ b/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 shiftProjectIssueList(ShiftProjectIssueListFormDTO fromDTO); + + /** + * @param fromDTO + * @Description 居民热议-已关闭列表 + * @author sun + **/ + List closedIssueList(ClosedIssueListFormDTO fromDTO); } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govissue/impl/GovIssueServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govissue/impl/GovIssueServiceImpl.java index a73985788e..7e73848bdb 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govissue/impl/GovIssueServiceImpl.java +++ b/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 closedIssueList(ClosedIssueListFormDTO fromDTO) { + List resultList = new ArrayList<>(); + //分页参数 + int pageIndex = (fromDTO.getPageNo() - NumConstant.ONE) * fromDTO.getPageSize(); + fromDTO.setPageNo(pageIndex); + + //1.查询组织下议题转项目切项目已关闭列表数据 + resultList = issueDao.selectClosedListGov(fromDTO); + if(null == resultList || resultList.size()(); + } + + //2.根据网格Id查询"组织-网格"名称 + List gridIdList = resultList.stream().map(ClosedIssueListResultDTO::getGridId).collect(Collectors.toList()); + List gridInfoList = govOrgService.gridListByIds(gridIdList); + + //3.封装数据并返回 + HashMap 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; + } + } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueDao.xml index 1cfae4f58a..04be9d6d8d 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueDao.xml +++ b/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} + + +