scene

package
v1.9.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 9, 2022 License: Apache-2.0 Imports: 18 Imported by: 0

Documentation

Overview

Package scene 设备场景

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CheckControlPermission

func CheckControlPermission(c *gin.Context, sceneID int, userID int) (controlPermission bool, err error)

func CheckSceneTasks

func CheckSceneTasks(c *gin.Context, task entity.SceneTask) (err error)

CheckSceneTasks 执行任务校验

func CreateScene

func CreateScene(c *gin.Context)

CreateScene 用于处理创建场景接口的请求

func DeleteScene

func DeleteScene(c *gin.Context)

DeleteScene 用于处理删除场景接口的请求

func ExecuteScene

func ExecuteScene(c *gin.Context)

ExecuteScene 用于处理场景执行接口的请求

func InfoScene

func InfoScene(c *gin.Context)

InfoScene 用于处理场景详情接口的请求

func InitSceneRouter

func InitSceneRouter(r gin.IRouter)

InitSceneRouter 注册与场景相关的路由及其处理函数

func ListScene

func ListScene(c *gin.Context)

ListScene 用于处理场景列表接口的请求

func ListSceneTaskLog

func ListSceneTaskLog(c *gin.Context)

ListSceneTaskLog 用于处理场景日志接口的请求

func UpdateScene

func UpdateScene(c *gin.Context)

UpdateScene 用于处理修改场景接口的请求

func WrapCondition

func WrapCondition(ctx *gin.Context, sceneID, userID int) (sceneCondition sceneCondition, canControlDevice bool, err error)

func WrapDeviceItem

func WrapDeviceItem(item *Item, req *http.Request) (err error)

func WrapResponse

func WrapResponse(c *gin.Context, scene entity.Scene, resp *InfoSceneResp) (err error)

func WrapScenes

func WrapScenes(c *gin.Context, scenes []entity.Scene, userID int, listType listType) (manualScenes []manualSceneInfo, autoRunScenes []autoRunSceneInfo, err error)

Types

type ConditionInfo

type ConditionInfo struct {
	entity.ConditionInfo
	DeviceInfo `json:"device_info"`
}

ConditionInfo 场景触发条件信息

func WrapConditionInfo

func WrapConditionInfo(c *gin.Context, condition entity.SceneCondition) (conditionInfo ConditionInfo, err error)

type ControlSceneInfo

type ControlSceneInfo struct {
	Name   string      `json:"name"`
	Status sceneStatus `json:"status"`
}

ControlSceneInfo 执行任务类型为场景时,任务场景信息

type CreateSceneReq

type CreateSceneReq struct {
	SceneInfo
}

CreateSceneReq 创建场景接口请求参数

type DateLogInfo

type DateLogInfo struct {
	Date              string             `json:"date"`
	SceneTaskLogInfos []SceneTaskLogInfo `json:"items"`
}

DateLogInfo 某月的场景日志

func LogInfosGroupByDate

func LogInfosGroupByDate(taskLogs []entity.TaskLog) (logInfos []DateLogInfo, err error)

type DeviceInfo

type DeviceInfo struct {
	Name           string       `json:"name"`
	LocationName   string       `json:"location_name,omitempty"`
	DepartmentName string       `json:"department_name,omitempty"`
	LogoURL        string       `json:"logo_url"`
	Status         deviceStatus `json:"status"`
}

DeviceInfo 执行任务类型为设备时,任务设备信息

func WrapDeviceInfo

func WrapDeviceInfo(deviceID int, req *http.Request, c *gin.Context) (deviceInfo DeviceInfo, err error)

type ExecuteSceneReq

type ExecuteSceneReq struct {
	IsExecute bool `json:"is_execute"`
}

ExecuteSceneReq 场景执行接口请求参数

type InfoSceneResp

type InfoSceneResp struct {
	entity.Scene
	CreateTime      int64           `json:"create_time"`
	EffectStartTime int64           `json:"effect_start_time"`
	EffectEndTime   int64           `json:"effect_end_time"`
	SceneConditions []ConditionInfo `json:"scene_conditions"`
	SceneTasks      []SceneTaskInfo `json:"scene_tasks"`
	AreaIDStr       string          `json:"area_id"`
}

InfoSceneResp 场景详情接口返回数据

type Item

type Item struct {
	ID      int             `json:"-"`
	Type    entity.TaskType `json:"type"`
	LogoURL string          `json:"logo_url"`
	Status  int             `json:"status"`
	// contains filtered or unexported fields
}

Item 场景执行任务信息

func WrapItem

func WrapItem(c *gin.Context, task entity.SceneTask) (item Item, err error)

func WrapItems

func WrapItems(c *gin.Context, sceneID int) (items []Item, err error)

type ListSceneTaskLogResp

type ListSceneTaskLogResp []DateLogInfo

ListSceneTaskLogResp 场景日志接口返回数据

type ListSceneTaskReq

type ListSceneTaskReq struct {
	Start int `form:"start"`
	Size  int `form:"size"`
}

ListSceneTaskReq 场景日志接口请求参数

type Scene

type Scene struct {
	ID                int    `json:"id"`
	Name              string `json:"name"`
	ControlPermission bool   `json:"control_permission"`
}

Scene 场景基础信息

type SceneInfo

type SceneInfo struct {
	entity.Scene
	SceneConditions []entity.ConditionInfo `json:"scene_conditions"`
	CreateTime      int64                  `json:"create_time"`
	EffectStartTime int64                  `json:"effect_start_time"`
	EffectEndTime   int64                  `json:"effect_end_time"`
}

SceneInfo 新场景的配置信息

type SceneTaskInfo

type SceneTaskInfo struct {
	entity.SceneTask
	ControlSceneInfo ControlSceneInfo `json:"control_scene_info"`
	DeviceInfo       `json:"device_info"`
}

SceneTaskInfo 场景执行任务信息

func WrapTaskInfo

func WrapTaskInfo(c *gin.Context, task entity.SceneTask) (taskInfo SceneTaskInfo, err error)

type SceneTaskLogInfo

type SceneTaskLogInfo struct {
	Name       string                `json:"name"`
	Type       entity.TaskType       `json:"type"`
	Result     entity.TaskResultType `json:"result"`
	FinishedAt int64                 `json:"finished_at"`
	Items      []TaskLogItem         `json:"items"`
}

SceneTaskLogInfo 场景日志信息

type TaskLogItem

type TaskLogItem struct {
	Name           string                `json:"name"`
	Type           entity.TaskType       `json:"type"`
	LocationName   string                `json:"location_name,omitempty"`
	DepartmentName string                `json:"department_name,omitempty"`
	Result         entity.TaskResultType `json:"result"`
}

TaskLogItem 场景执行任务信息

func WrapLogItems

func WrapLogItems(taskLog entity.TaskLog) (taskItems []TaskLogItem)

type UpdateSceneReq

type UpdateSceneReq struct {
	DelConditionIds []int `json:"del_condition_ids"`
	DelTaskIds      []int `json:"del_task_ids"`
	CreateSceneReq
}

UpdateSceneReq 修改场景接口请求参数

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL