ai_event部分配置信息从数据库获取

This commit is contained in:
anlicheng 2025-03-12 11:41:51 +08:00
parent c1b3191b9c
commit 9bbdeea0d5
2 changed files with 35 additions and 1 deletions

View File

@ -0,0 +1,22 @@
%%%-------------------------------------------------------------------
%%% @author aresei
%%% @copyright (C) 2023, <COMPANY>
%%% @doc
%%%
%%% @end
%%% Created : 16. 5 2023 12:48
%%%-------------------------------------------------------------------
-module(ai_event_bo).
-author("aresei").
-include("iot.hrl").
%% API
-export([get_all_events/0, get_event_by_event_type/1]).
-spec get_all_events() -> {ok, Devices :: [map()]} | {error, Reason :: any()}.
get_all_events() ->
mysql_pool:get_all(mysql_iot, <<"SELECT * FROM ai_event">>).
-spec get_event_by_event_type(EventType :: integer()) -> {ok, EventInfo :: map()} | undefined.
get_event_by_event_type(EventType) when is_integer(EventType) ->
mysql_pool:get_row(mysql_iot, <<"SELECT * FROM ai_event WHERE event_type = ? LIMIT 1">>, [EventType]).

View File

@ -204,7 +204,9 @@ handle_cast({auth, false}, State = #state{device_uuid = DeviceUUID}) ->
{noreply, State#state{auth_status = 0}};
%% ai事件的延迟整流逻辑,
handle_cast({ai_event, EventType, Params}, State = #state{device_uuid = DeviceUUID, ai_event_throttle = EventThrottle, ai_event_ttl = EventTTL}) ->
handle_cast({ai_event, EventType, Params0}, State = #state{device_uuid = DeviceUUID, ai_event_throttle = EventThrottle, ai_event_ttl = EventTTL}) ->
%% params的部分信息
Params = rewrite_ai_event(EventType, Params0),
case maps:find(EventType, EventThrottle) of
{ok, Interval} ->
LastTimestamp = maps:get(EventType, EventTTL, 0),
@ -321,3 +323,13 @@ extract_build_location_code(<<BuildLocationCode:9/binary, Suffix/binary>>) ->
<<BuildLocationCode/binary, NSuffix/binary>>;
extract_build_location_code(Code) when is_binary(Code) ->
Code.
-spec rewrite_ai_event(EventType :: integer(), Params :: map()) -> NParams :: map().
rewrite_ai_event(EventType, Params) when is_integer(EventType), is_map(Params) ->
%% params的部分信息
case ai_event_bo:get_event_by_event_type(EventType) of
{ok, #{<<"event_code">> := EventCode, <<"event_name">> := EventName}} ->
Params#{<<"event_code">> => EventCode, <<"description">> => EventName};
undefined ->
Params
end.