From ba36f428a477b5cea46232c66c96dd4d9a212b9c Mon Sep 17 00:00:00 2001 From: zhn <947514737@qq.com> Date: Thu, 1 Sep 2022 11:52:28 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B3=95=E8=A7=84=E5=B7=B2=E7=BB=8F--=E6=8E=A8?= =?UTF-8?q?=E9=80=81=E6=B6=88=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../warn/controller/LawsWarnController.java | 4 +- .../modules/warn/service/LawsWarnService.java | 135 +++++++++++++++++- 2 files changed, 131 insertions(+), 8 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/warn/controller/LawsWarnController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/warn/controller/LawsWarnController.java index b1dba1d41..ef7064226 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/warn/controller/LawsWarnController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/warn/controller/LawsWarnController.java @@ -64,8 +64,8 @@ public class LawsWarnController { @ApiOperation(value = "推送") @GetMapping(value = "/warnPullMessage") // @RequiresPermissions("document:pullMessage") - public Result pullMessage(String departIds,String userIds,String documentIds) { - lawsWarnService.warnPullMessage(departIds,userIds,documentIds); + public Result pullMessage(String departIds,String userIds,String documentIds,String flag) { + lawsWarnService.warnPullMessage(departIds,userIds,documentIds,flag); return Result.OK("推送成功"); } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/warn/service/LawsWarnService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/warn/service/LawsWarnService.java index 302b9a27f..beab9d1eb 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/warn/service/LawsWarnService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/warn/service/LawsWarnService.java @@ -338,7 +338,7 @@ public class LawsWarnService { } - public String warnPullMessage(String departIds, String userIds, String documentIds) { + public String warnPullMessage(String departIds, String userIds, String documentIds,String flag) { Set allDepartIds = new HashSet<>(); //查询当前部门下所有部门 if (StringUtils.isNotEmpty(departIds)) { @@ -379,6 +379,25 @@ public class LawsWarnService { List urlList = new ArrayList<>(); List hrefList = new ArrayList<>(); for (Map map : mapList) { + //1-->新车型实施日期, 2-->在产车实施日期 + String timeContent = ""; + if("1".equals(flag)){ + String value = StringUtils.valueOf(map.get("xin1_che1_xing2_shi2_shi1_ri4_qi1")); + if(StringUtils.isNotBlank(value)){ + if(value.contains(" ")){ + value = value.split(" ")[0]; + } + timeContent =" to you as the implementation date of the new model is " +value; + } + }else if("2".equals(flag)){ + String value = StringUtils.valueOf(map.get("implement_time")); + if(StringUtils.isNotBlank(value)){ + if(value.contains(" ")){ + value = value.split(" ")[0]; + } + timeContent =" to you as the implementation date of vehicle production is " +value; + } + } serialNumberList.add(StringUtils.valueOf(map.get("serial_number"))); String url = backUrl + "/docManage/library/detail?id=" + map.get("id") + "&title=" + map.get("title") + @@ -388,13 +407,16 @@ public class LawsWarnService { "&title=" + map.get("title") + "&serial_number=" + map.get("serial_number") + "'" + " target='_blank'>" + map.get("serial_number") + ""; urlList.add(url); - hrefList.add(href); + hrefList.add(href+timeContent); } LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - String content = sysUser.getUsername() + " pushed " + StringUtils.join(serialNumberList, ",") + " to you. Please be reminded to check it out."; - String contentInfo = sysUser.getUsername() + " pushed " + StringUtils.join(hrefList, ",") + " to you. Please be reminded to check it out."; + String content = StringUtils.join(serialNumberList, ",") + " has been shared with you, please check."; + //消息详情模板 + // XXX has pushed GB 7258 to you as the implementation date of vehicle production is XXXX-XX-XX, + // GB 7258 to you as the implementation date of vehicle production is XXXX-XX-XX, Please be reminded to check it out. + String contentInfo = sysUser.getUsername() + " has pushed " + StringUtils.join(hrefList, ",") + ", Please be reminded to check it out."; String title = content; //封装消息的实体类 @@ -409,10 +431,28 @@ public class LawsWarnService { mapList.stream().forEach(e->{ if(s.contains((String)e.get("id"))){ String serialNumber = StringUtils.valueOf(e.get("serial_number")); - list.add(serialNumber); + String timeContent = ""; + if("1".equals(flag)){ + String value = StringUtils.valueOf(e.get("xin1_che1_xing2_shi2_shi1_ri4_qi1")); + if(StringUtils.isNotBlank(value)){ + if(value.contains(" ")){ + value = value.split(" ")[0]; + } + timeContent =" to you as the implementation date of the new model is " +value; + } + }else if("2".equals(flag)){ + String value = StringUtils.valueOf(e.get("implement_time")); + if(StringUtils.isNotBlank(value)){ + if(value.contains(" ")){ + value = value.split(" ")[0]; + } + timeContent =" to you as the implementation date of vehicle production is " +value; + } + } + list.add(serialNumber + timeContent); } }); - String contentTemp = sysUser.getUsername() + " pushed " + StringUtils.join(list, ",") + " to you. Please be reminded to check it out."; + String contentTemp = sysUser.getUsername() + " has pushed " + StringUtils.join(list, ",") + ", Please be reminded to check it out."; iFeishuService.batchSendMessage(thirdIdList.toArray(new String[]{}), contentTemp, MessageTypeEnum.PUSH.getName(), encode); } } catch (IOException e) { @@ -421,4 +461,87 @@ public class LawsWarnService { bussDocumentLibraryEOService.sendWebsocket(documentIds, contentInfo); return "推送成功"; } +// public String warnPullMessage(String departIds, String userIds, String documentIds,String flag) { +// Set allDepartIds = new HashSet<>(); +// //查询当前部门下所有部门 +// if (StringUtils.isNotEmpty(departIds)) { +// String[] departIdArr = departIds.split(","); +// for (String departId : departIdArr) { +// List subDepIdsByDepId = sysDepartService.getSubDepIdsByDepId(departId); +// allDepartIds.addAll(subDepIdsByDepId); +// } +// } +// +// List userIdList = new ArrayList<>(); +// List thirdIdList = new ArrayList<>(); +// if (StringUtils.isNotBlank(departIds)) { +// //查询部门下的人员 +// List userList = new ArrayList<>(); +// if(allDepartIds.size() != 0){ +// userList = sysUserService.getUserListByDepIds(new ArrayList<>(allDepartIds)); +// } +// +// if (userList.size() != 0) { +// userIdList = userList.stream().map(SysUser::getId).distinct().collect(Collectors.toList()); +// thirdIdList = userList.stream().map(SysUser::getThirdId).distinct().collect(Collectors.toList()); +// } +// } +// if(userIdList.size() == 0 && StringUtils.isNotBlank(userIds)){ +// List sysUsers = sysUserService.listByIds(Arrays.asList(userIds.split(","))); +// if(sysUsers.size() != 0){ +// List userId = sysUsers.stream().map(SysUser::getId).collect(Collectors.toList()); +// List thirdId = sysUsers.stream().map(SysUser::getThirdId).collect(Collectors.toList()); +// userIdList.addAll(userId); +// thirdIdList.addAll(thirdId); +// } +// } +// +// //查询文档 +// List> mapList = bussDocumentLibraryEOMapper.selectMapsAll(documentIds); +// List serialNumberList = new ArrayList<>(); +// List urlList = new ArrayList<>(); +// List hrefList = new ArrayList<>(); +// for (Map map : mapList) { +// serialNumberList.add(StringUtils.valueOf(map.get("serial_number"))); +// String url = backUrl + "/docManage/library/detail?id=" + map.get("id") + +// "&title=" + map.get("title") + +// "&serial_number=" + map.get("serial_number"); +// +// String href = "" + map.get("serial_number") + ""; +// urlList.add(url); +// hrefList.add(href); +// } +// +// +// LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); +// String content = sysUser.getUsername() + " pushed " + StringUtils.join(serialNumberList, ",") + " to you. Please be reminded to check it out."; +// String contentInfo = sysUser.getUsername() + " pushed " + StringUtils.join(hrefList, ",") + " to you. Please be reminded to check it out."; +// String title = content; +// +// //封装消息的实体类 +// SysAnnouncement sysAnnouncement = bussDocumentLibraryEOService.getSysAnnouncement(userIdList, title, content, contentInfo,MessageTypeEnum.PUSH.getValue(),MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName()); +// sysAnnouncementService.saveAnnouncement(sysAnnouncement); +// bussDocumentLibraryEOService.sendWebsocket(StringUtils.join(thirdIdList, ","), contentInfo); +// //飞书 +// try { +// for (String s : urlList) { +// String encode = UriEncoder.encode(s); +// List list = new ArrayList<>(); +// mapList.stream().forEach(e->{ +// if(s.contains((String)e.get("id"))){ +// String serialNumber = StringUtils.valueOf(e.get("serial_number")); +// list.add(serialNumber); +// } +// }); +// String contentTemp = sysUser.getUsername() + " pushed " + StringUtils.join(list, ",") + " to you. Please be reminded to check it out."; +// iFeishuService.batchSendMessage(thirdIdList.toArray(new String[]{}), contentTemp, MessageTypeEnum.PUSH.getName(), encode); +// } +// } catch (IOException e) { +// e.printStackTrace(); +// } +// bussDocumentLibraryEOService.sendWebsocket(documentIds, contentInfo); +// return "推送成功"; +// } }