Browse Source

审核消息推送的切换机构部分

master
dimengzhe 3 years ago
parent
commit
bc86d0fa4b
  1. 2
      message-center-api/src/main/java/com/yxt/messagecenter/api/message/MessageFlowableDto.java
  2. 2
      message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/app/AppMessageListQuery.java
  3. 12
      message-center-biz/src/main/java/com/yxt/messagecenter/biz/message/MessageService.java
  4. 3
      message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagelist/MessageListService.java

2
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<String> orgPathList;
}

2
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;
}

12
message-center-biz/src/main/java/com/yxt/messagecenter/biz/message/MessageService.java

@ -218,6 +218,7 @@ public class MessageService extends MybatisBaseService<MessageMapper, Message> {
String msgContent = dto.getMsgContent();
List<String> list = dto.getList();
List<String> receiveIdList = dto.getReceiveIdList();
List<String> orgPathList = dto.getOrgPathList();
// 1、保存消息体
AppMessageDto messageDto = new AppMessageDto();
List<MessageTypeVo> messageBean = messageTypeService.selectMsgTypeList("0002");
@ -249,7 +250,8 @@ public class MessageService extends MybatisBaseService<MessageMapper, Message> {
// 使用多线程保存
List<Future<?>> futures = new ArrayList<Future<?>>();
ExecutorService executor = Executors.newFixedThreadPool(4);
for (String receverSid : list) {
for (int i = 0;i<list.size();i++) {
int finalI = i;
Future<?> f = executor.submit(new Runnable() {
@Override
public void run() {
@ -259,7 +261,10 @@ public class MessageService extends MybatisBaseService<MessageMapper, Message> {
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<MessageMapper, Message> {
String applicationName = query.getApplicationName();
ResultBean<List<LatestTaskVo>> resultBean = flowTaskFeign.getLatestTasks(procId);
String nextNodeUserSids = resultBean.getData().get(0).getASSIGNEE_();
// String nextNodeOrgPathSids = resultBean.getData().get(0).getId_();
// List<String> receiveOrgPathList = Arrays.asList(nextNodeOrgPathSids.split(","));
List<String> receiveSidList = Arrays.asList(nextNodeUserSids.split(","));
//根据用户的sid查询用户的id
ResultBean<String> stringList1 = sysUserFeign.selectIdBySid(receiveSidList);
@ -336,6 +343,7 @@ public class MessageService extends MybatisBaseService<MessageMapper, Message> {
messageFlowableDto.setJson(messageJsonDto);
messageFlowableDto.setList(receiveSidList);
messageFlowableDto.setReceiveIdList(reveiveIdList);
// messageFlowableDto.setOrgPathList(receiveOrgPathList);
messageFlowableDto.setModuleName(moduleName);
messageFlowableDto.setMsgContent(msgContent);
messageFlowableDto.setMsgTitle(msgTitle);

3
message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagelist/MessageListService.java

@ -308,6 +308,9 @@ public class MessageListService extends MybatisBaseService<MessageListMapper, Me
QueryWrapper<MessageList> 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<AppMessageListQuery> iPage = PagerUtil.queryToPage(pq);
IPage<AppMessageListVo> page = baseMapper.getAppMsgListByUserSid(iPage, qw);
PagerVo<AppMessageListVo> pagerVo = PagerUtil.pageToVo(page, null);

Loading…
Cancel
Save