Thingboard: получить идентификатор ресурса из внутренней базы данных - PullRequest
0 голосов
/ 11 декабря 2018

Я использую Thingsboard с Postgresql.
То, что я хочу сделать, это получить идентификатор актива путем прямого доступа к внутренней базе данных.

Схема вещейборда имеет таблицу активов, которая имеет поле идентификатора.Но его идентификатор отличается от формата пользовательского интерфейса.

select id from asset;
1e8027e92ad5cd0b8faaf5b54912004

Тип id - это varchar (31), и он не похож на UUID.

Но я хочу получить 92ad5cd0-027e-11e8-b8fa-af5b54912004 из пользовательского интерфейса.

Как я могу конвертировать в это?

1 Ответ

0 голосов
/ 12 декабря 2018

В ThingsBoard для баз данных SQL UUID обрезается внутри базы данных, и - символы удаляются.

Посмотрите на этот утилит: org.thingsboard.server.common.data.UUIDConverter

fromTimeUUID () -> преобразовать UUID в строку (это значение вы видите в Postgresql)

fromString () ->преобразовать строку в реальный UUID

public static UUID fromString(String src) {
        return UUID.fromString(src.substring(7, 15) + "-" + 
            src.substring(3, 7) + "-1" + 
            src.substring(0, 3) + "-" + 
            src.substring(15, 19) + "-" + 
            src.substring(19));
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...