All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 6m33s
**变更说明**: - 删除所有 *_test.go 文件(单元测试、集成测试、验收测试、流程测试) - 删除整个 tests/ 目录 - 更新 CLAUDE.md:用"测试禁令"章节替换所有测试要求 - 删除测试生成 Skill (openspec-generate-acceptance-tests) - 删除测试生成命令 (opsx:gen-tests) - 更新 tasks.md:删除所有测试相关任务 **新规范**: - ❌ 禁止编写任何形式的自动化测试 - ❌ 禁止创建 *_test.go 文件 - ❌ 禁止在任务中包含测试相关工作 - ✅ 仅当用户明确要求时才编写测试 **原因**: 业务系统的正确性通过人工验证和生产环境监控保证,测试代码维护成本高于价值。 Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
48 lines
1.5 KiB
Go
48 lines
1.5 KiB
Go
package admin
|
||
|
||
import (
|
||
"strconv"
|
||
|
||
"github.com/gofiber/fiber/v2"
|
||
|
||
packageService "github.com/break/junhong_cmp_fiber/internal/service/package"
|
||
"github.com/break/junhong_cmp_fiber/pkg/errors"
|
||
"github.com/break/junhong_cmp_fiber/pkg/response"
|
||
)
|
||
|
||
// PackageUsageHandler 套餐使用记录 Handler
|
||
type PackageUsageHandler struct {
|
||
dailyRecordService *packageService.DailyRecordService
|
||
}
|
||
|
||
// NewPackageUsageHandler 创建套餐使用记录 Handler
|
||
func NewPackageUsageHandler(dailyRecordService *packageService.DailyRecordService) *PackageUsageHandler {
|
||
return &PackageUsageHandler{
|
||
dailyRecordService: dailyRecordService,
|
||
}
|
||
}
|
||
|
||
// GetDailyRecords 任务 16.2-16.5: 获取套餐流量详单
|
||
// GET /api/admin/package-usage/:id/daily-records
|
||
// 查询参数:start_date(开始日期,格式 YYYY-MM-DD), end_date(结束日期,格式 YYYY-MM-DD)
|
||
func (h *PackageUsageHandler) GetDailyRecords(c *fiber.Ctx) error {
|
||
// 解析套餐使用记录 ID
|
||
id, err := strconv.ParseUint(c.Params("id"), 10, 64)
|
||
if err != nil {
|
||
return errors.New(errors.CodeInvalidParam, "无效的套餐使用记录 ID")
|
||
}
|
||
|
||
// 任务 16.3: 解析日期范围查询参数
|
||
startDate := c.Query("start_date", "")
|
||
endDate := c.Query("end_date", "")
|
||
|
||
// 任务 16.4: 调用 DailyRecordService.GetDailyRecords 获取日记录
|
||
records, err := h.dailyRecordService.GetDailyRecords(c.UserContext(), uint(id), startDate, endDate)
|
||
if err != nil {
|
||
return err
|
||
}
|
||
|
||
// 任务 16.5: 返回 PackageUsageDetailResponse 响应
|
||
return response.Success(c, records)
|
||
}
|