diff --git a/message-center-api/src/main/java/com/yxt/messagecenter/api/message/MessageFlowableDto.java b/message-center-api/src/main/java/com/yxt/messagecenter/api/message/MessageFlowableDto.java index 0e95cc6..71a00e5 100644 --- a/message-center-api/src/main/java/com/yxt/messagecenter/api/message/MessageFlowableDto.java +++ b/message-center-api/src/main/java/com/yxt/messagecenter/api/message/MessageFlowableDto.java @@ -47,6 +47,8 @@ public class MessageFlowableDto implements Dto { @ApiModelProperty("任务id") private String taskId; + @ApiModelProperty("接收人的组织机构") + private List orgPathList; } diff --git a/message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/app/AppMessageListQuery.java b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/app/AppMessageListQuery.java index e149f2a..64d393f 100644 --- a/message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/app/AppMessageListQuery.java +++ b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/app/AppMessageListQuery.java @@ -17,4 +17,6 @@ public class AppMessageListQuery implements Query { @ApiModelProperty("消息类别") private String msgTypeSid; + @ApiModelProperty("组织机构全路径") + private String orgPath; } diff --git a/message-center-biz/src/main/java/com/yxt/messagecenter/biz/message/MessageService.java b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/message/MessageService.java index 060df33..fe505ed 100644 --- a/message-center-biz/src/main/java/com/yxt/messagecenter/biz/message/MessageService.java +++ b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/message/MessageService.java @@ -218,6 +218,7 @@ public class MessageService extends MybatisBaseService { String msgContent = dto.getMsgContent(); List list = dto.getList(); List receiveIdList = dto.getReceiveIdList(); + List orgPathList = dto.getOrgPathList(); // 1、保存消息体 AppMessageDto messageDto = new AppMessageDto(); List messageBean = messageTypeService.selectMsgTypeList("0002"); @@ -249,7 +250,8 @@ public class MessageService extends MybatisBaseService { // 使用多线程保存 List> futures = new ArrayList>(); ExecutorService executor = Executors.newFixedThreadPool(4); - for (String receverSid : list) { + for (int i = 0;i f = executor.submit(new Runnable() { @Override public void run() { @@ -259,7 +261,10 @@ public class MessageService extends MybatisBaseService { messageList.setMsgSid(msgSid); messageList.setRDelStatus(0); messageList.setSDelStatus(0); - messageList.setReceiverSid(receverSid); + messageList.setReceiverSid(list.get(finalI)); + if(orgPathList.size()>0){ + messageList.setReceiverDeptSid(orgPathList.get(finalI)); + } messageListService.saveOrUpdateDto(messageList); System.out.println("run end-----------------" + System.currentTimeMillis() + ":" + Thread.currentThread().getName()); } catch (Exception e) { @@ -307,6 +312,8 @@ public class MessageService extends MybatisBaseService { String applicationName = query.getApplicationName(); ResultBean> resultBean = flowTaskFeign.getLatestTasks(procId); String nextNodeUserSids = resultBean.getData().get(0).getASSIGNEE_(); +// String nextNodeOrgPathSids = resultBean.getData().get(0).getId_(); +// List receiveOrgPathList = Arrays.asList(nextNodeOrgPathSids.split(",")); List receiveSidList = Arrays.asList(nextNodeUserSids.split(",")); //根据用户的sid查询用户的id ResultBean stringList1 = sysUserFeign.selectIdBySid(receiveSidList); @@ -336,6 +343,7 @@ public class MessageService extends MybatisBaseService { messageFlowableDto.setJson(messageJsonDto); messageFlowableDto.setList(receiveSidList); messageFlowableDto.setReceiveIdList(reveiveIdList); +// messageFlowableDto.setOrgPathList(receiveOrgPathList); messageFlowableDto.setModuleName(moduleName); messageFlowableDto.setMsgContent(msgContent); messageFlowableDto.setMsgTitle(msgTitle); diff --git a/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagelist/MessageListService.java b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagelist/MessageListService.java index d005b48..4699040 100644 --- a/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagelist/MessageListService.java +++ b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagelist/MessageListService.java @@ -308,6 +308,9 @@ public class MessageListService extends MybatisBaseService qw = new QueryWrapper<>(); qw.eq("ml.receiverSid", pq.getParams().getUserSid()); qw.eq("m.msgTypeSid", pq.getParams().getMsgTypeSid()); + if(StringUtils.isNotBlank(pq.getParams().getOrgPath())){ + qw.and(wrapper -> wrapper.isNull("ml.receiverDeptSid").or().eq("ml.receiverDeptSid",pq.getParams().getOrgPath()).or().eq("ml.receiverDeptSid", "")); + } IPage iPage = PagerUtil.queryToPage(pq); IPage page = baseMapper.getAppMsgListByUserSid(iPage, qw); PagerVo pagerVo = PagerUtil.pageToVo(page, null);