add - 新增完成抄送的功能
This commit is contained in:
parent
cf961520ca
commit
a49e07cb85
@ -14,6 +14,7 @@ public enum ProcessMessagePushEventEnum {
|
||||
PROCESS_PUSH_PENDING("process-push", "process-push-pending", "待办推送"),
|
||||
PROCESS_PUSH_PENDING_COMPLETE("process-push", "process-push-pending-complete", "完成待办"),
|
||||
PROCESS_CARBON_COPY("process-push", "process-carbon-copy", "抄送流程"),
|
||||
PROCESS_CARBON_COPY_COMPLETE("process-push", "process-carbon-copy-complete", "完成抄送"),
|
||||
PROCESS_PUSH_SMS("process-push", "process-push-sms", "短信推送"),
|
||||
;
|
||||
|
||||
|
||||
@ -8,6 +8,7 @@ import java.util.List;
|
||||
|
||||
import static cn.axzo.workflow.core.common.code.OtherRespCode.MES_PUSH_OBJECT_BUILD_ERROR;
|
||||
import static cn.axzo.workflow.core.engine.event.MessagePushEventType.CARBON_COPY;
|
||||
import static cn.axzo.workflow.core.engine.event.MessagePushEventType.CARBON_COPY_COMPLETE;
|
||||
import static cn.axzo.workflow.core.engine.event.MessagePushEventType.NOTICE;
|
||||
import static cn.axzo.workflow.core.engine.event.MessagePushEventType.PENDING_COMPLETE;
|
||||
import static cn.axzo.workflow.core.engine.event.MessagePushEventType.PENDING_PUSH;
|
||||
@ -33,6 +34,8 @@ public class MessagePushEventBuilder {
|
||||
return createPendingCompleteEvent(assigners, noticeConf, processInstanceId, tenantId, taskId);
|
||||
case CARBON_COPY:
|
||||
return createCarbonCopyEvent(assigners, noticeConf, processInstanceId, tenantId);
|
||||
case CARBON_COPY_COMPLETE:
|
||||
return createCarbonCopyCompleteEvent(assigners, noticeConf, processInstanceId, tenantId);
|
||||
case SMS:
|
||||
return createSmsEvent(assigners, noticeConf, processInstanceId, tenantId, taskId);
|
||||
default:
|
||||
@ -73,6 +76,14 @@ public class MessagePushEventBuilder {
|
||||
return newEvent;
|
||||
}
|
||||
|
||||
public static MessagePushEventImpl createCarbonCopyCompleteEvent(List<BpmnTaskDelegateAssigner> assigners,
|
||||
BpmnNoticeConf noticeConf, String processInstanceId,
|
||||
String tenantId) {
|
||||
MessagePushEventImpl newEvent = new MessagePushEventImpl(CARBON_COPY_COMPLETE, assigners, noticeConf,
|
||||
processInstanceId, tenantId, null);
|
||||
return newEvent;
|
||||
}
|
||||
|
||||
public static MessagePushEventImpl createSmsEvent(List<BpmnTaskDelegateAssigner> assigners,
|
||||
BpmnNoticeConf noticeConf,
|
||||
String processInstanceId, String tenantId, String taskId) {
|
||||
|
||||
@ -31,6 +31,10 @@ public enum MessagePushEventType implements FlowableEventType {
|
||||
* 抄送消息
|
||||
*/
|
||||
CARBON_COPY,
|
||||
/**
|
||||
* 完成抄送消息
|
||||
*/
|
||||
CARBON_COPY_COMPLETE,
|
||||
/**
|
||||
* 推送短信
|
||||
*/
|
||||
|
||||
@ -78,6 +78,12 @@ public class EngineNoticeEventListener extends AbstractFlowableEventListener {
|
||||
stopWatch.stop();
|
||||
log.info("CARBON-COPY StopWatch : running time = " + stopWatch.getTotalTimeSeconds() + " 's");
|
||||
break;
|
||||
case CARBON_COPY_COMPLETE:
|
||||
stopWatch.start("CARBON-COPY-COMPLETE Event Execution Time");
|
||||
getOrderedListeners().forEach(i -> i.onCarbonCopyComplete(event));
|
||||
stopWatch.stop();
|
||||
log.info("CARBON-COPY-COMPLETE StopWatch : running time = " + stopWatch.getTotalTimeSeconds() + " 's");
|
||||
break;
|
||||
case SMS:
|
||||
stopWatch.start("SMS Event Execution Time");
|
||||
getOrderedListeners().forEach(i -> i.onSms(event));
|
||||
|
||||
@ -43,6 +43,15 @@ public interface BpmnMessagePushEventListener extends Ordered {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 完成抄送
|
||||
*
|
||||
* @param event
|
||||
*/
|
||||
default void onCarbonCopyComplete(MessagePushEvent event) {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 推送短信
|
||||
*
|
||||
|
||||
@ -64,6 +64,7 @@ import static cn.axzo.workflow.common.constant.VariableConstants.VAR_TASK_ID;
|
||||
import static cn.axzo.workflow.common.constant.VariableConstants.VAR_TASK_START_TIME;
|
||||
import static cn.axzo.workflow.common.constant.VariableConstants.VAR_TASK_USER_NAME;
|
||||
import static cn.axzo.workflow.common.enums.ProcessMessagePushEventEnum.PROCESS_CARBON_COPY;
|
||||
import static cn.axzo.workflow.common.enums.ProcessMessagePushEventEnum.PROCESS_CARBON_COPY_COMPLETE;
|
||||
import static cn.axzo.workflow.common.enums.ProcessMessagePushEventEnum.PROCESS_PUSH_NOTICE;
|
||||
import static cn.axzo.workflow.common.enums.ProcessMessagePushEventEnum.PROCESS_PUSH_PENDING;
|
||||
import static cn.axzo.workflow.common.enums.ProcessMessagePushEventEnum.PROCESS_PUSH_PENDING_COMPLETE;
|
||||
@ -205,6 +206,33 @@ public class RocketMqMessagePushEventListener implements BpmnMessagePushEventLis
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 完成抄送
|
||||
*
|
||||
* @param event
|
||||
*/
|
||||
@Override
|
||||
public void onCarbonCopyComplete(MessagePushEvent event) {
|
||||
if (Objects.isNull(event.getNoticeConfig())
|
||||
|| Objects.isNull(event.getNoticeConfig().getCarbonCopy())
|
||||
|| !StringUtils.hasLength(event.getNoticeConfig().getCarbonCopy().getCarbonCopyMessageId())) {
|
||||
return;
|
||||
}
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("RocketMqMessagePushEventListener#onCarbonCopyComplete... cc' templateId: {}",
|
||||
event.getNoticeConfig().getCarbonCopy().getCarbonCopyMessageId());
|
||||
}
|
||||
if (Objects.nonNull(event.getNoticeConfig().getCarbonCopy())) {
|
||||
MessagePushDTO dto = build(event.getNoticeConfig().getCarbonCopy().getCarbonCopyMessageId(),
|
||||
PROCESS_CARBON_COPY_COMPLETE, event, collectionVariable(event));
|
||||
sendMessageQueue(dto, PROCESS_CARBON_COPY_COMPLETE);
|
||||
}
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("RocketMqMessagePushEventListener#onCarbonCopyComplete...end, cc' templateId: {}",
|
||||
event.getNoticeConfig().getCarbonCopy().getCarbonCopyMessageId());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSms(MessagePushEvent event) {
|
||||
if (Objects.isNull(event.getNoticeConfig())
|
||||
|
||||
@ -83,9 +83,14 @@ public class MessagePushProcessEventListener implements BpmnProcessEventListener
|
||||
MessagePushEventImpl messagePushEvent =
|
||||
MessagePushEventBuilder.createEvent(MessagePushEventType.PENDING_COMPLETE, null, noticeConfig,
|
||||
event.getProcessInstanceId(), null, null);
|
||||
MessagePushEventImpl carbonCopyCompleteEvent =
|
||||
MessagePushEventBuilder.createEvent(MessagePushEventType.CARBON_COPY_COMPLETE, null, noticeConfig,
|
||||
event.getProcessInstanceId(), null, null);
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("发送完成待办的消息: {}", JSON.toJSONString(messagePushEvent));
|
||||
log.debug("发送完成抄送的消息: {}", JSON.toJSONString(carbonCopyCompleteEvent));
|
||||
}
|
||||
eventDispatcher.dispatchEvent(carbonCopyCompleteEvent, processEngineConfiguration.getEngineCfgKey());
|
||||
eventDispatcher.dispatchEvent(messagePushEvent, processEngineConfiguration.getEngineCfgKey());
|
||||
});
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user