IOTDevice

package
v5.1.34 Latest Latest
Warning

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

Go to latest
Published: Apr 27, 2024 License: Apache-2.0 Imports: 18 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	//Sort 设备组织下分类
	Sort = ClassSort.Sort{
		SortTableName: "iot_core_device_sort",
	}
	//Tag 设备组织下标签
	Tag = ClassTag.Tag{
		TagTableName: "iot_core_device_tags",
	}
	//OpenSub 是否启动订阅
	OpenSub = false
)

Functions

func CheckDeviceCode

func CheckDeviceCode(args *ArgsCheckDeviceCode) (err error)

CheckDeviceCode 检查设备ID和code是否对应

func CheckDeviceKey

func CheckDeviceKey(args *ArgsCheckDeviceKey) (err error)

CheckDeviceKey 握手设备处理机制参数

func CheckDeviceKeyAndDeviceID

func CheckDeviceKeyAndDeviceID(args *ArgsCheckDeviceKey) (deviceID int64, err error)

func CheckOperateNoData

func CheckOperateNoData(args *ArgsCheckOperate) (err error)

func CheckOperates

func CheckOperates(args *ArgsCheckOperates) (err error)

CheckOperates 检查组织是否具备一组设备

func ClearAutoLogByDevice

func ClearAutoLogByDevice(args *ArgsClearAutoLogByDevice) (err error)

ClearAutoLogByDevice 清理某个设备的所有日志

func DeleteAction

func DeleteAction(args *ArgsDeleteAction) (err error)

DeleteAction 删除动作

func DeleteAutoInfo

func DeleteAutoInfo(args *ArgsDeleteAutoInfo) (err error)

DeleteAutoInfo 删除关联

func DeleteAutoInfoTemplate

func DeleteAutoInfoTemplate(args *ArgsDeleteAutoInfoTemplate) (err error)

DeleteAutoInfoTemplate 删除模版

func DeleteAutoLog

func DeleteAutoLog(args *ArgsDeleteAutoLog) (err error)

DeleteAutoLog 删除指定日志

func DeleteDevice

func DeleteDevice(args *ArgsDeleteDevice) (err error)

DeleteDevice 删除设备

func DeleteGroup

func DeleteGroup(args *ArgsDeleteGroup) (err error)

DeleteGroup 删除分组

func DeleteOperate

func DeleteOperate(args *ArgsDeleteOperate) (err error)

DeleteOperate 删除授权

func GetActionMoreMap

func GetActionMoreMap(args *ArgsGetActionMore) (data map[int64]string, err error)

GetActionMoreMap 获取指定的一组动作名称

func GetDeviceKey

func GetDeviceKey(args *ArgsGetDeviceKey) (key string, err error)

GetDeviceKey 获取设备的key

func GetDeviceMoreMap

func GetDeviceMoreMap(args *ArgsGetDeviceMore) (data map[int64]string, err error)

func GetGroupMoreMap

func GetGroupMoreMap(args *ArgsGetGroupMore) (data map[int64]string, err error)

func Init

func Init()

func SetOperate

func SetOperate(args *ArgsSetOperate) (err error)

SetOperate 设置授权

func UpdateAction

func UpdateAction(args *ArgsUpdateAction) (err error)

UpdateAction 修改动作

func UpdateAutoInfo

func UpdateAutoInfo(args *ArgsUpdateAutoInfo) (err error)

UpdateAutoInfo 修改关联

func UpdateAutoInfoTemplate

func UpdateAutoInfoTemplate(args *ArgsUpdateAutoInfoTemplate) (err error)

UpdateAutoInfoTemplate 修改模版

func UpdateDevice

func UpdateDevice(args *ArgsUpdateDevice) (err error)

UpdateDevice 修改设备信息

func UpdateDeviceInfo

func UpdateDeviceInfo(args *ArgsUpdateDeviceInfo) (err error)

UpdateDeviceInfo 分量更新数据集合

func UpdateDeviceInfos

func UpdateDeviceInfos(args *ArgsUpdateDeviceInfos) (err error)

UpdateDeviceInfos 全量更新数据集合

func UpdateDeviceOnline

func UpdateDeviceOnline(args *ArgsUpdateDeviceOnline) (err error)

UpdateDeviceOnline 更新设备的在线状态

func UpdateGroup

func UpdateGroup(args *ArgsUpdateGroup) (err error)

UpdateGroup 修改分组

func UpdateOperateByOrg

func UpdateOperateByOrg(args *ArgsUpdateOperateByOrg) (err error)

UpdateOperateByOrg 组织修改绑定信息参数

Types

type ArgsCheckDeviceCode

type ArgsCheckDeviceCode struct {
	//所属设备
	DeviceID int64 `db:"device_id" json:"deviceID" check:"id"`
	//设备分组
	GroupMark string `db:"group_mark" json:"groupMark" check:"mark"`
	//设备编号
	// 同一个分组下,必须唯一
	Code string `db:"code" json:"code" check:"mark"`
}

ArgsCheckDeviceCode 检查设备ID和code是否对应参数

type ArgsCheckDeviceKey

type ArgsCheckDeviceKey struct {
	//设备分组
	GroupMark string `db:"group_mark" json:"groupMark" check:"mark"`
	//设备编号
	// 同一个分组下,必须唯一
	Code string `db:"code" json:"code" check:"mark"`
	//时间戳
	NowTime int64 `db:"now_time" json:"nowTime"`
	//随机码
	Rand string `db:"rand" json:"rand"`
	//key计算结果
	// key+code+时间戳+随机码
	Key string `db:"key" json:"key"`
}

ArgsCheckDeviceKey 握手设备处理机制参数

type ArgsCheckOperate

type ArgsCheckOperate struct {
	//设备ID
	DeviceID int64 `db:"device_id" json:"deviceID" check:"id"`
	//组织ID
	OrgID int64 `db:"org_id" json:"orgID" check:"id"`
}

ArgsCheckOperate 检查组织是否具备设备参数

type ArgsCheckOperates

type ArgsCheckOperates struct {
	//设备IDs
	DeviceIDs pq.Int64Array `db:"device_ids" json:"deviceIDs" check:"ids"`
	//组织ID
	OrgID int64 `db:"org_id" json:"orgID" check:"id"`
}

