From d6f56cbcbe3f783eca89ef45dbaa20da839095af Mon Sep 17 00:00:00 2001 From: JianBo He Date: Wed, 5 Jan 2022 11:28:11 +0800 Subject: [PATCH] fix(mgmt): convert timestamp to milliseconds --- apps/emqx_management/src/emqx_mgmt_api.erl | 8 +++++--- apps/emqx_management/src/emqx_mgmt_api_clients.erl | 8 ++++---- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/apps/emqx_management/src/emqx_mgmt_api.erl b/apps/emqx_management/src/emqx_mgmt_api.erl index e068c5384..c34791b57 100644 --- a/apps/emqx_management/src/emqx_mgmt_api.erl +++ b/apps/emqx_management/src/emqx_mgmt_api.erl @@ -297,10 +297,12 @@ to_integer(I) when is_integer(I) -> to_integer(B) when is_binary(B) -> binary_to_integer(B). +%% @doc The input timestamp time is in seconds, which needs to be +%% converted to internal milliseconds here to_timestamp(I) when is_integer(I) -> - I; + I * 1000; to_timestamp(B) when is_binary(B) -> - binary_to_integer(B). + binary_to_integer(B) * 1000. aton(B) when is_binary(B) -> list_to_tuple([binary_to_integer(T) || T <- re:split(B, "[.]")]). @@ -332,7 +334,7 @@ params2qs_test() -> ExpectedQs = [{str, '=:=', <<"abc">>}, {int, '=:=', 123}, {atom, '=:=', connected}, - {ts, '=:=', 156000}, + {ts, '=:=', 156000000}, {range, '>=', 1, '=<', 5} ], FuzzyQs = [{fuzzy, like, <<"user">>}, diff --git a/apps/emqx_management/src/emqx_mgmt_api_clients.erl b/apps/emqx_management/src/emqx_mgmt_api_clients.erl index eaa6bf601..7d3dbddc8 100644 --- a/apps/emqx_management/src/emqx_mgmt_api_clients.erl +++ b/apps/emqx_management/src/emqx_mgmt_api_clients.erl @@ -435,10 +435,10 @@ params2qs_test() -> proto_ver => 4, connected_at => '$3'}, session => #{created_at => '$2'}}, - ExpectedCondi = [{'>=','$2', 1}, - {'=<','$2', 5}, - {'>=','$3', 1}, - {'=<','$3', 5}], + ExpectedCondi = [{'>=','$2', 1000}, + {'=<','$2', 5000}, + {'>=','$3', 1000}, + {'=<','$3', 5000}], {10, {Qs1, []}} = emqx_mgmt_api:params2qs(Params, QsSchema), [{{'$1', MtchHead, _}, Condi, _}] = qs2ms(Qs1), ?assertEqual(ExpectedMtchHead, MtchHead),