Browse Source

Merge remote-tracking branch 'origin/dev_issue_project' into dev

dev_shibei_match
zxc 5 years ago
parent
commit
9fe1b2a118
  1. 13
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueController.java
  2. 8
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueDao.java
  3. 9
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueService.java
  4. 11
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java
  5. 10
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteStatisticalServiceImpl.java
  6. 11
      epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueDao.xml
  7. 2
      epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectStaffDao.xml
  8. 9
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/feign/GovIssueFeignClient.java
  9. 6
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/feign/fallback/GovIssueFeignClientFallBack.java
  10. 12
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java
  11. 2
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/utils/ModuleConstant.java

13
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueController.java

@ -13,8 +13,10 @@ import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.dto.IssueDTO;
import com.epmet.dto.result.*;
import com.epmet.excel.IssueExcel;
import com.epmet.resi.group.dto.topic.form.TopicInfoFormDTO;
import com.epmet.service.IssueService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
@ -138,5 +140,16 @@ public class IssueController {
return new Result<List<LatestIssueListResultDTO>>().ok(issueService.getNewestIssueList(formDTO));
}
/**
* @Description 校验话题是否已转议题
* @param formDTO
* @author zxc
*/
@PostMapping(value = "checktopicshiftissue")
public Result<Integer> checkTopicShiftIssue(@RequestBody TopicInfoFormDTO formDTO){
ValidatorUtils.validateEntity(formDTO);
return new Result<Integer>().ok(issueService.checkTopicShiftIssue(formDTO));
}
}

8
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueDao.java

@ -22,6 +22,7 @@ import com.epmet.dto.IssueDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.entity.IssueEntity;
import com.epmet.resi.group.dto.topic.form.TopicInfoFormDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -136,4 +137,11 @@ public interface IssueDao extends BaseDao<IssueEntity> {
* @date 2020.05.22 00:36
**/
Set<IssueDTO> selectIssueIdsByCondition(IssueDTO issueDTO);
/**
* @Description 校验话题是否已转议题
* @param formDTO
* @author zxc
*/
Integer checkTopicShiftIssue(TopicInfoFormDTO formDTO);
}

9
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueService.java

@ -2,6 +2,7 @@ package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.IssueDTO;
import com.epmet.dto.form.CloseIssueFormDTO;
import com.epmet.dto.form.DepartmentStaffListFormDTO;
@ -20,6 +21,7 @@ import com.epmet.dto.form.IssueDetailFormDTO;
import com.epmet.dto.result.*;
import com.epmet.dto.form.IssueShiftedFromTopicFormDTO;
import com.epmet.entity.IssueEntity;
import com.epmet.resi.group.dto.topic.form.TopicInfoFormDTO;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
@ -223,4 +225,11 @@ public interface IssueService extends BaseService<IssueEntity> {
* @date 2020.05.22 00:36
**/
Set<IssueDTO> getIssueIdsByCondition(IssueDTO issueDTO);
/**
* @Description 校验话题是否已转议题
* @param formDTO
* @author zxc
*/
Integer checkTopicShiftIssue(TopicInfoFormDTO formDTO);
}

11
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java

@ -31,6 +31,7 @@ import com.epmet.feign.*;
import com.epmet.redis.GovIssueRedis;
import com.epmet.resi.group.dto.topic.ResiTopicDTO;
import com.epmet.resi.group.dto.topic.form.GovTopicIssueInfoFormDTO;
import com.epmet.resi.group.dto.topic.form.TopicInfoFormDTO;
import com.epmet.resi.group.dto.topic.result.GovTopicIssueInfoResultDTO;
import com.epmet.service.IssueProcessService;
import com.epmet.service.IssueProjectRelationService;
@ -706,4 +707,14 @@ public class IssueServiceImpl extends BaseServiceImpl<IssueDao, IssueEntity> imp
return baseDao.selectIssueIdsByCondition(issueDTO);
}
/**
* @Description 校验话题是否已转议题
* @param formDTO
* @author zxc
*/
@Override
public Integer checkTopicShiftIssue(TopicInfoFormDTO formDTO) {
return baseDao.checkTopicShiftIssue(formDTO);
}
}

10
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteStatisticalServiceImpl.java