ArgsCheckOperates 检查组织是否具备一组设备参数

type ArgsClearAutoLogByDevice

type ArgsClearAutoLogByDevice struct {
	//设备ID
	DeviceID int64 `db:"device_id" json:"deviceID" check:"id"`
	//组织ID
	OrgID int64 `db:"org_id" json:"orgID" check:"id" empty:"true"`
}

ArgsClearAutoLogByDevice 清理某个设备的所有日志参数

type ArgsCreateAction

type ArgsCreateAction struct {
	//标识码
	Mark string `db:"mark" json:"mark" check:"mark"`
	//名称
	Name string `db:"name" json:"name" check:"name"`
	//描述
	Des string `db:"des" json:"des" check:"des" min:"1" max:"1000" empty:"true"`
	//动作对应任务的默认过期时间
	ExpireTime int64 `db:"expire_time" json:"expireTime" check:"int64Than0"`
	//连接方式
	// mqtt_client 与设备直接连接,用于标准物联网设计
	// mqtt_group 设备分组与设备进行mqtt广播,可用于app通告方法等
	// none 交给业务模块进行处理,任务终端不做任何广播处理
	// 本系统默认支持的是mqtt,tcp建议采用微服务跨应用或组件方式构建,以避免系统级阻塞
	ConnectType string `db:"connect_type" json:"connectType" check:"mark"`
	//扩展参数
	Configs CoreSQLConfig.FieldsConfigsType `db:"configs" json:"configs"`
}

ArgsCreateAction 添加新的动作参数

type ArgsCreateAutoInfo

type ArgsCreateAutoInfo struct {
	//组织ID
	OrgID int64 `db:"org_id" json:"orgID" check:"id"`
	//触发设备ID
	DeviceID int64 `db:"device_id" json:"deviceID" check:"id"`
	//采用模版
	// 如果存在模版ID,自定义触发条件将无效
	TemplateID int64 `db:"template_id" json:"templateID" check:"id" empty:"true"`
	//触发条件
	// 扩展参数mark
	Mark string `db:"mark" json:"mark" check:"mark" empty:"true"`
	// 等式
	// 0 等于; 1 小于; 2 大于; 3 不等于
	Eq int `db:"eq" json:"eq" check:"intThan0" empty:"true"`
	//值
	Val string `db:"val" json:"val"`
	//冷却时间
	WaitTime int64 `db:"wait_time" json:"waitTime" check:"int64Than0"`
	//反馈设备ID
	// 如果没有指定反馈设备ID,将该记录自动归档到log表中,方便外部模块查询
	ReportDeviceID int64 `db:"report_device_id" json:"reportDeviceID" check:"id" empty:"true"`
	//发送任务指令
	// 留空则发送触发条件的数据包
	SendAction string `db:"send_action" json:"sendAction" check:"mark" empty:"true"`
	//发送参数
	ParamsData []byte `db:"params_data" json:"paramsData"`
}

ArgsCreateAutoInfo 创建新的关联参数

type ArgsCreateAutoInfoTemplate

type ArgsCreateAutoInfoTemplate struct {
	//名称
	Name string `db:"name" json:"name" check:"name"`
	//冷却时间
	WaitTime int64 `db:"wait_time" json:"waitTime" check:"int64Than0"`
	//触发条件
	// 扩展参数mark
	Mark string `db:"mark" json:"mark" check:"mark"`
	// 等式
	// 0 等于; 1 小于; 2 大于; 3 不等于
	Eq int `db:"eq" json:"eq" check:"intThan0" empty:"true"`
	//值
	Val string `db:"val" json:"val"`
	//发送任务指令
	// 留空则发送触发条件的数据包
	SendAction string `db:"send_action" json:"sendAction" check:"mark" empty:"true"`
	//发送参数
	ParamsData []byte `db:"params_data" json:"paramsData"`
}

ArgsCreateAutoInfoTemplate 创建模版参数

type ArgsCreateDevice

type ArgsCreateDevice struct {
	//状态
	// 0 public 公共可用 / 1 private 私有 / 2 ban 停用
	Status int `db:"status" json:"status" check:"intThan0" empty:"true"`
	//名称
	Name string `db:"name" json:"name" check:"name"`
	//描述
	Des string `db:"des" json:"des" check:"des" min:"1" max:"1000" empty:"true"`
	//封面列
	// 第一张作为封面
	CoverFiles pq.Int64Array `db:"cover_files" json:"coverFiles" check:"ids" empty:"true"`
	//描述信息
	DesFiles pq.Int64Array `db:"des_files" json:"desFiles" check:"ids" empty:"true"`
	//设备分组
	GroupID int64 `db:"group_id" json:"groupID" check:"id"`
	//设备编号
	// 同一个分组下,必须唯一
	Code string `db:"code" json:"code" check:"mark"`
	//连接密钥
	// 设备连接使用的唯一密钥
	// 设备需使用该key+code+时间戳+随机码混合计算,作为握手的识别码
	Key string `db:"key" json:"key"`
	//注册地
	// 如果设置将优先使用设备注册地,而不是管辖注册地
	Address string `db:"address" json:"address" check:"address" empty:"true"`
	//扩展参数
	Params CoreSQLConfig.FieldsConfigsType `db:"params" json:"params"`
}

ArgsCreateDevice 创建新的设备参数

type ArgsCreateGroup

type ArgsCreateGroup struct {
	//分区标识码
	// 全局必须唯一
	Mark string `db:"mark" json:"mark" check:"mark"`
	//名称
	Name string `db:"name" json:"name" check:"name"`
	//描述
	Des string `db:"des" json:"des" check:"des" min:"1" max:"1000" empty:"true"`
	//封面列
	// 第一张作为封面
	CoverFiles pq.Int64Array `db:"cover_files" json:"coverFiles" check:"ids" empty:"true"`
	//支持动作ID组
	Action pq.Int64Array `db:"action" json:"action" check:"ids" empty:"true"`
	//心跳超时时间
	// 超出时间没有通讯则判定掉线
	// 单位: 秒
	ExpireTime int64 `db:"expire_time" json:"expireTime" check:"int64Than0" empty:"true"`
	//设备的预计使用场景
	// 0 public 公共设备 / 1 private 私有设备
	// 如果>1 则为自定义设置,具体由设备驱动识别处理
	UseType int `db:"use_type" json:"useType" check:"intThan0" empty:"true"`
	//扩展参数
	Params CoreSQLConfig.FieldsConfigsType `db:"params" json:"params"`
}

