From 0b698356c9bd1b2020cc7b9f30d19b86edd55c94 Mon Sep 17 00:00:00 2001 From: anlicheng Date: Mon, 21 Aug 2023 18:14:38 +0800 Subject: [PATCH] fix --- apps/iot/src/iot_host.erl | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/apps/iot/src/iot_host.erl b/apps/iot/src/iot_host.erl index 49e57c6..af64bbb 100644 --- a/apps/iot/src/iot_host.erl +++ b/apps/iot/src/iot_host.erl @@ -138,9 +138,11 @@ init([UUID]) -> case host_bo:get_host_by_uuid(UUID) of {ok, #{<<"authorize_status">> := AuthorizeStatus, <<"id">> := HostId}} -> Aes = list_to_binary(iot_util:rand_bytes(32)), - StateName = case AuthorizeStatus =:= 0 of - false -> ?STATE_DENIED; - true -> ?STATE_ACTIVATED + StateName = case AuthorizeStatus =:= 1 of + true -> + ?STATE_ACTIVATED; + false -> + ?STATE_DENIED end, %% 启动主机相关的device,此时device的状态为离线状态 {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}]}; {?STATE_DENIED, true} -> {next_state, ?STATE_ACTIVATED, State, [{reply, From, ok}]}; + {?STATE_ACTIVATED, false} -> {ok, _} = host_bo:change_status(UUID, ?HOST_OFFLINE), change_devices_status(HostId, ?DEVICE_OFFLINE), - {next_state, ?STATE_DENIED, State, [{reply, From, ok}]}; {?STATE_ACTIVATED, true} -> {keep_state, State, [{reply, From, ok}]}; + {?STATE_SESSION, false} -> %% 取消之前的monitor erlang:demonitor(MRef),