开发资产:水利工程巡检管理系统
概述
在开发这个场景的过程中,我们沉淀了以下可复用的开发资产:
- Cursor Skill - 自动化数据采集与异常预警规则
- PROMPT 模板 - 维护计划自动生成逻辑
- 实施指南 - 如何快速复现这个场景
这些资产可以帮助快速复用这个场景的开发经验。
1. Cursor Skill:自动化数据采集与异常预警规则
使用场景
当你需要开发类似的"传感器数据采集/异常预警"场景时,可以使用这个 Skill 让 AI 理解业务规则。
Skill 内容
markdown
# 自动化数据采集与异常预警规则
## 业务场景
水利工程、环境监测、设备监控等场景中,需要自动采集传感器数据,并在数据异常时自动预警。
## 核心业务规则
### 1. 数据采集规则
**采集频率:**
- 实时监测:每 5 分钟采集一次
- 定期监测:每小时采集一次
- 历史数据:每天汇总一次
**数据存储:**
- 实时数据保存 1 年
- 历史数据保存 10 年
- 异常数据永久保存
### 2. 异常预警规则
**预警判断:**
```typescript
function checkDataAbnormal(
value: number,
normalRange: { min: number; max: number },
alarmThresholds: { warning: number; critical: number }
): AlarmResult {
// 检查是否超出正常范围
if (value < normalRange.min || value > normalRange.max) {
// 检查是否达到严重阈值
if (Math.abs(value - (normalRange.min + normalRange.max) / 2) > alarmThresholds.critical) {
return {
isAbnormal: true,
alarmLevel: 'critical',
message: '数据严重异常,需要立即处理'
};
}
// 检查是否达到一般阈值
if (Math.abs(value - (normalRange.min + normalRange.max) / 2) > alarmThresholds.warning) {
return {
isAbnormal: true,
alarmLevel: 'warning',
message: '数据异常,需要关注'
};
}
}
return {
isAbnormal: false,
alarmLevel: 'normal'
};
}3. 历史数据对比
对比分析:
typescript
async function compareWithHistory(
currentValue: number,
parameterType: string,
date: Date
): Promise<ComparisonResult> {
// 获取历史同期数据
const historyData = await getHistoryData({
parameterType,
date: new Date(date.getFullYear() - 1, date.getMonth(), date.getDate())
});
// 计算平均值和标准差
const avg = historyData.reduce((sum, d) => sum + d.value, 0) / historyData.length;
const std = Math.sqrt(
historyData.reduce((sum, d) => sum + Math.pow(d.value - avg, 2), 0) / historyData.length
);
// 判断是否异常(超过2倍标准差)
const deviation = Math.abs(currentValue - avg);
const isAbnormal = deviation > 2 * std;
return {
currentValue,
historyAvg: avg,
deviation,
isAbnormal,
trend: currentValue > avg ? 'up' : 'down'
};
}数据模型
监测数据(MonitoringData)
typescript
interface MonitoringData {
parameterType: string;
parameterValue: number;
normalRange: { min: number; max: number };
isAbnormal: boolean;
alarmLevel: 'normal' | 'warning' | 'critical';
timestamp: Date;
}开发注意事项
- 数据精度:传感器数据可能有误差,需要设置合理的容差
- 数据丢失:网络不稳定时,数据需要本地缓存
- 异常处理:传感器故障、数据异常等情况需要处理
- 性能优化:大量数据采集需要优化存储和查询性能
相似场景复用
这个规则可以复用到:
- 环境监测:空气质量、水质监测
- 设备监控:工业设备、建筑设备监控
- 农业监测:土壤湿度、气象监测
---
## 2. PROMPT 模板:维护计划自动生成逻辑
### 使用场景
当需要快速生成类似的"维护计划自动生成"代码时,使用这个 PROMPT 模板。
### PROMPT 模板
```text
你是一个业务逻辑开发专家。请根据以下业务规则,生成完整的维护计划自动生成逻辑代码。
## 业务场景
[描述你的具体场景,例如:水利工程设备维护计划]
## 维护类型
[列出维护类型,例如:
- 日常维护:每月一次
- 定期维护:每季度一次
- 大修:每年一次
]
## 维护规则
[描述维护规则,例如:
- 根据设备类型和使用情况制定维护计划
- 支持按时间周期(如每月、每季度)
- 支持按使用量周期(如运行小时数)
- 维护到期自动提醒(提前7天)
]
## 输出要求
1. TypeScript 代码实现
2. 包含完整的维护计划生成逻辑
3. 包含维护到期提醒逻辑
4. 包含单元测试用例
5. 包含注释说明
请生成代码。3. 实施指南
快速复现步骤
如果你需要在新项目中实现类似的场景,按照以下步骤:
步骤 1:需求确认(1 小时)
- [ ] 确认监测参数和采集频率
- [ ] 确认异常预警阈值
- [ ] 确认维护计划和规则
- [ ] 确认硬件设备选型
步骤 2:数据库设计(30 分钟)
sql
-- 监测数据表
CREATE TABLE monitoring_data (
id VARCHAR(50) PRIMARY KEY,
project_id VARCHAR(50),
parameter_type VARCHAR(50),
parameter_value DECIMAL(10,2),
normal_min DECIMAL(10,2),
normal_max DECIMAL(10,2),
is_abnormal BOOLEAN,
alarm_level VARCHAR(20),
timestamp TIMESTAMP,
created_at TIMESTAMP
);
-- 维护计划表
CREATE TABLE maintenance_plans (
id VARCHAR(50) PRIMARY KEY,
equipment_id VARCHAR(50),
maintenance_type VARCHAR(50),
cycle_type VARCHAR(50), -- time/usage
cycle_value INT,
next_maintenance_time TIMESTAMP,
status VARCHAR(20),
created_at TIMESTAMP
);步骤 3:开发数据采集(3 小时)
使用上述 Cursor Skill,快速生成数据采集和异常预警逻辑。
步骤 4:开发维护管理(2 小时)
使用 PROMPT 模板生成维护计划自动生成逻辑。
步骤 5:集成通知(1 小时)
- 短信通知
- 电话通知(紧急情况)
- 系统内消息
步骤 6:测试(2 小时)
- 数据采集测试
- 异常预警测试
- 维护管理测试
- 边界值测试
总开发时间:约 9-11 小时
下一步
查看 系统落地 → 了解这个场景在完整系统中的实现。

