From d692f469eb10f6ab7ebe4a4d5d667672cf8d3e4c Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期五, 10 十一月 2023 17:49:07 +0800
Subject: [PATCH] fix

---
 api/v1/device.go |   38 +++++++++++++++++++++++++++++++++-----
 1 files changed, 33 insertions(+), 5 deletions(-)

diff --git a/api/v1/device.go b/api/v1/device.go
index 6f16b3a..01c278f 100644
--- a/api/v1/device.go
+++ b/api/v1/device.go
@@ -10,6 +10,7 @@
 	"apsClient/pkg/contextx"
 	"apsClient/pkg/ecode"
 	"apsClient/pkg/logx"
+	"apsClient/pkg/safe"
 	"apsClient/service"
 	"github.com/gin-gonic/gin"
 )
@@ -34,6 +35,11 @@
 		return
 	}
 	list, err := service.GetDeviceIDList()
+	if err != nil {
+		logx.Errorf("SetCurrentDeviceId GetDeviceIDList err:%v", err)
+		ctx.Fail(ecode.DBErr)
+		return
+	}
 	findFlag := false
 	for _, item := range list {
 		if item == params.CurrentDeviceID {
@@ -46,13 +52,35 @@
 	}
 	service.SetDeviceIDToFile(params.CurrentDeviceID)
 	conf.Conf.CurrentDeviceID = params.CurrentDeviceID
-	err = crontask.RestartTask(conf.Conf.SerfClusterStatus != constvar.SerfClusterStatusSlave)
-	if err != nil {
-		logx.Errorf("restart task failed:%v", err)
-		ctx.Fail(ecode.UnknownErr)
+	safe.Go(func() {
+		_ = crontask.RestartTask(conf.Conf.SerfClusterStatus != constvar.SerfClusterStatusSlave)
+	})
+	ctx.Ok()
+}
+
+// Config
+// @Tags      璁惧
+// @Summary   璁剧疆璁惧涓�浜涢厤缃�
+// @Produce   application/json
+// @Param     object  body    request.DeviceConfig true  "鏌ヨ鍙傛暟"
+// @Success   200   {object}  contextx.Response{}  "鎴愬姛"
+// @Router    /v1/device/config [post]
+func (slf *DeviceApi) Config(c *gin.Context) {
+	var params request.DeviceConfig
+	ctx, ok := contextx.NewContext(c, &params)
+	if !ok {
 		return
 	}
-
+	if conf.Conf.CurrentDeviceID == "" {
+		ctx.FailWithMsg(ecode.UnknownErr, "褰撳墠璁惧涓虹┖锛岃妫�鏌�")
+		return
+	}
+	err := service.UpdateDevice(conf.Conf.CurrentDeviceID, params.NeedSetProcessParams)
+	if err != nil {
+		logx.Errorf("save device config err:%v", err)
+		ctx.Fail(ecode.DBErr)
+		return
+	}
 	ctx.Ok()
 }
 

--
Gitblit v1.8.0