开发资产:建筑施工安全与质量管理系统
概述
在开发这个场景的过程中,我们沉淀了以下可复用的开发资产:
- Cursor Skill - 资质到期提醒规则
- PROMPT 模板 - 整改闭环跟踪逻辑生成
- 实施指南 - 如何快速复现这个场景
这些资产可以帮助快速复用这个场景的开发经验。
1. Cursor Skill:资质到期提醒规则
使用场景
当你需要开发类似的"资质/证书到期提醒"场景时,可以使用这个 Skill 让 AI 理解业务规则。
Skill 内容
markdown
# 资质到期提醒规则
## 业务场景
建筑施工、设备管理、人员管理等场景中,需要管理各种资质证书,并在到期前自动提醒。
## 核心业务规则
### 1. 资质类型定义
**资质类型:**
- 人员资质:特种作业人员证书、安全员证书等
- 设备资质:设备检测报告、使用登记证等
- 企业资质:施工资质、安全生产许可证等
### 2. 到期提醒规则
**提醒时间:**
- 提前 30 天:第一次提醒
- 提前 15 天:第二次提醒
- 提前 7 天:第三次提醒
- 到期当天:最后一次提醒
- 到期后:禁止使用/作业
**提醒方式:**
- 系统内消息
- 短信通知
- 邮件通知(可选)
### 3. 到期处理规则
**处理规则:**
```typescript
async function checkCertificateExpiry(certificateId: string): Promise<ExpiryResult> {
const certificate = await getCertificate(certificateId);
const now = new Date();
const expiryDate = certificate.expiryDate;
const daysUntilExpiry = Math.floor((expiryDate.getTime() - now.getTime()) / (1000 * 60 * 60 * 24));
// 检查是否到期
if (daysUntilExpiry < 0) {
// 已到期,禁止使用
await disableCertificate(certificateId);
return {
status: 'expired',
message: '资质已到期,禁止使用',
action: 'DISABLE'
};
}
// 检查是否需要提醒
if (daysUntilExpiry <= 30 && daysUntilExpiry > 0) {
const reminderLevel = getReminderLevel(daysUntilExpiry);
await sendReminder(certificateId, reminderLevel);
return {
status: 'expiring',
daysUntilExpiry,
reminderLevel,
message: `资质将在 ${daysUntilExpiry} 天后到期`
};
}
return {
status: 'valid',
daysUntilExpiry,
message: '资质有效'
};
}
function getReminderLevel(days: number): ReminderLevel {
if (days <= 7) return 'critical';
if (days <= 15) return 'warning';
return 'normal';
}数据模型
资质证书(Certificate)
typescript
interface Certificate {
id: string;
type: 'person' | 'equipment' | 'company';
ownerId: string; // 持有人/设备/企业ID
certificateType: string; // 证书类型
certificateNumber: string; // 证书编号
issueDate: Date; // 发证日期
expiryDate: Date; // 到期日期
status: 'valid' | 'expiring' | 'expired';
lastReminderDate?: Date; // 最后提醒日期
}开发注意事项
- 时区处理:所有日期使用统一时区
- 定时任务:需要定时任务检查到期情况
- 提醒去重:避免重复提醒
- 到期处理:到期后自动禁用相关功能
相似场景复用
这个规则可以复用到:
- 设备维保提醒:设备维保到期提醒
- 合同到期提醒:合同到期提醒
- 许可证到期提醒:各种许可证到期提醒
---
## 2. PROMPT 模板:整改闭环跟踪逻辑生成
### 使用场景
当需要快速生成类似的"整改闭环跟踪"代码时,使用这个 PROMPT 模板。
### PROMPT 模板
```text
你是一个业务逻辑开发专家。请根据以下业务规则,生成完整的整改闭环跟踪逻辑代码。
## 业务场景
[描述你的具体场景,例如:安全隐患整改闭环跟踪]
## 整改流程
[描述整改流程,例如:
1. 隐患上报,生成整改工单
2. 整改任务派发,通知责任人
3. 责任人整改,上传整改照片
4. 验收人员验收,确认整改效果
5. 验收通过,隐患关闭
6. 验收不通过,重新整改
]
## 状态流转
[描述状态流转,例如:
- 待整改 → 整改中 → 待验收 → 已关闭
- 验收不通过 → 待整改(重新开始)
]
## 输出要求
1. TypeScript 代码实现
2. 包含完整的状态流转逻辑
3. 包含通知机制
4. 包含超时处理
5. 包含单元测试用例
6. 包含注释说明
请生成代码。3. 实施指南
快速复现步骤
如果你需要在新项目中实现类似的场景,按照以下步骤:
步骤 1:需求确认(1 小时)
- [ ] 确认检查表内容和标准
- [ ] 确认隐患分级规则
- [ ] 确认整改流程
- [ ] 确认资质管理规则
步骤 2:数据库设计(30 分钟)
sql
-- 安全检查记录表
CREATE TABLE safety_inspection_records (
id VARCHAR(50) PRIMARY KEY,
project_id VARCHAR(50),
check_table_id VARCHAR(50),
inspector_id VARCHAR(50),
inspection_date DATE,
status VARCHAR(20),
created_at TIMESTAMP
);
-- 隐患记录表
CREATE TABLE hazards (
id VARCHAR(50) PRIMARY KEY,
inspection_record_id VARCHAR(50),
hazard_level VARCHAR(20),
description TEXT,
status VARCHAR(20),
created_at TIMESTAMP
);
-- 资质证书表
CREATE TABLE certificates (
id VARCHAR(50) PRIMARY KEY,
type VARCHAR(20),
owner_id VARCHAR(50),
certificate_type VARCHAR(50),
expiry_date DATE,
status VARCHAR(20),
created_at TIMESTAMP
);步骤 3:开发检查功能(3 小时)
使用上述 Cursor Skill,快速生成检查逻辑代码。
步骤 4:开发资质管理(2 小时)
使用 Cursor Skill 生成资质到期提醒逻辑。
步骤 5:集成通知(1 小时)
- 短信通知
- 系统内消息
步骤 6:测试(2 小时)
- 检查功能测试
- 资质管理测试
- 整改闭环测试
- 边界值测试
总开发时间:约 9-11 小时
下一步
查看 系统落地 → 了解这个场景在完整系统中的实现。

