文档库-飞书消息, 订阅领域管理
This commit is contained in:
+2
@@ -38,4 +38,6 @@ public interface SysCategoryMapper extends BaseMapper<SysCategory> {
|
|||||||
*/
|
*/
|
||||||
@Update("update sys_category set del_flag = #{flag,jdbcType=INTEGER} where id = #{id,jdbcType=VARCHAR}")
|
@Update("update sys_category set del_flag = #{flag,jdbcType=INTEGER} where id = #{id,jdbcType=VARCHAR}")
|
||||||
public void updateDictDelFlag(@Param("flag") int delFlag, @Param("id") String id);
|
public void updateDictDelFlag(@Param("flag") int delFlag, @Param("id") String id);
|
||||||
|
|
||||||
|
public String getFieldInfo(@Param("fieldName") String fieldName);
|
||||||
}
|
}
|
||||||
|
|||||||
+7
@@ -36,4 +36,11 @@
|
|||||||
</if>
|
</if>
|
||||||
order by create_time desc
|
order by create_time desc
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="getFieldInfo" resultType="java.lang.String">
|
||||||
|
select dict_id from onl_cgform_field
|
||||||
|
where db_field_name =#{fieldName}
|
||||||
|
and is_model = 1
|
||||||
|
and is_delete = 0
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
+9
-1
@@ -21,6 +21,7 @@ import com.jero.modules.system.service.ISysCategoryService;
|
|||||||
import com.jero.modules.system.util.TreeUtils;
|
import com.jero.modules.system.util.TreeUtils;
|
||||||
import org.apache.commons.collections4.CollectionUtils;
|
import org.apache.commons.collections4.CollectionUtils;
|
||||||
import org.apache.commons.lang3.RandomUtils;
|
import org.apache.commons.lang3.RandomUtils;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
@@ -234,7 +235,14 @@ public class SysCategoryServiceImpl extends ServiceImpl<SysCategoryMapper, SysCa
|
|||||||
@Override
|
@Override
|
||||||
public List<SysCategoryTreeVO> getSysCategoryTree() {
|
public List<SysCategoryTreeVO> getSysCategoryTree() {
|
||||||
try {
|
try {
|
||||||
List<SysCategory> list = super.baseMapper.selectList(new QueryWrapper<>());
|
//只查询技术领域的technology_territory
|
||||||
|
String dictId = sysCategoryMapper.getFieldInfo("technology_territory");
|
||||||
|
List<SysCategory> list = new ArrayList<>();
|
||||||
|
if(StringUtils.isNotBlank(dictId)){
|
||||||
|
LambdaQueryWrapper<SysCategory> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
lambdaQueryWrapper.in(SysCategory::getSysDictId,dictId);
|
||||||
|
list = super.baseMapper.selectList(lambdaQueryWrapper);
|
||||||
|
}
|
||||||
List<SysCategoryTreeVO> tree = new ArrayList<>();
|
List<SysCategoryTreeVO> tree = new ArrayList<>();
|
||||||
if(CollectionUtils.isNotEmpty(list)){
|
if(CollectionUtils.isNotEmpty(list)){
|
||||||
tree = TreeUtils.getSysCategoryTree(list);
|
tree = TreeUtils.getSysCategoryTree(list);
|
||||||
|
|||||||
+39
-5
@@ -1548,8 +1548,8 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
|||||||
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 = backUrl + "/docManage/library/detail?id=" + idTemp;
|
String href = backUrl + "/docManage/library/detail?id=" + idTemp;
|
||||||
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);
|
||||||
@@ -1558,7 +1558,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
|||||||
try {
|
try {
|
||||||
iFeishuService.batchSendMessage(thirdIdList.toArray(new String[]{}), content, MessageTypeEnum.PUSH.getName(), href);
|
iFeishuService.batchSendMessage(thirdIdList.toArray(new String[]{}), content, MessageTypeEnum.PUSH.getName(), href);
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
log.error("文档新增飞书消息推送失败");
|
log.error("飞书消息推送失败");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2172,25 +2172,39 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
|||||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||||
String serialNumber = (String) dataList.get(0).get("serial_number");
|
String serialNumber = (String) dataList.get(0).get("serial_number");
|
||||||
//只要修改了标准,就需要向订阅用户发送消息(内容为-->XXX对“GB 7258 进行了修改请及时查看”)
|
//只要修改了标准,就需要向订阅用户发送消息(内容为-->XXX对“GB 7258 进行了修改请及时查看”)
|
||||||
//项订阅领域管理中订阅了该技术领域的人和文档库中订阅了该条文档的人发送消息
|
//向订阅领域管理中订阅了该技术领域的人和文档库中订阅了该条文档的人发送消息
|
||||||
Map<String, Object> mapTemp = new HashMap<>();
|
Map<String, Object> mapTemp = new HashMap<>();
|
||||||
mapTemp.put("domainId", map.get("technology_territory"));
|
mapTemp.put("domainId", map.get("technology_territory"));
|
||||||
mapTemp.put("documentId", map.get("id"));
|
mapTemp.put("documentId", map.get("id"));
|
||||||
|
//订阅技术领域的人和订阅该条标准的人
|
||||||
List<String> userIdList = domainUserRelService.queryDomainUserRelInfo(mapTemp);
|
List<String> userIdList = domainUserRelService.queryDomainUserRelInfo(mapTemp);
|
||||||
|
LambdaQueryWrapper<SysUser> wrapper = new LambdaQueryWrapper<>();
|
||||||
|
wrapper.in(SysUser::getId,userIdList);
|
||||||
|
List<SysUser> sysUserList = sysUserService.list(wrapper);
|
||||||
|
List<String> thirdIdList = sysUserList.stream().map(SysUser::getThirdId).collect(Collectors.toList());
|
||||||
|
|
||||||
String id = (String) map.get("id");
|
String id = (String) map.get("id");
|
||||||
String title = (String) map.get("title");
|
String title = (String) map.get("title");
|
||||||
String href = "<a href='/docManage/library/detail?id=" + id +
|
String href = "<a href='/docManage/library/detail?id=" + id +
|
||||||
"&title=" + title +
|
"&title=" + title +
|
||||||
"&serial_number=" + serialNumber + "'" + " target='_blank'>" + serialNumber + "</a>";
|
"&serial_number=" + serialNumber + "'" + " target='_blank'>" + serialNumber + "</a>";
|
||||||
|
String url = backUrl + "/docManage/library/detail?id=" + id;
|
||||||
|
|
||||||
if (StringUtils.isNotBlank(sbStr.toString())) {
|
if (StringUtils.isNotBlank(sbStr.toString())) {
|
||||||
String content = sysUser.getRealname() + "对" + serialNumber + "进行了修改请及时查看";
|
String content = sysUser.getRealname() + "对" + serialNumber + "进行了修改,请及时查看";
|
||||||
String contentInfo = sysUser.getRealname() + "修改标准" + href + "中" + sbStr.toString();
|
String contentInfo = sysUser.getRealname() + "修改标准" + href + "中" + sbStr.toString();
|
||||||
//封装消息的实体类
|
//封装消息的实体类
|
||||||
SysAnnouncement sysAnnouncement = getSysAnnouncement(userIdList, content, contentInfo);
|
SysAnnouncement sysAnnouncement = getSysAnnouncement(userIdList, content, contentInfo);
|
||||||
sysAnnouncementService.saveAnnouncement(sysAnnouncement);
|
sysAnnouncementService.saveAnnouncement(sysAnnouncement);
|
||||||
sendWebsocket((String) map.get("id"), (String) map.get("id"));
|
sendWebsocket((String) map.get("id"), (String) map.get("id"));
|
||||||
}
|
}
|
||||||
|
//飞书
|
||||||
|
try {
|
||||||
|
String content = sysUser.getRealname() + "对" + serialNumber + "进行了修改,请及时查看";
|
||||||
|
iFeishuService.batchSendMessage(thirdIdList.toArray(new String[]{}), content, MessageTypeEnum.READ.getName(), url);
|
||||||
|
} catch (IOException e) {
|
||||||
|
log.error("文档新增飞书消息推送失败");
|
||||||
|
}
|
||||||
// }
|
// }
|
||||||
//2. 处理修改代替标准的发送消息(法规负责人)
|
//2. 处理修改代替标准的发送消息(法规负责人)
|
||||||
//处理修改代替标准,发送通知
|
//处理修改代替标准,发送通知
|
||||||
@@ -2230,6 +2244,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
|||||||
List<Map<String, Object>> mapList = bussDocumentLibraryEOMapper.selectMapsAll(StringUtils.join(documentIdList, ","));
|
List<Map<String, Object>> mapList = bussDocumentLibraryEOMapper.selectMapsAll(StringUtils.join(documentIdList, ","));
|
||||||
List<String> userNameListTemp = new ArrayList<>();
|
List<String> userNameListTemp = new ArrayList<>();
|
||||||
List<String> serialNumberList = new ArrayList<>();
|
List<String> serialNumberList = new ArrayList<>();
|
||||||
|
List<String> urlList = new ArrayList<>();
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
for (Map<String, Object> stringObjectMap : mapList) {
|
for (Map<String, Object> stringObjectMap : mapList) {
|
||||||
String id = (String) stringObjectMap.get("id");
|
String id = (String) stringObjectMap.get("id");
|
||||||
@@ -2242,6 +2257,8 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
|||||||
"&title=" + title +
|
"&title=" + title +
|
||||||
"&serial_number=" + serialNumber + "'" + " target='_blank'>" + serialNumber + "</a>,";
|
"&serial_number=" + serialNumber + "'" + " target='_blank'>" + serialNumber + "</a>,";
|
||||||
sb.append(href);
|
sb.append(href);
|
||||||
|
String url = backUrl + "/docManage/library/detail?id=" + (String) stringObjectMap.get("id");
|
||||||
|
urlList.add(url);
|
||||||
}
|
}
|
||||||
String sbStr = "";
|
String sbStr = "";
|
||||||
if (ObjectUtils.isNotEmpty(sb)) {
|
if (ObjectUtils.isNotEmpty(sb)) {
|
||||||
@@ -2249,12 +2266,29 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
|||||||
}
|
}
|
||||||
List<SysUser> userList = sysUserMapper.getUserListByNames(StringUtils.join(userNameListTemp, ","));
|
List<SysUser> userList = sysUserMapper.getUserListByNames(StringUtils.join(userNameListTemp, ","));
|
||||||
List<String> userIdList = userList.stream().map(SysUser::getId).collect(Collectors.toList());
|
List<String> userIdList = userList.stream().map(SysUser::getId).collect(Collectors.toList());
|
||||||
|
List<String> thirdIdList = userList.stream().map(SysUser::getThirdId).collect(Collectors.toList());
|
||||||
String content = "新标准编号已实施,请注意更新替代标准编号:" + StringUtils.join(serialNumberList, ",") + "的状态";
|
String content = "新标准编号已实施,请注意更新替代标准编号:" + StringUtils.join(serialNumberList, ",") + "的状态";
|
||||||
String contentInfo = "新标准编号已实施,请注意更新替代标准编号:" + sbStr + "的状态," + "链接: http://localhost:3000/docManage/library";
|
String contentInfo = "新标准编号已实施,请注意更新替代标准编号:" + sbStr + "的状态," + "链接: http://localhost:3000/docManage/library";
|
||||||
//封装消息的实体类
|
//封装消息的实体类
|
||||||
SysAnnouncement sysAnnouncement = getSysAnnouncement(userIdList, content, contentInfo);
|
SysAnnouncement sysAnnouncement = getSysAnnouncement(userIdList, content, contentInfo);
|
||||||
sysAnnouncementService.saveAnnouncement(sysAnnouncement);
|
sysAnnouncementService.saveAnnouncement(sysAnnouncement);
|
||||||
sendWebsocket(StringUtils.join(documentIdList, ","), StringUtils.join(documentIdList, ","));
|
sendWebsocket(StringUtils.join(documentIdList, ","), StringUtils.join(documentIdList, ","));
|
||||||
|
//飞书
|
||||||
|
try {
|
||||||
|
for (String s : urlList) {
|
||||||
|
List<String> 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 = StringUtils.join(list, ",")+"已被其他标准代替,请注意更新"+StringUtils.join(list, ",") + "的状态";
|
||||||
|
iFeishuService.batchSendMessage(thirdIdList.toArray(new String[]{}), contentTemp, MessageTypeEnum.PUSH.getName(), s);
|
||||||
|
}
|
||||||
|
} catch (IOException e) {
|
||||||
|
log.error("飞书推送失败");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user