diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java index 8a09c69dc..e3f5b7999 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java @@ -127,6 +127,9 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl userIdList = domainUserRelService.queryDomainUserRelInfo(mapTemp); + //给发送消息的用户 + List sysUsers = sysUserService.listByIds(userIdList); + List thirdIdList = sysUsers.stream().map(SysUser::getThirdId).collect(Collectors.toList()); if (userIdList.size() != 0) { LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); String title = (String) map.get("title"); String serialNumber = (String) map.get("serial_number"); - String href = "" + serialNumber + ""; - + String href = backUrl + "/docManage/library/detail?id=" + idTemp; String content = sysUser.getRealname() + "新增了" + serialNumber + "请及时查看"; String contentInfo = sysUser.getRealname() + "新增了" + href + "请及时查看"; //封装消息的实体类 SysAnnouncement sysAnnouncement = getSysAnnouncement(userIdList, content, contentInfo); sysAnnouncementService.saveAnnouncement(sysAnnouncement); sendWebsocket(idTemp, idTemp); + //飞书 + try { + iFeishuService.batchSendMessage(thirdIdList.toArray(new String[]{}), content, MessageTypeEnum.PUSH.getName(), href); + } catch (IOException e) { + log.error("文档新增飞书消息推送失败"); + } } } @@ -3479,27 +3488,40 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl thirdIdList = new ArrayList<>(); if (StringUtils.isNotBlank(departIds)) { //查询部门下的人员 - List userList = sysUserService.getUserListByDepIds(new ArrayList<>(allDepartIds)); + 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); + } + } // userIdList.addAll(Arrays.asList(userIds.split(","))); //查询文档 List> mapList = bussDocumentLibraryEOMapper.selectMapsAll(documentIds); List serialNumberList = new ArrayList<>(); + List urlList = new ArrayList<>(); List hrefList = new ArrayList<>(); for (Map map : mapList) { serialNumberList.add((String) map.get("serial_number")); -// String href = "" + serialNumber + ""; + String url = backUrl + "/docManage/library/detail?id=" + (String) map.get("id"); String href = "" + (String) map.get("serial_number") + ","; + urlList.add(url); hrefList.add(href); } @@ -3512,9 +3534,16 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl list = new ArrayList<>(); + mapList.stream().forEach(e->{ + if(s.contains((String)e.get("id"))){ + String serialNumber = (String) e.get("serial_number"); + list.add(serialNumber); + } + }); + String contentTemp = sysUser.getRealname() + "向您推送了" + StringUtils.join(list, ",") + ",请注意查看。"; + iFeishuService.batchSendMessage(thirdIdList.toArray(new String[]{}), contentTemp, MessageTypeEnum.PUSH.getName(), s); } } catch (IOException e) { log.error("飞书推送失败"); diff --git a/jero-boot/jero-boot-single-startup/src/main/resources/application-dev.yml b/jero-boot/jero-boot-single-startup/src/main/resources/application-dev.yml index 47ab3f685..ccabd1838 100644 --- a/jero-boot/jero-boot-single-startup/src/main/resources/application-dev.yml +++ b/jero-boot/jero-boot-single-startup/src/main/resources/application-dev.yml @@ -190,6 +190,7 @@ mybatis-plus: jero : # 本地:local\Minio:minio\阿里云:alioss uploadType: local + backUrl: http://localhost:3000 path : #文件上传根目录 设置 upload: D://opt//upFiles