flowable 抄送

This commit is contained in:
yxt_djz
2023-02-16 15:58:28 +08:00
parent dc67bd25d9
commit 050ae649c4
5 changed files with 99 additions and 0 deletions

View File

@@ -121,6 +121,11 @@ public class MessageRest implements MessageFeign {
return messageService.pushMessage(query);
}
@Override
public ResultBean<String> pushMessageCC(MessageFlowableQueryForCC query) {
return messageService.pushMessageForCC(query);
}
@Override
public ResultBean<String> sendMessage(AppScmMessageFlowableQuery query) {
return messageService.sendMessage(query);

View File

@@ -354,6 +354,57 @@ public class MessageService extends MybatisBaseService<MessageMapper, Message> {
return rb.success().setMsg(msgSid);
}
public ResultBean<String> pushMessageForCC(MessageFlowableQueryForCC query) {
ResultBean<String> rb = ResultBean.fireFail();
MessageFlowVo ufVo = query.getUfVo();
String procId = ufVo.getProcInsId();
String procDefId = ufVo.getProcDefId();
Map<String, Object> appMap = query.getAppMap();
String moduleName = query.getModuleName();
String msgContent = query.getMsgContent();
String msgTitle = query.getMsgTitle();
String applicationName = query.getApplicationName();
String nextNodeUserSids = query.getUserSids();
List<String> receiveSidList = Arrays.asList(nextNodeUserSids.split(","));
//根据用户的sid查询用户的id
ResultBean<String> stringList1 = sysUserFeign.selectIdBySid(receiveSidList);
List<String> reveiveIdList = Arrays.asList(stringList1.getData().split(","));
MessageFlowableDto messageFlowableDto = new MessageFlowableDto();
MessageJsonDto messageJsonDto = new MessageJsonDto();
BeanUtil.copyProperties(ufVo, messageJsonDto);
//查询流程审批的页面操作地址组装json的参数
//根据taskDef和移动端标识
ResultBean<SysProUrlVo> selectUrlByKey = sysProUrlFeign.selectUrlByKey(procDefId, ufVo.getTaskDefKey(), "1", "2");
SysProUrlVo sysProUrlVo = selectUrlByKey.getData();
messageFlowableDto.setBusinessSid(query.getBusinessSid());
messageFlowableDto.setApp_type("2");
if (sysProUrlVo.getUrl().contains("#")) {
messageFlowableDto.setModuleAction(Arrays.asList(sysProUrlVo.getUrl().split("#")).get(0));
List<Integer> codesInteger = Arrays.asList(Arrays.asList(sysProUrlVo.getUrl().split("#")).get(1).split(",")).stream().map(Integer::parseInt).collect(Collectors.toList());
int[] ints = codesInteger.stream().mapToInt(Integer::valueOf).toArray();
;
messageJsonDto.setButtons(ints);
} else {
messageFlowableDto.setModuleAction(sysProUrlVo.getUrl());
}
messageFlowableDto.setModuleSid(Arrays.asList(sysProUrlVo.getModulePluginName().split("#")).get(0));
messageJsonDto.setTaskName(ufVo.getNodeState());
messageJsonDto.setProcInsId(ufVo.getProcInsId());
messageJsonDto.setAppMap(appMap);
messageFlowableDto.setJson(messageJsonDto);
messageFlowableDto.setList(receiveSidList);
messageFlowableDto.setReceiveIdList(reveiveIdList);
messageFlowableDto.setModuleName(moduleName);
messageFlowableDto.setMsgContent(msgContent);
messageFlowableDto.setMsgTitle(msgTitle);
messageFlowableDto.setCreateName(applicationName);
messageFlowableDto.setTaskId(ufVo.getTaskId());
ResultBean<String> stringResultBean = getMessage(messageFlowableDto);
String msgSid = stringResultBean.getData();
return rb.success().setMsg(msgSid);
}
public static void main(String[] arg0) {
YamlPropertiesFactoryBean factoryBean = new YamlPropertiesFactoryBean();
factoryBean.setResources(new ClassPathResource("application.yml"));