package dto import ( consts "assets/consts/public" "gitea.redpowerfuture.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:"失败次数"` }