This commit is contained in:
parent
1414439ceb
commit
7a613ac191
@ -51,14 +51,14 @@ defmodule LolAnalytics.Facts.ChampionPickedItem.Repo do
|
|||||||
|> Repo.insert_or_update()
|
|> Repo.insert_or_update()
|
||||||
end
|
end
|
||||||
|
|
||||||
@spec get_champion_picked_items(String.t(), String.t()) :: list()
|
@spec get_champion_picked_items(String.t(), String.t(), String.t()) :: list()
|
||||||
def get_champion_picked_items(champion_id, team_position) do
|
def get_champion_picked_items(champion_id, team_position, patch_number) do
|
||||||
query =
|
query =
|
||||||
from f in Schema,
|
from f in Schema,
|
||||||
where:
|
where:
|
||||||
f.champion_id == ^champion_id and
|
f.champion_id == ^champion_id and
|
||||||
f.team_position == ^team_position and
|
f.team_position == ^team_position and
|
||||||
f.item_id != 0,
|
f.item_id != 0 and f.patch_number == ^patch_number,
|
||||||
join: c in ChampionSchema,
|
join: c in ChampionSchema,
|
||||||
on: c.champion_id == f.champion_id,
|
on: c.champion_id == f.champion_id,
|
||||||
join: i in ItemSchema,
|
join: i in ItemSchema,
|
||||||
|
@ -13,15 +13,15 @@ defmodule LoLAnalyticsWeb.ChampionLive.Show do
|
|||||||
end
|
end
|
||||||
|
|
||||||
@impl true
|
@impl true
|
||||||
def handle_params(%{"id" => id, "team-position" => team_position}, _, socket) do
|
def handle_params(%{"id" => id, "team-position" => team_position, "patch" => patch}, _, socket) do
|
||||||
{:noreply,
|
{:noreply,
|
||||||
socket
|
socket
|
||||||
|> assign(:page_title, page_title(socket.assigns.live_action))
|
|> assign(:page_title, page_title(socket.assigns.live_action))
|
||||||
|> assign(:champion, load_champion_info(id) |> ShowMapper.map_champion())
|
|> assign(:champion, load_champion_info(id))
|
||||||
|> assign(:summoner_spells, %{
|
|> assign(:summoner_spells, %{
|
||||||
summoner_spells: load_summoner_spells(id, team_position) |> ShowMapper.map_spells()
|
summoner_spells: load_summoner_spells(id, team_position)
|
||||||
})
|
})
|
||||||
|> load_items(id, team_position)}
|
|> load_items(id, team_position, patch)}
|
||||||
end
|
end
|
||||||
|
|
||||||
defp load_summoner_spells(champion_id, team_position) do
|
defp load_summoner_spells(champion_id, team_position) do
|
||||||
@ -29,13 +29,15 @@ defmodule LoLAnalyticsWeb.ChampionLive.Show do
|
|||||||
champion_id,
|
champion_id,
|
||||||
team_position
|
team_position
|
||||||
)
|
)
|
||||||
|
|> ShowMapper.map_spells()
|
||||||
end
|
end
|
||||||
|
|
||||||
defp load_items(socket, champion_id, team_position) do
|
defp load_items(socket, champion_id, team_position, patch) do
|
||||||
items =
|
items =
|
||||||
LolAnalytics.Facts.ChampionPickedItem.Repo.get_champion_picked_items(
|
LolAnalytics.Facts.ChampionPickedItem.Repo.get_champion_picked_items(
|
||||||
champion_id,
|
champion_id,
|
||||||
team_position
|
team_position,
|
||||||
|
patch
|
||||||
)
|
)
|
||||||
|
|
||||||
all_items_mapped = items |> ShowMapper.map_items() |> Enum.take(30)
|
all_items_mapped = items |> ShowMapper.map_items() |> Enum.take(30)
|
||||||
@ -48,6 +50,7 @@ defmodule LoLAnalyticsWeb.ChampionLive.Show do
|
|||||||
|
|
||||||
defp load_champion_info(champion_id) do
|
defp load_champion_info(champion_id) do
|
||||||
LolAnalytics.Dimensions.Champion.ChampionRepo.get_or_create(champion_id)
|
LolAnalytics.Dimensions.Champion.ChampionRepo.get_or_create(champion_id)
|
||||||
|
|> ShowMapper.map_champion()
|
||||||
end
|
end
|
||||||
|
|
||||||
defp page_title(:show), do: "Show Champion"
|
defp page_title(:show), do: "Show Champion"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user