FlowEventHolder.java 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. package jnpf.flowable.model.util;
  2. import jnpf.flowable.model.task.FlowModel;
  3. import jnpf.util.JsonUtil;
  4. import java.util.ArrayList;
  5. import java.util.HashMap;
  6. import java.util.List;
  7. import java.util.Map;
  8. /**
  9. * 事件
  10. *
  11. * @author JNPF@YinMai Info. Co., Ltd
  12. * @version 5.0.x
  13. * @since 2024/8/21 15:31
  14. */
  15. public class FlowEventHolder {
  16. private static final ThreadLocal<List<EventModel>> EVENT_LIST = new ThreadLocal<>();
  17. public static void addEvent(Integer status, FlowModel flowModel, Map<String, Map<String, Object>> allData) {
  18. EventModel eventModel = new EventModel();
  19. eventModel.setStatus(status);
  20. eventModel.setFlowModel(flowModel);
  21. Map<String, Map<String, Object>> data = new HashMap<>();
  22. for (String key : allData.keySet()) {
  23. Map<String, Object> dataValue = JsonUtil.entityToMap(allData.get(key));
  24. data.put(key, dataValue);
  25. }
  26. eventModel.setAllData(data);
  27. List<EventModel> list = EVENT_LIST.get() != null ? EVENT_LIST.get() : new ArrayList<>();
  28. list.add(eventModel);
  29. EVENT_LIST.set(list);
  30. }
  31. public static void addOutsideEvent(EventModel eventModel, Map<String, Map<String, Object>> allData) {
  32. Map<String, Map<String, Object>> data = new HashMap<>();
  33. for (String key : allData.keySet()) {
  34. Map<String, Object> dataValue = JsonUtil.entityToMap(allData.get(key));
  35. data.put(key, dataValue);
  36. }
  37. eventModel.setAllData(data);
  38. List<EventModel> list = EVENT_LIST.get() != null ? EVENT_LIST.get() : new ArrayList<>();
  39. list.add(eventModel);
  40. EVENT_LIST.set(list);
  41. }
  42. public static List<EventModel> getAllEvent() {
  43. return EVENT_LIST.get() != null ? EVENT_LIST.get() : new ArrayList<>();
  44. }
  45. public static void clear() {
  46. EVENT_LIST.remove();
  47. }
  48. }