Browse Source

短信通知 新增上级网格化平台+街道吹哨 短信发送

dev
zhangyongzhangyong 6 years ago
parent
commit
7a97827fc9
  1. 17
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/async/IssueOverseeResultsTask.java
  2. 53
      esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java

17
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<Long> deptId){
public void getUserPhoneByListDeptId(ItemHandleSubmitFormDTO dto, List<Long> deptId, String typeKey){
Result<List<String>> 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<String> userMobiles){
public void projectSmsNotification(ItemHandleSubmitFormDTO dto, List<String> 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);
}

53
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<ItemDao, ItemEntity> 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<Long> 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<Long> deptId = new ArrayList<>();
Long queryDePtId = user.getDeptId();
while (true){
List<Long> 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]

Loading…
Cancel
Save