From d60c4b7365c81160d6855e02b679397d48ae1576 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Fri, 25 Dec 2020 18:04:52 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B1=85=E6=B0=91=E7=83=AD=E8=AE=AE-=E8=A1=A8?= =?UTF-8?q?=E5=86=B3=E4=B8=AD=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../govissue/form/VotingIssueListFormDTO.java | 37 ++++++++++++++++ .../result/VotingIssueListResultDTO.java | 44 +++++++++++++++++++ .../govorg/result/GridsInfoListResultDTO.java | 31 +++++++++++++ .../controller/GovIssueController.java | 17 +++++++ .../dataaggre/dao/govissue/IssueDao.java | 7 +++ .../dataaggre/dao/govorg/CustomerGridDao.java | 8 ++++ .../service/govissue/GovIssueService.java | 9 ++++ .../govissue/impl/GovIssueServiceImpl.java | 44 +++++++++++++++++++ .../service/govorg/GovOrgService.java | 9 ++++ .../govorg/impl/GovOrgServiceImpl.java | 12 +++++ .../resources/mapper/govissue/IssueDao.xml | 23 ++++++++++ .../mapper/govorg/CustomerGridDao.xml | 27 ++++++++++++ 12 files changed, 268 insertions(+) create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/form/VotingIssueListFormDTO.java create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/result/VotingIssueListResultDTO.java create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/GridsInfoListResultDTO.java diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/form/VotingIssueListFormDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/form/VotingIssueListFormDTO.java new file mode 100644 index 0000000000..c5353f13bd --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/form/VotingIssueListFormDTO.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 VotingIssueListFormDTO implements Serializable { + private static final long serialVersionUID = -436147374473316845L; + /** + * 机关组织Id + * */ + @NotBlank(message = "组织Id不能为空", groups = {VotingIssueListFormDTO.VotingForm.class}) + private String agencyId; + /** + * 页码 + * */ + @Min(1) + private Integer pageNo; + /** + * 每页多少条 + * */ + private Integer pageSize = 20; + /** + * 组织下网格Id集合 + * */ + private List gridIdList; + + public interface VotingForm{} +} diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/result/VotingIssueListResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/result/VotingIssueListResultDTO.java new file mode 100644 index 0000000000..d65eb15870 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/result/VotingIssueListResultDTO.java @@ -0,0 +1,44 @@ +package com.epmet.dataaggre.dto.govissue.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description 议题-表决中列表-接口返参 + * @Auth sun + */ +@Data +public class VotingIssueListResultDTO implements Serializable { + private static final long serialVersionUID = -7134055957167447949L; + + /** + * 网格Id(方便查操作权限) + * */ + private String gridId; + /** + * 议题Id + * */ + private String issueId; + /** + * 议题标题 + * */ + private String issueTitle; + /** + * 所属网格(网格所属组织名称-网格名称) + * */ + private String belongsGridName; + /** + * 议题建议 + * */ + private String suggestion; + /** + * 议题创建时间 + * */ + private Long issuePublishTime; + /** + * 实际总表决数 + * */ + private Integer count; + +} diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/GridsInfoListResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/GridsInfoListResultDTO.java new file mode 100644 index 0000000000..f25721539f --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/GridsInfoListResultDTO.java @@ -0,0 +1,31 @@ +package com.epmet.dataaggre.dto.govorg.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Auther sun + * 获取用户访问过的所有网格列表-接口返参 + */ +@Data +public class GridsInfoListResultDTO implements Serializable { + + private static final long serialVersionUID = -1L; + + /** + * 客户Id + */ + private String customerId; + + /** + * 网格Id + */ + private String gridId; + + /** + * 网格名称 + */ + private String gridName; + +} 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 2969d36099..a7c52364ab 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 @@ -1,11 +1,15 @@ package com.epmet.dataaggre.controller; import com.epmet.commons.tools.annotation.LoginUser; +import com.epmet.commons.tools.annotation.RequirePermission; +import com.epmet.commons.tools.enums.RequirePermissionEnum; 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.VotingIssueListFormDTO; import com.epmet.dataaggre.dto.govissue.result.AllIssueResultDTO; +import com.epmet.dataaggre.dto.govissue.result.VotingIssueListResultDTO; import com.epmet.dataaggre.service.govissue.GovIssueService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; @@ -13,6 +17,8 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.List; + /** * @Author zxc * @DateTime 2020/12/25 上午9:45 @@ -37,4 +43,15 @@ public class GovIssueController { return new Result().ok(govIssueService.allIssueList(formDTO,tokenDto)); } + /** + * @param formDTO + * @Description 居民热议-表决中列表 + * @author sun + **/ + @PostMapping(value = "votingissuelist") + public Result> votingIssueList(@RequestBody VotingIssueListFormDTO formDTO){ + ValidatorUtils.validateEntity(formDTO, VotingIssueListFormDTO.VotingForm.class); + return new Result>().ok(govIssueService.votingIssueList(formDTO)); + } + } 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 95a9a0fad2..53873c9161 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,7 +18,9 @@ package com.epmet.dataaggre.dao.govissue; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dataaggre.dto.govissue.form.VotingIssueListFormDTO; import com.epmet.dataaggre.dto.govissue.result.IssueListResultDTO; +import com.epmet.dataaggre.dto.govissue.result.VotingIssueListResultDTO; import com.epmet.dataaggre.entity.govissue.IssueEntity; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -42,4 +44,9 @@ public interface IssueDao extends BaseDao { */ List issueStatusClosedOrVoting(@Param("gridIds") List gridIds, @Param("issueStatus")String issueStatus); + /** + * @Description 查询网格列表下表决中的议题列表 + * @author sun + **/ + List selectVotingList(VotingIssueListFormDTO formDTO); } \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerGridDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerGridDao.java index a58bc9c32e..b23681737d 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerGridDao.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerGridDao.java @@ -19,6 +19,7 @@ package com.epmet.dataaggre.dao.govorg; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.dataaggre.dto.govorg.result.GridInfoResultDTO; +import com.epmet.dataaggre.dto.govorg.result.GridsInfoListResultDTO; import com.epmet.dataaggre.entity.govorg.CustomerGridEntity; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -40,4 +41,11 @@ public interface CustomerGridDao extends BaseDao { **/ List selectAgencyGridList(@Param("agencyId") String agencyId); + /** + * @param gridIdList + * @return + * @Description 根据网格Id集合获取网格列表信息 + * @Author sun + */ + List selectGridByIds(@Param("gridIdList") List gridIdList); } \ 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 97ee2cb0eb..22e7446cbe 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,7 +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.VotingIssueListFormDTO; import com.epmet.dataaggre.dto.govissue.result.AllIssueResultDTO; +import com.epmet.dataaggre.dto.govissue.result.VotingIssueListResultDTO; + +import java.util.List; /** * @Author zxc @@ -19,4 +23,9 @@ public interface GovIssueService { */ AllIssueResultDTO allIssueList(AllIssueFormDTO formDTO,TokenDto tokenDto); + /** + * @Description 居民热议-表决中列表 + * @author sun + **/ + List votingIssueList(VotingIssueListFormDTO formDTO); } 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 773ecb7061..555524d37b 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 @@ -1,14 +1,20 @@ package com.epmet.dataaggre.service.govissue.impl; import com.epmet.commons.dynamic.datasource.annotation.DataSource; +import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.dataaggre.constant.DataSourceConstant; 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.VotingIssueListFormDTO; import com.epmet.dataaggre.dto.govissue.result.AllIssueResultDTO; import com.epmet.dataaggre.dto.govissue.result.IssueListResultDTO; +import com.epmet.dataaggre.dto.govissue.result.VotingIssueListResultDTO; +import com.epmet.dataaggre.dto.govorg.result.GridInfoResultDTO; +import com.epmet.dataaggre.dto.govorg.result.GridsInfoListResultDTO; import com.epmet.dataaggre.service.govissue.GovIssueService; +import com.epmet.dataaggre.service.govorg.GovOrgService; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import lombok.extern.slf4j.Slf4j; @@ -17,7 +23,9 @@ import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.stream.Collectors; /** * @Author zxc @@ -32,6 +40,8 @@ public class GovIssueServiceImpl implements GovIssueService { private IssueDao issueDao; @Autowired private IssueApplicationDao issueApplicationDao; + @Autowired + private GovOrgService govOrgService; /** * @Description 按组织查询所有议题 @@ -76,4 +86,38 @@ public class GovIssueServiceImpl implements GovIssueService { return null; } + /** + * @Description 居民热议-表决中列表 + * @author sun + **/ + @Override + public List votingIssueList(VotingIssueListFormDTO formDTO) { + List resultList = new ArrayList<>(); + int num = (formDTO.getPageNo() - NumConstant.ONE) * formDTO.getPageSize(); + formDTO.setPageNo(num); + //1.查询组织下网格列表 + List gridList = govOrgService.gridList(formDTO.getAgencyId()); + List gridIdList = gridList.stream().map(GridInfoResultDTO::getGridId).collect(Collectors.toList()); + if (gridIdList.size() < NumConstant.ONE) { + return resultList; + } + formDTO.setGridIdList(gridIdList); + + //2.查询网格列表下表决中的议题列表 + resultList = issueDao.selectVotingList(formDTO); + if(resultList.size()(); + } + + //3.根据网格Id查询"组织-网格"名称 + List gridInfoList = govOrgService.gridListByIds(gridIdList); + + //4.封装数据并返回 + 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/java/com/epmet/dataaggre/service/govorg/GovOrgService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java index 1908a1d9d9..e0a35f3558 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java @@ -2,6 +2,7 @@ package com.epmet.dataaggre.service.govorg; import com.epmet.dataaggre.dto.govorg.result.AgencyGridResultDTO; import com.epmet.dataaggre.dto.govorg.result.GridInfoResultDTO; +import com.epmet.dataaggre.dto.govorg.result.GridsInfoListResultDTO; import java.util.List; @@ -25,4 +26,12 @@ public interface GovOrgService { **/ List gridList(String agencyId); + /** + * @param gridIdList + * @return + * @Description 根据网格Id集合获取网格列表信息 + * @Author sun + */ + List gridListByIds(List gridIdList); + } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java index d84054f6e0..d918252d4f 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java @@ -10,6 +10,7 @@ import com.epmet.dataaggre.dao.govorg.CustomerStaffAgencyDao; import com.epmet.dataaggre.dto.govorg.CustomerStaffAgencyDTO; import com.epmet.dataaggre.dto.govorg.result.AgencyGridResultDTO; import com.epmet.dataaggre.dto.govorg.result.GridInfoResultDTO; +import com.epmet.dataaggre.dto.govorg.result.GridsInfoListResultDTO; import com.epmet.dataaggre.entity.govorg.CustomerAgencyEntity; import com.epmet.dataaggre.service.govorg.GovOrgService; import lombok.extern.slf4j.Slf4j; @@ -97,5 +98,16 @@ public class GovOrgServiceImpl implements GovOrgService { return customerGridDao.selectAgencyGridList(agencyId); } + /** + * @param gridIdList + * @return + * @Description 根据网格Id集合获取网格列表信息 + * @Author sun + */ + @Override + public List gridListByIds(List gridIdList) { + return customerGridDao.selectGridByIds(gridIdList); + } + } 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 45b8003851..405981e94f 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 @@ -20,4 +20,27 @@ GRID_ID = #{gridId} + + + \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerGridDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerGridDao.xml index 1e5bced068..b49823cac6 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerGridDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerGridDao.xml @@ -14,4 +14,31 @@ AND pid = #{agencyId} + +