Files
LabelChange-server/.trae/specs/time_timestamp_conversion/tasks.md
2026-06-01 16:30:29 +08:00

99 lines
3.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.

# 时间戳转换 - The Implementation Plan (Decomposed and Prioritized Task List)
## [ ] Task 1: 创建时间戳转换辅助工具类
- **Priority**: P0
- **Depends On**: None
- **Description**:
- 创建一个静态辅助类提供DateTime与long时间戳之间的双向转换方法
- 支持null值处理
- 确保使用UTC时区
- **Acceptance Criteria Addressed**: AC-5
- **Test Requirements**:
- `programmatic` TR-1.1: 验证DateTime转换为long时间戳正确
- `programmatic` TR-1.2: 验证long时间戳转换为DateTime正确
- `programmatic` TR-1.3: 验证null值处理正确
- **Notes**: 参考ArrivalHandoverFormService.cs中的现有实现
## [ ] Task 2: 修改出库交接单控制器 - 创建接口
- **Priority**: P0
- **Depends On**: Task 1
- **Description**:
- 修改CreateShippingHandoverForm方法将DeliveryTime参数从DateTime?改为long?
- 使用辅助类转换参数后再赋值给实体
- **Acceptance Criteria Addressed**: AC-1
- **Test Requirements**:
- `programmatic` TR-2.1: 验证创建接口接受long?类型参数
- `programmatic` TR-2.2: 验证时间戳正确转换并存储
## [ ] Task 3: 修改出库交接单控制器 - 确认接口
- **Priority**: P0
- **Depends On**: Task 1
- **Description**:
- 修改ConfirmShippingHandoverForm方法将deliveryTime参数从DateTime?改为long?
- 使用辅助类转换参数
- **Acceptance Criteria Addressed**: AC-2
- **Test Requirements**:
- `programmatic` TR-3.1: 验证确认接口接受long?类型参数
## [ ] Task 4: 修改出库交接单控制器 - 列表查询接口
- **Priority**: P0
- **Depends On**: Task 1
- **Description**:
- 修改GetShippingHandoverForms方法将startDeliveryTime和endDeliveryTime参数从DateTime?改为long?
- 使用辅助类转换参数
- **Acceptance Criteria Addressed**: AC-3
- **Test Requirements**:
- `programmatic` TR-4.1: 验证列表查询接口接受long?类型参数
## [ ] Task 5: 修改出库交接单控制器 - 更新接口
- **Priority**: P0
- **Depends On**: Task 1
- **Description**:
- 修改UpdateShippingHandoverForm方法将DeliveryTime参数从DateTime?改为long?
- 使用辅助类转换参数
- **Acceptance Criteria Addressed**: AC-1
- **Test Requirements**:
- `programmatic` TR-5.1: 验证更新接口接受long?类型参数
## [ ] Task 6: 修改返回实体的时间字段转换逻辑
- **Priority**: P0
- **Depends On**: Task 1
- **Description**:
- 修改所有返回实体数据的接口,不直接返回实体对象
- 创建匿名对象或DTO将DateTime字段转换为long?时间戳
- 涉及的实体ShippingHandoverFormEntity, BagTagEntity, ArrivalHandoverFormEntity
- **Acceptance Criteria Addressed**: AC-4
- **Test Requirements**:
- `programmatic` TR-6.1: 验证返回的时间字段是long?类型
- `programmatic` TR-6.2: 验证时间戳值正确
## [ ] Task 7: 检查并修改到货交接单控制器
- **Priority**: P1
- **Depends On**: Task 1
- **Description**:
- 检查ArrivalHandoverFormController中的所有时间参数
- 确保所有时间参数和返回值都使用long?类型时间戳
- **Acceptance Criteria Addressed**: AC-1, AC-4
- **Test Requirements**:
- `programmatic` TR-7.1: 验证到货交接单接口时间参数正确
## [ ] Task 8: 检查并修改袋牌相关接口
- **Priority**: P1
- **Depends On**: Task 1
- **Description**:
- 检查袋牌相关控制器中的时间字段
- 确保返回的BagTagEntity中的时间字段转换为long?时间戳
- **Acceptance Criteria Addressed**: AC-4
- **Test Requirements**:
- `programmatic` TR-8.1: 验证袋牌接口时间字段正确
## [ ] Task 9: 验证文档与代码一致性
- **Priority**: P1
- **Depends On**: Task 2-8
- **Description**:
- 对比接口文档与实际代码实现
- 确保所有接口都符合文档要求
- **Acceptance Criteria Addressed**: 所有AC
- **Test Requirements**:
- `human-judgement` TR-9.1: 人工检查文档与代码一致性