ArgsCreateGroup 创建分组参数

type ArgsDeleteAction

type ArgsDeleteAction struct {
	//ID
	ID int64 `json:"id" check:"id"`
}

ArgsDeleteAction 删除动作参数

type ArgsDeleteAutoInfo

type ArgsDeleteAutoInfo struct {
	//ID
	ID int64 `db:"id" json:"id" check:"id"`
	//组织ID
	OrgID int64 `db:"org_id" json:"orgID" check:"id" empty:"true"`
}

ArgsDeleteAutoInfo 删除关联参数

type ArgsDeleteAutoInfoTemplate

type ArgsDeleteAutoInfoTemplate struct {
	//ID
	ID int64 `db:"id" json:"id" check:"id"`
}

ArgsDeleteAutoInfoTemplate 删除模版参数

type ArgsDeleteAutoLog

type ArgsDeleteAutoLog struct {
	//ID
	ID int64 `db:"id" json:"id" check:"id"`
	//组织ID
	OrgID int64 `db:"org_id" json:"orgID" check:"id" empty:"true"`
}

ArgsDeleteAutoLog 删除指定日志参数

type ArgsDeleteDevice

type ArgsDeleteDevice struct {
	//ID
	ID int64 `db:"id" json:"id" check:"id"`
	//组织ID
	OrgID int64 `db:"org_id" json:"orgID" check:"id" empty:"true"`
}

ArgsDeleteDevice 删除设备参数

type ArgsDeleteGroup

type ArgsDeleteGroup struct {
	//ID
	ID int64 `json:"id" check:"id"`
}

ArgsDeleteGroup 删除分组参数

type ArgsDeleteOperate

type ArgsDeleteOperate struct {
	//设备IDs
	DeviceIDs pq.Int64Array `db:"device_ids" json:"deviceIDs" check:"ids"`
	//组织ID
	OrgID int64 `db:"org_id" json:"orgID" check:"id"`
}

ArgsDeleteOperate 删除授权参数

type ArgsGetActionList

type ArgsGetActionList struct {
	//分页
	Pages CoreSQLPages.ArgsDataList `json:"pages"`
	//是否删除
	IsRemove bool `db:"is_remove" json:"isRemove" check:"bool"`
	//搜索
	Search string `json:"search" check:"search" empty:"true"`
}

ArgsGetActionList 获取动作列表参数

type ArgsGetActionMore

type ArgsGetActionMore struct {
	//ID列
	IDs pq.Int64Array `json:"ids"`
	//是否包含删除数据
	HaveRemove bool `json:"haveRemove"`
}

ArgsGetActionMore 获取指定的一组动作参数

type ArgsGetAnalysisIsOnline

type ArgsGetAnalysisIsOnline struct {
	//组织ID
	OrgID int64 `db:"org_id" json:"orgID" check:"id" empty:"true"`
	//设备分组
	GroupID int64 `db:"group_id" json:"groupID" check:"id" empty:"true"`
	//组织分类ID
	SortID int64 `db:"sort_id" json:"sortID" check:"id" empty:"true"`
	//组织标签ID组
	Tags pq.Int64Array `db:"tags" json:"tags" check:"ids" empty:"true"`
}

ArgsGetAnalysisIsOnline 获取设备在线情况参数

type ArgsGetAutoInfo

type ArgsGetAutoInfo struct {
	//ID
	ID int64 `db:"id" json:"id" check:"id"`
	//组织ID
	OrgID int64 `db:"org_id" json:"orgID" check:"id" empty:"true"`
}

ArgsGetAutoInfo 获取指定关联ID参数

type ArgsGetAutoInfoList

type ArgsGetAutoInfoList struct {
	//分页
	Pages CoreSQLPages.ArgsDataList `json:"pages"`
	//组织ID
	OrgID int64 `db:"org_id" json:"orgID" check:"id" empty:"true"`
	//触发条件
	// 扩展参数mark
	Mark string `db:"mark" json:"mark" check:"mark" empty:"true"`
	//任务动作
	SendAction string `db:"send_action" json:"sendAction" check:"mark" empty:"true"`
}

ArgsGetAutoInfoList 获取关联列表参数

type ArgsGetAutoInfoTemplate

type ArgsGetAutoInfoTemplate struct {
	//ID
	ID int64 `db:"id" json:"id" check:"id"`
}

ArgsGetAutoInfoTemplate 获取指定ID的数据参数

type ArgsGetAutoInfoTemplateList

type ArgsGetAutoInfoTemplateList struct {
	//分页
	Pages CoreSQLPages.ArgsDataList `json:"pages"`
	//触发条件
	// 扩展参数mark
	Mark string `db:"mark" json:"mark" check:"mark" empty:"true"`
	//任务动作
	SendAction string `db:"send_action" json:"sendAction" check:"mark" empty:"true"`
	//是否删除
	IsRemove bool `db:"is_remove" json:"isRemove" check:"bool"`
	//搜索
	Search string `db:"search" json:"search" check:"search" empty:"true"`
}

ArgsGetAutoInfoTemplateList 查询模版列表参数

type ArgsGetAutoLog

type ArgsGetAutoLog struct {
	//ID
	ID int64 `db:"id" json:"id" check:"id"`
	//组织ID
	OrgID int64 `db:"org_id" json:"orgID" check:"id" empty:"true"`
}

ArgsGetAutoLog 查看日志详情参数

type ArgsGetAutoLogList

