Files
assets/controller/sync/sync_controller.go

98 lines
2.7 KiB
Go
Raw Permalink Normal View History

2026-03-18 10:18:03 +08:00
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)
}