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