Some checks failed
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Has been cancelled
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
53 lines
2.7 KiB
Go
53 lines
2.7 KiB
Go
package routes
|
||
|
||
import (
|
||
"github.com/gofiber/fiber/v2"
|
||
|
||
"github.com/break/junhong_cmp_fiber/internal/handler/admin"
|
||
"github.com/break/junhong_cmp_fiber/internal/model/dto"
|
||
"github.com/break/junhong_cmp_fiber/pkg/openapi"
|
||
)
|
||
|
||
func registerExportTaskRoutes(router fiber.Router, handler *admin.ExportTaskHandler, doc *openapi.Generator, basePath string) {
|
||
exportTasks := router.Group("/export-tasks")
|
||
groupPath := basePath + "/export-tasks"
|
||
|
||
Register(exportTasks, doc, groupPath, "POST", "", handler.Create, RouteSpec{
|
||
Summary: "创建导出任务",
|
||
Description: "创建统一导出任务,支持场景 scene=device/iot_card/order/package/agent_wallet_transaction/agent_recharge/refund/exchange/commission_record/package_traffic_alert/expiring_asset/operations_activation/operations_renewal/stop_resume_rule_dry_run/polling_pause/polling_stop_refused_alert 和格式 format=xlsx/csv。" +
|
||
"polling_pause 的 query.filters 同 GET /card-polling-pauses(asset_type、carrier_id、source、status、identifier、operator_id、start_time、end_time);polling_stop_refused_alert 的 query.filters 为 carrier_id、status、iccid、start_time、end_time;两者仅超级管理员与平台账号可导出。device、iot_card 场景支持 enable_polling 筛选,导出最后一列为「是否轮询」。" +
|
||
"受影响场景的时间筛选固定为 query.filters.start_time 与 query.filters.end_time,取值必须为带显式时区的 RFC3339 秒级时间,创建时规范化为 UTC 秒级字符串后冻结。",
|
||
Tags: []string{"导出任务"},
|
||
Input: new(dto.CreateExportTaskRequest),
|
||
Output: new(dto.CreateExportTaskResponse),
|
||
Auth: true,
|
||
})
|
||
|
||
Register(exportTasks, doc, groupPath, "GET", "", handler.List, RouteSpec{
|
||
Summary: "导出任务列表",
|
||
Description: "支持按 scene/status/time 过滤,分页默认 20,最大 100。",
|
||
Tags: []string{"导出任务"},
|
||
Input: new(dto.ListExportTaskRequest),
|
||
Output: new(dto.ListExportTaskResponse),
|
||
Auth: true,
|
||
})
|
||
|
||
Register(exportTasks, doc, groupPath, "GET", "/:id", handler.GetByID, RouteSpec{
|
||
Summary: "导出任务详情",
|
||
Description: "已完成任务返回 download_url,链接固定有效期 24 小时。",
|
||
Tags: []string{"导出任务"},
|
||
Input: new(dto.GetExportTaskRequest),
|
||
Output: new(dto.ExportTaskDetailResponse),
|
||
Auth: true,
|
||
})
|
||
|
||
Register(exportTasks, doc, groupPath, "POST", "/:id/cancel", handler.Cancel, RouteSpec{
|
||
Summary: "取消导出任务",
|
||
Description: "支持取消待处理/处理中任务;已完成/已失败/已取消任务不可取消。",
|
||
Tags: []string{"导出任务"},
|
||
Input: new(dto.CancelExportTaskRequest),
|
||
Output: new(dto.CancelExportTaskResponse),
|
||
Auth: true,
|
||
})
|
||
}
|