chore: 【ops】实体类新增

This commit is contained in:
lzh
2026-01-06 10:46:05 +08:00
parent 3283db6108
commit ffe5d8f778
22 changed files with 1651 additions and 0 deletions

View File

@@ -0,0 +1,150 @@
package com.viewsh.module.ops.api.queue;
import lombok.Data;
import java.time.LocalDateTime;
/**
* 工单队列 DTO
* 用于跨模块传输工单队列数据
*
* @author lzh
*/
@Data
public class OrderQueueDTO {
/**
* 队列记录ID
*/
private Long id;
/**
* 保洁员用户ID执行人员ID
*/
private Long userId;
/**
* 工单ID
*/
private Long opsOrderId;
/**
* 队列顺序1表示最高优先级
*/
private Integer queueIndex;
/**
* 优先级0=P0紧急, 1=P1重要, 2=P2普<32><E699AE>
*/
private Integer priority;
/**
* 队列分数(用于排序)
* 计算公式:优先级分数 + 时间戳
* - P0: 0 + timestamp
* - P1: 1000000 + timestamp
* - P2: 2000000 + timestamp
* - P3: 3000000 + timestamp
*
* 用于数据库层面的排序,优先级高的排在前面,同优先级按时间排序
*/
private Double queueScore;
/**
* 队列状态WAITING/EXECUTING/PAUSED/CANCELLED
*/
private String queueStatus;
/**
* 入队时间
*/
private LocalDateTime enqueueTime;
/**
* 出队时间(工单开始执行时间)
*/
private LocalDateTime dequeueTime;
/**
* 累计暂停时长(秒)
*/
private Integer pausedDuration;
/**
* 工牌设备ID
*/
private Long deviceId;
/**
* 可读日志内容
*/
private String eventMessage;
/**
* 结构化上下文JSON格式
*/
private String eventPayload;
/**
* 创建时间
*/
private LocalDateTime createTime;
/**
* 更新时间
*/
private LocalDateTime updateTime;
// ========== 兼容旧字段名的getter方法 ==========
/**
* 兼容旧代码getOrderId() 实际返回 opsOrderId
*/
public Long getOrderId() {
return opsOrderId;
}
/**
* 兼容旧代码getStatus() 实际返回 queueStatus
*/
public String getStatus() {
return queueStatus;
}
/**
* 兼容旧代码getAssigneeId() 实际返回 userId
*/
public Long getAssigneeId() {
return userId;
}
// ========== 业<><E4B89A>方法 ==========
/**
* 判断是否为紧急任务P0
*/
public boolean isUrgent() {
return priority != null && priority == 0;
}
/**
* 判断是否可取消
*/
public boolean canCancel() {
return "WAITING".equals(queueStatus);
}
/**
* 判断是否正在执行
*/
public boolean isExecuting() {
return "EXECUTING".equals(queueStatus);
}
/**
* 判断是否已暂停
*/
public boolean isPaused() {
return "PAUSED".equals(queueStatus);
}
}