# 任务任务:统一积分与元比例 (Task List) ## 0. 预备工作 - [ ] **确认数据备份**: 提醒用户备份数据库。 - [ ] **代码同步**: 确保本地代码是最新的。 ## 1. 后端改造 (Backend) - [ ] **修改核心计算包 (`internal/pkg/points/convert.go`)** - [ ] 修改 `CentsToPoints` 为 `(cents * rate) / 100` - [ ] 修改 `PointsToCents` 为 `(points * 100) / rate` - [ ] 修改 `RefundPointsAmount` 适配新公式 - [ ] **业务逻辑适配 (`internal/service/user`)** - [ ] 检查 `points_convert.go` 中的 `CentsToPoints` 调用,确保读取配置 Key `points_exchange_rate` (或复用旧 Key 但明确含义)。 - [ ] 检查 `points_consume.go` 等文件,确保无其他硬编码。 - [ ] **单元测试** - [ ] 运行 `internal/pkg/points` 的测试,确保 100 分钱在 Rate=1 时转为 1 积分。 ## 2. 管理后台改造 (Admin Frontend) - [ ] **更新系统配置页 (`web/admin/src/views/system/configs/index.vue`)** - [ ] 新增 "积分配置" 卡片。 - [ ] 添加 `points_exchange_rate` 编辑项。 - [ ] 添加说明: "1元 = ? 积分"。 ## 3. 小程序改造 (Mini Program) - [ ] **全局搜索积分展示** - [ ] 搜索 `/ 100` 或 `* 0.01` 相关的积分代码。 - [ ] **修复工具函数** - [ ] 修改 `utils/format.js` 或类似文件中的 `formatPoints`。 - [ ] **修复页面展示** - [ ] `pages-user/points/index.vue` (积分明细) - [ ] `pages-user/orders/detail.vue` (如果有积分抵扣展示) - [ ] 其他涉及积分展示的页面。 ## 4. 数据迁移 (Migration) - [ ] **提供 SQL 脚本** - [ ] 存入 `docs/standardize_points_ratio/migration.sql`。 - [ ] **(Optional) 执行迁移** - [ ] 根据用户指示决定是否执行。 ## 5. 验证 (Verification) - [ ] **后端验证** - [ ] 重启服务。 - [ ] 模拟支付 1 元,查看数据库增加 1 积分。 - [ ] **前端验证** - [ ] 查看积分列表,显示为 1 (而不是 0.01 或 100)。