type ArgsGetAutoLogList struct {
	//分页
	Pages CoreSQLPages.ArgsDataList `json:"pages"`
	//组织ID
	OrgID int64 `db:"org_id" json:"orgID" check:"id" empty:"true"`
	//设备ID
	DeviceID int64 `db:"device_id" json:"deviceID" check:"id" empty:"true"`
	//触发条件
	// 扩展参数mark
	Mark string `db:"mark" json:"mark" check:"mark" empty:"true"`
	//任务动作
	SendAction string `db:"send_action" json:"sendAction" check:"mark" empty:"true"`
}

ArgsGetAutoLogList 查询日志列表参数

type ArgsGetDeviceByCode

type ArgsGetDeviceByCode struct {
	//设备分组
	GroupMark string `db:"group_mark" json:"groupMark" check:"mark"`
	//设备编号
	// 同一个分组下,必须唯一
	Code string `db:"code" json:"code" check:"mark"`
}

ArgsGetDeviceByCode 通过分组mark和设备code查询设备参数

type ArgsGetDeviceByID

type ArgsGetDeviceByID struct {
	//ID
	ID int64 `json:"id" check:"id"`
	//组织ID
	OrgID int64 `db:"org_id" json:"orgID" check:"id" empty:"true"`
}

ArgsGetDeviceByID 获取设备ID参数

type ArgsGetDeviceGroup

type ArgsGetDeviceGroup struct {
	//设备ID
	DeviceID int64 `db:"device_id" json:"deviceID" check:"id"`
}

ArgsGetDeviceGroup 获取设备及设备组参数

type ArgsGetDeviceKey

type ArgsGetDeviceKey struct {
	//ID
	ID int64 `json:"id" check:"id"`
}

ArgsGetDeviceKey 获取设备的key参数

type ArgsGetDeviceList

type ArgsGetDeviceList struct {
	//分页
	Pages CoreSQLPages.ArgsDataList `json:"pages"`
	//组织ID
	OrgID int64 `db:"org_id" json:"orgID" check:"id" empty:"true"`
	//设备分组
	GroupID int64 `db:"group_id" json:"groupID" check:"id" empty:"true"`
	//组织分类ID
	SortID int64 `db:"sort_id" json:"sortID" check:"id" empty:"true"`
	//组织标签ID组
	Tags pq.Int64Array `db:"tags" json:"tags" check:"ids" empty:"true"`
	//是否删除
	IsRemove bool `db:"is_remove" json:"isRemove" check:"bool"`
	//搜索
	Search string `json:"search" check:"search" empty:"true"`
}

ArgsGetDeviceList 获取设备列表参数

type ArgsGetDeviceMore

type ArgsGetDeviceMore struct {
	//ID列
	IDs pq.Int64Array `json:"ids"`
	//是否包含删除数据
	HaveRemove bool `json:"haveRemove"`
}

ArgsGetDeviceMore 获取一组设备参数

type ArgsGetGroupByID

type ArgsGetGroupByID struct {
	//ID
	ID int64 `json:"id" check:"id"`
}

ArgsGetGroupByID 获取指定分组ID参数

type ArgsGetGroupByMark

type ArgsGetGroupByMark struct {
	//Mark
	Mark string `json:"mark" check:"mark"`
}

ArgsGetGroupByMark 获取指定分组Mark参数

type ArgsGetGroupList

type ArgsGetGroupList struct {
	//分页
	Pages CoreSQLPages.ArgsDataList `json:"pages"`
	//是否删除
	IsRemove bool `db:"is_remove" json:"isRemove" check:"bool"`
	//搜索
	Search string `json:"search" check:"search" empty:"true"`
}

ArgsGetGroupList 获取分组列表参数

type ArgsGetGroupMore

type ArgsGetGroupMore struct {
	//ID列
	IDs pq.Int64Array `json:"ids"`
	//是否包含删除数据
	HaveRemove bool `json:"haveRemove"`
}

ArgsGetGroupMore 获取一组分组参数

type ArgsGetOperateActionByDeviceID

type ArgsGetOperateActionByDeviceID struct {
	//设备ID
	DeviceID int64 `db:"device_id" json:"deviceID" check:"id"`
	//组织ID
	OrgID int64 `db:"org_id" json:"orgID" check:"id"`
}

ArgsGetOperateActionByDeviceID 获取设备支持的动作参数

type ArgsGetOperateAndDevice

type ArgsGetOperateAndDevice struct {
	//设备ID
	DeviceID int64 `db:"device_id" json:"deviceID" check:"id"`
}

ArgsGetOperateAndDevice 获取设备ID分组和授权组织ID参数

type ArgsGetOperateByDeviceID

type ArgsGetOperateByDeviceID struct {
	//设备ID
	DeviceID int64 `db:"device_id" json:"deviceID" check:"id"`
}

ArgsGetOperateByDeviceID 获取设备的控制人参数

type ArgsGetOperateList

type ArgsGetOperateList struct {
	//分页
	Pages CoreSQLPages.ArgsDataList `json:"pages"`
	//组织ID
	OrgID int64 `db:"org_id" json:"orgID" check:"id" empty:"true"`
	//是否删除
	IsRemove bool `db:"is_remove" json:"isRemove" check:"bool"`
	//搜索
	Search string `json:"search" check:"search" empty:"true"`
}

ArgsGetOperateList 获取授权列表参数

type ArgsOpenAutoInfo

type ArgsOpenAutoInfo struct {
	//组织ID
	// 如果留空,方法内将检索该设备控制方
	OrgID int64 `db:"org_id" json:"orgID" check:"id" empty:"true"`
	//触发设备ID
	DeviceID int64 `db:"device_id" json:"deviceID" check:"id"`
	//触发条件
	// 扩展参数mark
	Mark string `db:"mark" json:"mark" check:"mark" empty:"true"`
	//值
	Val string `db:"val" json:"val"`
}

ArgsOpenAutoInfo 触发指定的info参数

type ArgsSetOperate

