From 7a97827fc909b9fb9d5b71b869c2a2cc19ab58ba Mon Sep 17 00:00:00 2001 From: zhangyongzhangyong <2012005003@qq.coom> Date: Tue, 14 Jan 2020 17:20:12 +0800 Subject: [PATCH] =?UTF-8?q?=E7=9F=AD=E4=BF=A1=E9=80=9A=E7=9F=A5=20?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E4=B8=8A=E7=BA=A7=E7=BD=91=E6=A0=BC=E5=8C=96?= =?UTF-8?q?=E5=B9=B3=E5=8F=B0+=E8=A1=97=E9=81=93=E5=90=B9=E5=93=A8=20?= =?UTF-8?q?=E7=9F=AD=E4=BF=A1=E5=8F=91=E9=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../async/IssueOverseeResultsTask.java | 17 ++++-- .../item/service/impl/ItemServiceImpl.java | 53 ++++++++++++------- 2 files changed, 48 insertions(+), 22 deletions(-) diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/async/IssueOverseeResultsTask.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/async/IssueOverseeResultsTask.java index 948681377..04e59d64e 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/async/IssueOverseeResultsTask.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/async/IssueOverseeResultsTask.java @@ -1,5 +1,6 @@ package com.elink.esua.epdc.modules.async; +import com.elink.esua.epdc.commons.tools.constant.OrganizationTypeConstant; import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.constant.SysSmsTemplateConstant; import com.elink.esua.epdc.dto.form.SmsNoticeFormDTO; @@ -45,15 +46,16 @@ public class IssueOverseeResultsTask { * @Description: 根据部门id,异步查询部门下的所有用户手机号 * @Description: 根据手机号进行短信推送 * @Param: [dto, deptId] + * @Param: typeKey 当前登录人部门类型 * @return: void * @Author: zy * @Date: 2020-01-09 */ @Async - public void getUserPhoneByListDeptId(ItemHandleSubmitFormDTO dto, List deptId){ + public void getUserPhoneByListDeptId(ItemHandleSubmitFormDTO dto, List deptId, String typeKey){ Result> data = adminFeignClient.getUserPhoneByListDeptId(deptId); if (data.success() && data.getData() != null && data.getData().size() > 0) { - this.projectSmsNotification(dto, data.getData());//向部门下的,所有人员发送短信 + this.projectSmsNotification(dto, data.getData(),typeKey);//向部门下的,所有人员发送短信 } } @@ -77,11 +79,12 @@ public class IssueOverseeResultsTask { * @Description: 工作端:项目处理,发送短信 * @Param: [dto] * @Param: userId 用户手机号 + * @Param: typeKey 当前登录人部门类型 * @return: void * @Author: zy * @Date: 2020-01-08 */ - public void projectSmsNotification(ItemHandleSubmitFormDTO dto, List userMobiles){ + public void projectSmsNotification(ItemHandleSubmitFormDTO dto, List userMobiles, String typeKey){ // 审核操作发送短信 SmsNoticeFormDTO sms = new SmsNoticeFormDTO(); sms.setMobiles(userMobiles); @@ -91,9 +94,15 @@ public class IssueOverseeResultsTask { }else if(ItemHandleCategoryEnum.HANDLE_CLOSING_CASE.getValue() == dto.getHandleCategory()){ sms.setSmsTemplateType(SysSmsTemplateConstant.SMS_TEMPLATE_WORK_ITEM_SETTLE);// 结案 }else if(ItemHandleCategoryEnum.HANDLE_CIRCULATION_ASSISTANCE.getValue() == dto.getHandleCategory()){ - sms.setSmsTemplateType(SysSmsTemplateConstant.SMS_TEMPLATE_WORK_ITEM_WHISTLE);// 被吹哨 + if (typeKey.equals(OrganizationTypeConstant.ORG_TYPE_STREET_PARTY)) { + sms.setSmsTemplateType(SysSmsTemplateConstant.SMS_TEMPLATE_WORK_ITEM_WHISTLE_FEEDBACK);//街道做吹哨处理, 吹哨反馈 + }else { + sms.setSmsTemplateType(SysSmsTemplateConstant.SMS_TEMPLATE_WORK_ITEM_WHISTLE);// 被吹哨 + } }else if(ItemHandleCategoryEnum.HANDLE_I_HANDLE.getValue() == dto.getHandleCategory()){ sms.setSmsTemplateType(SysSmsTemplateConstant.SMS_TEMPLATE_WORK_ITEM_WHISTLE_FEEDBACK);// 回应:吹哨反馈 + }else if(ItemHandleCategoryEnum.HANDLE_REPORT.getValue() == dto.getHandleCategory()){ + sms.setSmsTemplateType(SysSmsTemplateConstant.SMS_TEMPLATE_WORK_ITEM_WHISTLE_FEEDBACK);// 上报网格化平台:吹哨反馈 } this.sendSmsNotice(sms); } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java index 8c8c0ff3f..f5ec9ff71 100755 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java @@ -1201,35 +1201,52 @@ public class ItemServiceImpl extends BaseServiceImpl implem ItemCirculationDeptResultDTO indexDto = (ItemCirculationDeptResultDTO)deptList.get(i); deptId.add(indexDto.getDeptId()); } - issueOverseeResultsTask.getUserPhoneByListDeptId(dto, deptId);//吹哨处理 向部门下的,所有人员发送短信 + issueOverseeResultsTask.getUserPhoneByListDeptId(dto, deptId,user.getTypeKey());//吹哨处理 a吹b 向b部门下的,所有人员发送短信 + if (user.getTypeKey().equals(OrganizationTypeConstant.ORG_TYPE_STREET_PARTY)){ //如果是街道做吹哨处理, 做回应处理 + this.superiorDeptSmsHandle(dto); + } } else if(ItemHandleCategoryEnum.HANDLE_CLOSE.getValue() == dto.getHandleCategory() || ItemHandleCategoryEnum.HANDLE_CLOSING_CASE.getValue() == dto.getHandleCategory()){ deptId = baseDao.queryDeptIdList(dto.getId(),user.getDeptId()); if (deptId != null && deptId.size() > 0){ - issueOverseeResultsTask.getUserPhoneByListDeptId(dto, deptId);//关闭/结案 当前项目的所有部门ID,下的人员发送短信,且不等于当前部门ID + issueOverseeResultsTask.getUserPhoneByListDeptId(dto, deptId,user.getTypeKey());//关闭/结案 当前项目的所有部门ID,下的人员发送短信,且不等于当前部门ID } } else if(ItemHandleCategoryEnum.HANDLE_I_HANDLE.getValue() == dto.getHandleCategory()){ if (!user.getTypeKey().equals(OrganizationTypeConstant.ORG_TYPE_GRID_PARTY)){//回应 - Long queryDePtId = user.getDeptId(); - while (true){ - List createdDeptId = baseDao.queryParentDeptId(dto.getId(),queryDePtId); - if (createdDeptId != null && createdDeptId.size() > 0){ - for(Long ll : createdDeptId){ - deptId.add(ll); - queryDePtId = ll; - } - }else{ - break; - } - } - if (deptId != null && deptId.size() > 0) { - issueOverseeResultsTask.getUserPhoneByListDeptId(dto, deptId);//当前登录人不是网格, 做回应处理,查询当前项目下的所有部门id,做去重处理,向部门下的所有人员发送短信 - } + this.superiorDeptSmsHandle(dto); } + }else if(ItemHandleCategoryEnum.HANDLE_REPORT.getValue() == dto.getHandleCategory()){ //上报网格化平台 + this.superiorDeptSmsHandle(dto); } - } + /** + * @Description: 某三种情况下, 查询当前项目下的上级部门id,做去重处理,向部门下的所有人员发送短信 + * @Description: 1.街道做吹哨, 做回应处理; 2.反馈回应; 3.上报网格化平台 + * @Param: [dto] + * @return: void + * @Author: zy + * @Date: 2020-01-14 + */ + private void superiorDeptSmsHandle(ItemHandleSubmitFormDTO dto){ + UserDetail user = SecurityUser.getUser(); //获取当前登录人信息 + List deptId = new ArrayList<>(); + Long queryDePtId = user.getDeptId(); + while (true){ + List createdDeptId = baseDao.queryParentDeptId(dto.getId(),queryDePtId); + if (createdDeptId != null && createdDeptId.size() > 0){ + for(Long ll : createdDeptId){ + deptId.add(ll); + queryDePtId = ll; + } + }else{ + break; + } + } + if (deptId != null && deptId.size() > 0) { + issueOverseeResultsTask.getUserPhoneByListDeptId(dto, deptId,user.getTypeKey());//做回应处理,向部门下的所有人员发送短信 + } + } /** * @Description: 居民端:项目处理,发送短信 * @Param: [dto]