diff --git a/viewsh-module-ops/viewsh-module-environment-biz/src/main/java/com/viewsh/module/ops/environment/service/fsm/listener/CleanOrderStateChangeListener.java b/viewsh-module-ops/viewsh-module-environment-biz/src/main/java/com/viewsh/module/ops/environment/service/fsm/listener/CleanOrderStateChangeListener.java deleted file mode 100644 index eaf9a75..0000000 --- a/viewsh-module-ops/viewsh-module-environment-biz/src/main/java/com/viewsh/module/ops/environment/service/fsm/listener/CleanOrderStateChangeListener.java +++ /dev/null @@ -1,79 +0,0 @@ -package com.viewsh.module.ops.environment.service.fsm.listener; - -import com.viewsh.module.ops.service.fsm.event.OrderStateChangedEvent; -import com.viewsh.module.ops.service.fsm.listener.OrderStateChangeListener; -import com.viewsh.module.ops.environment.service.cleanorder.CleanOrderService; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Component; - -import jakarta.annotation.Resource; - -/** - * 保洁工单状态变更监听器 - * 职责:监听工单状态变更,执行保洁特定业务逻辑 - * - * @author lzh - */ -@Slf4j -@Component -public class CleanOrderStateChangeListener implements OrderStateChangeListener { - - @Resource - private CleanOrderService cleanOrderService; - - @Override - public void onStateChanged(OrderStateChangedEvent event) { - // 只处理保洁类型的工单 - if (!"CLEAN".equals(event.getOrder().getOrderType())) { - return; - } - - log.info("保洁工单状态变更: orderId={}, {} -> {}, operatorId={}", - event.getOrder().getId(), event.getOldStatus(), event.getNewStatus(), event.getOperatorId()); - - // 根据新状态执行相应逻辑 - switch (event.getNewStatus()) { - case QUEUED: - // 入队:无需特殊处理 - break; - - case DISPATCHED: - // 已推送:推送到工牌,由业务层处理 - break; - - case CONFIRMED: - // 确认:保洁员按键确认,由业务层处理保洁员状态 - log.info("保洁工单已确认: orderId={}, cleanerId={}", - event.getOrder().getId(), event.getOperatorId()); - break; - - case ARRIVED: - // 到岗:记录到岗时间到扩展表 - cleanOrderService.recordArrivedTime(event.getOrder().getId()); - break; - - case PAUSED: - // 暂停:已在CleanOrderService.pauseCleanOrder()中处理 - break; - - case COMPLETED: - // 完成:计算作业时长,更新扩展表 - cleanOrderService.calculateDuration(event.getOrder().getId()); - - // 触发自动推送下一个任务 - if (event.getOperatorId() != null) { - cleanOrderService.autoDispatchNextOrder(event.getOrder().getId(), event.getOperatorId()); - } - break; - - case CANCELLED: - // 取消:清理相关状态 - break; - - default: - // 其他状态无需特殊处理 - break; - } - } - -} diff --git a/viewsh-module-ops/viewsh-module-ops-biz/src/main/java/com/viewsh/module/ops/service/fsm/event/OrderStateChangedEvent.java b/viewsh-module-ops/viewsh-module-ops-biz/src/main/java/com/viewsh/module/ops/service/fsm/event/OrderStateChangedEvent.java deleted file mode 100644 index f04cc14..0000000 --- a/viewsh-module-ops/viewsh-module-ops-biz/src/main/java/com/viewsh/module/ops/service/fsm/event/OrderStateChangedEvent.java +++ /dev/null @@ -1,55 +0,0 @@ -package com.viewsh.module.ops.service.fsm.event; - -import com.viewsh.module.ops.dal.dataobject.workorder.OpsOrderDO; -import com.viewsh.module.ops.enums.OperatorTypeEnum; -import com.viewsh.module.ops.enums.WorkOrderStatusEnum; -import lombok.Builder; -import lombok.Data; - -import java.time.LocalDateTime; - -/** - * 工单状态变更事件 - * - * @author lzh - */ -@Data -@Builder -public class OrderStateChangedEvent { - - /** - * 工单对象 - */ - private OpsOrderDO order; - - /** - * 原状态 - */ - private WorkOrderStatusEnum oldStatus; - - /** - * 新状态 - */ - private WorkOrderStatusEnum newStatus; - - /** - * 操作人类型 - */ - private OperatorTypeEnum operatorType; - - /** - * 操作人ID - */ - private Long operatorId; - - /** - * 事件时间 - */ - private LocalDateTime eventTime; - - /** - * 说明 - */ - private String remark; - -} diff --git a/viewsh-module-ops/viewsh-module-ops-biz/src/main/java/com/viewsh/module/ops/service/fsm/listener/OrderStateChangeListener.java b/viewsh-module-ops/viewsh-module-ops-biz/src/main/java/com/viewsh/module/ops/service/fsm/listener/OrderStateChangeListener.java deleted file mode 100644 index 9263ba5..0000000 --- a/viewsh-module-ops/viewsh-module-ops-biz/src/main/java/com/viewsh/module/ops/service/fsm/listener/OrderStateChangeListener.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.viewsh.module.ops.service.fsm.listener; - -import com.viewsh.module.ops.service.fsm.event.OrderStateChangedEvent; - -/** - * 工单状态变更监听器接口 - * 用于扩展业务逻辑,各业务线可注册自己的监听器 - * - * 使用示例: - *
- * @Component
- * public class CleanOrderStateChangeListener implements OrderStateChangeListener {
- * @Override
- * public void onStateChanged(OrderStateChangedEvent event) {
- * // 处理保洁工单状态变更
- * if ("CLEAN".equals(event.getOrder().getOrderType())) {
- * // 自定义逻辑
- * }
- * }
- * }
- *
- *
- * @author lzh
- */
-public interface OrderStateChangeListener {
-
- /**
- * 状态变更时触发
- *
- * @param event 状态变更事件
- */
- void onStateChanged(OrderStateChangedEvent event);
-
-}