chore: 【ops】删除状态机监听器

This commit is contained in:
lzh
2026-01-08 15:00:35 +08:00
parent b225df4392
commit bdb2eb0856
3 changed files with 0 additions and 168 deletions

View File

@@ -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;
}
}
}

View File

@@ -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;
}

View File

@@ -1,34 +0,0 @@
package com.viewsh.module.ops.service.fsm.listener;
import com.viewsh.module.ops.service.fsm.event.OrderStateChangedEvent;
/**
* 工单状态变更监听器接口
* 用于扩展业务逻辑,各业务线可注册自己的监听器
*
* 使用示例:
* <pre>
* &#64;Component
* public class CleanOrderStateChangeListener implements OrderStateChangeListener {
* &#64;Override
* public void onStateChanged(OrderStateChangedEvent event) {
* // 处理保洁工单状态变更
* if ("CLEAN".equals(event.getOrder().getOrderType())) {
* // 自定义逻辑
* }
* }
* }
* </pre>
*
* @author lzh
*/
public interface OrderStateChangeListener {
/**
* 状态变更时触发
*
* @param event 状态变更事件
*/
void onStateChanged(OrderStateChangedEvent event);
}