feat: Implement batch team owner processing with file upload, configuration, and real-time status monitoring.
This commit is contained in:
@@ -71,25 +71,50 @@ func HandleSaveMonitorSettings(w http.ResponseWriter, r *http.Request) {
|
||||
}
|
||||
|
||||
if database.Instance == nil {
|
||||
logger.Error("保存监控设置失败: 数据库未初始化", "", "monitor")
|
||||
Error(w, http.StatusInternalServerError, "数据库未初始化")
|
||||
return
|
||||
}
|
||||
|
||||
var settings MonitorSettings
|
||||
if err := json.NewDecoder(r.Body).Decode(&settings); err != nil {
|
||||
logger.Error("保存监控设置失败: 解析请求失败 - "+err.Error(), "", "monitor")
|
||||
Error(w, http.StatusBadRequest, "解析请求失败")
|
||||
return
|
||||
}
|
||||
|
||||
logger.Info("收到保存监控设置请求: target="+strconv.Itoa(settings.Target)+
|
||||
", auto_add="+strconv.FormatBool(settings.AutoAdd)+
|
||||
", polling="+strconv.FormatBool(settings.PollingEnabled), "", "monitor")
|
||||
|
||||
// 保存到数据库
|
||||
database.Instance.SetConfig("monitor_target", strconv.Itoa(settings.Target))
|
||||
database.Instance.SetConfig("monitor_auto_add", strconv.FormatBool(settings.AutoAdd))
|
||||
database.Instance.SetConfig("monitor_min_interval", strconv.Itoa(settings.MinInterval))
|
||||
database.Instance.SetConfig("monitor_polling_enabled", strconv.FormatBool(settings.PollingEnabled))
|
||||
database.Instance.SetConfig("monitor_polling_interval", strconv.Itoa(settings.PollingInterval))
|
||||
var saveErrors []string
|
||||
if err := database.Instance.SetConfig("monitor_target", strconv.Itoa(settings.Target)); err != nil {
|
||||
saveErrors = append(saveErrors, "target: "+err.Error())
|
||||
}
|
||||
if err := database.Instance.SetConfig("monitor_auto_add", strconv.FormatBool(settings.AutoAdd)); err != nil {
|
||||
saveErrors = append(saveErrors, "auto_add: "+err.Error())
|
||||
}
|
||||
if err := database.Instance.SetConfig("monitor_min_interval", strconv.Itoa(settings.MinInterval)); err != nil {
|
||||
saveErrors = append(saveErrors, "min_interval: "+err.Error())
|
||||
}
|
||||
if err := database.Instance.SetConfig("monitor_polling_enabled", strconv.FormatBool(settings.PollingEnabled)); err != nil {
|
||||
saveErrors = append(saveErrors, "polling_enabled: "+err.Error())
|
||||
}
|
||||
if err := database.Instance.SetConfig("monitor_polling_interval", strconv.Itoa(settings.PollingInterval)); err != nil {
|
||||
saveErrors = append(saveErrors, "polling_interval: "+err.Error())
|
||||
}
|
||||
|
||||
if len(saveErrors) > 0 {
|
||||
errMsg := "保存监控设置部分失败: " + saveErrors[0]
|
||||
logger.Error(errMsg, "", "monitor")
|
||||
Error(w, http.StatusInternalServerError, errMsg)
|
||||
return
|
||||
}
|
||||
|
||||
// 输出日志
|
||||
logger.Info("监控设置已保存: target="+strconv.Itoa(settings.Target)+
|
||||
logger.Success("监控设置已保存: target="+strconv.Itoa(settings.Target)+
|
||||
", auto_add="+strconv.FormatBool(settings.AutoAdd)+
|
||||
", polling="+strconv.FormatBool(settings.PollingEnabled)+
|
||||
", interval="+strconv.Itoa(settings.PollingInterval)+"s", "", "monitor")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user