liuxiulin 1 개월 전
부모
커밋
d16a31e0ae

+ 2 - 1
pkg/rpcs/devicemanager.go

@@ -74,7 +74,8 @@ type ReplayAlarm struct {
 type ArgsScene struct {
 	Key     string
 	SceneId string
-	TaskId  string
+	Name    string
+	Desc    string
 	Config  string
 }
 

+ 8 - 43
pkg/scene/scene.go

@@ -21,47 +21,11 @@ type GetSceneParams struct {
 }
 
 type InfoScene struct {
-	SceneId    string        `json:"scene_id"`
-	Conditions []*Conditions `json:"conditions"`
-	Actions    []*Action     `json:"actions"`
-}
-
-type Conditions struct {
-	TaskId string `json:"task_id"`
-	Times  int    `json:"times"` // 执行次数 -1 表示无限次
-	Cron   string `json:"cron"`
-
-	Key         string `json:"key"`           // redis key
-	DeviceType  string `json:"device_type"`   // 设备类型
-	DeviceId    string `json:"device_id"`     // 设备id
-	SubDeviceId string `json:"sub_device_id"` // 子设备id
-	FieldType   int    `json:"field_type"`    // 字段类型 1字符串 2数值
-	Field       string `json:"field"`         // 字段名
-	TargetValue string `json:"target_value"`  // 值
-	Operator    int    `json:"operator"`      // 比较类型  数值比较 1 >  2 >= 3 = 4 <= 5 < 6 !=
-
-	Location string `json:"location"` // 地点
-
-}
-
-type Action struct {
-	DeviceID         string                `json:"device_id"`         // 设备ID
-	SubDeviceId      string                `json:"sub_device_id"`     // 实体子设备Id,如果需要
-	ActionExecutor   string                `json:"action_executor"`   // 动作对象类型
-	ExecutorProperty *TaskExecutorProperty `json:"executor_property"` // 动作执行明细
-	PlcPubMessage    *PlcPubMessage        `json:"plc_pub_message"`   // PLC消息
-}
-
-// TaskExecutorProperty 定时任务执行动作执行参数
-type TaskExecutorProperty struct {
-	FunctionCode  string                 `json:"function_code"`
-	FunctionValue map[string]interface{} `json:"function_value"`
-	DelaySeconds  int64                  `json:"delay_seconds"`
-}
-
-type PlcPubMessage struct {
-	Topic   string `json:"topic"`
-	Payload []byte `json:"payload"`
+	Key     string `json:"key"`
+	Name    string `json:"name"`
+	Desc    string `json:"desc"`
+	SceneId string `json:"scene_id"`
+	Config  string `json:"config"`
 }
 
 type AllSceneResult struct {
@@ -70,8 +34,9 @@ type AllSceneResult struct {
 }
 type Info struct {
 	Key     string `json:"key"`
+	Name    string `json:"name"`
+	Desc    string `json:"desc"`
 	SceneId string `json:"scene_id"`
-	TaskId  string `json:"task_id"`
 	Config  string `json:"config"`
 }
 
@@ -96,7 +61,7 @@ func NewSceneManager(host string, port int) *Manager {
 }
 
 func (a *Manager) SaveScene(info *Info) error {
-	_, err := a.redisClient.DoVar("SET", info.Key, info.Config)
+	_, err := a.redisClient.DoVar("SET", info.Key, info)
 	if err != nil {
 		return err
 	}

+ 2 - 4
services/devicemanager/manager.go

@@ -1,7 +1,6 @@
 package main
 
 import (
-	"fmt"
 	"sparrow/pkg/deviceAlarm"
 	"sparrow/pkg/deviceStatus"
 	"sparrow/pkg/online"
@@ -215,12 +214,10 @@ func (dm *DeviceManager) GetAllScenesPage(args rpcs.ArgsGetAllScene, reply *rpcs
 	if err != nil {
 		return err
 	}
-	fmt.Printf("GetAllScenesPage: %v\r\n", result)
 	if len(result.Data) > 0 {
 		reply.Total = result.Total
 		reply.Result = result.Data
 	}
-	fmt.Println("1111111111111111111")
 	return nil
 }
 
@@ -239,7 +236,8 @@ func (dm *DeviceManager) SaveScene(args rpcs.ArgsScene, reply *rpcs.ReplyScene)
 	return dm.sceneManager.SaveScene(&scene.Info{
 		Key:     args.Key,
 		SceneId: args.SceneId,
-		TaskId:  args.TaskId,
+		Desc:    args.Desc,
+		Name:    args.Name,
 		Config:  args.Config,
 	})
 }

+ 0 - 15
services/knowoapi/controllers/device.go

@@ -556,18 +556,3 @@ func (a *DeviceController) GetScene() {
 		"total": total,
 	})
 }
-
-// GetScenelist 获取场景
-// GET /device/scenelist
-func (a *DeviceController) GetScenelist() {
-
-	code := a.Ctx.URLParam("code")
-	datas, err := a.Service.GetScenesList(code)
-	if err != nil {
-		responseError(a.Ctx, ErrNormal, err.Error())
-		return
-	}
-	done(a.Ctx, map[string]interface{}{
-		"list": datas,
-	})
-}

+ 0 - 15
services/knowoapi/services/device.go

@@ -64,8 +64,6 @@ type DeviceService interface {
 	SendCommand(args rpcs.ArgsSendCommand) error
 	// GetScenes 获取场景
 	GetScenes(code string, pi, ps int) ([]*scene.InfoScene, int, error)
-
-	GetScenesList(code string) ([]*scene.InfoScene, error)
 }
 
 type deviceservice struct {
@@ -423,16 +421,3 @@ func (a deviceservice) GetScenes(code string, pi, ps int) ([]*scene.InfoScene, i
 	}
 	return reply.Result, reply.Total, nil
 }
-
-// GetScenesList 获取场景
-func (a deviceservice) GetScenesList(code string) ([]*scene.InfoScene, error) {
-	var args rpcs.ArgsGetAllScene
-	args.Code = code
-	var reply rpcs.ReplyScenes
-	err := server.RPCCallByName(nil, rpcs.DeviceManagerName, "DeviceManager.GetAllScenes", args, &reply)
-	if err != nil {
-		server.Log.Errorf("设备状态数据获取失败:%v", err)
-		return nil, err
-	}
-	return reply.Result, nil
-}

+ 0 - 2
services/scene-service/internal/service/manager/device_status.go

@@ -60,8 +60,6 @@ func (d *DeviceSceneService) Add(config string) error {
 	go d.monitorTask(c)
 	fmt.Printf("保存设备状态监控任务成功:%s\n", gjson.New(c).MustToJsonString())
 	d.tasks.Set(c.SceneId, c)
-	p := d.tasks.Get(c.SceneId)
-	fmt.Printf("pppppppppppppp:%s\n", gjson.New(p).MustToJsonString())
 	return nil
 }
 

+ 3 - 0
services/scene-service/internal/service/scene.go

@@ -14,6 +14,7 @@ import (
 type SceneInfo struct {
 	Id        string `json:"id"`
 	Name      string `json:"name"`
+	Desc      string `json:"desc"`
 	Status    int    `json:"status"`
 	SceneType string `json:"scene_type"`
 	Config    string `json:"config"`
@@ -136,6 +137,8 @@ func (m *SceneService) doAction(action string) error {
 func (m *SceneService) saveSceneRedis(scene SceneInfo) error {
 	sceneArgs := rpcs.ArgsScene{
 		Key:     fmt.Sprintf("scene:%s:%s", scene.SceneType, scene.Id),
+		Name:    scene.Name,
+		Desc:    scene.Desc,
 		SceneId: scene.Id,
 		Config:  scene.Config,
 	}