|
@@ -1,56 +1,56 @@
|
|
-package com.flow.delegate;
|
|
|
|
-
|
|
|
|
-import com.flow.entity.User;
|
|
|
|
-import com.flow.flowable.utils.ProcessElementUtil;
|
|
|
|
-import com.flow.service.UserService;
|
|
|
|
-import lombok.extern.slf4j.Slf4j;
|
|
|
|
-import org.flowable.bpmn.model.MultiInstanceLoopCharacteristics;
|
|
|
|
-import org.flowable.bpmn.model.ServiceTask;
|
|
|
|
-import org.flowable.common.engine.impl.el.ExpressionManager;
|
|
|
|
-import org.flowable.engine.delegate.DelegateExecution;
|
|
|
|
-import org.flowable.engine.delegate.JavaDelegate;
|
|
|
|
-import org.flowable.engine.impl.cfg.ProcessEngineConfigurationImpl;
|
|
|
|
-import org.flowable.http.common.impl.ExpressionUtils;
|
|
|
|
-import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
-import org.springframework.beans.factory.annotation.Value;
|
|
|
|
-import org.springframework.mail.SimpleMailMessage;
|
|
|
|
-import org.springframework.mail.javamail.JavaMailSender;
|
|
|
|
-import org.springframework.stereotype.Component;
|
|
|
|
-
|
|
|
|
-import java.util.Objects;
|
|
|
|
-
|
|
|
|
-@Slf4j
|
|
|
|
-@Component
|
|
|
|
-public class MailNotifyDelegate implements JavaDelegate {
|
|
|
|
- @Autowired
|
|
|
|
- private UserService userService;
|
|
|
|
- @Autowired
|
|
|
|
- private JavaMailSender mailSender;
|
|
|
|
- @Value("${spring.mail.username}")
|
|
|
|
- private String from;
|
|
|
|
- @Autowired
|
|
|
|
- private ProcessEngineConfigurationImpl processEngineConfiguration;
|
|
|
|
-
|
|
|
|
- @Override
|
|
|
|
- public void execute(DelegateExecution execution) {
|
|
|
|
- ServiceTask serviceTask = (ServiceTask) execution.getCurrentFlowElement();
|
|
|
|
- MultiInstanceLoopCharacteristics loopCharacteristics = serviceTask.getLoopCharacteristics();
|
|
|
|
- String receiver = execution.getVariableLocal(loopCharacteristics.getElementVariable(), String.class);
|
|
|
|
- ExpressionManager expressionManager = processEngineConfiguration.getExpressionManager();
|
|
|
|
- String subject = ProcessElementUtil.getFieldExtensionExpression(serviceTask, "subject");
|
|
|
|
- String content = ProcessElementUtil.getFieldExtensionExpression(serviceTask, "content");
|
|
|
|
- subject = ExpressionUtils.getStringFromField(expressionManager.createExpression(subject), execution);
|
|
|
|
- content = ExpressionUtils.getStringFromField(expressionManager.createExpression(content), execution);
|
|
|
|
- User user = userService.getByUsername(receiver);
|
|
|
|
- if (Objects.isNull(user)) {
|
|
|
|
- return;
|
|
|
|
- }
|
|
|
|
- log.info("发送邮件:{}", content);
|
|
|
|
- SimpleMailMessage message = new SimpleMailMessage();
|
|
|
|
- message.setFrom(this.from);
|
|
|
|
- message.setTo(user.getEmail());
|
|
|
|
- message.setSubject(subject);
|
|
|
|
- message.setText(content);
|
|
|
|
- mailSender.send(message);
|
|
|
|
- }
|
|
|
|
-}
|
|
|
|
|
|
+// package com.flow.delegate;
|
|
|
|
+//
|
|
|
|
+// import com.flow.entity.User;
|
|
|
|
+// import com.flow.flowable.utils.ProcessElementUtil;
|
|
|
|
+// import com.flow.service.UserService;
|
|
|
|
+// import lombok.extern.slf4j.Slf4j;
|
|
|
|
+// import org.flowable.bpmn.model.MultiInstanceLoopCharacteristics;
|
|
|
|
+// import org.flowable.bpmn.model.ServiceTask;
|
|
|
|
+// import org.flowable.common.engine.impl.el.ExpressionManager;
|
|
|
|
+// import org.flowable.engine.delegate.DelegateExecution;
|
|
|
|
+// import org.flowable.engine.delegate.JavaDelegate;
|
|
|
|
+// import org.flowable.engine.impl.cfg.ProcessEngineConfigurationImpl;
|
|
|
|
+// import org.flowable.http.common.impl.ExpressionUtils;
|
|
|
|
+// import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
+// import org.springframework.beans.factory.annotation.Value;
|
|
|
|
+// import org.springframework.mail.SimpleMailMessage;
|
|
|
|
+// import org.springframework.mail.javamail.JavaMailSender;
|
|
|
|
+// import org.springframework.stereotype.Component;
|
|
|
|
+//
|
|
|
|
+// import java.util.Objects;
|
|
|
|
+//
|
|
|
|
+// @Slf4j
|
|
|
|
+// @Component
|
|
|
|
+// public class MailNotifyDelegate implements JavaDelegate {
|
|
|
|
+// @Autowired
|
|
|
|
+// private UserService userService;
|
|
|
|
+// @Autowired
|
|
|
|
+// private JavaMailSender mailSender;
|
|
|
|
+// @Value("${spring.mail.username}")
|
|
|
|
+// private String from;
|
|
|
|
+// @Autowired
|
|
|
|
+// private ProcessEngineConfigurationImpl processEngineConfiguration;
|
|
|
|
+//
|
|
|
|
+// @Override
|
|
|
|
+// public void execute(DelegateExecution execution) {
|
|
|
|
+// ServiceTask serviceTask = (ServiceTask) execution.getCurrentFlowElement();
|
|
|
|
+// MultiInstanceLoopCharacteristics loopCharacteristics = serviceTask.getLoopCharacteristics();
|
|
|
|
+// String receiver = execution.getVariableLocal(loopCharacteristics.getElementVariable(), String.class);
|
|
|
|
+// ExpressionManager expressionManager = processEngineConfiguration.getExpressionManager();
|
|
|
|
+// String subject = ProcessElementUtil.getFieldExtensionExpression(serviceTask, "subject");
|
|
|
|
+// String content = ProcessElementUtil.getFieldExtensionExpression(serviceTask, "content");
|
|
|
|
+// subject = ExpressionUtils.getStringFromField(expressionManager.createExpression(subject), execution);
|
|
|
|
+// content = ExpressionUtils.getStringFromField(expressionManager.createExpression(content), execution);
|
|
|
|
+// User user = userService.getByUsername(receiver);
|
|
|
|
+// if (Objects.isNull(user)) {
|
|
|
|
+// return;
|
|
|
|
+// }
|
|
|
|
+// log.info("发送邮件:{}", content);
|
|
|
|
+// SimpleMailMessage message = new SimpleMailMessage();
|
|
|
|
+// message.setFrom(this.from);
|
|
|
|
+// message.setTo(user.getEmail());
|
|
|
|
+// message.setSubject(subject);
|
|
|
|
+// message.setText(content);
|
|
|
|
+// mailSender.send(message);
|
|
|
|
+// }
|
|
|
|
+// }
|