diff --git a/apps/iot/src/iot_device.erl b/apps/iot/src/iot_device.erl index 96753c4..19e8d4f 100644 --- a/apps/iot/src/iot_device.erl +++ b/apps/iot/src/iot_device.erl @@ -120,7 +120,7 @@ handle_event(cast, {change_status, ?DEVICE_ONLINE}, ?STATE_ACTIVATED, State = #s %% 改变数据库的状态, 其他情况下执行次数都很少 handle_event(cast, {change_status, NewStatus}, _, State = #state{device_uuid = DeviceUUID}) -> {ok, _} = device_bo:change_status(DeviceUUID, NewStatus), - {keep_state, State}; + {keep_state, State#state{status = NewStatus}}; %% 重新加载数据库数据 handle_event(cast, reload, _, State = #state{device_uuid = DeviceUUID}) -> @@ -136,7 +136,7 @@ handle_event(cast, reload, _, State = #state{device_uuid = DeviceUUID}) -> end; undefined -> lager:warning("[iot_device] device uuid: ~p, loaded from mysql failed", [DeviceUUID]), - {keep_state, State} + {stop, normal, State} end; %% 处理授权