diff --git a/handlers/task_handler.go b/handlers/task_handler.go index c834922..62a301f 100644 --- a/handlers/task_handler.go +++ b/handlers/task_handler.go @@ -392,8 +392,9 @@ func (h *TaskHandler) DeleteTask(c *gin.Context) { // CreateExpansionTask 创建扩容任务 func (h *TaskHandler) CreateExpansionTask(c *gin.Context) { var req struct { - PanAccountID uint `json:"pan_account_id" binding:"required"` - Description string `json:"description"` + PanAccountID uint `json:"pan_account_id" binding:"required"` + Description string `json:"description"` + DataSource map[string]interface{} `json:"dataSource"` } if err := c.ShouldBindJSON(&req); err != nil { @@ -420,10 +421,14 @@ func (h *TaskHandler) CreateExpansionTask(c *gin.Context) { accountName = fmt.Sprintf("账号%d", cks.ID) } - // 构建任务配置(存储账号ID) + // 构建任务配置(存储账号ID和数据源) taskConfig := map[string]interface{}{ "pan_account_id": req.PanAccountID, } + // 如果有数据源配置,添加到taskConfig中 + if req.DataSource != nil && len(req.DataSource) > 0 { + taskConfig["data_source"] = req.DataSource + } configJSON, _ := json.Marshal(taskConfig) // 创建任务标题,包含账号名称 @@ -451,6 +456,10 @@ func (h *TaskHandler) CreateExpansionTask(c *gin.Context) { expansionInput := task.ExpansionInput{ PanAccountID: req.PanAccountID, } + // 如果有数据源配置,添加到输入数据中 + if req.DataSource != nil && len(req.DataSource) > 0 { + expansionInput.DataSource = req.DataSource + } inputJSON, _ := json.Marshal(expansionInput) diff --git a/task/expansion_processor.go b/task/expansion_processor.go index 7b81ddc..6cd62da 100644 --- a/task/expansion_processor.go +++ b/task/expansion_processor.go @@ -29,7 +29,8 @@ func (ep *ExpansionProcessor) GetTaskType() string { // ExpansionInput 扩容任务输入数据结构 type ExpansionInput struct { - PanAccountID uint `json:"pan_account_id"` + PanAccountID uint `json:"pan_account_id"` + DataSource map[string]interface{} `json:"data_source,omitempty"` } // ExpansionOutput 扩容任务输出数据结构 @@ -93,8 +94,8 @@ func (ep *ExpansionProcessor) Process(ctx context.Context, taskID uint, item *en return err } - // 执行扩容操作(这里留空,直接返回成功) - if err := ep.performExpansion(ctx, input.PanAccountID); err != nil { + // 执行扩容操作(传入数据源) + if err := ep.performExpansion(ctx, input.PanAccountID, input.DataSource); err != nil { output := ExpansionOutput{ Success: false, Message: "扩容失败", @@ -177,11 +178,11 @@ func (ep *ExpansionProcessor) checkAccountType(panAccountID uint) error { } // performExpansion 执行扩容操作 -func (ep *ExpansionProcessor) performExpansion(ctx context.Context, panAccountID uint) error { +func (ep *ExpansionProcessor) performExpansion(ctx context.Context, panAccountID uint, dataSource map[string]interface{}) error { // 扩容逻辑暂时留空,直接返回成功 // TODO: 实现具体的扩容逻辑 - utils.Info("执行扩容操作,账号ID: %d", panAccountID) + utils.Info("执行扩容操作,账号ID: %d, 数据源: %v", panAccountID, dataSource) // 模拟扩容操作延迟 // time.Sleep(2 * time.Second) diff --git a/web/components/Admin/ManualBatchTransfer.vue b/web/components/Admin/ManualBatchTransfer.vue index 105b154..1954106 100644 --- a/web/components/Admin/ManualBatchTransfer.vue +++ b/web/components/Admin/ManualBatchTransfer.vue @@ -1,112 +1,110 @@