chore: 【ops】删除状态机监听器
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
}
|
||||
@@ -1,34 +0,0 @@
|
||||
package com.viewsh.module.ops.service.fsm.listener;
|
||||
|
||||
import com.viewsh.module.ops.service.fsm.event.OrderStateChangedEvent;
|
||||
|
||||
/**
|
||||
* 工单状态变更监听器接口
|
||||
* 用于扩展业务逻辑,各业务线可注册自己的监听器
|
||||
*
|
||||
* 使用示例:
|
||||
* <pre>
|
||||
* @Component
|
||||
* public class CleanOrderStateChangeListener implements OrderStateChangeListener {
|
||||
* @Override
|
||||
* public void onStateChanged(OrderStateChangedEvent event) {
|
||||
* // 处理保洁工单状态变更
|
||||
* if ("CLEAN".equals(event.getOrder().getOrderType())) {
|
||||
* // 自定义逻辑
|
||||
* }
|
||||
* }
|
||||
* }
|
||||
* </pre>
|
||||
*
|
||||
* @author lzh
|
||||
*/
|
||||
public interface OrderStateChangeListener {
|
||||
|
||||
/**
|
||||
* 状态变更时触发
|
||||
*
|
||||
* @param event 状态变更事件
|
||||
*/
|
||||
void onStateChanged(OrderStateChangedEvent event);
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user