From 944d3f0b7dc23744bd2655e900a3d8f5b82a888f Mon Sep 17 00:00:00 2001 From: moveson Date: Thu, 19 Dec 2024 17:39:21 -0700 Subject: [PATCH] Update division rankings view to handle withdrawn entrants --- app/models/lotteries/division_ranking.rb | 1 + ...otteries_division_rankings_to_version_2.rb | 5 +++ db/schema.rb | 10 ++++-- db/views/lotteries_division_rankings_v02.sql | 33 ++++++++++++++++++ erd.pdf | Bin 77525 -> 77448 bytes spec/models/lottery_division_spec.rb | 9 +++++ 6 files changed, 56 insertions(+), 2 deletions(-) create mode 100644 db/migrate/20241220002632_update_lotteries_division_rankings_to_version_2.rb create mode 100644 db/views/lotteries_division_rankings_v02.sql diff --git a/app/models/lotteries/division_ranking.rb b/app/models/lotteries/division_ranking.rb index 3c8e6dd63..bee45807f 100644 --- a/app/models/lotteries/division_ranking.rb +++ b/app/models/lotteries/division_ranking.rb @@ -12,6 +12,7 @@ class Lotteries::DivisionRanking < ApplicationRecord waitlisted: 1, drawn_beyond_waitlist: 2, not_drawn: 3, + withdrawn: 4, } end diff --git a/db/migrate/20241220002632_update_lotteries_division_rankings_to_version_2.rb b/db/migrate/20241220002632_update_lotteries_division_rankings_to_version_2.rb new file mode 100644 index 000000000..453fd63bc --- /dev/null +++ b/db/migrate/20241220002632_update_lotteries_division_rankings_to_version_2.rb @@ -0,0 +1,5 @@ +class UpdateLotteriesDivisionRankingsToVersion2 < ActiveRecord::Migration[7.0] + def change + update_view :lotteries_division_rankings, version: 2, revert_to_version: 1 + end +end diff --git a/db/schema.rb b/db/schema.rb index 514175762..54e436acf 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema[7.0].define(version: 2024_12_19_195819) do +ActiveRecord::Schema[7.0].define(version: 2024_12_20_002632) do # These are extensions that must be enabled in order to support this database enable_extension "fuzzystrmatch" enable_extension "pg_trgm" @@ -1041,7 +1041,12 @@ FROM ((lottery_tickets JOIN lottery_draws ON ((lottery_draws.lottery_ticket_id = lottery_tickets.id))) JOIN lottery_entrants lottery_entrants_1 ON ((lottery_entrants_1.id = lottery_tickets.lottery_entrant_id))) - WINDOW division_window AS (PARTITION BY lottery_entrants_1.lottery_division_id ORDER BY lottery_draws.created_at) + WINDOW division_window AS (PARTITION BY lottery_entrants_1.lottery_division_id ORDER BY + CASE + WHEN ((lottery_entrants_1.withdrawn IS FALSE) OR (lottery_entrants_1.withdrawn IS NULL)) THEN 0 + WHEN (lottery_entrants_1.withdrawn IS TRUE) THEN 1 + ELSE NULL::integer + END, lottery_draws.created_at) ) SELECT lottery_entrants.id AS lottery_entrant_id, lottery_divisions.name AS division_name, @@ -1049,6 +1054,7 @@ CASE WHEN (ranked_draws.division_rank <= lottery_divisions.maximum_entries) THEN 0 WHEN (ranked_draws.division_rank <= (lottery_divisions.maximum_entries + lottery_divisions.maximum_wait_list)) THEN 1 + WHEN lottery_entrants.withdrawn THEN 4 WHEN (ranked_draws.division_rank IS NOT NULL) THEN 2 ELSE 3 END AS draw_status diff --git a/db/views/lotteries_division_rankings_v02.sql b/db/views/lotteries_division_rankings_v02.sql new file mode 100644 index 000000000..ad64bb571 --- /dev/null +++ b/db/views/lotteries_division_rankings_v02.sql @@ -0,0 +1,33 @@ +with ranked_draws as ( + select lottery_tickets.lottery_entrant_id, + rank() over division_window as division_rank + from lottery_tickets + join lottery_draws on lottery_draws.lottery_ticket_id = lottery_tickets.id + join lottery_entrants on lottery_entrants.id = lottery_tickets.lottery_entrant_id + window division_window as ( + partition by lottery_entrants.lottery_division_id + order by case + when withdrawn is false or withdrawn is null then 0 + when withdrawn is true then 1 end, + lottery_draws.created_at + ) + ) + +select lottery_entrants.id as lottery_entrant_id, + lottery_divisions.name as division_name, + division_rank, +-- accepted: 0 +-- waitlisted: 1 +-- drawn_beyond_waitlist: 2 +-- not_drawn: 3 +-- withdrawn: 4 + case + when division_rank <= maximum_entries then 0 + when division_rank <= maximum_entries + maximum_wait_list then 1 + when lottery_entrants.withdrawn then 4 + when division_rank is not null then 2 + else 3 end as draw_status +from lottery_entrants + left join ranked_draws on ranked_draws.lottery_entrant_id = lottery_entrants.id + join lottery_divisions on lottery_entrants.lottery_division_id = lottery_divisions.id +; diff --git a/erd.pdf b/erd.pdf index 0d1456085fb383b6fa5d4416197372305b0a58e7..fc4daf30cc1fde19189cafa49497f5d22398ed4d 100644 GIT binary patch delta 31958 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 Ll2TGh3hw^{W51no diff --git a/spec/models/lottery_division_spec.rb b/spec/models/lottery_division_spec.rb index a88e1bae5..582fa00a0 100644 --- a/spec/models/lottery_division_spec.rb +++ b/spec/models/lottery_division_spec.rb @@ -143,6 +143,15 @@ expect(result.count).to eq(subject.maximum_entries) expect(result).to all be_a(LotteryEntrant) end + + context "when one of the entrants has withdrawn" do + let(:withdrawn_entrant) { subject.entrants.accepted.first } + before { withdrawn_entrant.update(withdrawn: true) } + + it "does not include the withdrawn entrant" do + expect(result).not_to include(withdrawn_entrant) + end + end end context "when some accepted entrants have been drawn" do