文档库--编辑时发消息
This commit is contained in:
+55
-13
@@ -902,6 +902,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
||||
List<OnlCgformField> fieldFileList,
|
||||
List<OnlCgformField> 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<BussDocumentLi
|
||||
List<SysUser> userList = sysUserMapper.getUserListByNames(StringUtils.join(userNameList, ","));
|
||||
List<String> 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<BussDocumentLi
|
||||
//代替标准(根据id查询出来的)
|
||||
String replaceStandardTemp = (String) dataList.get(0).get("replace_standard");
|
||||
|
||||
List<String> userNameListTemp = new ArrayList<>();
|
||||
List<String> serialNumberList = new ArrayList<>();
|
||||
//(1)此种情况为编辑前代替标准就已经有数据了
|
||||
if (StringUtils.isNotBlank(replaceStandardTemp) && !replaceStandard.equals(replaceStandardTemp)) {
|
||||
//需要向被替代标准的法规工程师发送站内通知和飞书信息,提醒内容:"新标准编号"已实施,请注意更新“替代标准编号”状态
|
||||
List<String> list = Arrays.asList(replaceStandard.split(","));
|
||||
List<String> listTemp = Arrays.asList(replaceStandardTemp.split(","));
|
||||
List<String> listNew = list.stream().filter(e -> !listTemp.contains(e)).collect(Collectors.toList());
|
||||
//向listNew对应的工程师发飞书通知
|
||||
LambdaQueryWrapper<BussDocumentLibraryEO> lambdaQueryWrapperTemp = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapperTemp.in(BussDocumentLibraryEO::getId,listNew);
|
||||
List<Map<String, Object>> mapList = this.listMaps(lambdaQueryWrapperTemp);
|
||||
|
||||
} else {
|
||||
for (Map<String, Object> stringObjectMap : mapList) {
|
||||
userNameListTemp.add((String) stringObjectMap.get("create_by"));
|
||||
serialNumberList.add((String) stringObjectMap.get("serial_number"));
|
||||
}
|
||||
List<SysUser> userList = sysUserMapper.getUserListByNames(StringUtils.join(userNameListTemp, ","));
|
||||
List<String> 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<BussDocumentLibraryEO> lambdaQueryWrapperTemp = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapperTemp.in(BussDocumentLibraryEO::getId,Arrays.asList(replaceStandard.split(",")));
|
||||
List<Map<String, Object>> mapList = this.listMaps(lambdaQueryWrapperTemp);
|
||||
for (Map<String, Object> stringObjectMap : mapList) {
|
||||
userNameListTemp.add((String) stringObjectMap.get("create_by"));
|
||||
serialNumberList.add((String) stringObjectMap.get("serial_number"));
|
||||
}
|
||||
List<SysUser> userList = sysUserMapper.getUserListByNames(StringUtils.join(userNameListTemp, ","));
|
||||
List<String> 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<String> 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();
|
||||
|
||||
Reference in New Issue
Block a user