package controller import ( dto "assets/model/dto/sync" service "assets/service/sync" "context" "gitea.com/red-future/common/beans" ) type syncController struct{} // Sync 同步控制器 var Sync = new(syncController) // CreateSyncTask 创建同步任务 func (c *syncController) CreateSyncTask(ctx context.Context, req *dto.CreateSyncTaskReq) (res *dto.CreateSyncTaskRes, err error) { taskID, err := service.Sync.CreateSyncTask(ctx, req) if err != nil { return nil, err } return &dto.CreateSyncTaskRes{ TaskID: taskID, }, nil } // ListSyncTasks 获取同步任务列表 func (c *syncController) ListSyncTasks(ctx context.Context, req *dto.ListSyncTaskReq) (res *dto.ListSyncTaskRes, err error) { list, total, err := service.Sync.ListSyncTasks(ctx, req) if err != nil { return nil, err } return &dto.ListSyncTaskRes{ List: list, Total: total, }, nil } // GetSyncTask 获取同步任务详情 func (c *syncController) GetSyncTask(ctx context.Context, req *dto.GetSyncTaskReq) (res *dto.GetSyncTaskRes, err error) { return service.Sync.GetSyncTask(ctx, req.ID) } // UpdateSyncTaskStatus 更新同步任务状态 func (c *syncController) UpdateSyncTaskStatus(ctx context.Context, req *dto.UpdateSyncTaskStatusReq) (res *beans.ResponseEmpty, err error) { err = service.Sync.UpdateSyncTaskStatus(ctx, req) return } // SyncAsset 同步资产 func (c *syncController) SyncAsset(ctx context.Context, req *dto.SyncAssetReq) (res *dto.SyncAssetRes, err error) { taskID, err := service.Sync.SyncAsset(ctx, req) if err != nil { return nil, err } return &dto.SyncAssetRes{ TaskID: taskID, }, nil } // SyncAssetSku 同步资产SKU func (c *syncController) SyncAssetSku(ctx context.Context, req *dto.SyncAssetSkuReq) (res *dto.SyncAssetSkuRes, err error) { taskID, err := service.Sync.SyncAssetSku(ctx, req) if err != nil { return nil, err } return &dto.SyncAssetSkuRes{ TaskID: taskID, }, nil } // SyncStock 同步库存 func (c *syncController) SyncStock(ctx context.Context, req *dto.SyncStockReq) (res *dto.SyncStockRes, err error) { taskID, err := service.Sync.SyncStock(ctx, req) if err != nil { return nil, err } return &dto.SyncStockRes{ TaskID: taskID, }, nil } // BatchSyncAssets 批量同步资产 func (c *syncController) BatchSyncAssets(ctx context.Context, req *dto.BatchSyncAssetsReq) (res *dto.BatchSyncAssetsRes, err error) { taskIDs, err := service.Sync.BatchSyncAssets(ctx, req) if err != nil { return nil, err } return &dto.BatchSyncAssetsRes{ TaskIDs: taskIDs, }, nil } // GetPlatformSyncStatus 获取平台同步状态 func (c *syncController) GetPlatformSyncStatus(ctx context.Context, req *dto.GetPlatformSyncStatusReq) (res *dto.GetPlatformSyncStatusRes, err error) { return service.Sync.GetPlatformSyncStatus(ctx, req) }