Files
assets/model/dto/sync/sync_dto.go
2026-03-18 10:18:03 +08:00

143 lines
6.2 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package dto
import (
consts "assets/consts/public"
"gitea.com/red-future/common/beans"
"github.com/gogf/gf/v2/frame/g"
"github.com/gogf/gf/v2/os/gtime"
"go.mongodb.org/mongo-driver/v2/bson"
)
// CreateSyncTaskReq 创建同步任务请求
type CreateSyncTaskReq struct {
g.Meta `path:"/createSyncTask" method:"post" tags:"同步任务" summary:"创建同步任务" dc:"创建新的同步任务"`
Platform consts.SyncPlatform `json:"platform" v:"required" dc:"同步平台"`
SyncType consts.SyncType `json:"syncType" v:"required" dc:"同步类型full全量/incremental增量"`
AssetID *bson.ObjectID `json:"assetId,omitempty" dc:"资产ID"`
AssetSKUID *bson.ObjectID `json:"assetSkuId,omitempty" dc:"资产SKU ID"`
StockID *bson.ObjectID `json:"stockId,omitempty" dc:"库存ID"`
}
// CreateSyncTaskRes 创建同步任务响应
type CreateSyncTaskRes struct {
TaskID *bson.ObjectID `json:"taskId" dc:"任务ID"`
}
// ListSyncTaskReq 同步任务列表请求
type ListSyncTaskReq struct {
g.Meta `path:"/listSyncTasks" method:"get" tags:"同步任务" summary:"获取同步任务列表" dc:"分页查询同步任务列表,支持多条件筛选"`
beans.Page
Platform consts.SyncPlatform `json:"platform,omitempty" dc:"同步平台"`
Status consts.SyncStatus `json:"status,omitempty" dc:"同步状态"`
StartTime *gtime.Time `json:"startTime,omitempty" dc:"开始时间"`
EndTime *gtime.Time `json:"endTime,omitempty" dc:"结束时间"`
}
// ListSyncTaskRes 同步任务列表响应
type ListSyncTaskRes struct {
List []*SyncTaskItem `json:"list" dc:"同步任务列表"`
Total int64 `json:"total" dc:"总数"`
}
// SyncTaskItem 同步任务项
type SyncTaskItem struct {
ID *bson.ObjectID `json:"id" dc:"任务ID"`
Platform consts.SyncPlatform `json:"platform" dc:"同步平台"`
SyncType consts.SyncType `json:"syncType" dc:"同步类型"`
Status consts.SyncStatus `json:"status" dc:"同步状态"`
AssetID *bson.ObjectID `json:"assetId,omitempty" dc:"资产ID"`
AssetSKUID *bson.ObjectID `json:"assetSkuId,omitempty" dc:"资产SKU ID"`
StockID *bson.ObjectID `json:"stockId,omitempty" dc:"库存ID"`
ErrorMessage string `json:"errorMessage,omitempty" dc:"错误信息"`
ErrorCount int `json:"errorCount" dc:"错误次数"`
CreatedAt *gtime.Time `json:"createdAt" dc:"创建时间"`
StartedAt *gtime.Time `json:"startedAt,omitempty" dc:"开始时间"`
FinishedAt *gtime.Time `json:"finishedAt,omitempty" dc:"完成时间"`
}
// GetSyncTaskReq 获取同步任务详情请求
type GetSyncTaskReq struct {
g.Meta `path:"/getSyncTask" method:"get" tags:"同步任务" summary:"获取同步任务详情" dc:"获取同步任务详情"`
ID *bson.ObjectID `json:"id" v:"required" dc:"任务ID"`
}
// GetSyncTaskRes 获取同步任务详情响应
type GetSyncTaskRes struct {
SyncTaskItem
}
// UpdateSyncTaskStatusReq 更新同步任务状态请求
type UpdateSyncTaskStatusReq struct {
g.Meta `path:"/updateSyncTaskStatus" method:"put" tags:"同步任务" summary:"更新同步任务状态" dc:"更新同步任务状态"`
ID *bson.ObjectID `json:"id" v:"required" dc:"任务ID"`
Status consts.SyncStatus `json:"status" v:"required" dc:"同步状态"`
ErrorMessage string `json:"errorMessage,omitempty" dc:"错误信息"`
}
// SyncAssetReq 同步资产请求
type SyncAssetReq struct {
g.Meta `path:"/syncAsset" method:"post" tags:"资产同步" summary:"同步资产" dc:"同步资产到指定平台"`
Platform consts.SyncPlatform `json:"platform" v:"required" dc:"同步平台"`
AssetID *bson.ObjectID `json:"assetId" v:"required" dc:"资产ID"`
}
// SyncAssetRes 同步资产响应
type SyncAssetRes struct {
TaskID *bson.ObjectID `json:"taskId" dc:"任务ID"`
}
// SyncAssetSkuReq 同步资产SKU请求
type SyncAssetSkuReq struct {
g.Meta `path:"/syncAssetSku" method:"post" tags:"SKU同步" summary:"同步资产SKU" dc:"同步资产SKU到指定平台"`
Platform consts.SyncPlatform `json:"platform" v:"required" dc:"同步平台"`
AssetSKUID *bson.ObjectID `json:"assetSkuId" v:"required" dc:"资产SKU ID"`
}
// SyncAssetSkuRes 同步资产SKU响应
type SyncAssetSkuRes struct {
TaskID *bson.ObjectID `json:"taskId" dc:"任务ID"`
}
// SyncStockReq 同步库存请求
type SyncStockReq struct {
g.Meta `path:"/syncStock" method:"post" tags:"库存同步" summary:"同步库存" dc:"同步库存到指定平台"`
Platform consts.SyncPlatform `json:"platform" v:"required" dc:"同步平台"`
StockID *bson.ObjectID `json:"stockId" v:"required" dc:"库存ID"`
}
// SyncStockRes 同步库存响应
type SyncStockRes struct {
TaskID *bson.ObjectID `json:"taskId" dc:"任务ID"`
}
// BatchSyncAssetsReq 批量同步资产请求
type BatchSyncAssetsReq struct {
g.Meta `path:"/batchSyncAssets" method:"post" tags:"批量同步" summary:"批量同步资产" dc:"批量同步资产到指定平台"`
Platform consts.SyncPlatform `json:"platform" v:"required" dc:"同步平台"`
AssetIDs []*bson.ObjectID `json:"assetIds" v:"required" dc:"资产ID列表"`
}
// BatchSyncAssetsRes 批量同步资产响应
type BatchSyncAssetsRes struct {
TaskIDs []*bson.ObjectID `json:"taskIds" dc:"任务ID列表"`
}
// GetPlatformSyncStatusReq 获取平台同步状态请求
type GetPlatformSyncStatusReq struct {
g.Meta `path:"/getPlatformSyncStatus" method:"get" tags:"平台状态" summary:"获取平台同步状态" dc:"获取指定平台的同步状态"`
Platform consts.SyncPlatform `json:"platform" v:"required" dc:"同步平台"`
}
// GetPlatformSyncStatusRes 获取平台同步状态响应
type GetPlatformSyncStatusRes struct {
Platform consts.SyncPlatform `json:"platform" dc:"同步平台"`
IsEnabled bool `json:"isEnabled" dc:"是否启用"`
LastSyncTime *gtime.Time `json:"lastSyncTime,omitempty" dc:"最后同步时间"`
NextSyncTime *gtime.Time `json:"nextSyncTime,omitempty" dc:"下次同步时间"`
SyncCount int64 `json:"syncCount" dc:"同步次数"`
SuccessCount int64 `json:"successCount" dc:"成功次数"`
FailedCount int64 `json:"failedCount" dc:"失败次数"`
}