From c70a373aa0750681b42abb97c58e9dc1ec1c6136 Mon Sep 17 00:00:00 2001 From: weikai <123456> Date: Wed, 25 Nov 2020 09:50:57 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90pc=E7=AB=AF=20-=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E6=8C=87=E6=A0=87=E5=B1=95=E7=A4=BA=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E3=80=91=E3=80=90=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E4=BF=AE=E6=94=B9=E3=80=91=E9=AD=8F=E5=87=AF?= =?UTF-8?q?=202020-11-25?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../esua/epdc/feign/MessageFeignClient.java | 12 +++ .../fallback/MessageFeignClientFallback.java | 5 + .../impl/UserAnalysisNoteServiceImpl.java | 92 +++++++++++-------- .../esua/epdc/dto/form/SmsNoticeFormDTO.java | 2 +- .../service/impl/SmsTemplateServiceImpl.java | 10 +- 5 files changed, 77 insertions(+), 44 deletions(-) diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/feign/MessageFeignClient.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/feign/MessageFeignClient.java index 355fe839d..4c6f25f55 100644 --- a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/feign/MessageFeignClient.java +++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/feign/MessageFeignClient.java @@ -28,4 +28,16 @@ public interface MessageFeignClient { */ @PostMapping(value = "message/epdc-app/smstemplate/sendSmsNoticeNew", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE) Result sendSmsNotice(@RequestBody SmsNoticeFormDTO smsNoticeFormDTO); + + /** + * 议题:待回应事件 审核结果短信通知 议题发起人 + * + * @param smsNoticeFormDTO + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author wk + * @Date:2020/5/8 + */ + @PostMapping(value = "message/epdc-app/smstemplate/sendSmsNotice", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE) + Result sendSmsNoticeDistrict(@RequestBody SmsNoticeFormDTO smsNoticeFormDTO); + } diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/feign/fallback/MessageFeignClientFallback.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/feign/fallback/MessageFeignClientFallback.java index 799772b2b..c2d43c724 100644 --- a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/feign/fallback/MessageFeignClientFallback.java +++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/feign/fallback/MessageFeignClientFallback.java @@ -13,4 +13,9 @@ public class MessageFeignClientFallback implements MessageFeignClient { public Result sendSmsNotice(SmsNoticeFormDTO smsNoticeFormDTO) { return ModuleUtils.feignConError(ServiceConstant.EPDC_MESSAGE_SERVER, "sendSmsNotice", smsNoticeFormDTO); } + + @Override + public Result sendSmsNoticeDistrict(SmsNoticeFormDTO smsNoticeFormDTO) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_MESSAGE_SERVER, "sendSmsNoticeDistrict", smsNoticeFormDTO); + } } diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/UserAnalysisNoteServiceImpl.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/UserAnalysisNoteServiceImpl.java index 6c4896f7a..276e98a1d 100644 --- a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/UserAnalysisNoteServiceImpl.java +++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/UserAnalysisNoteServiceImpl.java @@ -200,7 +200,7 @@ public class UserAnalysisNoteServiceImpl extends BaseServiceImpl streetMobiles = new ArrayList<>(); //街道模板内容 - List< Map>> streeContentNoteList = new ArrayList<>(); + Map> contentNote = new HashMap<>(); //2.查询出要发送的用户信息 Map params = new HashMap<>(); List userNoteList = baseDao.getList(params); @@ -215,55 +215,30 @@ public class UserAnalysisNoteServiceImpl extends BaseServiceImpl> contentNote = new HashMap<>(); - LinkedHashMap noteParams = new LinkedHashMap<>(); //获取电话号 String mobile = dto.getMobile(); streetMobiles.add(mobile); //获取部门排行 Integer ranking = streeRanking.get(dto.getDeptId()); - noteParams.put("deptName",dto.getDeptName()); - noteParams.put("deptType","街道"); - noteParams.put("month",getLastMonth()); - noteParams.put("sort",ranking.toString()); - noteParams.put("code",dto.getDeptId()); - if (ranking<=3){ - noteParams.put("msmType","恭喜"); - }else if ( ranking>3 && ranking<=10){ - noteParams.put("msmType","祝贺"); - }else if ( ranking>10 && ranking<=18){ - noteParams.put("msmType","打扰一下"); - }else { - noteParams.put("msmType","很遗憾"); - } + //组装短信内容参数 + LinkedHashMap noteParams = streeNoteContent(ranking,dto); contentNote.put(mobile,noteParams); - streeContentNoteList.add(contentNote); }else {//社区级账号 发送街道模板 //获取电话号 String mobile = dto.getMobile(); streetMobiles.add(mobile); - Map> contentNote = new HashMap<>(); - LinkedHashMap noteParams = new LinkedHashMap<>(); //获取部门排行 - Integer ranking = communiytRanking.get(dto.getDeptId()); - noteParams.put("deptName",dto.getDeptName()); - noteParams.put("deptType","社区"); - noteParams.put("month",getLastMonth()); - noteParams.put("sort",ranking.toString()); - noteParams.put("code",dto.getDeptId()); - if (ranking<=3){ - noteParams.put("msmType","恭喜"); - }else if ( ranking>23 && ranking<=20){ - noteParams.put("msmType","很遗憾"); - }else { - noteParams.put("msmType","祝贺"); - } + Integer rankingCommunity = communiytRanking.get(dto.getDeptId()); + //组装短信内容参数 + LinkedHashMap noteParams = streeNoteContent(rankingCommunity,dto); contentNote.put(mobile,noteParams); - streeContentNoteList.add(contentNote); } } //6.开始发送发送短信(区级,和街道级分开发) - + //区级 短信 + sendMessagesDistrict(districtMobiles); + //街道级短信 + sendMessages(streetMobiles,contentNote); } /** @@ -298,21 +273,62 @@ public class UserAnalysisNoteServiceImpl extends BaseServiceImplmobiles, - List< Map>> streeContentNoteList, - String type){ + Map> contentNoteList){ //获取所有手机号,以及短信模板 SmsNoticeFormDTO smsNoticeFormDTO = new SmsNoticeFormDTO(); smsNoticeFormDTO.setMobiles(mobiles); + smsNoticeFormDTO.setNoteContent(contentNoteList); //插入固定短信模板 smsNoticeFormDTO.setSmsTemplateType(SMSTYPENAME); messageFeignClient.sendSmsNotice(smsNoticeFormDTO); } + + /** + * @Description: 发送短信功能 -区级 + * @Param: mobiles 电话号 + * @Param: streeContentNoteList 短信模板内容 + * @return: void + * @Author: wk + * @Date: 2020/5/8 + */ + @Async + public void sendMessagesDistrict( Listmobiles){ + //获取所有手机号,以及短信模板 + SmsNoticeFormDTO smsNoticeFormDTO = new SmsNoticeFormDTO(); + smsNoticeFormDTO.setMobiles(mobiles); + //插入固定短信模板 + smsNoticeFormDTO.setSmsTemplateType(SMSTYPENAME); + messageFeignClient.sendSmsNoticeDistrict(smsNoticeFormDTO); + } + + /** + * 根据部门排名,拼接部门短信内容参数 + * @param ranking + * @param dto + * @return wk + */ + private LinkedHashMap streeNoteContent(Integer ranking,UserAnalysisNoteDTO dto){ + LinkedHashMap noteParams = new LinkedHashMap<>(); + noteParams.put("deptName",dto.getDeptName()); + noteParams.put("deptType","街道"); + noteParams.put("month",getLastMonth()); + noteParams.put("sort",ranking.toString()); + noteParams.put("code",dto.getDeptId()); + if (ranking<=3){ + noteParams.put("msmType","恭喜"); + }else if ( ranking>23 && ranking<=20){ + noteParams.put("msmType","很遗憾"); + }else { + noteParams.put("msmType","祝贺"); + } + return noteParams; + } + } \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-message/epdc-message-client/src/main/java/com/elink/esua/epdc/dto/form/SmsNoticeFormDTO.java b/esua-epdc/epdc-module/epdc-message/epdc-message-client/src/main/java/com/elink/esua/epdc/dto/form/SmsNoticeFormDTO.java index 52ae91c60..21377875a 100644 --- a/esua-epdc/epdc-module/epdc-message/epdc-message-client/src/main/java/com/elink/esua/epdc/dto/form/SmsNoticeFormDTO.java +++ b/esua-epdc/epdc-module/epdc-message/epdc-message-client/src/main/java/com/elink/esua/epdc/dto/form/SmsNoticeFormDTO.java @@ -32,5 +32,5 @@ public class SmsNoticeFormDTO implements Serializable { /** * 新增短信模板内容 */ - private List>> noteContent; + private Map> noteContent; } diff --git a/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/service/impl/SmsTemplateServiceImpl.java b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/service/impl/SmsTemplateServiceImpl.java index 784534f5f..239da915b 100644 --- a/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/service/impl/SmsTemplateServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-message/epdc-message-server/src/main/java/com/elink/esua/epdc/service/impl/SmsTemplateServiceImpl.java @@ -275,16 +275,16 @@ public class SmsTemplateServiceImpl extends BaseServiceImpl>> noteContenList = formDto.getNoteContent(); + Map> noteConten = formDto.getNoteContent(); List smsLogEntities = new ArrayList<>(mobiles.size()); - for (int i = 0;i