Changes between Version 2 and Version 3 of Faza2
- Timestamp:
- 06/11/26 13:43:01 (5 days ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Faza2
v2 v3 21 21 1. '''new_event_ticket_sales_status''' 22 22 * '''Опис:''' Овој поглед врши агрегација на продадени билети по настан и сектор. Се користи за генерирање извештаи за пополнетост на капацитетот на објектите. 23 {{{ 24 CREATE OR REPLACE VIEW public.new_event_ticket_sales_status 25 AS WITH preaggregatedtickets AS ( 26 SELECT ticket.event_event_id, 27 ticket.section_section_id, 28 count(ticket.ticket_id) AS sold_per_section 29 FROM ticket 30 WHERE ticket.refund_refund_id IS NULL 31 GROUP BY ticket.event_event_id, ticket.section_section_id 32 ) 33 SELECT e.event_id, 34 e.title, 35 v.capacity AS total_capacity, 36 sum(pat.sold_per_section) OVER (PARTITION BY e.event_id)::bigint AS total_sold, 37 (v.capacity::numeric - sum(pat.sold_per_section) OVER (PARTITION BY e.event_id))::bigint AS tickets_remaining, 38 s.section_name, 39 COALESCE(pat.sold_per_section, 0::bigint) AS sold_per_section 40 FROM event e 41 JOIN venue v ON e.venue_venue_id = v.venue_id 42 LEFT JOIN preaggregatedtickets pat ON e.event_id = pat.event_event_id 43 LEFT JOIN section s ON pat.section_section_id = s.section_id; 44 }}} 23 45 2. '''new_user_ticket_history''' 24 46 * '''Опис:''' Погледот ги поврзува корисниците, резервациите, билетите и настаните за да прикаже детална историја на купени билети, цени и статус на настаните. Клучен е за приказ на корисничкиот профил. 47 {{{ 48 CREATE OR REPLACE VIEW public.new_user_ticket_history 49 AS SELECT u.user_id, 50 u.username, 51 t.ticket_id, 52 t.price, 53 t.is_used, 54 e.title AS event_title, 55 e.date AS event_date, 56 r.status AS reservation_status, 57 CASE 58 WHEN e.date < CURRENT_DATE THEN 'Past Event'::text 59 ELSE 'Upcoming Event'::text 60 END AS event_status 61 FROM "User" u 62 JOIN reservation r ON u.user_id = r.user_user_id 63 JOIN ticket t ON r.reservation_id = t.reservation_reservation_id 64 JOIN event e ON t.event_event_id = e.event_id; 65 }}} 25 66 3. '''new_active_events_3_months''' 26 67 * '''Опис:''' Погледот служи за брзо дофаќање на сите активни настани во наредните 3 месеци и се користи за приказ на претстојните случувања на почетната страна. 68 {{{ 69 CREATE OR REPLACE VIEW public.new_active_events_3_months 70 AS SELECT e.event_id, 71 e.title, 72 e.event_type, 73 e.date, 74 v.venue_name, 75 c.city_name 76 FROM event e 77 JOIN venue v ON e.venue_venue_id = v.venue_id 78 JOIN city c ON v.city_city_id = c.city_id 79 WHERE e.date >= CURRENT_DATE AND e.date <= (CURRENT_DATE + '3 mons'::interval) 80 ORDER BY e.date; 81 }}}
