feat(ops): 新增手动操作枚举与模型定义
引入统一手动动作基础设施: - ManualActionTypeEnum: 手动动作类型(创建/派单/取消/完单/升级) - OrderActionSourceEnum: 动作来源(管理后台/开放接口) - OrderAuditPayloadKeys: 审计 payload 标准化 key - OrderEventTypeEnum: 事件类型枚举值对齐状态机(DISPATCHED/QUEUED/CONFIRMED) - OperatorContext: 统一操作人上下文 - *Command: 手动动作命令模型(Dispatch/Cancel/Complete/UpgradePriority) - OrderBusinessStrategy: 条线策略接口 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
package com.viewsh.module.ops.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* 手动动作类型枚举
|
||||
* <p>
|
||||
* 标识管理员手动执行的工单操作类型,用于审计日志的 actionType 字段。
|
||||
*
|
||||
* @author lzh
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum ManualActionTypeEnum {
|
||||
|
||||
MANUAL_CREATE("MANUAL_CREATE", "手动创建"),
|
||||
MANUAL_DISPATCH("MANUAL_DISPATCH", "手动派单"),
|
||||
MANUAL_UPGRADE_PRIORITY("MANUAL_UPGRADE_PRIORITY", "手动升级优先级"),
|
||||
MANUAL_CANCEL("MANUAL_CANCEL", "手动取消"),
|
||||
MANUAL_COMPLETE("MANUAL_COMPLETE", "手动完单"),
|
||||
;
|
||||
|
||||
private final String type;
|
||||
private final String name;
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
package com.viewsh.module.ops.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* 工单动作来源枚举
|
||||
* <p>
|
||||
* 标识手动动作的发起来源渠道。
|
||||
*
|
||||
* @author lzh
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum OrderActionSourceEnum {
|
||||
|
||||
ADMIN_CONSOLE("ADMIN_CONSOLE", "管理后台"),
|
||||
OPEN_API("OPEN_API", "开放接口"),
|
||||
SYSTEM_TASK("SYSTEM_TASK", "系统定时任务"),
|
||||
;
|
||||
|
||||
private final String source;
|
||||
private final String name;
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
package com.viewsh.module.ops.enums;
|
||||
|
||||
/**
|
||||
* 工单审计 payload 键名常量
|
||||
* <p>
|
||||
* 统一 ops_business_event_log.event_payload 中的稳定键名,
|
||||
* 确保保洁/安保/工程/客服各条线写入一致的 payload 结构。
|
||||
*
|
||||
* @author lzh
|
||||
*/
|
||||
public final class OrderAuditPayloadKeys {
|
||||
|
||||
private OrderAuditPayloadKeys() {}
|
||||
|
||||
// ===== 通用字段 =====
|
||||
public static final String BUSINESS_TYPE = "businessType";
|
||||
public static final String ACTION_TYPE = "actionType";
|
||||
public static final String MANUAL = "manual";
|
||||
public static final String SOURCE = "source";
|
||||
public static final String REASON = "reason";
|
||||
|
||||
// ===== 派单相关 =====
|
||||
public static final String ASSIGNEE_ID = "assigneeId";
|
||||
public static final String ASSIGNEE_NAME = "assigneeName";
|
||||
|
||||
// ===== 优先级相关 =====
|
||||
public static final String OLD_PRIORITY = "oldPriority";
|
||||
public static final String NEW_PRIORITY = "newPriority";
|
||||
|
||||
// ===== 完单相关 =====
|
||||
public static final String RESULT = "result";
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
package com.viewsh.module.ops.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* 工单事件类型枚举
|
||||
* <p>
|
||||
* 标准化 ops_order_event.event_type 字段的值,
|
||||
* 禁止在 controller/service/listener 中散落使用裸字符串。
|
||||
*
|
||||
* @author lzh
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum OrderEventTypeEnum {
|
||||
|
||||
CREATE("CREATE", "工单创建"),
|
||||
ASSIGN("ASSIGN", "工单分配"),
|
||||
ENQUEUE("QUEUED", "任务入队"),
|
||||
DISPATCH("DISPATCHED", "任务派发"),
|
||||
ACCEPT("ACCEPT", "接单确认"),
|
||||
CONFIRM("CONFIRMED", "工单确认"),
|
||||
ARRIVE("ARRIVE", "到岗确认"),
|
||||
PAUSE("PAUSE", "工单暂停"),
|
||||
RESUME("RESUME", "恢复作业"),
|
||||
COMPLETE("COMPLETE", "工单完成"),
|
||||
CANCEL("CANCEL", "工单取消"),
|
||||
UPGRADE_PRIORITY("UPGRADE_PRIORITY", "优先级升级"),
|
||||
;
|
||||
|
||||
private final String type;
|
||||
private final String name;
|
||||
}
|
||||
Reference in New Issue
Block a user