From 8324f872ef3a4d0c978a9b1d062800c6a1701c12 Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期五, 01 十二月 2023 09:58:17 +0800
Subject: [PATCH] fix

---
 api/v1/device.go |   62 ++++++++++++++++++++++---------
 1 files changed, 44 insertions(+), 18 deletions(-)

diff --git a/api/v1/device.go b/api/v1/device.go
index ab7f965..5bcb18d 100644
--- a/api/v1/device.go
+++ b/api/v1/device.go
@@ -2,8 +2,6 @@
 
 import (
 	"apsClient/conf"
-	"apsClient/constvar"
-	"apsClient/crontask"
 	"apsClient/model/request"
 	"apsClient/model/response"
 	_ "apsClient/model/response"
@@ -16,24 +14,29 @@
 
 type DeviceApi struct{}
 
-// Set
+// SetCurrentDeviceId
 // @Tags      璁惧
 // @Summary   璁剧疆褰撳墠璁惧id
 // @Produce   application/json
 // @Param     object  body    request.SetCurrentDevice true  "鏌ヨ鍙傛暟"
 // @Success   200   {object}  contextx.Response{}  "鎴愬姛"
-// @Router    /v1/device/set [post]
-func (slf *DeviceApi) Set(c *gin.Context) {
+// @Router    /v1/device/setCurrentDeviceId [post]
+func (slf *DeviceApi) SetCurrentDeviceId(c *gin.Context) {
 	var params request.SetCurrentDevice
 	ctx, ok := contextx.NewContext(c, &params)
 	if !ok {
 		return
 	}
-	if params.CurrentDeviceID != "" {
+	if params.CurrentDeviceID == "" {
 		ctx.Fail(ecode.ParamsErr)
 		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 {
@@ -45,37 +48,60 @@
 		return
 	}
 	service.SetDeviceIDToFile(params.CurrentDeviceID)
-	conf.Conf.SerfClusterStatus = params.CurrentDeviceID
-	err = crontask.RestartTask(conf.Conf.SerfClusterStatus != constvar.SerfClusterStatusSlave)
-	if err != nil {
-		logx.Errorf("restart task failed:%v", err)
-		ctx.Fail(ecode.UnknownErr)
+	conf.Conf.CurrentDeviceID = params.CurrentDeviceID
+	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()
 }
 
 // DeviceList
-// @Tags      Device
+// @Tags      璁惧
 // @Summary   鑾峰彇褰撳墠闈㈡澘缁戝畾鐨勮澶囧垪琛�
 // @Produce   application/json
 // @Success   200   {object}  contextx.Response{data=response.DeviceListResponse}  "鎴愬姛"
-// @Router    /v1/device/list [post]
+// @Router    /v1/device/list [get]
 func (slf *DeviceApi) DeviceList(c *gin.Context) {
 	ctx, ok := contextx.NewContext(c, nil)
 	if !ok {
 		return
 	}
-	list, err := service.GetDeviceIDList()
+	list, err := service.GetDeviceList()
 	if err != nil {
 		ctx.Fail(ecode.DBErr)
 		return
 	}
 	resp := response.DeviceListResponse{
-		SystemDeviceID:  conf.Conf.System.DeviceId,
-		CurrentDeviceID: conf.Conf.CurrentDeviceID,
-		DeviceIDList:    list,
+		SystemDeviceID:       conf.Conf.System.DeviceId,
+		CurrentDeviceID:      conf.Conf.CurrentDeviceID,
+		DeviceList:           list,
+		SystemDeviceStatus:   response.SystemDeviceStatusNormal,
+		ClusterStatus:        conf.Conf.SerfClusterStatus,
+		ClusterNodeQuantity:  conf.Conf.ClusterNodeQuantity,
+		SystemDeviceRunSince: conf.Conf.SystemDeviceRunSince,
 	}
 	ctx.OkWithDetailed(resp)
 }

--
Gitblit v1.8.0