Browse Source

议题

dev_shibei_match
zxc 5 years ago
parent
commit
c4ce2d971d
  1. 10
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/constant/IssueConstant.java
  2. 34
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/form/AllIssueFormDTO.java
  3. 32
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/result/AllIssueResultDTO.java
  4. 108
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/result/IssueListResultDTO.java
  5. 27
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovIssueController.java
  6. 21
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govissue/IssueApplicationDao.java
  7. 13
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govissue/IssueDao.java
  8. 14
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govissue/GovIssueService.java
  9. 62
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govissue/impl/GovIssueServiceImpl.java
  10. 20
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueApplicationDao.xml
  11. 18
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueDao.xml

10
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";
}

34
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<String> gridIdList;
}

32
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<IssueListResultDTO> issueList;
public AllIssueResultDTO() {
this.total = 0;
this.issueList = new ArrayList<>();
}
}

108
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;
}
}

27
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<AllIssueResultDTO> allIssueList(@RequestBody AllIssueFormDTO formDTO, @LoginUser TokenDto tokenDto){
ValidatorUtils.validateEntity(formDTO, AllIssueFormDTO.AllIssueForm.class);
return new Result<AllIssueResultDTO>().ok(govIssueService.allIssueList(formDTO,tokenDto));
}
}

21
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<IssueApplicationEntity> {
/**
* @Description 查询被拒绝的议题
* @Param gridIds
* @author zxc
* @date 2020/12/25 下午2:40
*/
List<IssueListResultDTO> issueStatusRejected(@Param("gridIds") List<String> gridIds);
/**
* @Description 查询被拒绝的议题
* @Param gridIds
* @author zxc
* @date 2020/12/25 下午2:40
*/
List<IssueListResultDTO> issueStatusAuditing(@Param("gridIds") List<String> gridIds);
}

13
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<IssueEntity> {
/**
* @Description 查询议题
* @Param gridIds
* @author zxc
* @date 2020/12/25 下午2:19
*/
List<IssueListResultDTO> issueStatusClosedOrVoting(@Param("gridIds") List<String> gridIds, @Param("issueStatus")String issueStatus);
}

14
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);
}

62
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<IssueListResultDTO> issueStatusClosedOrVoting(AllIssueFormDTO formDTO){
if (CollectionUtils.isEmpty(formDTO.getGridIdList())){
return new ArrayList<>();
}
PageInfo<IssueListResultDTO> 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<IssueListResultDTO> issueStatusRejected(AllIssueFormDTO formDTO){
if (CollectionUtils.isEmpty(formDTO.getGridIdList())){
return new ArrayList<>();
}
// PageInfo<IssueListResultDTO> result = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize()).doSelectPageInfo(() -> .issueStatusClosed(formDTO.getGridIdList()));
return null;
}
}

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

@ -2,4 +2,24 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.dataaggre.dao.govissue.IssueApplicationDao">
<!-- 查询被拒绝的议题 -->
<select id="issueStatusRejected" resultType="com.epmet.dataaggre.dto.govissue.result.IssueListResultDTO">
select * from issue;
</select>
<!-- 查询被拒绝的议题 -->
<select id="issueStatusAuditing" resultType="com.epmet.dataaggre.dto.govissue.result.IssueListResultDTO">
SELECT
ISSUE_TITLE,
UNIX_TIMESTAMP(CREATED_TIME) AS auditingTime,
TOPIC_ID
FROM issue_application
WHERE DEL_FLAG = 0
AND APPLY_STATUS = 'under_auditing'
AND
<foreach collection="gridIds" item="gridId" separator=" OR ">
GRID_ID = #{gridId}
</foreach>
</select>
</mapper>

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

@ -2,4 +2,22 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.dataaggre.dao.govissue.IssueDao">
<!-- 查询议题 -->
<select id="issueStatusClosedOrVoting" resultType="com.epmet.dataaggre.dto.govissue.result.IssueListResultDTO">
SELECT
ID AS issueId,
IFNULL(CLOSE_REASON,'') AS issueCloseReason,
UNIX_TIMESTAMP(CLOSED_TIME) AS issueClosedTime,
ISSUE_TITLE AS issueTitle ,
UNIX_TIMESTAMP(CREATED_TIME) AS createTime,
SUGGESTION
FROM issue
WHERE DEL_FLAG = '0'
AND ISSUE_STATUS = #{issueStatus}
AND
<foreach collection="gridIds" item="gridId" separator=" OR ">
GRID_ID = #{gridId}
</foreach>
</select>
</mapper>
Loading…
Cancel
Save