@ -168,21 +168,24 @@ public class IssueVoteStatisticalServiceImpl extends BaseServiceImpl<IssueVoteSt
*/
@Override
public VotingTrendResultDTO votingTrend(IssueIdFormDTO issueId) {
//缓存获取议题表决详情
VoteRedisFormDTO voteRedisFormDTO = issueVoteDetailRedis.get(issueId.getIssueId());
VotingTrendResultDTO votingTrendResultDTO = new VotingTrendResultDTO();
BeanUtils.copyProperties(voteRedisFormDTO, votingTrendResultDTO);
votingTrendResultDTO.setRealityVoteCount(voteRedisFormDTO.getSupportAmount() + voteRedisFormDTO.getOppositionAmount());
//DB获取表决 日统计详情
List<PolyLineDTO> polyLineDTOS = issueVoteStatisticalDao.polyLineData(issueId);
PolyLineDTO polyLineDTO = new PolyLineDTO();
polyLineDTO.setVoteDate(LocalDateTime.now().toEpochSecond(ZoneOffset.of("+8")));
//议题 已转项目 或 已结案 的时间
String date = issueDao.operateTime(issueId.getIssueId());
//今天刚转项目或刚刚关闭,当天数据DB没有,直接从缓存拿
if (polyLineDTOS.size() == NumConstant.ZERO) {
if (polyLineDTOS.size() == NumConstant.ZERO && date.equals(LocalDate.now().toString())) {
polyLineDTO.setSupportIncrement(voteRedisFormDTO.getSupportAmount());
polyLineDTO.setOppositionIncrement(voteRedisFormDTO.getOppositionAmount());
polyLineDTOS.add(polyLineDTO);
} else {
//折线数据=DB
String date = issueDao.operateTime(issueId.getIssueId());
//折线数据=DB,今天之前转成的议题,今天 “已转项目”或“已结案”
if (date.equals(LocalDate.now().toString())) {
Integer yesterdaySupport = 0;
Integer yesterdayOppose = 0;
@ -195,6 +198,7 @@ public class IssueVoteStatisticalServiceImpl extends BaseServiceImpl<IssueVoteSt
polyLineDTOS.add(polyLineDTO);
}
}
//今天之前 “已转项目”或“已关闭”
votingTrendResultDTO.setPolyLine(polyLineDTOS);
return votingTrendResultDTO;
}

11
epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueDao.xml

@ -366,4 +366,15 @@
ISSUE_STATUS = #{issueStatus}
</select>
<!-- 校验话题是否已转议题 -->
<select id="checkTopicShiftIssue" resultType="integer" parameterType="com.epmet.resi.group.dto.topic.form.TopicInfoFormDTO">
SELECT
COUNT(*) AS issueCount
FROM
issue
WHERE
del_flag = 0
AND source_id = #{topicId}
</select>
</mapper>

2
epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectStaffDao.xml

@ -34,7 +34,7 @@
</select>
<select id="selectProjectStaffInfo" resultType="com.epmet.dto.ProjectStaffDTO">
SELECT ps.* FROM project_staff ps
INNER JOIN project_process pp ON ps.DEPARTMENT_NAME = pp.DEPARTMENT_NAME AND ps.STAFF_ID = pp.STAFF_ID
INNER JOIN project_process pp ON ps.DEPARTMENT_NAME = pp.DEPARTMENT_NAME AND ps.STAFF_ID = pp.STAFF_ID AND ps.PROJECT_ID = pp.PROJECT_ID
WHERE ps.DEL_FLAG = '0'
AND pp.DEL_FLAG = '0'
AND pp.ID = #{processId}

9
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/feign/GovIssueFeignClient.java

@ -4,6 +4,7 @@ import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.form.IssueShiftedFromTopicFormDTO;
import com.epmet.modules.feign.fallback.GovIssueFeignClientFallBack;
import com.epmet.resi.group.dto.topic.form.TopicInfoFormDTO;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.PostMapping;
@ -26,4 +27,12 @@ public interface GovIssueFeignClient {
**/
@PostMapping(value = "gov/issue/issue/topicshiftissue", consumes = MediaType.APPLICATION_JSON_VALUE)
Result<String> issueShiftedToTopic(IssueShiftedFromTopicFormDTO issueShiftedFromTopicFormDTO);
/**
* @Description 校验话题是否已转议题
* @param formDTO
* @author zxc
*/
@PostMapping(value = "gov/issue/issue/checktopicshiftissue", consumes = MediaType.APPLICATION_JSON_VALUE)
Result<Integer> checkTopicShiftIssue(TopicInfoFormDTO formDTO);
}

6
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/feign/fallback/GovIssueFeignClientFallBack.java

@ -5,6 +5,7 @@ import com.epmet.commons.tools.utils.ModuleUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.form.IssueShiftedFromTopicFormDTO;
import com.epmet.modules.feign.GovIssueFeignClient;
import com.epmet.resi.group.dto.topic.form.TopicInfoFormDTO;
import org.springframework.stereotype.Component;
/**
@ -20,4 +21,9 @@ public class GovIssueFeignClientFallBack implements GovIssueFeignClient {
public Result<String> issueShiftedToTopic(IssueShiftedFromTopicFormDTO issueShiftedFromTopicFormDTO) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "issueShiftedToTopic", issueShiftedFromTopicFormDTO);
}
@Override
public Result<Integer> checkTopicShiftIssue(TopicInfoFormDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "checkTopicShiftIssue", formDTO);
}
}

12
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java

@ -1025,7 +1025,15 @@ public class ResiTopicServiceImpl extends BaseServiceImpl<ResiTopicDao, ResiTopi
Date now = new Date();
//2.调用gov-org获取数据权限
ResiTopicAndGroupResultDTO group = baseDao.getGroupInfoByTopicId(topicTurnIssueFromDTO.getTopicId());
if(null != group){
if(null == group) {
throw new RenException(ModuleConstant.FAILURE_TO_TURN_ISSUE);
}
TopicInfoFormDTO topicId = new TopicInfoFormDTO();
topicId.setTopicId(topicTurnIssueFromDTO.getTopicId());
Integer issueCount = govIssueFeignClient.checkTopicShiftIssue(topicId).getData();
if (issueCount != NumConstant.ZERO){
throw new RenException(ModuleConstant.ALREADY_SHIFT_ISSUE);
}
CommonGridIdFormDTO dataFilterParam = new CommonGridIdFormDTO();
dataFilterParam.setUserId(topicTurnIssueFromDTO.getUserId());
dataFilterParam.setGridId(group.getGridId());
@ -1084,8 +1092,6 @@ public class ResiTopicServiceImpl extends BaseServiceImpl<ResiTopicDao, ResiTopi
}
}
}
throw new RenException(ModuleConstant.FAILURE_TO_TURN_ISSUE);
}
/**
* @Description 政府端查看议题详情时的话题相关信息

2
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/utils/ModuleConstant.java

@ -311,4 +311,6 @@ public interface ModuleConstant extends Constant {
* 组状态 审核中
* */
String GROUP_STATUS_UNDER_AUDITTING = "under_auditting";
String ALREADY_SHIFT_ISSUE = "话题已转议题,请勿重复操作";
}

Loading…
Cancel
Save