From 107b50dc23f48dc4e1d4b3c14f3cbd1c67cc6eaa Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Fri, 6 Aug 2021 14:09:48 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E5=8F=B0=E7=BE=A4=E4=BC=97?= =?UTF-8?q?=E7=9B=B4=E6=8A=A5=E7=BA=A2=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/dto/form/RedDotFormDTO.java | 5 ++++ .../WorkGrassRootsFunctionConstant.java | 5 +++- .../epmet/service/impl/RemindServiceImpl.java | 20 +++++++++---- .../dto/result/ResiEventManageRedDotRes.java | 30 +++++++++++++++++++ .../feign/GovProjectOpenFeignClient.java | 12 +++++++- .../GovProjectOpenFeignClientFallback.java | 13 ++++++++ .../epmet/controller/ResiEventController.java | 19 +++++++++--- .../com/epmet/dao/ResiEventReportOrgDao.java | 4 +++ .../com/epmet/service/ResiEventService.java | 10 +++++++ .../service/impl/ResiEventServiceImpl.java | 17 +++++++++++ .../mapper/ResiEventReportOrgDao.xml | 23 ++++++++++++++ 11 files changed, 147 insertions(+), 11 deletions(-) create mode 100644 epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ResiEventManageRedDotRes.java diff --git a/epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/form/RedDotFormDTO.java b/epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/form/RedDotFormDTO.java index be67ff5a33..aa4906e7ee 100644 --- a/epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/form/RedDotFormDTO.java +++ b/epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/form/RedDotFormDTO.java @@ -25,5 +25,10 @@ public class RedDotFormDTO implements Serializable { */ //@NotBlank(message = "网格id不能为空") private String gridId; + + /** + * 当前工作人员所属的组织id + */ + private String agencyId; } diff --git a/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/constant/WorkGrassRootsFunctionConstant.java b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/constant/WorkGrassRootsFunctionConstant.java index 772990f98d..fb077deb46 100644 --- a/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/constant/WorkGrassRootsFunctionConstant.java +++ b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/constant/WorkGrassRootsFunctionConstant.java @@ -32,6 +32,9 @@ public class WorkGrassRootsFunctionConstant { */ public static final String WORK_GRASSROOTS_BADGE="work_grassroots_badge"; - + /** + * 基层治理-群众直报 功能入口 + */ + public static final String RESI_EVENT_MANAGE="resi_event_manage"; } diff --git a/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/impl/RemindServiceImpl.java b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/impl/RemindServiceImpl.java index a2916ee01c..bb57c4f241 100644 --- a/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/impl/RemindServiceImpl.java +++ b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/impl/RemindServiceImpl.java @@ -44,6 +44,8 @@ public class RemindServiceImpl implements RemindService { @Autowired private EpmetUserOpenFeignClient epmetUserOpenFeignClient; + @Autowired + private GovProjectOpenFeignClient govProjectOpenFeignClient; @Override public RedDotResultDTO queryGridRedDot(RedDotFormDTO formDTO) { @@ -217,12 +219,11 @@ public class RemindServiceImpl implements RemindService { RedDotResultDTO redDotResultDTO = new RedDotResultDTO(); redDotResultDTO.setOtherGridRedDot(false); redDotResultDTO.setFunctionList(Collections.EMPTY_LIST); - + List functionList = new ArrayList<>(); + List details = new ArrayList<>(); Result> govOrgResult = govOrgFeignClient.getMyGrids(formDTO.getStaffId()); if (govOrgResult.success() && !CollectionUtils.isEmpty(govOrgResult.getData())) { - List functionList = new ArrayList<>(); - List details = new ArrayList<>(); List gridIdList = govOrgResult.getData().stream().map(CustomerGridByUserIdResultDTO::getGridId).collect(Collectors.toList()); //1、群组管理(待审核的小组申请、变更小组申请) @@ -335,11 +336,20 @@ public class RemindServiceImpl implements RemindService { } }); } - redDotResultDTO.setFunctionList(functionList); - redDotResultDTO.setDetails(details); } else { logger.warn(String.format("基层治理红点查询,获取工作人员所属网格失败,当前staffId=%s", formDTO.getStaffId())); } + + // 群众直报:当前工作人员所属的组织存在待处理(未读的)、有新的回复的(相当于处理中有红点的)记录就显示红点 + if(org.apache.commons.lang3.StringUtils.isNotBlank(formDTO.getAgencyId())){ + Result projectRes=govProjectOpenFeignClient.queryResiEventManageRedDot(formDTO.getAgencyId()); + if(projectRes.success()&&null !=projectRes.getData()&&projectRes.getData().getTotalCount()>0){ + functionList.add(WorkGrassRootsFunctionConstant.RESI_EVENT_MANAGE); + details.add(new RedDotDetialDTO(WorkGrassRootsFunctionConstant.RESI_EVENT_MANAGE, projectRes.getData().getTotalCount().longValue())); + } + } + redDotResultDTO.setFunctionList(functionList); + redDotResultDTO.setDetails(details); return redDotResultDTO; } diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ResiEventManageRedDotRes.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ResiEventManageRedDotRes.java new file mode 100644 index 0000000000..87af6124be --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ResiEventManageRedDotRes.java @@ -0,0 +1,30 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 描述一下 + * + * @author yinzuomei@elink-cn.com + * @date 2021/8/6 13:54 + */ +@Data +public class ResiEventManageRedDotRes implements Serializable { + /** + * 待处理(未读)的事件数 + * */ + private Integer unReadCount; + + /** + * 已经度过,但是又有新的回复、立项、结案 + * */ + private Integer redDotCount; + + /** + * 总数 + * */ + private Integer totalCount; + +} diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/feign/GovProjectOpenFeignClient.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/feign/GovProjectOpenFeignClient.java index 7b0c1a7bd9..7824ba71ee 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/feign/GovProjectOpenFeignClient.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/feign/GovProjectOpenFeignClient.java @@ -6,7 +6,6 @@ import com.epmet.dto.ProjectCategoryDTO; import com.epmet.dto.ProjectDTO; import com.epmet.dto.form.*; import com.epmet.dto.result.*; -import com.epmet.feign.fallback.GovProjectOpenFeignClientFallback; import com.epmet.feign.fallback.GovProjectOpenFeignClientFallbackFactory; import com.epmet.resi.mine.dto.from.MyPartProjectsFormDTO; import org.springframework.cloud.openfeign.FeignClient; @@ -124,4 +123,15 @@ public interface GovProjectOpenFeignClient { */ @PostMapping("gov/project/project/unresolvedlist") Result> getUnResolvedList(@RequestBody ShiftProjectListFromDTO formDTO); + + /** + * 群众直报:当前工作人员所属的组织存在待处理(未读的)、有新的回复的(相当于处理中有红点的)记录就显示红点 + * + * @param agencyId + * @return com.epmet.commons.tools.utils.Result + * @author yinzuomei + * @date 2021/8/6 14:07 + */ + @PostMapping("gov/project/resievent/queryResiEventManageRedDot/{agencyId}") + Result queryResiEventManageRedDot(@PathVariable("agencyId") String agencyId); } diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/feign/fallback/GovProjectOpenFeignClientFallback.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/feign/fallback/GovProjectOpenFeignClientFallback.java index 44ea0d1e63..41f41664c1 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/feign/fallback/GovProjectOpenFeignClientFallback.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/feign/fallback/GovProjectOpenFeignClientFallback.java @@ -119,4 +119,17 @@ public class GovProjectOpenFeignClientFallback implements GovProjectOpenFeignCli public Result> getUnResolvedList(ShiftProjectListFromDTO formDTO) { return ModuleUtils.feignConError(ServiceConstant.GOV_PROJECT_SERVER, "getUnResolvedList", formDTO); } + + /** + * 群众直报:当前工作人员所属的组织存在待处理(未读的)、有新的回复的(相当于处理中有红点的)记录就显示红点 + * + * @param agencyId + * @return com.epmet.commons.tools.utils.Result + * @author yinzuomei + * @date 2021/8/6 14:08 + */ + @Override + public Result queryResiEventManageRedDot(String agencyId) { + return ModuleUtils.feignConError(ServiceConstant.GOV_PROJECT_SERVER, "queryResiEventManageRedDot", agencyId); + } } 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 d984456930..1b69e0b039 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 @@ -26,10 +26,7 @@ import com.epmet.dto.form.*; import com.epmet.dto.result.*; import com.epmet.service.ResiEventService; 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; +import org.springframework.web.bind.annotation.*; import java.util.List; @@ -202,4 +199,18 @@ public class ResiEventController { resiEventService.closeResiEvent(formDTO); return new Result(); } + + + /** + * 工作台,最新直报是否显示红点? + * + * @param agencyId + * @return com.epmet.commons.tools.utils.Result + * @author yinzuomei + * @date 2021/8/6 13:57 + */ + @PostMapping("queryResiEventManageRedDot/{agencyId}") + Result queryResiEventManageRedDot(@PathVariable("agencyId") String agencyId) { + return new Result().ok(resiEventService.queryResiEventManageRedDot(agencyId)); + } } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ResiEventReportOrgDao.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ResiEventReportOrgDao.java index 6f851d34c3..0668eb78f7 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ResiEventReportOrgDao.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ResiEventReportOrgDao.java @@ -60,4 +60,8 @@ public interface ResiEventReportOrgDao extends BaseDao * @date 2021/8/4 17:41 */ int updateRedDotShow(String resiEventId); + + Integer selectUnReadCount(String agencyId); + + Integer selectRedCount(String agencyId); } \ 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 6822dfe4fa..38d4916acc 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 @@ -119,4 +119,14 @@ public interface ResiEventService extends BaseService { void shiftProject(EventShiftProjectDTO eventShiftProjectDTO); ResiEventEntity getById(String eventId); + + /** + * 工作台,最新直报是否显示红点? + * + * @param agencyId + * @return com.epmet.dto.result.ResiEventManageRedDotRes + * @author yinzuomei + * @date 2021/8/6 13:57 + */ + ResiEventManageRedDotRes queryResiEventManageRedDot(String agencyId); } \ 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 bc013eb0fc..e7c1376f40 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 @@ -620,5 +620,22 @@ public class ResiEventServiceImpl extends BaseServiceImpl + + + + \ No newline at end of file