type ArgsSetOperate struct {
	//授权过期时间
	ExpireAt time.Time `db:"expire_at" json:"expireAt" check:"isoTime"`
	//组织ID
	OrgID int64 `db:"org_id" json:"orgID" check:"id"`
	//权限类型
	// all 全部权限
	// read 允许查看设备信息
	// write 允许编辑设备信息
	// mission 任务下达权限
	// operate 修改授权关系
	// associated 关联设备
	Permissions pq.StringArray `db:"permissions" json:"permissions" check:"marks"`
	//允许执行的动作
	// 将根据设备组的动作查询,如果存在则允许,否则将禁止执行该类动作
	Action pq.Int64Array `db:"action" json:"action" check:"ids" empty:"true"`
	//设备ID
	DeviceID int64 `db:"device_id" json:"deviceID" check:"id"`
	//注册地
	Address string `db:"address" json:"address" check:"address" empty:"true"`
	//组织分类ID
	SortID int64 `db:"sort_id" json:"sortID" check:"id" empty:"true"`
	//组织标签ID组
	Tags pq.Int64Array `db:"tags" json:"tags" check:"ids" empty:"true"`
	//扩展参数
	Params CoreSQLConfig.FieldsConfigsType `db:"params" json:"params"`
}

ArgsSetOperate 设置授权参数

type ArgsUpdateAction

type ArgsUpdateAction struct {
	//ID
	ID int64 `json:"id" check:"id"`
	//标识码
	Mark string `db:"mark" json:"mark" check:"mark"`
	//名称
	Name string `db:"name" json:"name" check:"name"`
	//描述
	Des string `db:"des" json:"des" check:"des" min:"1" max:"1000" empty:"true"`
	//动作对应任务的默认过期时间
	ExpireTime int64 `db:"expire_time" json:"expireTime" check:"int64Than0"`
	//连接方式
	// mqtt_client 与设备直接连接,用于标准物联网设计
	// mqtt_group 设备分组与设备进行mqtt广播,可用于app通告方法等
	// none 交给业务模块进行处理,任务终端不做任何广播处理
	// 本系统默认支持的是mqtt,tcp建议采用微服务跨应用或组件方式构建,以避免系统级阻塞
	ConnectType string `db:"connect_type" json:"connectType" check:"mark"`
	//扩展参数
	Configs CoreSQLConfig.FieldsConfigsType `db:"configs" json:"configs"`
}

ArgsUpdateAction 修改动作参数

type ArgsUpdateAutoInfo

type ArgsUpdateAutoInfo struct {
	//ID
	ID int64 `db:"id" json:"id" check:"id"`
	//组织ID
	OrgID int64 `db:"org_id" json:"orgID" check:"id" empty:"true"`
	//触发条件
	// 扩展参数mark
	Mark string `db:"mark" json:"mark" check:"mark" empty:"true"`
	// 等式
	// 0 等于; 1 小于; 2 大于; 3 不等于
	Eq int `db:"eq" json:"eq" check:"intThan0" empty:"true"`
	//值
	Val string `db:"val" json:"val"`
	//冷却时间
	WaitTime int64 `db:"wait_time" json:"waitTime" check:"int64Than0"`
	//反馈设备ID
	// 如果没有指定反馈设备ID,将该记录自动归档到log表中,方便外部模块查询
	ReportDeviceID int64 `db:"report_device_id" json:"reportDeviceID" check:"id" empty:"true"`
	//发送任务指令
	// 留空则发送触发条件的数据包
	SendAction string `db:"send_action" json:"sendAction" check:"mark" empty:"true"`
	//发送参数
	ParamsData []byte `db:"params_data" json:"paramsData"`
}

ArgsUpdateAutoInfo 修改关联参数

type ArgsUpdateAutoInfoTemplate

type ArgsUpdateAutoInfoTemplate struct {
	//ID
	ID int64 `db:"id" json:"id" check:"id"`
	//名称
	Name string `db:"name" json:"name" check:"name"`
	//冷却时间
	WaitTime int64 `db:"wait_time" json:"waitTime" check:"int64Than0"`
	//触发条件
	// 扩展参数mark
	Mark string `db:"mark" json:"mark" check:"mark"`
	// 等式
	// 0 等于; 1 小于; 2 大于; 3 不等于
	Eq int `db:"eq" json:"eq" check:"intThan0" empty:"true"`
	//值
	Val string `db:"val" json:"val"`
	//发送任务指令
	// 留空则发送触发条件的数据包
	SendAction string `db:"send_action" json:"sendAction" check:"mark" empty:"true"`
	//发送参数
	ParamsData []byte `db:"params_data" json:"paramsData"`
}

ArgsUpdateAutoInfoTemplate 修改模版参数

type ArgsUpdateDevice

type ArgsUpdateDevice struct {
	//ID
	ID int64 `json:"id" check:"id"`
	//组织ID
	OrgID int64 `db:"org_id" json:"orgID" check:"id" empty:"true"`
	//状态
	// 0 public 公共可用 / 1 private 私有 / 2 ban 停用
	Status int `db:"status" json:"status" check:"intThan0" empty:"true"`
	//名称
	Name string `db:"name" json:"name" check:"name"`
	//描述
	Des string `db:"des" json:"des" check:"des" min:"1" max:"1000" empty:"true"`
	//封面列
	// 第一张作为封面
	CoverFiles pq.Int64Array `db:"cover_files" json:"coverFiles" check:"ids" empty:"true"`
	//描述信息
	DesFiles pq.Int64Array `db:"des_files" json:"desFiles" check:"ids" empty:"true"`
	//设备分组
	GroupID int64 `db:"group_id" json:"groupID" check:"id"`
	//设备编号
	// 同一个分组下,必须唯一
	Code string `db:"code" json:"code" check:"mark"`
	//连接密钥
	// 设备连接使用的唯一密钥
	// 设备需使用该key+code+时间戳+随机码混合计算,作为握手的识别码
	Key string `db:"key" json:"key"`
	//注册地
	// 如果设置将优先使用设备注册地,而不是管辖注册地
	Address string `db:"address" json:"address" check:"address" empty:"true"`
	//扩展参数
	Params CoreSQLConfig.FieldsConfigsType `db:"params" json:"params"`
}

ArgsUpdateDevice 修改设备信息参数

type ArgsUpdateDeviceInfo

type ArgsUpdateDeviceInfo struct {
	//ID
	ID int64 `json:"id" check:"id"`
	//扩展参数
	Params CoreSQLConfig.FieldsConfigsType `db:"params" json:"params"`
}

