Files
junhong_cmp_fiber/openspec/specs/polling-status-constants/spec.md
huang d9de704d73
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 49s
归档
2026-04-14 12:14:29 +08:00

45 lines
1.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 轮询触发日志状态常量规范
## ADDED Requirements
### Requirement: 轮询手动触发日志状态常量
系统应在 `pkg/constants/polling.go` 中定义轮询手动触发日志的四种状态常量,避免硬编码字符串。
**常量定义**
- `PollingManualTriggerStatusPending = "pending"`
- `PollingManualTriggerStatusProcessing = "processing"`
- `PollingManualTriggerStatusCompleted = "completed"`
- `PollingManualTriggerStatusCancelled = "cancelled"`
#### Scenario: 轮询触发日志记录使用常量
- **WHEN** 系统记录轮询手动触发日志(插入、更新状态)
- **THEN** 系统使用 `constants.PollingManualTriggerStatusPending` 等常量,而不是直接写字符串 `"pending"`
#### Scenario: 轮询触发日志查询使用常量
- **WHEN** 系统查询轮询日志(按状态筛选、状态转移判断等)
- **THEN** 系统使用常量进行比较,而不是硬编码 `status == "pending"`
#### Scenario: 常量修改时自动重构
- **WHEN** 业务要求修改某个状态值(如 `"pending"``"awaiting"`
- **THEN** 开发者修改 `pkg/constants/polling.go` 中的常量定义
- **THEN** IDE 自动检测所有使用该常量的代码,支持一键重构替换
- **THEN** 无需手动搜索和替换散落在各文件中的硬编码字符串
### Requirement: 轮询触发日志字段描述
轮询手动触发日志模型(`tb_polling_manual_trigger_log`)应包含 `status` 字段,并在 DTO 中加入 `status_name` 文字字段。
#### Scenario: 查询轮询触发日志返回状态文本
- **WHEN** API 返回轮询手动触发日志列表(`GET /api/admin/polling/manual-triggers`
- **THEN** 响应中的 `status` 字段int对应状态常量值
- **THEN** 响应中的 `status_name` 字段string显示该状态的中文描述
- `"pending"``"待处理"`
- `"processing"``"处理中"`
- `"completed"``"已完成"`
- `"cancelled"``"已取消"`