开发资产:应急抢修调度
概述
在开发这个场景的过程中,我们沉淀了以下可复用的开发资产:
- Cursor Skill - 应急事件分级与智能派单规则
- PROMPT 模板 - 实时定位与状态管理逻辑生成
- 实施指南 - 如何快速复现这个场景
这些资产可以帮助快速复用这个场景的开发经验。
1. Cursor Skill:应急事件分级与智能派单规则
使用场景
当你需要开发类似的"应急调度/智能派单"场景时,可以使用这个 Skill 让 AI 理解业务规则。
Skill 内容
markdown
# 应急事件分级与智能派单规则
## 业务场景
应急抢修、紧急调度等场景中,需要根据事件紧急程度快速派单,并考虑多个维度选择最合适的执行人员。
## 核心业务规则
### 1. 事件分级规则
**分级标准:**
- 一级(危急):5分钟内响应,如电梯困人、消防报警
- 二级(紧急):15分钟内响应,如水管爆裂、电路跳闸
- 三级(重要):30分钟内响应,如门禁故障
- 四级(普通):2小时内响应,如一般维修
### 2. 智能派单算法
**评分计算:**
```typescript
function calculateDispatchScore(
worker: Worker,
task: EmergencyTask
): number {
// 技能匹配度(0-100分)
const skillMatch = worker.skills.includes(task.skillType) ? 100 : 0;
// 距离得分(0-100分)
const distance = calculateDistance(worker.location, task.location);
const distanceScore = Math.max(0, 100 - (distance / 1000) * 20);
// 工作量得分(0-100分)
const workload = worker.currentTasks.length;
const maxTasks = worker.maxConcurrentTasks || 3;
const workloadScore = Math.max(0, 100 - (workload / maxTasks) * 100);
// 班次得分(0-100分)
const shiftScore = isInShift(worker, task.time) ? 100 : 0;
// 加权计算
return (
skillMatch * 0.25 +
distanceScore * 0.25 +
workloadScore * 0.15 +
shiftScore * 0.1
);
}3. 一级危急事件处理
处理规则:
- 立即广播通知所有在线师傅
- 支持抢单模式
- 2分钟内无人接单,自动升级通知主管
数据模型
应急任务(EmergencyTask)
typescript
interface EmergencyTask {
urgency: 'critical' | 'urgent' | 'important' | 'normal';
skillType: string;
location: { lat: number; lng: number };
requiredTools?: string[];
}开发注意事项
- 实时性:应急调度对实时性要求极高,需要WebSocket实时通信
- 位置更新:师傅位置需要实时更新,建议每30秒更新一次
- 超时处理:需要定时任务检查超时情况
- 广播机制:一级危急事件需要广播通知,确保及时响应
相似场景复用
这个规则可以复用到:
- 医院应急 - 手术室、ICU设备故障应急
- 工厂设备故障 - 生产线停机抢修
- 道路抢险 - 市政设施应急处理
---
## 2. PROMPT 模板:实时定位与状态管理逻辑生成
### 使用场景
当需要快速生成类似的"实时定位/状态管理"代码时,使用这个 PROMPT 模板。
### PROMPT 模板
```text
你是一个业务逻辑开发专家。请根据以下业务规则,生成完整的实时定位与状态管理逻辑代码。
## 业务场景
[描述你的具体场景,例如:应急抢修实时定位]
## 状态定义
[列出所有状态,例如:
- 在线空闲:在线,无任务
- 在线忙碌:在线,有任务
- 在线不可用:在线,但不可接单
- 离线:不在线
]
## 位置更新规则
[描述位置更新规则,例如:
- 每30秒更新一次位置
- 位置变化超过50米才更新
- 离线超过5分钟,状态自动变为离线
]
## 输出要求
1. TypeScript 代码实现
2. 包含完整的状态管理逻辑
3. 包含位置更新逻辑
4. 包含WebSocket实时通信
5. 包含单元测试用例
6. 包含注释说明
请生成代码。3. 实施指南
快速复现步骤
如果你需要在新项目中实现类似的场景,按照以下步骤:
步骤 1:需求确认(1 小时)
- [ ] 确认事件分级标准
- [ ] 确认派单规则(评分权重)
- [ ] 确认响应时间要求
- [ ] 确认师傅技能分类
步骤 2:数据库设计(30 分钟)
sql
-- 应急任务表
CREATE TABLE emergency_tasks (
id VARCHAR(50) PRIMARY KEY,
task_no VARCHAR(50) UNIQUE,
urgency VARCHAR(20),
task_type VARCHAR(50),
skill_type VARCHAR(50),
location_lat DECIMAL(10,6),
location_lng DECIMAL(10,6),
assigned_worker_id VARCHAR(50),
status VARCHAR(20),
reported_time TIMESTAMP,
created_at TIMESTAMP
);
-- 师傅信息表
CREATE TABLE workers (
id VARCHAR(50) PRIMARY KEY,
name VARCHAR(100),
skills JSON,
location_lat DECIMAL(10,6),
location_lng DECIMAL(10,6),
status VARCHAR(20),
current_tasks JSON,
created_at TIMESTAMP
);步骤 3:开发派单逻辑(3 小时)
使用上述 Cursor Skill,快速生成派单逻辑代码。
步骤 4:开发实时定位(2 小时)
使用 PROMPT 模板生成实时定位和状态管理逻辑。
步骤 5:集成通知(1 小时)
- 推送通知
- 短信通知(紧急情况)
- 电话通知(一级危急)
步骤 6:测试(2 小时)
- 派单逻辑测试
- 实时定位测试
- 应急响应测试
- 边界值测试
总开发时间:约 9-11 小时
下一步
查看 系统落地 → 了解这个场景在完整系统中的实现。

