This commit is contained in:
anlicheng 2023-08-21 18:14:38 +08:00
parent 54f7acc3f7
commit 0b698356c9

View File

@ -138,9 +138,11 @@ init([UUID]) ->
case host_bo:get_host_by_uuid(UUID) of case host_bo:get_host_by_uuid(UUID) of
{ok, #{<<"authorize_status">> := AuthorizeStatus, <<"id">> := HostId}} -> {ok, #{<<"authorize_status">> := AuthorizeStatus, <<"id">> := HostId}} ->
Aes = list_to_binary(iot_util:rand_bytes(32)), Aes = list_to_binary(iot_util:rand_bytes(32)),
StateName = case AuthorizeStatus =:= 0 of StateName = case AuthorizeStatus =:= 1 of
false -> ?STATE_DENIED; true ->
true -> ?STATE_ACTIVATED ?STATE_ACTIVATED;
false ->
?STATE_DENIED
end, end,
%% devicedevice的状态为离线状态 %% devicedevice的状态为离线状态
{ok, Devices} = device_bo:get_host_devices(HostId), {ok, Devices} = device_bo:get_host_devices(HostId),
@ -214,13 +216,14 @@ handle_event({call, From}, {activate, Auth}, StateName, State = #state{host_id =
{keep_state, State, [{reply, From, ok}]}; {keep_state, State, [{reply, From, ok}]};
{?STATE_DENIED, true} -> {?STATE_DENIED, true} ->
{next_state, ?STATE_ACTIVATED, State, [{reply, From, ok}]}; {next_state, ?STATE_ACTIVATED, State, [{reply, From, ok}]};
{?STATE_ACTIVATED, false} -> {?STATE_ACTIVATED, false} ->
{ok, _} = host_bo:change_status(UUID, ?HOST_OFFLINE), {ok, _} = host_bo:change_status(UUID, ?HOST_OFFLINE),
change_devices_status(HostId, ?DEVICE_OFFLINE), change_devices_status(HostId, ?DEVICE_OFFLINE),
{next_state, ?STATE_DENIED, State, [{reply, From, ok}]}; {next_state, ?STATE_DENIED, State, [{reply, From, ok}]};
{?STATE_ACTIVATED, true} -> {?STATE_ACTIVATED, true} ->
{keep_state, State, [{reply, From, ok}]}; {keep_state, State, [{reply, From, ok}]};
{?STATE_SESSION, false} -> {?STATE_SESSION, false} ->
%% monitor %% monitor
erlang:demonitor(MRef), erlang:demonitor(MRef),