package v1

import (
	"github.com/gogf/gf/v2/frame/g"
	"github.com/gogf/gf/v2/os/gtime"
)

// GetPrefetchOrderLogsReq 获取预拉取订单日志请求
type GetPrefetchOrderLogsReq struct {
	g.Meta `path:"/jd-v2/prefetch/logs" tags:"JD V2 Prefetch" method:"get" summary:"获取预拉取订单日志"`
	// 开始时间
	StartTime *gtime.Time `json:"startTime" v:"required#开始时间不能为空" description:"开始时间"`
	// 结束时间
	EndTime *gtime.Time `json:"endTime" v:"required#结束时间不能为空" description:"结束时间"`
}

// PrefetchOrderLogItem 预拉取订单日志项
type PrefetchOrderLogItem struct {
	// 请求时间戳
	Timestamp string `json:"timestamp" description:"请求时间戳"`
	// API响应数据
	ResponseData string `json:"responseData" description:"API响应原始数据"`
}

// GetPrefetchOrderLogsRes 获取预拉取订单日志响应
type GetPrefetchOrderLogsRes struct {
	// 日志列表
	Logs []PrefetchOrderLogItem `json:"logs" description:"预拉取订单日志列表"`
	// 实际查询到的最早日志时间
	ActualStartTime *gtime.Time `json:"actualStartTime" description:"实际查询到的最早日志时间"`
	// 实际查询到的最晚日志时间
	ActualEndTime *gtime.Time `json:"actualEndTime" description:"实际查询到的最晚日志时间"`
}
