22
33namespace HiEvents \Services \Domain \Report \Reports ;
44
5+ use HiEvents \DomainObjects \Status \OrderStatus ;
56use HiEvents \Services \Domain \Report \AbstractReportService ;
67use Illuminate \Support \Carbon ;
78
@@ -11,6 +12,13 @@ protected function getSqlQuery(Carbon $startDate, Carbon $endDate): string
1112 {
1213 $ startDateString = $ startDate ->format ('Y-m-d H:i:s ' );
1314 $ endDateString = $ endDate ->format ('Y-m-d H:i:s ' );
15+ $ reservedString = OrderStatus::RESERVED ->name ;
16+ $ translatedStringMap = [
17+ 'Expired ' => __ ('Expired ' ),
18+ 'Limit Reached ' => __ ('Limit Reached ' ),
19+ 'Deleted ' => __ ('Deleted ' ),
20+ 'Active ' => __ ('Active ' ),
21+ ];
1422
1523 return <<<SQL
1624 WITH order_totals AS (
@@ -27,7 +35,7 @@ protected function getSqlQuery(Carbon $startDate, Carbon $endDate): string
2735 JOIN order_items oi ON oi.order_id = o.id
2836 WHERE
2937 o.deleted_at IS NULL
30- AND o.status NOT IN ('RESERVED ')
38+ AND o.status NOT IN (' $ reservedString ')
3139 AND o.event_id = :event_id
3240 AND o.created_at >= ' $ startDateString'
3341 AND o.created_at <= ' $ endDateString'
@@ -67,10 +75,10 @@ protected function getSqlQuery(Carbon $startDate, Carbon $endDate): string
6775 THEN pc.max_allowed_usages - COUNT(ot.order_id)::integer
6876 END as remaining_uses,
6977 CASE
70- WHEN pc.expiry_date < CURRENT_TIMESTAMP THEN 'Expired'
71- WHEN pc.max_allowed_usages IS NOT NULL AND COUNT(ot.order_id) >= pc.max_allowed_usages THEN 'Limit Reached'
72- WHEN pc.deleted_at IS NOT NULL THEN 'Deleted'
73- ELSE 'Active'
78+ WHEN pc.expiry_date < CURRENT_TIMESTAMP THEN ' { $ translatedStringMap [ ' Expired ' ]} '
79+ WHEN pc.max_allowed_usages IS NOT NULL AND COUNT(ot.order_id) >= pc.max_allowed_usages THEN ' { $ translatedStringMap [ ' Limit Reached ' ]} '
80+ WHEN pc.deleted_at IS NOT NULL THEN ' { $ translatedStringMap [ ' Deleted ' ]} '
81+ ELSE ' { $ translatedStringMap [ ' Active ' ]} '
7482 END as status
7583 FROM promo_codes pc
7684 LEFT JOIN order_totals ot ON pc.id = ot.promo_code_id
0 commit comments