diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/constant/IssueConstant.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/constant/IssueConstant.java index 830eca0598..ea3558a830 100644 --- a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/constant/IssueConstant.java +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/constant/IssueConstant.java @@ -5,4 +5,14 @@ package com.epmet.dataaggre.constant; * @DateTime 2020/12/25 上午10:54 */ public interface IssueConstant { + + /** + * 议题状态(表决中:voting 已转项目:shift_project 已关闭:closed 待处理:auditing 已驳回:rejected) + */ + String ISSUE_STATUS_VOTING = "voting"; + String ISSUE_STATUS_SHIFT_PROJECT = "shift_project"; + String ISSUE_STATUS_CLOSED = "closed"; + String ISSUE_STATUS_AUDITING = "auditing"; + String ISSUE_STATUS_REJECTED = "rejected"; + } diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/form/AllIssueFormDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/form/AllIssueFormDTO.java new file mode 100644 index 0000000000..73822375f0 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/form/AllIssueFormDTO.java @@ -0,0 +1,34 @@ +package com.epmet.dataaggre.dto.govissue.form; + +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.util.List; + +/** + * @Author zxc + * @DateTime 2020/12/25 下午1:26 + */ +@Data +public class AllIssueFormDTO implements Serializable { + + private static final long serialVersionUID = -7857792672812118217L; + + public interface AllIssueForm{} + + @NotNull(message = "页码不能为空",groups = {AllIssueForm.class}) + private Integer pageNo; + + @NotNull(message = "每页数量不能为空",groups = {AllIssueForm.class}) + private Integer pageSize; + + @NotNull(message = "议题类型不能为空",groups = {AllIssueForm.class}) + private String issueType; + + /** + * 网格Id集合 + */ + private List gridIdList; + +} diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/result/AllIssueResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/result/AllIssueResultDTO.java new file mode 100644 index 0000000000..ec9e6a2526 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/result/AllIssueResultDTO.java @@ -0,0 +1,32 @@ +package com.epmet.dataaggre.dto.govissue.result; + +import lombok.Data; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.List; + +/** + * @Author zxc + * @DateTime 2020/12/25 下午1:32 + */ +@Data +public class AllIssueResultDTO implements Serializable { + + private static final long serialVersionUID = -2729009012650779109L; + + /** + * 议题总数 + */ + private Integer total; + + /** + * 议题列表 + */ + private List issueList; + + public AllIssueResultDTO() { + this.total = 0; + this.issueList = new ArrayList<>(); + } +} diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/result/IssueListResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/result/IssueListResultDTO.java new file mode 100644 index 0000000000..240b5e5dc0 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/result/IssueListResultDTO.java @@ -0,0 +1,108 @@ +package com.epmet.dataaggre.dto.govissue.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2020/12/25 下午1:34 + */ +@Data +public class IssueListResultDTO implements Serializable { + + private static final long serialVersionUID = -2926735144624342550L; + + /** + * 议题ID + */ + private String issueId; + + /** + * 议题标题 + */ + private String issueTitle; + + /** + * 所属网格(网格所属组织名称-网格名称) + */ + private String belongsGridName; + + /** + * 议题建议 + */ + private String suggestion; + + /** + * 网格ID + */ + private String gridId; + + /** + * 议题创建时间 + */ + private Long createTime; + + /** + * 议题关闭说明(关闭时的答复) + */ + private String issueCloseReason; + + /** + * 议题关闭时间 + */ + private Long issueClosedTime; + + /** + * 议题状态 + */ + private String status; + + /** + * 结案说明 + */ + private String closedReason; + + /** + * 驳回理由 + */ + private String rejectedReason; + + /** + * 驳回时间 + */ + private Long rejectedTime; + + /** + * 话题ID + */ + private String topicId; + + /** + * 审核中的创建时间 + */ + private Long auditingTime; + + /** + * 转项目时间 + */ + private Long shiftProjectTime; + + public IssueListResultDTO() { + this.issueId = ""; + this.issueTitle = ""; + this.belongsGridName = ""; + this.suggestion = ""; + this.gridId = ""; + this.createTime = 0L; + this.issueCloseReason = ""; + this.issueClosedTime = 0L; + this.status = ""; + this.closedReason = ""; + this.rejectedReason = ""; + this.rejectedTime = 0L; + this.topicId = ""; + this.auditingTime = 0L; + this.shiftProjectTime = 0L; + } +} 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 6be742c53c..2969d36099 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,5 +1,15 @@ package com.epmet.dataaggre.controller; +import com.epmet.commons.tools.annotation.LoginUser; +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.result.AllIssueResultDTO; +import com.epmet.dataaggre.service.govissue.GovIssueService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -10,4 +20,21 @@ import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping("issue") public class GovIssueController { + + @Autowired + private GovIssueService govIssueService; + + /** + * @Description 按组织查询所有议题 + * @Param formDTO + * @Param tokenDto + * @author zxc + * @date 2020/12/25 下午2:37 + */ + @PostMapping("allissuelist") + public Result allIssueList(@RequestBody AllIssueFormDTO formDTO, @LoginUser TokenDto tokenDto){ + ValidatorUtils.validateEntity(formDTO, AllIssueFormDTO.AllIssueForm.class); + return new Result().ok(govIssueService.allIssueList(formDTO,tokenDto)); + } + } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govissue/IssueApplicationDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govissue/IssueApplicationDao.java index dbc18cca61..bf9e3a4a2e 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govissue/IssueApplicationDao.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govissue/IssueApplicationDao.java @@ -18,8 +18,12 @@ package com.epmet.dataaggre.dao.govissue; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dataaggre.dto.govissue.result.IssueListResultDTO; import com.epmet.dataaggre.entity.govissue.IssueApplicationEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * 话题转议题申请表 @@ -29,4 +33,21 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface IssueApplicationDao extends BaseDao { + + /** + * @Description 查询被拒绝的议题 + * @Param gridIds + * @author zxc + * @date 2020/12/25 下午2:40 + */ + List issueStatusRejected(@Param("gridIds") List gridIds); + + /** + * @Description 查询被拒绝的议题 + * @Param gridIds + * @author zxc + * @date 2020/12/25 下午2:40 + */ + List issueStatusAuditing(@Param("gridIds") List gridIds); + } \ No newline at end of file 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 d38a52459b..95a9a0fad2 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,12 @@ package com.epmet.dataaggre.dao.govissue; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dataaggre.dto.govissue.result.IssueListResultDTO; import com.epmet.dataaggre.entity.govissue.IssueEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * 议题详情 关联话题,转议题时间必须要和话题转议题时间一致、关闭时间必须要和操作记录表的关闭记录时间一致、转项目时间必须要和项目记录生成时间一致,注意服务间调用的时间一致性。每个议题最后总会被关闭。 @@ -29,4 +33,13 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface IssueDao extends BaseDao { + + /** + * @Description 查询议题 + * @Param gridIds + * @author zxc + * @date 2020/12/25 下午2:19 + */ + List issueStatusClosedOrVoting(@Param("gridIds") List gridIds, @Param("issueStatus")String issueStatus); + } \ 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 72e4e7186a..97ee2cb0eb 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 @@ -1,8 +1,22 @@ 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.result.AllIssueResultDTO; + /** * @Author zxc * @DateTime 2020/12/25 上午9:16 */ public interface GovIssueService { + + /** + * @Description 按组织查询所有议题 + * @Param formDTO + * @Param tokenDto + * @author zxc + * @date 2020/12/25 下午2:37 + */ + AllIssueResultDTO allIssueList(AllIssueFormDTO formDTO,TokenDto tokenDto); + } 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 a666cfbbe1..773ecb7061 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,10 +1,23 @@ package com.epmet.dataaggre.service.govissue.impl; import com.epmet.commons.dynamic.datasource.annotation.DataSource; +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.result.AllIssueResultDTO; +import com.epmet.dataaggre.dto.govissue.result.IssueListResultDTO; import com.epmet.dataaggre.service.govissue.GovIssueService; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; + +import java.util.ArrayList; +import java.util.List; /** * @Author zxc @@ -14,4 +27,53 @@ import org.springframework.stereotype.Service; @DataSource(DataSourceConstant.GOV_ISSUE) @Slf4j public class GovIssueServiceImpl implements GovIssueService { + + @Autowired + private IssueDao issueDao; + @Autowired + private IssueApplicationDao issueApplicationDao; + + /** + * @Description 按组织查询所有议题 + * @Param formDTO + * @Param tokenDto + * @author zxc + * @date 2020/12/25 下午2:37 + */ + @Override + public AllIssueResultDTO allIssueList(AllIssueFormDTO formDTO, TokenDto tokenDto) { + if (CollectionUtils.isEmpty(formDTO.getGridIdList())){ + + } + return null; + } + + /** + * @Description 已关闭、表决中的议题走此方法 + * @Param formDTO + * @author zxc + * @date 2020/12/25 下午2:30 + */ + public List issueStatusClosedOrVoting(AllIssueFormDTO formDTO){ + if (CollectionUtils.isEmpty(formDTO.getGridIdList())){ + return new ArrayList<>(); + } + PageInfo result = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize()).doSelectPageInfo(() -> issueDao.issueStatusClosedOrVoting(formDTO.getGridIdList(), formDTO.getIssueType())); + return result.getList(); + } + + /** + * @Description 被拒绝的议题走此方法 + * @Param formDTO + * @author zxc + * @date 2020/12/25 下午2:34 + */ + public List issueStatusRejected(AllIssueFormDTO formDTO){ + if (CollectionUtils.isEmpty(formDTO.getGridIdList())){ + return new ArrayList<>(); + } +// PageInfo result = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize()).doSelectPageInfo(() -> .issueStatusClosed(formDTO.getGridIdList())); + return null; + } + } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueApplicationDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueApplicationDao.xml index bfa81a1462..ef2db73c1d 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueApplicationDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueApplicationDao.xml @@ -2,4 +2,24 @@ + + + + + + \ No newline at end of file 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 0fbaee3fe8..45b8003851 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 @@ -2,4 +2,22 @@ + + + \ No newline at end of file