From ab8e163a9d3c3fde13f1554000e35cb1417223ef Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Thu, 23 Dec 2021 09:12:04 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9C=80=E6=96=B0=E7=9B=B4=E6=8A=A5=E8=BF=94?= =?UTF-8?q?=E5=8F=82=E9=99=84=E4=BB=B6=E7=B1=BB=E5=9E=8B=E5=88=86=E4=B8=BA?= =?UTF-8?q?=E5=9B=BE=E7=89=87=E5=92=8C=E8=AF=AD=E9=9F=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/dto/result/NewEventsResultDTO.java | 22 +++++++++++++++ .../dto/result/UserMentionResultDTO.java | 24 ++++++++++++++++ .../service/impl/ResiEventServiceImpl.java | 28 +++++++++++++++++++ .../main/resources/mapper/ResiEventDao.xml | 15 ++++++---- .../resources/mapper/ResiEventMentionDao.xml | 13 ++++++--- 5 files changed, 93 insertions(+), 9 deletions(-) diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/NewEventsResultDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/NewEventsResultDTO.java index 8035108f6a..580d9da12d 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/NewEventsResultDTO.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/NewEventsResultDTO.java @@ -1,5 +1,6 @@ package com.epmet.dto.result; +import com.fasterxml.jackson.annotation.JsonIgnore; import lombok.Data; import java.io.Serializable; @@ -31,4 +32,25 @@ public class NewEventsResultDTO implements Serializable { private List eventImgs; private String eventId; + /** + * 语音附件url集合 + */ + private List voiceList; + /** + * 事件附件 + */ + @JsonIgnore + private List attachmentList; + + @Data + public static class Attachment { + /** + * url + */ + private String url; + /** + * 附件类型 + */ + private String type; + } } diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/UserMentionResultDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/UserMentionResultDTO.java index 48bb9583ba..4be78b5d64 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/UserMentionResultDTO.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/UserMentionResultDTO.java @@ -1,6 +1,7 @@ package com.epmet.dto.result; import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonIgnore; import lombok.Data; import java.io.Serializable; @@ -58,4 +59,27 @@ public class UserMentionResultDTO implements Serializable { */ private String replyButtonFlag; + /** + * 语音附件url集合 + */ + private List voiceList; + + /** + * 事件附件 + */ + @JsonIgnore + private List attachmentList; + + @Data + public static class Attachment { + /** + * url + */ + private String url; + /** + * 附件类型 + */ + private String type; + } + } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ResiEventServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ResiEventServiceImpl.java index ac25d91e9d..626b058f2d 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ResiEventServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ResiEventServiceImpl.java @@ -627,6 +627,19 @@ public class ResiEventServiceImpl extends BaseServiceImpl resiEventMentionDao.selectMentionList(formDTO.getUserId(), formDTO.getReadFlag())); result.getList().forEach(dto->{ + //附件按类型分组【图片、语音】 + List imgList = new ArrayList<>(); + List voiceList = new ArrayList<>(); + dto.getAttachmentList().forEach(file -> { + if ("image".equals(file.getType())) { + imgList.add(file.getUrl()); + } else if ("voice".equals(file.getType())) { + voiceList.add(file.getUrl()); + } + }); + dto.setImgList(imgList); + dto.setVoiceList(voiceList); + if(dto.getShiftProject()||dto.getStatus().equals(EventConstant.EVENT_STATUS_CLOSED_CASE)){ // 立项和办结了不能回复哈。 dto.setReplyButtonFlag("false"); @@ -652,6 +665,21 @@ public class ResiEventServiceImpl extends BaseServiceImpl orgIds = listResult.getData(); if (!CollectionUtils.isEmpty(orgIds)){ List result = baseDao.newEvents(orgIds); + //附件按类型分组【图片、语音】 + result.forEach(re->{ + List eventImgs = new ArrayList<>(); + List voiceList = new ArrayList<>(); + re.getAttachmentList().forEach(file->{ + if ("image".equals(file.getType())) { + eventImgs.add(file.getUrl()); + } else if ("voice".equals(file.getType())) { + voiceList.add(file.getUrl()); + } + }); + re.setEventImgs(eventImgs); + re.setVoiceList(voiceList); + }); + return result; } return new ArrayList<>(); diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ResiEventDao.xml b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ResiEventDao.xml index 94a3efcbce..72a83c1e6a 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ResiEventDao.xml +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ResiEventDao.xml @@ -31,7 +31,7 @@ (CASE WHEN re.SHIFT_PROJECT = 1 THEN TRUE ELSE FALSE END) AS isProject, (CASE WHEN ro.RED_DOT = 1 THEN TRUE ELSE FALSE END) AS redDot FROM resi_event_report_org ro - INNER JOIN resi_event re ON (ro.RESI_EVENT_ID = re.ID AND re.DEL_FLAG = '0') + INNER JOIN resi_event re ON (ro.RESI_EVENT_ID = re.ID AND re.DEL_FLAG = '0' AND re.audit_status = 'auto_passed') AND ro.DEL_FLAG = '0' and ro.ORG_ID = #{orgId} @@ -185,18 +185,23 @@ - - + + + + @@ -29,11 +33,12 @@ re.`STATUS`, re.SHIFT_PROJECT, re.LATEST_OPERATED_TIME, - rea.ATTACHMENT_URL as img_url + rea.attachment_url AS url, + rea.attachment_type AS type FROM resi_event_mention rem LEFT JOIN resi_event re - ON ( rem.RESI_EVENT_ID = re.id ) + ON ( rem.RESI_EVENT_ID = re.id AND re.audit_status = 'auto_passed') LEFT JOIN resi_event_attachment rea ON ( re.id = rea.RESI_EVENT_ID AND rea.DEL_FLAG = '0'