2
2
3
3
namespace HiEvents \Services \Domain \Report \Reports ;
4
4
5
+ use HiEvents \DomainObjects \Status \OrderStatus ;
5
6
use HiEvents \Services \Domain \Report \AbstractReportService ;
6
7
use Illuminate \Support \Carbon ;
7
8
@@ -11,6 +12,13 @@ protected function getSqlQuery(Carbon $startDate, Carbon $endDate): string
11
12
{
12
13
$ startDateString = $ startDate ->format ('Y-m-d H:i:s ' );
13
14
$ 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
+ ];
14
22
15
23
return <<<SQL
16
24
WITH order_totals AS (
@@ -27,7 +35,7 @@ protected function getSqlQuery(Carbon $startDate, Carbon $endDate): string
27
35
JOIN order_items oi ON oi.order_id = o.id
28
36
WHERE
29
37
o.deleted_at IS NULL
30
- AND o.status NOT IN ('RESERVED ')
38
+ AND o.status NOT IN (' $ reservedString ')
31
39
AND o.event_id = :event_id
32
40
AND o.created_at >= ' $ startDateString'
33
41
AND o.created_at <= ' $ endDateString'
@@ -67,10 +75,10 @@ protected function getSqlQuery(Carbon $startDate, Carbon $endDate): string
67
75
THEN pc.max_allowed_usages - COUNT(ot.order_id)::integer
68
76
END as remaining_uses,
69
77
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 ' ]} '
74
82
END as status
75
83
FROM promo_codes pc
76
84
LEFT JOIN order_totals ot ON pc.id = ot.promo_code_id
0 commit comments