-module(device_info_esql). -compile(export_all). -include("esqltool.hrl"). %%not use create_deviceInfotable(Nodes, TableName) -> ok. %%% 增加设备信息 %%% %%% @DevId 设备uuid %%% @DevName 设备名称 %%% @DevAdd 设备地址 %%% @NodeId 节点地址名称 name@ip %%% @FNode 父节点地址 add_deviceInfo(UUid, DevId, NodeId, ClusterID, FatherNodeName) -> if UUid == " " -> ID = syncTool:getUUIDString(); UUid == "" -> ID = syncTool:getUUIDString(); true -> ID = UUid end, UpdateTime = syncTool:getTimeStr(), CreateUser = node(), StrUuid = syncTool:change2Str(ID), StrNodeId = syncTool:change2Str(NodeId), StrDevId = syncTool:change2Str(DevId), StrClusterID = syncTool:change2Str(ClusterID), StrCreateUser = syncTool:change2Str(CreateUser), StrFatherNodeName = syncTool:change2Str(FatherNodeName), Sql = ["INSERT OR REPLACE INTO device_info (father_node, uuid, node_id, device_id, cluster_id, update_time, create_by) VALUES ('" ++ StrFatherNodeName ++ "', '" ++ StrUuid ++ "', '" ++ StrNodeId ++ "', '" ++ StrDevId ++ "', '" ++ StrClusterID ++ "', '" ++ UpdateTime ++ "', '" ++ StrCreateUser ++ "');"], Ret = executeSqlLocalyAndSaveToCacheAndSendSql(Sql), if Ret == {atomic, ok} -> Result = {atomic, ok}; true -> Result = {aborted, error} end, Result. del_deviceInfo(NodeId) -> StrNodeId = syncTool:change2Str(NodeId), Sql = ["delete from device_info where node_id = '", StrNodeId, "';"], Ret = executeSqlLocalyAndSaveToCacheAndSendSql(Sql), if Ret == {atomic, ok} -> Result = {atomic, ok}; true -> Result = {aborted, error} end, Result. findDeviceOnlineList([]) -> []; findDeviceOnlineList([OnlineNode | T]) -> StrNodeId = syncTool:change2Str(OnlineNode), io:format("StrNodeId size is ~p", [StrNodeId]), Sql = ["SELECT a.uuid,a.create_time,a.device_id,a.node_id,b.cluster_id,b.cluster_name FROM device_info as a, cluster_info as b where a.cluster_id = b.cluster_id AND a.node_id = '", StrNodeId, "';"], Maps = selectSomeInfoWithSql(Sql), if is_list(Maps) -> [Res | Tmp] = Maps; is_tuple(Maps) -> Res = []; true -> Res = [] end, [Res | findDeviceOnlineList(T)]. findAllDeviceList() -> Sql = ["select node_id,uuid from device_info where del_flag = '0';"], selectSomeInfoWithSql(Sql).