From da6830fd62584a9681c6bd512b8dbec79b9f8618 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Wed, 16 Sep 2020 17:49:27 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=AE=E9=A2=98=E9=99=84=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/constant/ExtractConstant.java | 8 +++ .../result/SatisfactionInfoResultDTO.java | 45 +++++++++++++++ .../com/epmet/dao/issue/StatsIssueDao.java | 19 +++++++ .../com/epmet/service/Issue/IssueService.java | 19 +++++++ .../service/Issue/impl/IssueServiceImpl.java | 25 +++++++++ .../extract/impl/IssueExtractServiceImpl.java | 37 ++++++++++--- .../resources/mapper/issue/StatsIssueDao.xml | 55 +++++++++++++++++-- 7 files changed, 194 insertions(+), 14 deletions(-) create mode 100644 epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/result/SatisfactionInfoResultDTO.java diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/constant/ExtractConstant.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/constant/ExtractConstant.java index 070e6547f7..7bf337367d 100644 --- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/constant/ExtractConstant.java +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/constant/ExtractConstant.java @@ -10,4 +10,12 @@ public interface ExtractConstant { String STRANGER = "陌生人"; + String ISSUE_INFO = "查询议题信息为空"; + + String CREATED_TOPIC_USER_IDENTITY = "查询创建话题用户身份信息为空"; + + String PARENT_AGENCY_ID_LIST = "查询组织上级ID集合为空......"; + + String ISSUE_PROCESS = "查询查询议题process集合为空"; + } diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/result/SatisfactionInfoResultDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/result/SatisfactionInfoResultDTO.java new file mode 100644 index 0000000000..7d9f03f897 --- /dev/null +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/result/SatisfactionInfoResultDTO.java @@ -0,0 +1,45 @@ +package com.epmet.dto.extract.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2020/9/16 5:14 下午 + */ +@Data +public class SatisfactionInfoResultDTO implements Serializable { + + private static final long serialVersionUID = 1194031573388458848L; + + /** + * 客户ID + */ + private String customerId; + + /** + * 网格ID + */ + private String gridId; + + /** + * 机关ID + */ + private String agencyId; + + /** + * 议题ID + */ + private String issueId; + + /** + * 动作CODE + */ + private String actionCode; + + /** + * 用户ID + */ + private String userId; +} diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/issue/StatsIssueDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/issue/StatsIssueDao.java index 68fd2b48e7..2ad3653c87 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/issue/StatsIssueDao.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/issue/StatsIssueDao.java @@ -1,6 +1,7 @@ package com.epmet.dao.issue; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.extract.result.SatisfactionInfoResultDTO; import com.epmet.dto.extract.result.IssueProcessInfoResultDTO; import com.epmet.dto.issue.IssueAgencyDTO; import com.epmet.dto.issue.IssueGridDTO; @@ -131,4 +132,22 @@ public interface StatsIssueDao extends BaseDao { * @date 2020/9/16 1:48 下午 */ List selectIssueProcessInfo(@Param("customerId")String customerId, @Param("dateId")String dateId); + + /** + * @Description 查询议题满意度评价信息 + * @param customerId + * @param dateId + * @author zxc + * @date 2020/9/16 1:48 下午 + */ + List selectIssueSatisfactionInfo(@Param("customerId")String customerId, @Param("dateId")String dateId); + + /** + * @Description 查询议题支持反对信息 + * @param customerId + * @param dateId + * @author zxc + * @date 2020/9/16 1:48 下午 + */ + List selectIssueVoteInfo(@Param("customerId")String customerId, @Param("dateId")String dateId); } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/Issue/IssueService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/Issue/IssueService.java index 9fe7edf6d9..1ace044dc5 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/Issue/IssueService.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/Issue/IssueService.java @@ -1,5 +1,6 @@ package com.epmet.service.Issue; +import com.epmet.dto.extract.result.SatisfactionInfoResultDTO; import com.epmet.dto.extract.result.IssueProcessInfoResultDTO; import com.epmet.dto.issue.IssueAgencyDTO; import com.epmet.dto.issue.IssueGridDTO; @@ -129,4 +130,22 @@ public interface IssueService { * @date 2020/9/16 1:48 下午 */ List selectIssueProcessInfo(String customerId,String dateId); + + /** + * @Description 查询议题满意度评价信息 + * @param customerId + * @param dateId + * @author zxc + * @date 2020/9/16 1:48 下午 + */ + List selectIssueSatisfactionInfo(String customerId,String dateId); + + /** + * @Description 查询议题支持反对信息 + * @param customerId + * @param dateId + * @author zxc + * @date 2020/9/16 1:48 下午 + */ + List selectIssueVoteInfo(String customerId,String dateId); } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/Issue/impl/IssueServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/Issue/impl/IssueServiceImpl.java index aaa6c3844d..9518266148 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/Issue/impl/IssueServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/Issue/impl/IssueServiceImpl.java @@ -3,6 +3,7 @@ package com.epmet.service.Issue.impl; import com.epmet.commons.dynamic.datasource.annotation.DataSource; import com.epmet.constant.DataSourceConstant; import com.epmet.dao.issue.StatsIssueDao; +import com.epmet.dto.extract.result.SatisfactionInfoResultDTO; import com.epmet.dto.extract.result.IssueProcessInfoResultDTO; import com.epmet.dto.issue.IssueAgencyDTO; import com.epmet.dto.issue.IssueGridDTO; @@ -106,4 +107,28 @@ public class IssueServiceImpl implements IssueService { public List selectIssueProcessInfo(String customerId, String dateId) { return statsIssueDao.selectIssueProcessInfo(customerId, dateId); } + + /** + * @Description 查询议题满意度评价信息 + * @param customerId + * @param dateId + * @author zxc + * @date 2020/9/16 1:48 下午 + */ + @Override + public List selectIssueSatisfactionInfo(String customerId, String dateId) { + return statsIssueDao.selectIssueSatisfactionInfo(customerId, dateId); + } + + /** + * @Description 查询议题支持反对信息 + * @param customerId + * @param dateId + * @author zxc + * @date 2020/9/16 1:48 下午 + */ + @Override + public List selectIssueVoteInfo(String customerId, String dateId) { + return statsIssueDao.selectIssueVoteInfo(customerId, dateId); + } } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/impl/IssueExtractServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/impl/IssueExtractServiceImpl.java index 480d178c73..8854de47ff 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/impl/IssueExtractServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/impl/IssueExtractServiceImpl.java @@ -1,16 +1,16 @@ package com.epmet.service.evaluationindex.extract.impl; -import com.epmet.commons.dynamic.datasource.annotation.DataSource; import com.epmet.commons.tools.dto.form.TimeListResultDTO; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.DateUtils; -import com.epmet.constant.DataSourceConstant; +import com.epmet.constant.ExtractConstant; import com.epmet.dao.evaluationindex.extract.FactOriginIssueLogDailyDao; import com.epmet.dao.evaluationindex.extract.FactOriginIssueMainDailyDao; import com.epmet.dao.stats.DimAgencyDao; import com.epmet.dto.extract.form.IssueLogDailyFormDTO; import com.epmet.dto.extract.form.IssueMainDailyFormDTO; +import com.epmet.dto.extract.result.SatisfactionInfoResultDTO; import com.epmet.dto.extract.result.AgencyInfoResultDTO; import com.epmet.dto.extract.result.IssueInfoResultDTO; import com.epmet.dto.extract.result.IssueProcessInfoResultDTO; @@ -65,7 +65,7 @@ public class IssueExtractServiceImpl implements IssueExtractService { List listResult = issueService.selectIssueInfo(customerId, dateId); List result = new ArrayList<>(); if (CollectionUtils.isEmpty(listResult)){ - throw new RenException("查询议题信息为空"); + throw new RenException(ExtractConstant.ISSUE_INFO); } listResult.forEach(issue -> { IssueMainDailyFormDTO issueMainDailyFormDTO = ConvertUtils.sourceToTarget(issue, IssueMainDailyFormDTO.class); @@ -90,7 +90,7 @@ public class IssueExtractServiceImpl implements IssueExtractService { List topicIds = listResult.stream().map(issue -> issue.getTopicId()).collect(Collectors.toList()); List topicInfoList = topicService.selectTopicInfo(topicIds); if (CollectionUtils.isEmpty(topicInfoList)){ - throw new RenException("查询创建话题用户身份信息为空"); + throw new RenException(ExtractConstant.CREATED_TOPIC_USER_IDENTITY); } List createTopicUserIds = topicInfoList.stream().map(topic -> topic.getUserId()).distinct().collect(Collectors.toList()); Map topicUserIsParty = userService.selectUserIsParty(createTopicUserIds); @@ -121,7 +121,7 @@ public class IssueExtractServiceImpl implements IssueExtractService { List agencyIds = result.stream().map(r -> r.getAgencyId()).distinct().collect(Collectors.toList()); List agencyInfoList = dimAgencyDao.selectAgencyInfo(agencyIds); if (CollectionUtils.isEmpty(agencyInfoList)){ - throw new RenException("查询组织上级ID集合为空......"); + throw new RenException(ExtractConstant.PARENT_AGENCY_ID_LIST); } result.forEach(r -> { agencyInfoList.forEach(pid -> { @@ -150,19 +150,38 @@ public class IssueExtractServiceImpl implements IssueExtractService { @Override public Boolean issueExtractLog(String customerId, String dateId) { - + List result = new ArrayList<>(); // 查询议题process List listResult = issueService.selectIssueProcessInfo(customerId, dateId); if (CollectionUtils.isEmpty(listResult)){ - throw new RenException("查询查询议题process集合为空"); + throw new RenException(ExtractConstant.ISSUE_PROCESS); } - List result = new ArrayList<>(); listResult.forEach(issueProcess -> { IssueLogDailyFormDTO issueLogDailyFormDTO = ConvertUtils.sourceToTarget(issueProcess, IssueLogDailyFormDTO.class); issueLogDailyFormDTO.setOperationUserId(issueProcess.getUserId()); result.add(issueLogDailyFormDTO); }); + // 查询议题满意度 + List satisfactionInfoList = issueService.selectIssueSatisfactionInfo(customerId, dateId); + if (!CollectionUtils.isEmpty(satisfactionInfoList)){ + satisfactionInfoList.forEach(s -> { + IssueLogDailyFormDTO issueLogDailyFormDTO = ConvertUtils.sourceToTarget(s, IssueLogDailyFormDTO.class); + issueLogDailyFormDTO.setOperationUserId(s.getUserId()); + result.add(issueLogDailyFormDTO); + }); + } + + // 查询议题支持反对 + List voteInfoList = issueService.selectIssueVoteInfo(customerId, dateId); + if (!CollectionUtils.isEmpty(voteInfoList)){ + voteInfoList.forEach(v -> { + IssueLogDailyFormDTO issueLogDailyFormDTO = ConvertUtils.sourceToTarget(v, IssueLogDailyFormDTO.class); + issueLogDailyFormDTO.setOperationUserId(v.getUserId()); + result.add(issueLogDailyFormDTO); + }); + } + // 动作操作人的身份标识是否是党员 List userIds = listResult.stream().map(issue -> issue.getUserId()).distinct().collect(Collectors.toList()); Map map = userService.selectUserIsParty(userIds); @@ -180,7 +199,7 @@ public class IssueExtractServiceImpl implements IssueExtractService { List agencyIds = listResult.stream().map(process -> process.getAgencyId()).distinct().collect(Collectors.toList()); List agencyInfoList = dimAgencyDao.selectAgencyInfo(agencyIds); if (CollectionUtils.isEmpty(agencyInfoList)){ - throw new RenException("查询组织上级ID集合为空......"); + throw new RenException(ExtractConstant.PARENT_AGENCY_ID_LIST); } TimeListResultDTO timeList = DateUtils.getTimeList(dateId); result.forEach(r -> { diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/issue/StatsIssueDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/issue/StatsIssueDao.xml index 1439aa721a..3cf6957432 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/issue/StatsIssueDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/issue/StatsIssueDao.xml @@ -207,15 +207,60 @@ i.CUSTOMER_ID AS customerId, ip.ISSUE_ID AS issueId, ip.CREATED_BY AS userId, - ip.ISSUE_STATUS AS actionCode + (case when i.RESOLVE_TYPE = 'resolved' then 'closed_resolved' + when i.RESOLVE_TYPE = 'unresolved' then 'closed_unresolved' + else i.ISSUE_STATUS end ) AS actionCode FROM issue_process ip - LEFT JOIN issue i ON i.id = ip.issue_id + LEFT JOIN issue i ON i.id = ip.issue_id WHERE i.DEL_FLAG = '0' - AND ip.DEL_FLAG = '0' - AND i.CUSTOMER_ID = #{customerId} - AND DATE_FORMAT(i.CREATED_TIME,'%Y%m%d') = #{dateId} + AND ip.DEL_FLAG = '0' + AND i.CUSTOMER_ID = #{customerId} + AND DATE_FORMAT(i.CREATED_TIME,'%Y%m%d') = #{dateId} + + + + + + + \ No newline at end of file