Files

86 lines
3.1 KiB
Go

package v1
import (
"git.5iot.com/iotlcm-public/iotlcm-admin-svr/internal/service/fullsyncretry"
"github.com/gogf/gf/v2/frame/g"
)
type FullSyncRunsListReq struct {
g.Meta `path:"/fullSyncRuns" method:"get" tags:"全量同步" summary:"查询全量同步" x-check-permission:"cpm:iot:fullSyncRuns:view"`
SyncKind string `json:"syncKind"`
Limit int `json:"limit"`
}
type FullSyncRunsListRes struct {
Items []fullsyncretry.RunView `json:"items"`
Total int `json:"total"`
}
type FullSyncRunDetailReq struct {
g.Meta `path:"/fullSyncRuns/{runId}" method:"get" tags:"全量同步" summary:"查看全量同步详情" x-check-permission:"cpm:iot:fullSyncRuns:view"`
RunID string `json:"runId" v:"required"`
}
type FullSyncRunDetailRes struct {
fullsyncretry.RunView
SyncKind string `json:"syncKind"`
SyncName string `json:"syncName"`
}
type FullSyncRunFailuresReq struct {
g.Meta `path:"/fullSyncRuns/{runId}/failures" method:"get" tags:"全量同步" summary:"查看全量同步失败明细" x-check-permission:"cpm:iot:fullSyncRuns:failures"`
RunID string `json:"runId" v:"required"`
Limit int `json:"limit"`
Cursor string `json:"cursor"`
}
type FullSyncRunFailuresRes struct {
Items []fullsyncretry.Failure `json:"items"`
NextCursor string `json:"nextCursor"`
}
type FullSyncRunStartReq struct {
g.Meta `path:"/fullSyncRuns/start" method:"post" tags:"全量同步" summary:"手动启动全量同步" x-check-permission:"cpm:iot:fullSyncRuns:start"`
SyncKind string `json:"syncKind" v:"required"`
// Channels narrows the run to the listed chanKeys. Empty or omitted means a
// full sync, which is the only behaviour that existed before this field.
Channels []string `json:"channels"`
// QueryDate backfills a specific day (yyyyMMdd) instead of the default
// "yesterday". Only valid when syncKind=traffic_usage_daily; empty keeps the
// default period.
QueryDate string `json:"queryDate"`
// QueryMonth backfills a specific month (yyyyMM) instead of the default
// "previous month". Only valid when syncKind=traffic_usage_monthly; empty
// keeps the default period.
QueryMonth string `json:"queryMonth"`
}
type FullSyncRunStartRes struct {
RunID string `json:"runId"`
SyncKind string `json:"syncKind"`
Status string `json:"status"`
// ScopeChannels is the normalized channel count; 0 means a full sync.
ScopeChannels int `json:"scopeChannels"`
// QueryPeriod echoes the requested period (yyyyMMdd or yyyyMM); empty means
// the run used its default period.
QueryPeriod string `json:"queryPeriod"`
}
type FullSyncChannelOptionsReq struct {
g.Meta `path:"/fullSyncRuns/channels" method:"get" tags:"全量同步" summary:"可同步通道候选" x-check-permission:"cpm:iot:fullSyncRuns:view"`
}
type FullSyncChannelOptionsRes struct {
Items []FullSyncChannelOption `json:"items"`
}
type FullSyncChannelOption struct {
ChanKey string `json:"chanKey"`
ChanName string `json:"chanName"`
TempKey string `json:"tempKey"`
Operator int `json:"operator"`
CardCount int64 `json:"cardCount"`
SyncEnabled bool `json:"syncEnabled"`
}