From fd00ce4f126ac85e2830b0adf1d9d5bce47f60de Mon Sep 17 00:00:00 2001 From: anlicheng <244108715@qq.com> Date: Fri, 17 Oct 2025 12:34:56 +0800 Subject: [PATCH] remove mysql --- apps/sdlan/src/model/network_bo.erl | 29 ----- apps/sdlan/src/mysql/mysql_pool.erl | 48 -------- apps/sdlan/src/mysql/mysql_provider.erl | 144 ------------------------ config/sys-dev.config | 23 +--- config/sys-prod.config | 18 --- 5 files changed, 2 insertions(+), 260 deletions(-) delete mode 100644 apps/sdlan/src/model/network_bo.erl delete mode 100644 apps/sdlan/src/mysql/mysql_pool.erl delete mode 100644 apps/sdlan/src/mysql/mysql_provider.erl diff --git a/apps/sdlan/src/model/network_bo.erl b/apps/sdlan/src/model/network_bo.erl deleted file mode 100644 index c1160f6..0000000 --- a/apps/sdlan/src/model/network_bo.erl +++ /dev/null @@ -1,29 +0,0 @@ -%%%------------------------------------------------------------------- -%%% @author aresei -%%% @copyright (C) 2023, -%%% @doc -%%% -%%% @end -%%% Created : 16. 5月 2023 12:48 -%%%------------------------------------------------------------------- --module(network_bo). --author("aresei"). --include("sdlan.hrl"). - --define(POOL_NAME, mysql_sdlan). - -%% API --export([get_all_networks/0, get_network_by_id/1]). - --spec get_all_networks() -> Networks :: [integer()]. -get_all_networks() -> - case mysql_pool:get_all(?POOL_NAME, <<"SELECT id FROM network">>) of - {ok, Networks} -> - lists:map(fun(#{<<"id">> := Id}) -> Id end, Networks); - {error, _} -> - [] - end. - --spec get_network_by_id(Id :: integer()) -> undefined | {ok, NetworkInfo :: map()}. -get_network_by_id(Id) when is_integer(Id) -> - mysql_pool:get_row(?POOL_NAME, <<"SELECT * FROM network WHERE id = ? LIMIT 1">>, [Id]). \ No newline at end of file diff --git a/apps/sdlan/src/mysql/mysql_pool.erl b/apps/sdlan/src/mysql/mysql_pool.erl deleted file mode 100644 index cbceac5..0000000 --- a/apps/sdlan/src/mysql/mysql_pool.erl +++ /dev/null @@ -1,48 +0,0 @@ -%%%------------------------------------------------------------------- -%%% @author aresei -%%% @copyright (C) 2018, -%%% @doc -%%% -%%% @end -%%% Created : 29. 九月 2018 17:01 -%%%------------------------------------------------------------------- --module(mysql_pool). --author("aresei"). - -%% API --export([get_row/2, get_row/3, get_all/2, get_all/3]). --export([update/4, update_by/2, update_by/3, insert/4]). - -%% 从数据库中查找一行记录 --spec get_row(Pool :: atom(), Sql::binary()) -> {ok, Record::map()} | undefined. -get_row(Pool, Sql) when is_atom(Pool), is_binary(Sql) -> - poolboy:transaction(Pool, fun(ConnPid) -> mysql_provider:get_row(ConnPid, Sql) end). - --spec get_row(Pool :: atom(), Sql::binary(), Params::list()) -> {ok, Record::map()} | undefined. -get_row(Pool, Sql, Params) when is_atom(Pool), is_binary(Sql), is_list(Params) -> - poolboy:transaction(Pool, fun(ConnPid) -> mysql_provider:get_row(ConnPid, Sql, Params) end). - --spec get_all(Pool :: atom(), Sql::binary()) -> {ok, Rows::list()} | {error, Reason :: any()}. -get_all(Pool, Sql) when is_atom(Pool), is_binary(Sql) -> - poolboy:transaction(Pool, fun(ConnPid) -> mysql_provider:get_all(ConnPid, Sql) end). - --spec get_all(Pool :: atom(), Sql::binary(), Params::list()) -> {ok, Rows::list()} | {error, Reason::any()}. -get_all(Pool, Sql, Params) when is_atom(Pool), is_binary(Sql), is_list(Params) -> - poolboy:transaction(Pool, fun(ConnPid) -> mysql_provider:get_all(ConnPid, Sql, Params) end). - --spec insert(Pool :: atom(), Table :: binary(), Fields :: map() | list(), boolean()) -> - ok | {ok, InsertId :: integer()} | {error, Reason :: any()}. -insert(Pool, Table, Fields, FetchInsertId) when is_atom(Pool), is_binary(Table), is_list(Fields); is_map(Fields), is_boolean(FetchInsertId) -> - poolboy:transaction(Pool, fun(ConnPid) -> mysql_provider:insert(ConnPid, Table, Fields, FetchInsertId) end). - --spec update_by(Pool :: atom(), UpdateSql :: binary()) -> {ok, AffectedRows :: integer()} | {error, Reason :: any()}. -update_by(Pool, UpdateSql) when is_atom(Pool), is_binary(UpdateSql) -> - poolboy:transaction(Pool, fun(ConnPid) -> mysql_provider:update_by(ConnPid, UpdateSql) end). - --spec update_by(Pool :: atom(), UpdateSql :: binary(), Params :: list()) -> {ok, AffectedRows :: integer()} | {error, Reason :: any()}. -update_by(Pool, UpdateSql, Params) when is_atom(Pool), is_binary(UpdateSql) -> - poolboy:transaction(Pool, fun(ConnPid) -> mysql_provider:update_by(ConnPid, UpdateSql, Params) end). - --spec update(Pool :: atom(), Table :: binary(), Fields :: map(), WhereFields :: map()) -> {ok, AffectedRows::integer()} | {error, Reason::any()}. -update(Pool, Table, Fields, WhereFields) when is_atom(Pool), is_binary(Table), is_map(Fields), is_map(WhereFields) -> - poolboy:transaction(Pool, fun(ConnPid) -> mysql_provider:update(ConnPid, Table, Fields, WhereFields) end). \ No newline at end of file diff --git a/apps/sdlan/src/mysql/mysql_provider.erl b/apps/sdlan/src/mysql/mysql_provider.erl deleted file mode 100644 index 7415f9d..0000000 --- a/apps/sdlan/src/mysql/mysql_provider.erl +++ /dev/null @@ -1,144 +0,0 @@ -%%%------------------------------------------------------------------- -%%% @author aresei -%%% @copyright (C) 2018, -%%% @doc -%%% -%%% @end -%%% Created : 29. 九月 2018 17:01 -%%%------------------------------------------------------------------- --module(mysql_provider). --author("aresei"). - -%% API --export([get_row/2, get_row/3, get_all/2, get_all/3]). --export([update/4, update_by/2, update_by/3, insert/4]). - -%% 从数据库中查找一行记录 --spec get_row(ConnPid :: pid(), Sql::binary()) -> {ok, Record::map()} | undefined. -get_row(ConnPid, Sql) when is_pid(ConnPid), is_binary(Sql) -> - lager:debug("[mysql_client] get_row sql is: ~p", [Sql]), - case mysql:query(ConnPid, Sql) of - {ok, Names, [Row | _]} -> - {ok, maps:from_list(lists:zip(Names, Row))}; - {ok, _, []} -> - undefined; - Error -> - lager:warning("[mysql_client] get error: ~p", [Error]), - undefined - end. - --spec get_row(ConnPid :: pid(), Sql::binary(), Params::list()) -> {ok, Record::map()} | undefined. -get_row(ConnPid, Sql, Params) when is_pid(ConnPid), is_binary(Sql), is_list(Params) -> - lager:debug("[mysql_client] get_row sql is: ~p, params: ~p", [Sql, Params]), - case mysql:query(ConnPid, Sql, Params) of - {ok, Names, [Row | _]} -> - {ok, maps:from_list(lists:zip(Names, Row))}; - {ok, _, []} -> - undefined; - Error -> - lager:warning("[mysql_client] get error: ~p", [Error]), - undefined - end. - --spec get_all(ConnPid :: pid(), Sql::binary()) -> {ok, Rows::list()} | {error, Reason :: any()}. -get_all(ConnPid, Sql) when is_pid(ConnPid), is_binary(Sql) -> - lager:debug("[mysql_client] get_all sql is: ~p", [Sql]), - case mysql:query(ConnPid, Sql) of - {ok, Names, Rows} -> - {ok, lists:map(fun(Row) -> maps:from_list(lists:zip(Names, Row)) end, Rows)}; - {error, Reason} -> - lager:warning("[mysql_client] get error: ~p", [Reason]), - {error, Reason} - end. - --spec get_all(ConnPid :: pid(), Sql::binary(), Params::list()) -> {ok, Rows::list()} | {error, Reason::any()}. -get_all(ConnPid, Sql, Params) when is_pid(ConnPid), is_binary(Sql), is_list(Params) -> - lager:debug("[mysql_client] get_all sql is: ~p, params: ~p", [Sql, Params]), - case mysql:query(ConnPid, Sql, Params) of - {ok, Names, Rows} -> - {ok, lists:map(fun(Row) -> maps:from_list(lists:zip(Names, Row)) end, Rows)}; - {error, Reason} -> - lager:warning("[mysql_client] get error: ~p", [Reason]), - {error, Reason} - end. - --spec insert(ConnPid :: pid(), Table :: binary(), Fields :: map() | list(), boolean()) -> - ok | {ok, InsertId :: integer()} | {error, Reason :: any()}. -insert(ConnPid, Table, Fields, FetchInsertId) when is_pid(ConnPid), is_binary(Table), is_map(Fields), is_boolean(FetchInsertId) -> - insert(ConnPid, Table, maps:to_list(Fields), FetchInsertId); -insert(ConnPid, Table, Fields, FetchInsertId) when is_pid(ConnPid), is_binary(Table), is_list(Fields), is_boolean(FetchInsertId) -> - {Keys, Values} = kvs(Fields), - - FieldSql = iolist_to_binary(lists:join(<<", ">>, Keys)), - Placeholders = lists:duplicate(length(Keys), <<"?">>), - ValuesPlaceholder = iolist_to_binary(lists:join(<<", ">>, Placeholders)), - - Sql = <<"INSERT INTO ", Table/binary, "(", FieldSql/binary, ") VALUES(", ValuesPlaceholder/binary, ")">>, - lager:debug("[mysql_client] insert sql is: ~p, params: ~p", [Sql, Values]), - case mysql:query(ConnPid, Sql, Values) of - ok -> - case FetchInsertId of - true -> - InsertId = mysql:insert_id(ConnPid), - {ok, InsertId}; - false -> - ok - end; - Error -> - Error - end. - --spec update_by(ConnPid :: pid(), UpdateSql :: binary()) -> {ok, AffectedRows :: integer()} | {error, Reason :: any()}. -update_by(ConnPid, UpdateSql) when is_pid(ConnPid), is_binary(UpdateSql) -> - lager:debug("[mysql_client] updateBySql sql: ~p", [UpdateSql]), - case mysql:query(ConnPid, UpdateSql) of - ok -> - AffectedRows = mysql:affected_rows(ConnPid), - {ok, AffectedRows}; - Error -> - Error - end. - --spec update_by(ConnPid :: pid(), UpdateSql :: binary(), Params :: list()) -> {ok, AffectedRows :: integer()} | {error, Reason :: any()}. -update_by(ConnPid, UpdateSql, Params) when is_pid(ConnPid), is_binary(UpdateSql) -> - lager:debug("[mysql_client] updateBySql sql: ~p, params: ~p", [UpdateSql, Params]), - case mysql:query(ConnPid, UpdateSql, Params) of - ok -> - AffectedRows = mysql:affected_rows(ConnPid), - {ok, AffectedRows}; - Error -> - Error - end. - --spec update(ConnPid :: pid(), Sql :: binary(), Fields :: map(), WhereFields :: map()) -> - {ok, AffectedRows::integer()} | {error, Reason::any()}. -update(ConnPid, Table, Fields, WhereFields) when is_pid(ConnPid), is_binary(Table), is_map(Fields), is_map(WhereFields) -> - %% 拼接set - {SetKeys, SetVals} = kvs(Fields), - SetKeys1 = lists:map(fun(K) when is_binary(K) -> <<"`", K/binary, "` = ?">> end, SetKeys), - SetSql = iolist_to_binary(lists:join(<<", ">>, SetKeys1)), - - %% 拼接where - {WhereKeys, WhereVals} = kvs(WhereFields), - WhereKeys1 = lists:map(fun(K) when is_binary(K) -> <<"`", K/binary, "` = ?">> end, WhereKeys), - WhereSql = iolist_to_binary(lists:join(<<" AND ">>, WhereKeys1)), - - Params = SetVals ++ WhereVals, - - Sql = <<"UPDATE ", Table/binary, " SET ", SetSql/binary, " WHERE ", WhereSql/binary>>, - lager:debug("[mysql_client] update sql is: ~p, params: ~p", [Sql, Params]), - case mysql:query(ConnPid, Sql, Params) of - ok -> - AffectedRows = mysql:affected_rows(ConnPid), - {ok, AffectedRows}; - Error -> - lager:error("[mysql_client] update sql: ~p, params: ~p, get a error: ~p", [Sql, Params, Error]), - Error - end. - --spec kvs(Fields :: map() | list()) -> {Keys :: list(), Values :: list()}. -kvs(Fields) when is_map(Fields) -> - kvs(maps:to_list(Fields)); -kvs(Fields) when is_list(Fields) -> - {Keys0, Values0} = lists:foldl(fun({K, V}, {Acc0, Acc1}) -> {[K|Acc0], [V|Acc1]} end, {[], []}, Fields), - {lists:reverse(Keys0), lists:reverse(Values0)}. \ No newline at end of file diff --git a/config/sys-dev.config b/config/sys-dev.config index e29ade5..4bbdc71 100644 --- a/config/sys-dev.config +++ b/config/sys-dev.config @@ -2,14 +2,14 @@ {sdlan, [ {http_server, [ - {port, 18082}, + {port, 19082}, {acceptors, 500}, {max_connections, 10240}, {backlog, 10240} ]}, {tcp_server, [ - {port, 18083}, + {port, 19083}, {acceptors, 500}, {max_connections, 10240}, {backlog, 10240} @@ -21,25 +21,6 @@ {stun_servers, [{'sdlan_stun:1:1', 1265}, {'sdlan_stun:1:2', 1266}]}, {stun_assist, {{47,98,178,3}, 1266}}, - % {stun_servers, [{'sdlan_stun:2:1', 1265}, {'sdlan_stun:2:2', 1266}]}, - - {pools, [ - %% mysql连接池配置 - {mysql_sdlan, - [{size, 10}, {max_overflow, 20}, {worker_module, mysql}], - [ - {host, {39, 98, 184, 67}}, - {port, 3306}, - {user, "sdlanuser"}, - {connect_mode, lazy}, - {keep_alive, true}, - {password, "sdlan@J1c8WGu"}, - {database, "sdlan"}, - {queries, [<<"set names utf8">>]} - ] - } - ]}, - {api_url, "http://127.0.0.1:18082/test/"} ]}, diff --git a/config/sys-prod.config b/config/sys-prod.config index eb26687..8309c42 100644 --- a/config/sys-prod.config +++ b/config/sys-prod.config @@ -23,25 +23,7 @@ % {stun_servers, [{'sdlan_stun:2:1', 1265}, {'sdlan_stun:2:2', 1266}]}, - {pools, [ - %% mysql连接池配置 - {mysql_sdlan, - [{size, 10}, {max_overflow, 20}, {worker_module, mysql}], - [ - {host, {118, 178, 229, 213}}, - {port, 3306}, - {user, "sdlanuser"}, - {connect_mode, lazy}, - {keep_alive, true}, - {password, "sdlan@J1c8WGu"}, - {database, "sdlan"}, - {queries, [<<"set names utf8">>]} - ] - } - ]}, - {api_url, "https://punchnet.aioe.tech/api/"} - ]}, {throttle, [