121 lines
2.7 KiB
Erlang
121 lines
2.7 KiB
Erlang
%%%-------------------------------------------------------------------
|
||
%%% @author licheng5
|
||
%%% @copyright (C) 2023, <COMPANY>
|
||
%%% @doc
|
||
%%%
|
||
%%% @end
|
||
%%% Created : 14. 2月 2023 19:48
|
||
%%%-------------------------------------------------------------------
|
||
-author("licheng5").
|
||
|
||
%% 主机是否在线
|
||
-define(HOST_OFFLINE, 0).
|
||
-define(HOST_ONLINE, 1).
|
||
-define(HOST_NOT_JOINED, -1).
|
||
|
||
%% 设备是否在线状态
|
||
-define(DEVICE_OFFLINE, 0).
|
||
-define(DEVICE_ONLINE, 1).
|
||
-define(DEVICE_NOT_JOINED, -1).
|
||
|
||
%% 下发的任务状态
|
||
-define(TASK_STATUS_INIT, -1). %% 未接入
|
||
-define(TASK_STATUS_FAILED, 0). %% 离线
|
||
-define(TASK_STATUS_OK, 1). %% 在线
|
||
|
||
%% 消息体类型
|
||
-define(PACKET_REQUEST, 16#01).
|
||
-define(PACKET_RESPONSE, 16#02).
|
||
|
||
%% 服务器端推送消息
|
||
-define(PACKET_PUBLISH, 16#03).
|
||
-define(PACKET_PUBLISH_RESPONSE, 16#04).
|
||
|
||
%% 消息体类型
|
||
-define(PACKET_REQUEST, 16#01).
|
||
-define(PACKET_RESPONSE, 16#02).
|
||
|
||
%% 服务器端推送消息
|
||
-define(PACKET_PUBLISH, 16#03).
|
||
-define(PACKET_PUBLISH_RESPONSE, 16#04).
|
||
|
||
%% 主机端上报数据类型标识
|
||
%% 建立到websocket的register关系
|
||
-define(METHOD_AUTH, 16#00).
|
||
-define(METHOD_CREATE_SESSION, 16#01).
|
||
|
||
-define(METHOD_DATA, 16#02).
|
||
-define(METHOD_PING, 16#03).
|
||
-define(METHOD_INFORM, 16#04).
|
||
-define(METHOD_FEEDBACK_STEP, 16#05).
|
||
|
||
-define(METHOD_EVENT, 16#07).
|
||
|
||
-define(METHOD_PHASE, 16#09).
|
||
|
||
%% 部署微服务
|
||
-define(METHOD_DEPLOY, 16#10).
|
||
-define(METHOD_CONFIG, 16#11).
|
||
|
||
%% 事件类型
|
||
-define(EVENT_DEVICE, 16#01).
|
||
%% 主机的相关事件
|
||
-define(EVENT_HOST, 16#02).
|
||
%% ai相关的事件
|
||
-define(EVENT_AI, 16#03).
|
||
|
||
%% 指令相关
|
||
-define(DIRECTIVE_ZD_CTRL, 16#01).
|
||
|
||
%% 缓存数据库表
|
||
-record(kv, {
|
||
key :: binary(),
|
||
val :: binary() | list() | map() | sets:set(),
|
||
expire_at = 0 :: integer(),
|
||
type :: atom()
|
||
}).
|
||
|
||
%% id生成器
|
||
-record(id_generator, {
|
||
tab :: atom(),
|
||
increment_id = 0 :: integer()
|
||
}).
|
||
|
||
%% 统计项
|
||
-record(option, {
|
||
success_num = 0,
|
||
fail_num = 0
|
||
}).
|
||
|
||
%% 统计累加器
|
||
-record(totalizator, {
|
||
key :: {SceneId :: integer(), Date :: calendar:date()},
|
||
scene_id :: integer(),
|
||
date :: calendar:date(),
|
||
option :: #option{}
|
||
}).
|
||
|
||
%% 北向数据
|
||
-record(north_data, {
|
||
id = 0 :: integer(),
|
||
location_code :: binary(),
|
||
%% 数据库类型的endpoint, 可以返回list: [{K, V}, {K1, V1}]
|
||
fields :: [{K :: binary(), V :: any()}],
|
||
timestamp = 0 :: integer()
|
||
}).
|
||
|
||
%% 事件相关的数据
|
||
-record(event_data, {
|
||
id = 0 :: integer(),
|
||
location_code :: binary(),
|
||
event_type :: integer(),
|
||
params :: map()
|
||
}).
|
||
|
||
%% 发送数据
|
||
-record(post_data, {
|
||
id = 0 :: integer(),
|
||
location_code :: binary(),
|
||
%% 数据库类型的endpoint, 可以返回list: [{K, V}, {K1, V1}]
|
||
body :: binary() | list()
|
||
}). |