From 9dd2dd35f1e5959df08726f1afe942d65859bbd5 Mon Sep 17 00:00:00 2001 From: lzh Date: Fri, 9 Jan 2026 17:39:14 +0800 Subject: [PATCH] =?UTF-8?q?chore:=20=E3=80=90ops=E3=80=91=E5=AE=9E?= =?UTF-8?q?=E4=BD=93=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dataobject/log/OpsOrderCleanLogDO.java | 82 +++++++++++++++++++ .../workorder/OpsOrderCleanExtDO.java | 74 +++++++++++++++++ .../dal/dataobject/workorder/OpsOrderDO.java | 24 ++++++ 3 files changed, 180 insertions(+) create mode 100644 viewsh-module-ops/viewsh-module-environment-biz/src/main/java/com/viewsh/module/ops/environment/dal/dataobject/log/OpsOrderCleanLogDO.java create mode 100644 viewsh-module-ops/viewsh-module-environment-biz/src/main/java/com/viewsh/module/ops/environment/dal/dataobject/workorder/OpsOrderCleanExtDO.java diff --git a/viewsh-module-ops/viewsh-module-environment-biz/src/main/java/com/viewsh/module/ops/environment/dal/dataobject/log/OpsOrderCleanLogDO.java b/viewsh-module-ops/viewsh-module-environment-biz/src/main/java/com/viewsh/module/ops/environment/dal/dataobject/log/OpsOrderCleanLogDO.java new file mode 100644 index 0000000..3a9744f --- /dev/null +++ b/viewsh-module-ops/viewsh-module-environment-biz/src/main/java/com/viewsh/module/ops/environment/dal/dataobject/log/OpsOrderCleanLogDO.java @@ -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 eventPayload; + +} diff --git a/viewsh-module-ops/viewsh-module-environment-biz/src/main/java/com/viewsh/module/ops/environment/dal/dataobject/workorder/OpsOrderCleanExtDO.java b/viewsh-module-ops/viewsh-module-environment-biz/src/main/java/com/viewsh/module/ops/environment/dal/dataobject/workorder/OpsOrderCleanExtDO.java new file mode 100644 index 0000000..c68f12f --- /dev/null +++ b/viewsh-module-ops/viewsh-module-environment-biz/src/main/java/com/viewsh/module/ops/environment/dal/dataobject/workorder/OpsOrderCleanExtDO.java @@ -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; + +} diff --git a/viewsh-module-ops/viewsh-module-ops-biz/src/main/java/com/viewsh/module/ops/dal/dataobject/workorder/OpsOrderDO.java b/viewsh-module-ops/viewsh-module-ops-biz/src/main/java/com/viewsh/module/ops/dal/dataobject/workorder/OpsOrderDO.java index 5090533..dd38169 100644 --- a/viewsh-module-ops/viewsh-module-ops-biz/src/main/java/com/viewsh/module/ops/dal/dataobject/workorder/OpsOrderDO.java +++ b/viewsh-module-ops/viewsh-module-ops-biz/src/main/java/com/viewsh/module/ops/dal/dataobject/workorder/OpsOrderDO.java @@ -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(); + } + }