ArgsUpdateDeviceInfo 分量更新数据集合参数

type ArgsUpdateDeviceInfos

type ArgsUpdateDeviceInfos struct {
	//ID
	ID int64 `json:"id" check:"id"`
	//扩展参数
	Params CoreSQLConfig.FieldsConfigsType `db:"params" json:"params"`
}

ArgsUpdateDeviceInfos 全量更新数据集合参数

type ArgsUpdateDeviceOnline

type ArgsUpdateDeviceOnline struct {
	//ID
	ID int64 `db:"id" json:"id" check:"id"`
	//状态
	IsOnline bool `db:"is_online" json:"isOnline" check:"bool"`
}

ArgsUpdateDeviceOnline 更新设备的在线状态

type ArgsUpdateGroup

type ArgsUpdateGroup struct {
	//ID
	ID int64 `json:"id" check:"id"`
	//分区标识码
	// 全局必须唯一
	Mark string `db:"mark" json:"mark" check:"mark"`
	//名称
	Name string `db:"name" json:"name" check:"name"`
	//描述
	Des string `db:"des" json:"des" check:"des" min:"1" max:"1000" empty:"true"`
	//封面列
	// 第一张作为封面
	CoverFiles pq.Int64Array `db:"cover_files" json:"coverFiles" check:"ids" empty:"true"`
	//支持动作ID组
	Action pq.Int64Array `db:"action" json:"action" check:"ids" empty:"true"`
	//心跳超时时间
	// 超出时间没有通讯则判定掉线
	// 单位: 秒
	ExpireTime int64 `db:"expire_time" json:"expireTime" check:"int64Than0" empty:"true"`
	//设备的预计使用场景
	// 0 public 公共设备 / 1 private 私有设备
	// 如果>1 则为自定义设置,具体由设备驱动识别处理
	UseType int `db:"use_type" json:"useType" check:"intThan0" empty:"true"`
	//扩展参数
	Params CoreSQLConfig.FieldsConfigsType `db:"params" json:"params"`
}

ArgsUpdateGroup 修改分组参数

type ArgsUpdateOperateByOrg

type ArgsUpdateOperateByOrg struct {
	//组织ID
	OrgID int64 `db:"org_id" json:"orgID" check:"id"`
	//设备ID
	DeviceID int64 `db:"device_id" json:"deviceID" check:"id"`
	//注册地
	Address string `db:"address" json:"address" check:"address" empty:"true"`
	//组织分类ID
	SortID int64 `db:"sort_id" json:"sortID" check:"id" empty:"true"`
	//组织标签ID组
	Tags pq.Int64Array `db:"tags" json:"tags" check:"ids" empty:"true"`
}

ArgsUpdateOperateByOrg 组织修改绑定信息参数

type FieldsAction

type FieldsAction struct {
	//ID
	ID int64 `db:"id" json:"id"`
	//创建时间
	CreateAt time.Time `db:"create_at" json:"createAt"`
	//更新时间
	UpdateAt time.Time `db:"update_at" json:"updateAt"`
	//删除时间
	DeleteAt time.Time `db:"delete_at" json:"deleteAt"`
	//标识码
	Mark string `db:"mark" json:"mark"`
	//名称
	Name string `db:"name" json:"name"`
	//描述
	Des string `db:"des" json:"des"`
	//动作对应任务的默认过期时间
	ExpireTime int64 `db:"expire_time" json:"expireTime"`
	//连接方式
	// mqtt_client 与设备直接连接,用于标准物联网设计
	// mqtt_group 设备分组与设备进行mqtt广播,可用于app通告方法等
	// none 交给业务模块进行处理,任务终端不做任何广播处理
	// 本系统默认支持的是mqtt,tcp建议采用微服务跨应用或组件方式构建,以避免系统级阻塞
	ConnectType string `db:"connect_type" json:"connectType"`
	//扩展参数
	Configs CoreSQLConfig.FieldsConfigsType `db:"configs" json:"configs"`
}

FieldsAction 设备动作

func CreateAction

func CreateAction(args *ArgsCreateAction) (data FieldsAction, err error)

CreateAction 添加新的动作参数

func GetActionList

func GetActionList(args *ArgsGetActionList) (dataList []FieldsAction, dataCount int64, err error)

GetActionList 获取动作列表

func GetActionMore

func GetActionMore(args *ArgsGetActionMore) (dataList []FieldsAction, err error)

GetActionMore 获取指定的一组动作

func GetOperateActionByDeviceID

func GetOperateActionByDeviceID(args *ArgsGetOperateActionByDeviceID) (actionList []FieldsAction, err error)

GetOperateActionByDeviceID 获取设备支持的动作

type FieldsAutoInfo

type FieldsAutoInfo struct {
	//ID
	ID int64 `db:"id" json:"id"`
	//创建时间
	CreateAt time.Time `db:"create_at" json:"createAt"`
	//组织ID
	OrgID int64 `db:"org_id" json:"orgID"`
	//触发设备ID
	DeviceID int64 `db:"device_id" json:"deviceID"`
	//采用模版
	// 如果存在模版ID,自定义触发条件将无效
	TemplateID int64 `db:"template_id" json:"templateID"`
	//触发条件
	// 扩展参数mark
	Mark string `db:"mark" json:"mark"`
	// 等式
	// 0 等于; 1 小于; 2 大于; 3 不等于
	Eq int `db:"eq" json:"eq"`
	//值
	Val string `db:"val" json:"val"`
	//冷却时间
	WaitTime int64 `db:"wait_time" json:"waitTime"`
	//反馈设备ID
	// 如果没有指定反馈设备ID
	ReportDeviceID int64 `db:"report_device_id" json:"reportDeviceID"`
	//发送任务指令
	// 留空则发送触发条件的数据包
	SendAction string `db:"send_action" json:"sendAction"`
	//发送参数
	ParamsData []byte `db:"params_data" json:"paramsData"`
}

FieldsAutoInfo 设备扩展信息传递表 当设备修改某个状态值,符合条件的将自动通知对应设备

func CreateAutoInfo

func CreateAutoInfo(args *ArgsCreateAutoInfo) (data FieldsAutoInfo, err error)

