From 5421b8af862890dcf187c2ad5ece55423959ba85 Mon Sep 17 00:00:00 2001
From: liu <2021943741@qq.com>
Date: 星期五, 23 十月 2026 19:27:14 +0800
Subject: [PATCH] feat(bpm): 全部业务审批流改回 BPM,审批统一进入协同办公
---
yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/service/refund/listener/CrmRefundStatusListener.java | 46 ++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 46 insertions(+), 0 deletions(-)
diff --git a/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/service/refund/listener/CrmRefundStatusListener.java b/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/service/refund/listener/CrmRefundStatusListener.java
new file mode 100644
index 0000000..c599c87
--- /dev/null
+++ b/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/service/refund/listener/CrmRefundStatusListener.java
@@ -0,0 +1,46 @@
+package cn.iocoder.yudao.module.crm.service.refund.listener;
+
+import cn.iocoder.yudao.module.bpm.api.event.BpmProcessInstanceStatusEvent;
+import cn.iocoder.yudao.module.bpm.api.event.BpmProcessInstanceStatusEventListener;
+import cn.iocoder.yudao.module.crm.service.refund.CrmRefundService;
+import jakarta.annotation.Resource;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+
+/**
+ * CRM 閫�璐瑰崟瀹℃壒鐘舵�佺洃鍚櫒
+ *
+ * 鐩戝惉 BPM 瀹℃壒缁撴灉锛屽洖鍐欓��璐瑰崟瀹℃牳鐘舵�侊紝浣块��璐瑰鎵圭粺涓�鍦ㄣ�屽崗鍚屽姙鍏� - 鎴戠殑娴佺▼銆嶄腑娴佽浆銆�
+ */
+@Component
+@Slf4j
+public class CrmRefundStatusListener extends BpmProcessInstanceStatusEventListener {
+
+ private static final String PROCESS_DEFINITION_KEY = "refund_approve";
+
+ @Resource
+ private CrmRefundService refundService;
+
+ @Override
+ protected String getProcessDefinitionKey() {
+ return PROCESS_DEFINITION_KEY;
+ }
+
+ @Override
+ protected void onEvent(BpmProcessInstanceStatusEvent event) {
+ Long refundId;
+ try {
+ refundId = Long.parseLong(event.getBusinessKey());
+ } catch (NumberFormatException e) {
+ log.warn("[onEvent] businessKey({}) 涓嶆槸鏈夋晥鐨勯��璐瑰崟缂栧彿", event.getBusinessKey());
+ return;
+ }
+ log.info("[onEvent] 鏀跺埌閫�璐瑰崟瀹℃壒浜嬩欢锛宺efundId={}, status={}", refundId, event.getStatus());
+ try {
+ refundService.updateRefundAuditStatus(refundId, event.getStatus(), event.getReason());
+ } catch (Exception e) {
+ log.error("[onEvent] 鍥炲啓閫�璐瑰崟瀹℃壒鐘舵�佸け璐ワ紝refundId={}", refundId, e);
+ }
+ }
+
+}
--
Gitblit v1.9.3