文档库--消息推送
This commit is contained in:
+41
-12
@@ -127,6 +127,9 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
|||||||
@Value(value = "${jero.path.upload}")
|
@Value(value = "${jero.path.upload}")
|
||||||
private String uploadpath;
|
private String uploadpath;
|
||||||
|
|
||||||
|
@Value(value = "${jero.backUrl}")
|
||||||
|
private String backUrl;
|
||||||
|
|
||||||
public static final String SEARCH_FLAG = "魑";
|
public static final String SEARCH_FLAG = "魑";
|
||||||
|
|
||||||
|
|
||||||
@@ -1316,7 +1319,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
|||||||
//新增时如果填写代替标准,需要向填写的代替标准的负责人发消息
|
//新增时如果填写代替标准,需要向填写的代替标准的负责人发消息
|
||||||
replaceStandardSend(Arrays.asList(replaceStandard.split(",")));
|
replaceStandardSend(Arrays.asList(replaceStandard.split(",")));
|
||||||
}
|
}
|
||||||
//向订阅该领域管理的人发消息
|
//向订阅该领域管理的人发消息和飞书
|
||||||
sendMsg(map, idTemp);
|
sendMsg(map, idTemp);
|
||||||
//添加es
|
//添加es
|
||||||
map.put("id", idTemp);
|
map.put("id", idTemp);
|
||||||
@@ -1527,20 +1530,26 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
|||||||
mapTemp.put("domainId", map.get("technology_territory"));
|
mapTemp.put("domainId", map.get("technology_territory"));
|
||||||
mapTemp.put("documentId", "");
|
mapTemp.put("documentId", "");
|
||||||
List<String> userIdList = domainUserRelService.queryDomainUserRelInfo(mapTemp);
|
List<String> userIdList = domainUserRelService.queryDomainUserRelInfo(mapTemp);
|
||||||
|
//给发送消息的用户
|
||||||
|
List<SysUser> sysUsers = sysUserService.listByIds(userIdList);
|
||||||
|
List<String> thirdIdList = sysUsers.stream().map(SysUser::getThirdId).collect(Collectors.toList());
|
||||||
if (userIdList.size() != 0) {
|
if (userIdList.size() != 0) {
|
||||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||||
String title = (String) map.get("title");
|
String title = (String) map.get("title");
|
||||||
String serialNumber = (String) map.get("serial_number");
|
String serialNumber = (String) map.get("serial_number");
|
||||||
String href = "<a href='/docManage/library/detail?id=" + idTemp +
|
String href = backUrl + "/docManage/library/detail?id=" + idTemp;
|
||||||
"&title=" + title +
|
|
||||||
"&serial_number=" + serialNumber + "'" + " target='_blank'>" + serialNumber + "</a>";
|
|
||||||
|
|
||||||
String content = sysUser.getRealname() + "新增了" + serialNumber + "请及时查看";
|
String content = sysUser.getRealname() + "新增了" + serialNumber + "请及时查看";
|
||||||
String contentInfo = sysUser.getRealname() + "新增了" + href + "请及时查看";
|
String contentInfo = sysUser.getRealname() + "新增了" + href + "请及时查看";
|
||||||
//封装消息的实体类
|
//封装消息的实体类
|
||||||
SysAnnouncement sysAnnouncement = getSysAnnouncement(userIdList, content, contentInfo);
|
SysAnnouncement sysAnnouncement = getSysAnnouncement(userIdList, content, contentInfo);
|
||||||
sysAnnouncementService.saveAnnouncement(sysAnnouncement);
|
sysAnnouncementService.saveAnnouncement(sysAnnouncement);
|
||||||
sendWebsocket(idTemp, idTemp);
|
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<BussDocumentLi
|
|||||||
List<String> thirdIdList = new ArrayList<>();
|
List<String> thirdIdList = new ArrayList<>();
|
||||||
if (StringUtils.isNotBlank(departIds)) {
|
if (StringUtils.isNotBlank(departIds)) {
|
||||||
//查询部门下的人员
|
//查询部门下的人员
|
||||||
List<SysUser> userList = sysUserService.getUserListByDepIds(new ArrayList<>(allDepartIds));
|
List<SysUser> userList = new ArrayList<>();
|
||||||
|
if(allDepartIds.size() != 0){
|
||||||
|
userList = sysUserService.getUserListByDepIds(new ArrayList<>(allDepartIds));
|
||||||
|
}
|
||||||
|
|
||||||
if (userList.size() != 0) {
|
if (userList.size() != 0) {
|
||||||
userIdList = userList.stream().map(SysUser::getId).distinct().collect(Collectors.toList());
|
userIdList = userList.stream().map(SysUser::getId).distinct().collect(Collectors.toList());
|
||||||
thirdIdList = userList.stream().map(SysUser::getThirdId).distinct().collect(Collectors.toList());
|
thirdIdList = userList.stream().map(SysUser::getThirdId).distinct().collect(Collectors.toList());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if(userIdList.size() == 0 && StringUtils.isNotBlank(userIds)){
|
||||||
|
List<SysUser> sysUsers = sysUserService.listByIds(Arrays.asList(userIds.split(",")));
|
||||||
|
if(sysUsers.size() != 0){
|
||||||
|
List<String> userId = sysUsers.stream().map(SysUser::getId).collect(Collectors.toList());
|
||||||
|
List<String> thirdId = sysUsers.stream().map(SysUser::getThirdId).collect(Collectors.toList());
|
||||||
|
userIdList.addAll(userId);
|
||||||
|
thirdIdList.addAll(thirdId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// userIdList.addAll(Arrays.asList(userIds.split(",")));
|
// userIdList.addAll(Arrays.asList(userIds.split(",")));
|
||||||
//查询文档
|
//查询文档
|
||||||
List<Map<String, Object>> mapList = bussDocumentLibraryEOMapper.selectMapsAll(documentIds);
|
List<Map<String, Object>> mapList = bussDocumentLibraryEOMapper.selectMapsAll(documentIds);
|
||||||
List<String> serialNumberList = new ArrayList<>();
|
List<String> serialNumberList = new ArrayList<>();
|
||||||
|
List<String> urlList = new ArrayList<>();
|
||||||
List<String> hrefList = new ArrayList<>();
|
List<String> hrefList = new ArrayList<>();
|
||||||
for (Map<String, Object> map : mapList) {
|
for (Map<String, Object> map : mapList) {
|
||||||
serialNumberList.add((String) map.get("serial_number"));
|
serialNumberList.add((String) map.get("serial_number"));
|
||||||
// String href = "<a href='/docManage/library/detail?id:" + idTemp +
|
String url = backUrl + "/docManage/library/detail?id=" + (String) map.get("id");
|
||||||
// "&title:" + title +
|
|
||||||
// "&serial_number:" + serialNumber + "'" + " target='_blank'>" + serialNumber + "</a>";
|
|
||||||
|
|
||||||
String href = "<a href='/docManage/library/detail?id=" + (String) map.get("id") +
|
String href = "<a href='/docManage/library/detail?id=" + (String) map.get("id") +
|
||||||
"&title=" + (String) map.get("title") +
|
"&title=" + (String) map.get("title") +
|
||||||
"&serial_number=" + (String) map.get("serial_number") + "'" + " target='_blank'>" + (String) map.get("serial_number") + "</a>,";
|
"&serial_number=" + (String) map.get("serial_number") + "'" + " target='_blank'>" + (String) map.get("serial_number") + "</a>,";
|
||||||
|
urlList.add(url);
|
||||||
hrefList.add(href);
|
hrefList.add(href);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3512,9 +3534,16 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
|||||||
sysAnnouncementService.saveAnnouncement(sysAnnouncement);
|
sysAnnouncementService.saveAnnouncement(sysAnnouncement);
|
||||||
//飞书
|
//飞书
|
||||||
try {
|
try {
|
||||||
for (String s : hrefList) {
|
for (String s : urlList) {
|
||||||
String msg = sysUser.getRealname() + "推送了" + s;
|
List<String> list = new ArrayList<>();
|
||||||
iFeishuService.batchSendMessage(new String[thirdIdList.size()], content, "转发推送", msg);
|
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) {
|
} catch (IOException e) {
|
||||||
log.error("飞书推送失败");
|
log.error("飞书推送失败");
|
||||||
|
|||||||
@@ -190,6 +190,7 @@ mybatis-plus:
|
|||||||
jero :
|
jero :
|
||||||
# 本地:local\Minio:minio\阿里云:alioss
|
# 本地:local\Minio:minio\阿里云:alioss
|
||||||
uploadType: local
|
uploadType: local
|
||||||
|
backUrl: http://localhost:3000
|
||||||
path :
|
path :
|
||||||
#文件上传根目录 设置
|
#文件上传根目录 设置
|
||||||
upload: D://opt//upFiles
|
upload: D://opt//upFiles
|
||||||
|
|||||||
Reference in New Issue
Block a user