CreateAutoInfo 创建新的关联

func GetAutoInfo

func GetAutoInfo(args *ArgsGetAutoInfo) (data FieldsAutoInfo, err error)

GetAutoInfo 获取指定关联ID

func GetAutoInfoList

func GetAutoInfoList(args *ArgsGetAutoInfoList) (dataList []FieldsAutoInfo, dataCount int64, err error)

GetAutoInfoList 获取关联列表

func OpenAutoInfo

func OpenAutoInfo(args *ArgsOpenAutoInfo) (reportInfoList []FieldsAutoInfo, needReport bool, err error)

OpenAutoInfo 触发指定的info

type FieldsAutoInfoTemplate

type FieldsAutoInfoTemplate struct {
	//ID
	ID int64 `db:"id" json:"id"`
	//创建时间
	CreateAt time.Time `db:"create_at" json:"createAt"`
	//更新时间
	UpdateAt time.Time `db:"update_at" json:"updateAt"`
	//删除时间
	DeleteAt time.Time `db:"delete_at" json:"deleteAt"`
	//名称
	Name string `db:"name" json:"name"`
	//冷却时间
	WaitTime int64 `db:"wait_time" json:"waitTime"`
	//触发条件
	// 扩展参数mark
	Mark string `db:"mark" json:"mark"`
	// 等式
	// 0 等于; 1 小于; 2 大于; 3 不等于
	Eq int `db:"eq" json:"eq"`
	//值
	Val string `db:"val" json:"val"`
	//发送任务指令
	// 留空则发送触发条件的数据包
	SendAction string `db:"send_action" json:"sendAction"`
	//发送参数
	ParamsData []byte `db:"params_data" json:"paramsData"`
}

FieldsAutoInfoTemplate info规则套用设计

func CreateAutoInfoTemplate

func CreateAutoInfoTemplate(args *ArgsCreateAutoInfoTemplate) (data FieldsAutoInfoTemplate, err error)

CreateAutoInfoTemplate 创建模版

func GetAutoInfoTemplate

func GetAutoInfoTemplate(args *ArgsGetAutoInfoTemplate) (data FieldsAutoInfoTemplate, err error)

GetAutoInfoTemplate 获取指定ID的数据

func GetAutoInfoTemplateList

func GetAutoInfoTemplateList(args *ArgsGetAutoInfoTemplateList) (dataList []FieldsAutoInfoTemplate, dataCount int64, err error)

GetAutoInfoTemplateList 查询模版列表

type FieldsAutoLog

type FieldsAutoLog struct {
	//ID
	ID int64 `db:"id" json:"id"`
	//创建时间
	CreateAt time.Time `db:"create_at" json:"createAt"`
	//组织ID
	OrgID int64 `db:"org_id" json:"orgID"`
	//触发设备ID
	DeviceID int64 `db:"device_id" json:"deviceID"`
	//触发信息
	InfoID int64 `db:"info_id" json:"infoID"`
	//触发条件
	// 扩展参数mark
	Mark string `db:"mark" json:"mark"`
	// 等式
	// 0 等于; 1 小于; 2 大于; 3 不等于
	Eq int `db:"eq" json:"eq"`
	//条件值
	EqVal string `db:"eq_val" json:"eqVal"`
	//值
	Val string `db:"val" json:"val"`
}

FieldsAutoLog 触发累计记录 针对外部模块,可以查询本记录表,发现设备最近1小时的触发情况 注意超出1小时将自动销毁,避免挤占空间

func GetAutoLog

func GetAutoLog(args *ArgsGetAutoLog) (data FieldsAutoLog, err error)

GetAutoLog 查看日志详情

func GetAutoLogList

func GetAutoLogList(args *ArgsGetAutoLogList) (dataList []FieldsAutoLog, dataCount int64, err error)

GetAutoLogList 查询日志列表

type FieldsDevice

type FieldsDevice struct {
	//ID
	ID int64 `db:"id" json:"id"`
	//创建时间
	CreateAt time.Time `db:"create_at" json:"createAt"`
	//更新时间
	UpdateAt time.Time `db:"update_at" json:"updateAt"`
	//删除时间
	DeleteAt time.Time `db:"delete_at" json:"deleteAt"`
	//状态
	// 0 public 公共可用 / 1 private 私有 / 2 ban 停用
	Status int `db:"status" json:"status"`
	//在线状态
	IsOnline bool `db:"is_online" json:"isOnline"`
	//最后一次通讯时间
	LastAt time.Time `db:"last_at" json:"lastAt"`
	//名称
	Name string `db:"name" json:"name"`
	//描述
	Des string `db:"des" json:"des"`
	//封面列
	// 第一张作为封面
	CoverFiles pq.Int64Array `db:"cover_files" json:"coverFiles"`
	//描述信息
	DesFiles pq.Int64Array `db:"des_files" json:"desFiles"`
	//设备分组
	GroupID int64 `db:"group_id" json:"groupID"`
	//设备编号
	// 同一个分组下,必须唯一
	Code string `db:"code" json:"code"`
	//连接密钥
	// 设备连接使用的唯一密钥
	// 设备需使用该key+code+时间戳+随机码混合计算,作为握手的识别码
	Key string `db:"key" json:"key"`
	//注册地
	// 如果设置将优先使用设备注册地,而不是管辖注册地
	Address string `db:"address" json:"address"`
	//扩展参数
	Params CoreSQLConfig.FieldsConfigsType `db:"params" json:"params"`
}

FieldsDevice 设备

func CreateDevice

func CreateDevice(args *ArgsCreateDevice) (data FieldsDevice, err error)

CreateDevice 创建新的设备

func GetDeviceByCode

func GetDeviceByCode(args *ArgsGetDeviceByCode) (data FieldsDevice, err error)

GetDeviceByCode 通过分组mark和设备code查询设备

func GetDeviceByID

func GetDeviceByID(args *ArgsGetDeviceByID) (data FieldsDevice, err error)

GetDeviceByID 获取设备ID

func GetDeviceList

func GetDeviceList(args *ArgsGetDeviceList) (dataList []FieldsDevice, dataCount int64, err error)

