Current section
Files
Jump to
Current section
Files
lib/mix/get_acc_list.ex
defmodule Mix.Tasks.GetAccList do
@moduledoc """
Get account list
~$ mix get_acc_list
~$ mix get_acc_list {acc_id}
~$ mix get_acc_id {trd_env} {trd_market}
"""
use Mix.Task
def run(args) do
Mix.Task.run("app.config")
{:ok, _pid} = Futu.start(%{name: :mix_task})
opts = [
userID: 0
]
{:ok, res} = Futu.account_list(:mix_task, opts)
case args do
[] ->
IO.inspect(res)
[acc_id] ->
%Trd_GetAccList.S2C{accList: list} = res
acc = Enum.find(list, fn %Trd_Common.TrdAcc{accID: accID} -> accID == acc_id end)
IO.inspect(acc)
[trd_env, trd_market] ->
%Trd_GetAccList.S2C{accList: list} = res
accs =
Enum.filter(list, fn %Trd_Common.TrdAcc{
trdEnv: trdEnv,
trdMarketAuthList: trdMarketAuthList
} ->
trdEnv == String.to_integer(trd_env) and
trdMarketAuthList == [String.to_integer(trd_market)]
end)
IO.inspect(accs)
end
end
end