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 e94a3432e..e2103c140 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 @@ -902,6 +902,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl fieldFileList, List fieldPullList, String cut) { + //1. 处理订阅的发送消息 //修改的内容 StringBuilder sb = getUpdateInfo(map, dataList, fieldList, fieldDateList, fieldFileList, fieldPullList, cut); LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); @@ -919,19 +920,14 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl userList = sysUserMapper.getUserListByNames(StringUtils.join(userNameList, ",")); List userIdList = userList.stream().map(SysUser::getId).collect(Collectors.toList()); - SysAnnouncement sysAnnouncement = new SysAnnouncement(); - sysAnnouncement.setDelFlag("0"); - sysAnnouncement.setSendStatus("0"); - sysAnnouncement.setSendTime(new Date()); - sysAnnouncement.setDocumentId((String) dataList.get(0).get("id")); - sysAnnouncement.setMsgCategory(MessageTypeEnum.READ.getValue());//消息类型 - sysAnnouncement.setMsgType(CommonConstant.MSG_TYPE_UESR);//指定用户 - sysAnnouncement.setMsgContent(sysUser.getRealname()+"对"+serialNumber+"进行了修改请及时查看"); - sysAnnouncement.setMsgContentInfo(sysUser.getRealname()+"修改标准"+serialNumber+"中"+sb.toString()); - sysAnnouncement.setUserIds(StringUtils.join(userIdList,",")); -//111111111111111111111111111111111 + + String content = sysUser.getRealname()+"对"+serialNumber+"进行了修改请及时查看"; + String contentInfo = sysUser.getRealname()+"修改标准"+serialNumber+"中"+sb.toString(); + //封装消息的实体类 + SysAnnouncement sysAnnouncement = getSysAnnouncement(userIdList, content, contentInfo); sysAnnouncementService.saveAnnouncement(sysAnnouncement); } + //2. 处理修改代替标准的发送消息 //处理修改代替标准,发送通知 //修改时前端传参 String replaceStandard = (String) map.get("replace_standard"); @@ -939,20 +935,66 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl userNameListTemp = new ArrayList<>(); + List serialNumberList = new ArrayList<>(); + //(1)此种情况为编辑前代替标准就已经有数据了 if (StringUtils.isNotBlank(replaceStandardTemp) && !replaceStandard.equals(replaceStandardTemp)) { //需要向被替代标准的法规工程师发送站内通知和飞书信息,提醒内容:"新标准编号"已实施,请注意更新“替代标准编号”状态 List list = Arrays.asList(replaceStandard.split(",")); List listTemp = Arrays.asList(replaceStandardTemp.split(",")); List listNew = list.stream().filter(e -> !listTemp.contains(e)).collect(Collectors.toList()); //向listNew对应的工程师发飞书通知 + LambdaQueryWrapper lambdaQueryWrapperTemp = new LambdaQueryWrapper<>(); + lambdaQueryWrapperTemp.in(BussDocumentLibraryEO::getId,listNew); + List> mapList = this.listMaps(lambdaQueryWrapperTemp); - } else { + for (Map stringObjectMap : mapList) { + userNameListTemp.add((String) stringObjectMap.get("create_by")); + serialNumberList.add((String) stringObjectMap.get("serial_number")); + } + List userList = sysUserMapper.getUserListByNames(StringUtils.join(userNameListTemp, ",")); + List userIdList = userList.stream().map(SysUser::getId).collect(Collectors.toList()); + + String content = "新标准编号已实施,请注意更新替代标准编号:"+StringUtils.join(serialNumberList,",")+"的状态,"+"链接: http://localhost:3000/docManage/library"; + //封装消息的实体类 + SysAnnouncement sysAnnouncement = getSysAnnouncement(userIdList, content, content); + sysAnnouncementService.saveAnnouncement(sysAnnouncement); + } else if(StringUtils.isBlank(replaceStandardTemp) && StringUtils.isNotBlank(replaceStandard)) { + //(2)此种情况为编辑前代替标准没有数据 //向replaceStandard对应的工程师发飞书通知 - + LambdaQueryWrapper lambdaQueryWrapperTemp = new LambdaQueryWrapper<>(); + lambdaQueryWrapperTemp.in(BussDocumentLibraryEO::getId,Arrays.asList(replaceStandard.split(","))); + List> mapList = this.listMaps(lambdaQueryWrapperTemp); + for (Map stringObjectMap : mapList) { + userNameListTemp.add((String) stringObjectMap.get("create_by")); + serialNumberList.add((String) stringObjectMap.get("serial_number")); + } + List userList = sysUserMapper.getUserListByNames(StringUtils.join(userNameListTemp, ",")); + List userIdList = userList.stream().map(SysUser::getId).collect(Collectors.toList()); + String content = "新标准编号已实施,请注意更新替代标准编号:"+StringUtils.join(serialNumberList,",")+"的状态"; + String contentInfo = "新标准编号已实施,请注意更新替代标准编号:"+StringUtils.join(serialNumberList,",")+"的状态,"+"链接: http://localhost:3000/docManage/library"; + //封装消息的实体类 + SysAnnouncement sysAnnouncement = getSysAnnouncement(userIdList, content, contentInfo); + sysAnnouncementService.saveAnnouncement(sysAnnouncement); } } } + @NotNull + private SysAnnouncement getSysAnnouncement(List userIdList, String content, String contentInfo) { + SysAnnouncement sysAnnouncement = new SysAnnouncement(); + sysAnnouncement.setDelFlag("0"); + sysAnnouncement.setSendStatus("0"); + sysAnnouncement.setSendTime(new Date()); +// sysAnnouncement.setDocumentId((String) dataList.get(0).get("id")); + sysAnnouncement.setMsgCategory(MessageTypeEnum.READ.getValue());//消息类型 + sysAnnouncement.setMsgType(CommonConstant.MSG_TYPE_UESR);//指定用户 + sysAnnouncement.setMsgContent(content); + sysAnnouncement.setMsgContentInfo(contentInfo); + sysAnnouncement.setUserIds(StringUtils.join(userIdList, ",")); + return sysAnnouncement; + } + private String getMustValues() { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();