GetDeviceList 获取设备列表

func GetDeviceMore

func GetDeviceMore(args *ArgsGetDeviceMore) (dataList []FieldsDevice, err error)

GetDeviceMore 获取一组设备

type FieldsGroup

type FieldsGroup struct {
	//ID
	ID int64 `db:"id" json:"id"`
	//创建时间
	CreateAt time.Time `db:"create_at" json:"createAt"`
	//更新时间
	UpdateAt time.Time `db:"update_at" json:"updateAt"`
	//删除时间
	DeleteAt time.Time `db:"delete_at" json:"deleteAt"`
	//分区标识码
	// 全局必须唯一
	Mark string `db:"mark" json:"mark"`
	//名称
	Name string `db:"name" json:"name"`
	//描述
	Des string `db:"des" json:"des"`
	//封面列
	// 第一张作为封面
	CoverFiles pq.Int64Array `db:"cover_files" json:"coverFiles"`
	//支持动作ID组
	Action pq.Int64Array `db:"action" json:"action"`
	//心跳超时时间
	// 超出时间没有通讯则判定掉线
	// 单位: 秒
	ExpireTime int64 `db:"expire_time" json:"expireTime"`
	//设备的预计使用场景
	// 0 public 公共设备 / 1 private 私有设备
	// 如果>1 则为自定义设置,具体由设备驱动识别处理
	UseType int `db:"use_type" json:"useType"`
	//扩展参数
	Params CoreSQLConfig.FieldsConfigsType `db:"params" json:"params"`
}

FieldsGroup 设备分组

func CreateGroup

func CreateGroup(args *ArgsCreateGroup) (data FieldsGroup, err error)

CreateGroup 创建分组

func GetGroupByID

func GetGroupByID(args *ArgsGetGroupByID) (data FieldsGroup, err error)

GetGroupByID 获取指定分组ID

func GetGroupByMark

func GetGroupByMark(args *ArgsGetGroupByMark) (data FieldsGroup, err error)

GetGroupByMark 获取指定分组Mark

func GetGroupList

func GetGroupList(args *ArgsGetGroupList) (dataList []FieldsGroup, dataCount int64, err error)

GetGroupList 获取分组列表

func GetGroupMore

func GetGroupMore(args *ArgsGetGroupMore) (dataList []FieldsGroup, err error)

GetGroupMore 获取一组分组

type FieldsOperate

type FieldsOperate struct {
	//ID
	ID int64 `db:"id" json:"id"`
	//创建时间
	CreateAt time.Time `db:"create_at" json:"createAt"`
	//更新时间
	UpdateAt time.Time `db:"update_at" json:"updateAt"`
	//删除时间
	DeleteAt time.Time `db:"delete_at" json:"deleteAt"`
	//授权过期时间
	ExpireAt time.Time `db:"expire_at" json:"expireAt"`
	//组织ID
	OrgID int64 `db:"org_id" json:"orgID"`
	//权限类型
	// all 全部权限; read 允许查看设备信息; write 允许编辑设备信息; mission 任务下达权限; operate 修改授权关系; associated 关联设备
	Permissions pq.StringArray `db:"permissions" json:"permissions"`
	//允许执行的动作
	// 将根据设备组的动作查询,如果存在则允许,否则将禁止执行该类动作
	Action pq.Int64Array `db:"action" json:"action"`
	//设备ID
	DeviceID int64 `db:"device_id" json:"deviceID"`
	//注册地
	Address string `db:"address" json:"address"`
	//组织分类ID
	SortID int64 `db:"sort_id" json:"sortID"`
	//组织标签ID组
	Tags pq.Int64Array `db:"tags" json:"tags"`
	//扩展参数
	Params CoreSQLConfig.FieldsConfigsType `db:"params" json:"params"`
}

FieldsOperate 授权信息

func CheckOperate

func CheckOperate(args *ArgsCheckOperate) (data FieldsOperate, err error)

CheckOperate 检查组织是否具备设备 同时反馈该操作权限

func GetOperateByDeviceID

func GetOperateByDeviceID(args *ArgsGetOperateByDeviceID) (dataList []FieldsOperate, err error)

GetOperateByDeviceID 获取设备的控制人

func GetOperateList

func GetOperateList(args *ArgsGetOperateList) (dataList []FieldsOperate, dataCount int64, err error)

GetOperateList 获取授权列表参数

type GetAnalysisIsOnlineData

type GetAnalysisIsOnlineData struct {
	//设备总数
	DeviceCount int64 `db:"device_count" json:"deviceCount"`
	//在线数量
	OnlineCount int64 `db:"online_count" json:"onlineCount"`
}

GetAnalysisIsOnlineData 获取设备在线情况结构

func GetAnalysisIsOnline

func GetAnalysisIsOnline(args *ArgsGetAnalysisIsOnline) (data GetAnalysisIsOnlineData, err error)

GetAnalysisIsOnline 获取设备在线情况

type GetDeviceGroupData

type GetDeviceGroupData struct {
	//设备ID
	ID int64 `db:"id" json:"id"`
	//设备编码
	Code string `db:"code" json:"code"`
	//分组ID
	GroupID int64 `db:"group_id" json:"groupID"`
	//分组标识码
	GroupMark string `db:"group_mark" json:"groupMark"`
}

GetDeviceGroupData 获取设备及设备组

func GetDeviceGroup

func GetDeviceGroup(args *ArgsGetDeviceGroup) (data GetDeviceGroupData, err error)

GetDeviceGroup 获取设备及设备组

type GetOperateAndDeviceData

type GetOperateAndDeviceData struct {
	//设备ID
	ID int64 `db:"id" json:"id"`
	//设备分组
	GroupID int64 `db:"group_id" json:"groupID"`
	//组织ID
	OrgID int64 `db:"org_id" json:"orgID"`
}

GetOperateAndDeviceData 获取设备ID分组和授权组织ID数据

func GetOperateAndDevice

func GetOperateAndDevice(args *ArgsGetOperateAndDevice) (data []GetOperateAndDeviceData, err error)

GetOperateAndDevice 获取设备ID分组和授权组织ID

Jump to

Keyboard shortcuts

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