chore: 【ops】状态机配置

This commit is contained in:
lzh
2026-01-09 17:42:08 +08:00
parent baa8d6e60c
commit 47cbf6f1cc

View File

@@ -1,17 +1,29 @@
package com.viewsh.module.ops.config;
import com.viewsh.module.ops.service.fsm.OrderStateMachine;
import com.viewsh.module.ops.service.fsm.listener.OrderStateChangeListener;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Bean;
import java.util.List;
/**
* 工单状态机配置
* 职责:自动注册所有状态监听器
* <p>
* 变更说明:
* - 移除了监听器注册机制
* - 改为使用事件驱动架构
* - 业务方通过 @EventListener 订阅事件
* <p>
* 使用示例:
* <pre>
* &#64;Component
* public class CleanOrderEventHandler {
* &#64;EventListener
* public void onStateChanged(OrderStateChangedEvent event) {
* // 处理保洁工单状态变更
* if ("CLEAN".equals(event.getOrderType())) {
* // ...
* }
* }
* }
* </pre>
*
* @author lzh
*/
@@ -19,20 +31,8 @@ import java.util.List;
@Configuration
public class OrderStateMachineConfig {
@Resource
private OrderStateMachine orderStateMachine;
/**
* 注册所有状态监听器
* 使用 Bean 定义的方式Spring 会自动收集所有 OrderStateChangeListener 类型的 Bean
*/
@Bean
public Boolean registerStateChangeListeners(List<OrderStateChangeListener> listeners) {
if (listeners != null && !listeners.isEmpty()) {
listeners.forEach(orderStateMachine::registerListener);
log.info("工单状态机监听器注册完成,共{}个监听器", listeners.size());
}
return true;
public OrderStateMachineConfig() {
log.info("工单状态机已配置,使用事件驱动架构");
}
}