chore: 【ops】实体类新增
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user