98 lines
2.8 KiB
Go
98 lines
2.8 KiB
Go
package controller
|
|
|
|
import (
|
|
dto "assets/model/dto/sync"
|
|
service "assets/service/sync"
|
|
"context"
|
|
|
|
"gitea.redpowerfuture.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)
|
|
}
|