From b8aba44836bb65c32ae42ec03f133954eb6ab5ac Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Wed, 22 Dec 2021 17:31:32 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E4=BA=8B=E4=BB=B6=E3=80=91=EF=BC=88?= =?UTF-8?q?=E6=9C=AA=E5=A4=84=E7=90=86=E3=80=81=E5=A4=84=E7=90=86=E4=B8=AD?= =?UTF-8?q?=E3=80=81=E5=B7=B2=E5=8A=9E=E7=BB=93=EF=BC=89=E5=9C=B0=E5=9B=BE?= =?UTF-8?q?=E3=80=81=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/dto/form/ResiEventLsitFormDTO.java | 41 +++++++++ .../dto/result/EventDetailResultDTO.java | 2 +- .../dto/result/ResiEventListResultDTO.java | 85 +++++++++++++++++++ .../epmet/controller/ResiEventController.java | 10 +++ .../main/java/com/epmet/dao/ResiEventDao.java | 6 ++ .../com/epmet/service/ResiEventService.java | 6 ++ .../service/impl/ResiEventServiceImpl.java | 41 +++++++++ .../main/resources/mapper/ResiEventDao.xml | 55 ++++++++++++ 8 files changed, 245 insertions(+), 1 deletion(-) create mode 100644 epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ResiEventLsitFormDTO.java create mode 100644 epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ResiEventListResultDTO.java diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ResiEventLsitFormDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ResiEventLsitFormDTO.java new file mode 100644 index 0000000000..8c9e190bb1 --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ResiEventLsitFormDTO.java @@ -0,0 +1,41 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.Min; +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Author sun + * @Description 【事件】(未处理、处理中、已办结)地图、列表 + **/ +@Data +public class ResiEventLsitFormDTO implements Serializable { + /** + * 网格Id + */ + @NotBlank(message = "网格Id不能为空",groups = Event.class) + private String gridId; + /** + * 未处理:un_read;处理中:processing;已办结:closed_case + */ + @NotBlank(message = "statusCondition不能为空",groups = Event.class) + private String statusCondition; + /** + * 请求页码 + * */ + @Min(1) + private int pageNo = 1; + /** + * 每页多少条数据 + * */ + private int pageSize = 20; + /** + * 是否分页(是:true 否:false) + * */ + private Boolean isPage = true; + + public interface Event {} + +} diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/EventDetailResultDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/EventDetailResultDTO.java index 71b72e456d..4f0e1f1ff0 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/EventDetailResultDTO.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/EventDetailResultDTO.java @@ -81,7 +81,7 @@ public class EventDetailResultDTO implements Serializable { */ private List voiceList; /** - * 报事图片 + * 事件附件 */ @JsonIgnore private List attachmentList; diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ResiEventListResultDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ResiEventListResultDTO.java new file mode 100644 index 0000000000..44dc457a59 --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ResiEventListResultDTO.java @@ -0,0 +1,85 @@ +package com.epmet.dto.result; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonIgnore; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +/** + * @Author sun + * @Description 【事件】(未处理、处理中、已办结)地图、列表 + **/ +@Data +public class ResiEventListResultDTO implements Serializable { + private static final long serialVersionUID = -7372245830000262134L; + + /** + * 事件id + */ + private String resiEventId; + /** + * 事件内容 + */ + private String eventContent; + /** + * 图片列表,可为空 + */ + private List imgList; + /** + * true展示;false不展示 + */ + private Boolean redDot; + /** + * 处理中:processing;已办结:closed_case + */ + private String status; + /** + * true:已转项目;false:未立项 + */ + private Boolean shiftProject; + /** + * 列表显示时间用此列:yyyy-MM-dd HH:mm:ss;处理中:上报事件时间,处理中:最新一次处理事件;已办结:办结时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8") + private Date showTime; + /** + * true:显示回复;false:不显示回复按钮 + */ + private String replyButtonFlag; + /** + * 事件是否被阅读过;1已读;针对报事人待处理列表 + */ + private Boolean readFlag; + /** + * 语音附件url集合 + */ + private List voiceList; + /** + * 经度 + */ + private String longitude; + /** + * 纬度 + */ + private String latitude; + /** + * 事件附件 + */ + @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/controller/ResiEventController.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ResiEventController.java index 973bfe0a24..0ca734f95f 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ResiEventController.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ResiEventController.java @@ -265,4 +265,14 @@ public class ResiEventController { return new Result(); } + /** + * @Author sun + * @Description 【事件】(未处理、处理中、已办结)地图、列表 + **/ + @PostMapping("resieventlist") + public Result> resiEventList(@RequestBody ResiEventLsitFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, ResiEventLsitFormDTO.Event.class); + return new Result>().ok(resiEventService.resiEventList(formDTO)); + } + } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ResiEventDao.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ResiEventDao.java index a39c72aa76..cf06138591 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ResiEventDao.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ResiEventDao.java @@ -95,4 +95,10 @@ public interface ResiEventDao extends BaseDao { * @return */ List selectUserReported(PageUserReportEventFormDTO formDTO); + + /** + * @Author sun + * @Description 查询网格下各种状态事件列表 + **/ + List resiEventList(@Param("gridId") String gridId, @Param("statusCondition")String statusCondition); } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ResiEventService.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ResiEventService.java index b54bc1dcac..b3b0321144 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ResiEventService.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ResiEventService.java @@ -161,4 +161,10 @@ public interface ResiEventService extends BaseService { * @Description 定时任务调用-事件语音附件自动审核 **/ void autoAudit(); + + /** + * @Author sun + * @Description 【事件】(未处理、处理中、已办结)地图、列表 + **/ + List resiEventList(ResiEventLsitFormDTO formDTO); } \ No newline at end of file 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 ac6121bcaa..ac25d91e9d 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 @@ -997,5 +997,46 @@ public class ResiEventServiceImpl extends BaseServiceImpl resiEventList(ResiEventLsitFormDTO formDTO) { + PageInfo result = PageHelper.startPage(formDTO.getPageNo(), + formDTO.getPageSize(), formDTO.getIsPage()).doSelectPageInfo(() -> baseDao.resiEventList(formDTO.getGridId(), formDTO.getStatusCondition())); + result.getList().forEach(resultDTO -> { + //附件按类型分组【图片、语音】 + List imgList = new ArrayList<>(); + List voiceList = new ArrayList<>(); + resultDTO.getAttachmentList().forEach(file -> { + if ("image".equals(file.getType())) { + imgList.add(file.getUrl()); + } else if ("voice".equals(file.getType())) { + voiceList.add(file.getUrl()); + } + }); + resultDTO.setImgList(imgList); + resultDTO.setVoiceList(voiceList); + + if (EventConstant.EVENT_STATUS_CLOSED_CASE.equals(resultDTO.getStatus()) || resultDTO.getShiftProject()) { + // 已办结的、立项的不显示回复按钮 + resultDTO.setReplyButtonFlag("false"); + } else { + // 处理中的事件 + if (resultDTO.getReadFlag()) { + // 被别人看过了就显示回复 + resultDTO.setReplyButtonFlag("true"); + } else { + //别人没看过 + resultDTO.setReplyButtonFlag("false"); + } + } + }); + return result.getList(); + } } \ No newline at end of file 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 8ab7e0266d..94a3efcbce 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 @@ -98,6 +98,7 @@ and rea.ATTACHMENT_TYPE='image') where re.DEL_FLAG='0' and re.RECALL_FLAG='0' + AND re.audit_status = 'auto_passed' and re.REPORT_USER_ID=#{userId} and re.READ_FLAG='0' @@ -222,4 +223,58 @@ re.REPORT_USER_ID = #{epmetUserId} + + + + + + + + + + + + + + + + + + + \ No newline at end of file