chore: 【ops】实体调整

This commit is contained in:
lzh
2026-01-09 17:39:14 +08:00
parent ea3c7829e9
commit 9dd2dd35f1
3 changed files with 180 additions and 0 deletions

View File

@@ -0,0 +1,82 @@
package com.viewsh.module.ops.environment.dal.dataobject.log;
import com.baomidou.mybatisplus.annotation.TableField;
import com.viewsh.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import lombok.*;
import java.time.LocalDateTime;
import java.util.Map;
/**
* 保洁业务日志 DO
*
* @author lzh
*/
@TableName(value = "ops_order_clean_log", autoResultMap = true)
@KeySequence("ops_order_clean_log_seq")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class OpsOrderCleanLogDO extends BaseDO {
/**
* 日志ID
*/
@TableId
private Long id;
/**
* 事件发生时间
*/
private LocalDateTime eventTime;
/**
* 日志级别INFO=信息/WARN=警告/ERROR=错误)
*/
private String eventLevel;
/**
* 领域RULE=规则引擎/DISPATCH=调度/BADGE=工牌/BEACON=信标/SYSTEM=系统)
*
* 枚举 {@link com.viewsh.module.ops.enums.EventDomainEnum}
*/
private String eventDomain;
/**
* 事件类型
*/
private String eventType;
/**
* 关联工单ID
*
* 关联 {@link com.viewsh.module.ops.dal.dataobject.workorder.OpsOrderDO#getId()}
*/
private Long opsOrderId;
/**
* 区域ID
*
* 关联 {@link com.viewsh.module.ops.dal.dataobject.area.OpsBusAreaDO#getId()}
*/
private Long areaId;
/**
* 保洁员ID
*/
private Long cleanerId;
/**
* 设备ID工牌/信标)
*/
private Long deviceId;
/**
* 可读日志内容
*/
private String eventMessage;
/**
* 结构化上下文
*/
@TableField(typeHandler = JacksonTypeHandler.class)
private Map<String, Object> eventPayload;
}

View File

@@ -0,0 +1,74 @@
package com.viewsh.module.ops.environment.dal.dataobject.workorder;
import com.viewsh.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;
import java.time.LocalDateTime;
/**
* 保洁工单扩展 DO
*
* @author lzh
*/
@TableName("ops_order_clean_ext")
@KeySequence("ops_order_clean_ext_seq")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class OpsOrderCleanExtDO extends BaseDO {
/**
* 主键
*/
@TableId
private Long id;
/**
* 工单ID
*
* 关联 {@link com.viewsh.module.ops.dal.dataobject.workorder.OpsOrderDO#getId()}
*/
private Long opsOrderId;
/**
* 是否自动工单1=自动 0=手动)
*/
private Integer isAuto;
/**
* 预计作业时长(分钟)
*/
private Integer expectedDuration;
/**
* 实际到岗时间
*/
private LocalDateTime arrivedTime;
/**
* 实际完成时间
*/
private LocalDateTime completedTime;
/**
* 暂停开始时间
*/
private LocalDateTime pauseStartTime;
/**
* 暂停结束时间
*/
private LocalDateTime pauseEndTime;
/**
* 累计暂停时长(秒)
*/
private Integer totalPauseSeconds;
/**
* 保洁类型ROUTINE=日常/DEEP=深度/SPOT=点状/EMERGENCY=应急)
*/
private String cleaningType;
/**
* 难度等级1-5级
*/
private Integer difficultyLevel;
}

View File

@@ -119,4 +119,28 @@ public class OpsOrderDO extends BaseDO {
*/
private String flowInstanceId;
// ==================== 便捷方法 ====================
/**
* 获取优先级枚举
*/
public com.viewsh.module.ops.enums.PriorityEnum getPriorityEnum() {
return com.viewsh.module.ops.enums.PriorityEnum.fromPriority(this.priority);
}
/**
* 获取工单状态枚举
*/
public com.viewsh.module.ops.enums.WorkOrderStatusEnum getStatusEnum() {
return com.viewsh.module.ops.enums.WorkOrderStatusEnum.fromStatus(this.status);
}
/**
* 判断是否为紧急工单
*/
public boolean isUrgent() {
com.viewsh.module.ops.enums.PriorityEnum priorityEnum = getPriorityEnum();
return priorityEnum != null && priorityEnum.isUrgent();
}
}