
=== processPaidOrder() START for Invoice: 2025113 at 2025-11-09 20:11:24 ===
[INFO] invoice_type=REGISTRATION, payment_status=Paid
[INFO] Invoice qualifies for registration activation. customer_id=9 username=siti
[OK] Updated ahli.status for username=siti (affected rows=1)
[MODE] MLM Type detected: MATRIX | width=3 | levelLimit=10
[OK] Direct sponsor bonus RM10.00 inserted for mrguna
[SET] maxLevel used = 10
[SET] maxLevel used = 10
[DONE] processPaidOrder() completed for invoice_no=2025113

=== processPaidOrder() START for Invoice: 2025114 at 2025-11-09 20:47:13 ===
[INFO] invoice_type=REGISTRATION, payment_status=Paid
[INFO] Invoice qualifies for registration activation. customer_id=10 username=ayu
[OK] Updated ahli.status for username=ayu (affected rows=1)
[MODE] MLM Type detected: MATRIX | width=3 | levelLimit=10
[DEBUG] Before placement: penaja=9, upline_id=0
[DEBUG] Matrix mode: penaja=9 has 0 children (width=3)
[DEBUG] Final upline_id for customer_id=10 is 0
[OK] Direct sponsor bonus RM10.00 inserted for siti
[SET] maxLevel used = 10
[SET] maxLevel used = 10
[DONE] processPaidOrder() completed for invoice_no=2025114

=== processPaidOrder() START for Invoice: 2025116 at 2025-11-09 21:55:36 ===
[INFO] invoice_type=REGISTRATION, payment_status=Paid
[INFO] Invoice qualifies for registration activation. customer_id=12 username=emi
[OK] Updated ahli.status for username=emi (affected rows=1)
[MODE] MLM Type detected: MATRIX | width=3 | levelLimit=10
[DEBUG] Before placement: penaja=7, upline_id=0
[INFO] MATRIX: upline_id was 0. Auto-set to penaja (7) for customer_id=12
[DEBUG] MATRIX: Checking upline_id=7. Current children=3 (width=3)

=== processPaidOrder() START for Invoice: 2025115 at 2025-11-09 21:56:03 ===
[INFO] invoice_type=REGISTRATION, payment_status=Paid
[INFO] Invoice qualifies for registration activation. customer_id=11 username=kamal
[OK] Updated ahli.status for username=kamal (affected rows=1)
[MODE] MLM Type detected: MATRIX | width=3 | levelLimit=10
[DEBUG] Before placement: penaja=7, upline_id=0
[INFO] MATRIX: upline_id was 0. Auto-set to penaja (7) for customer_id=11
[DEBUG] MATRIX: Checking upline_id=7. Current children=4 (width=3)

=== processPaidOrder() START for Invoice: 2025116 at 2025-11-09 21:57:00 ===
[INFO] invoice_type=REGISTRATION, payment_status=Paid
[INFO] Invoice qualifies for registration activation. customer_id=12 username=emi
[OK] Updated ahli.status for username=emi (affected rows=0)
[MODE] MLM Type detected: MATRIX | width=3 | levelLimit=10
[DEBUG] Before placement: penaja=7, upline_id=7
[DEBUG] MATRIX: Checking upline_id=7. Current children=4 (width=3)

=== processPaidOrder() START for Invoice: 2025118 at 2025-11-10 10:22:41 ===
[INFO] invoice_type=REGISTRATION, payment_status=Paid
[INFO] Invoice qualifies for registration activation. customer_id=14 username=rahim
[OK] Updated ahli.status for username=rahim (affected rows=1)
[MODE] MLM Type detected: MATRIX | width=3 | levelLimit=10
[DEBUG] Before placement: penaja=9, upline_id=0
[DEBUG] MATRIX: Checking upline_id=9. Current children=2 (width=3)
[INFO] Matrix OK. Placed directly under sponsor upline_id=9
[DEBUG] Final upline_id for customer_id=14 is 9
[OK] Direct sponsor bonus RM10.00 inserted for siti
[SET] maxLevel used = 10
[SET] maxLevel used = 10
[OK] cash bonus Level 1 RM2 inserted for siti
[NOTIFY] Sending Notification Level 1 : Total RM2 for siti
[OK] cash bonus Level 2 RM2 inserted for mrguna
[NOTIFY] Sending Notification Level 2 : Total RM2 for mrguna
[TOTAL BONUS] RM4 credited to: mrguna,siti
[DONE] processPaidOrder() completed for invoice_no=2025118

=== processPaidOrder() START for Invoice: 2025117 at 2025-11-10 10:22:53 ===
[INFO] invoice_type=REGISTRATION, payment_status=Paid
[INFO] Invoice qualifies for registration activation. customer_id=13 username=akmal
[OK] Updated ahli.status for username=akmal (affected rows=1)
[MODE] MLM Type detected: MATRIX | width=3 | levelLimit=10
[DEBUG] Before placement: penaja=9, upline_id=0
[DEBUG] MATRIX: Checking upline_id=9. Current children=3 (width=3)
[DEBUG] findNextAvailablePlacement() START from upline_id=9 width=3
[DEBUG] Checking node 9 (children=3)
[DEBUG] Checking node 10 (children=0)
[DEBUG] Placement found at 10
[DEBUG] Next available placement found at upline_id=10
[INFO] Matrix full. Auto-reassigned upline_id to 10 for customer_id=13
[DEBUG] Final upline_id for customer_id=13 is 10
[OK] Direct sponsor bonus RM50.00 inserted for siti
[SET] maxLevel used = 10
[SET] maxLevel used = 10
[OK] cash bonus Level 1 RM2 inserted for ayu
[NOTIFY] Sending Notification Level 1 : Total RM2 for ayu
[OK] cash bonus Level 2 RM2 inserted for siti
[NOTIFY] Sending Notification Level 2 : Total RM2 for siti
[OK] cash bonus Level 3 RM2 inserted for mrguna
[NOTIFY] Sending Notification Level 3 : Total RM2 for mrguna
[TOTAL BONUS] RM6 credited to: mrguna,siti,ayu
[DONE] processPaidOrder() completed for invoice_no=2025117

=== processPaidOrder() START for Invoice: 2025119 at 2025-11-10 15:28:55 ===
[INFO] invoice_type=REGISTRATION, payment_status=Paid
[INFO] Invoice qualifies for registration activation. customer_id=15 username=NORA
[OK] Updated ahli.status for username=NORA (affected rows=1)
[MODE] MLM Type detected: MATRIX | width=3 | levelLimit=10
[DEBUG] Before placement: penaja=9, upline_id=0
[DEBUG] MATRIX: Checking upline_id=9. Current children=3 (width=3)
[DEBUG] findNextAvailablePlacement() START from upline_id=9 width=3
[DEBUG] Checking node 9 (children=3)
[DEBUG] Checking node 10 (children=1)
[DEBUG] Placement found at 10
[DEBUG] Next available placement found at upline_id=10
[INFO] Matrix full. Auto-reassigned upline_id to 10 for customer_id=15
[DEBUG] Final upline_id for customer_id=15 is 10
[OK] Direct sponsor bonus RM10.00 inserted for siti
[SET] maxLevel used = 10
[SET] maxLevel used = 10
[OK] cash bonus Level 1 RM2 inserted for ayu
[NOTIFY] Sending Notification Level 1 : Total RM2 for ayu
[OK] cash bonus Level 2 RM2 inserted for siti
[NOTIFY] Sending Notification Level 2 : Total RM2 for siti
[OK] cash bonus Level 3 RM2 inserted for mrguna
[NOTIFY] Sending Notification Level 3 : Total RM2 for mrguna
[TOTAL BONUS] RM6 credited to: mrguna,siti,ayu
[DONE] processPaidOrder() completed for invoice_no=2025119

=== processPaidOrder() START for Invoice: 20251110 at 2025-11-10 15:30:15 ===
[INFO] invoice_type=REGISTRATION, payment_status=Paid
[INFO] Invoice qualifies for registration activation. customer_id=16 username=ali
[OK] Updated ahli.status for username=ali (affected rows=1)
[MODE] MLM Type detected: MATRIX | width=3 | levelLimit=10
[DEBUG] Before placement: penaja=9, upline_id=0
[DEBUG] MATRIX: Checking upline_id=9. Current children=3 (width=3)
[DEBUG] findNextAvailablePlacement() START from upline_id=9 width=3
[DEBUG] Checking node 9 (children=3)
[DEBUG] Checking node 10 (children=2)
[DEBUG] Placement found at 10
[DEBUG] Next available placement found at upline_id=10
[INFO] Matrix full. Auto-reassigned upline_id to 10 for customer_id=16
[DEBUG] Final upline_id for customer_id=16 is 10
[OK] Direct sponsor bonus RM30.00 inserted for siti
[SET] maxLevel used = 10
[SET] maxLevel used = 10
[OK] cash bonus Level 1 RM2 inserted for ayu
[NOTIFY] Sending Notification Level 1 : Total RM2 for ayu
[OK] cash bonus Level 2 RM2 inserted for siti
[NOTIFY] Sending Notification Level 2 : Total RM2 for siti
[OK] cash bonus Level 3 RM2 inserted for mrguna
[NOTIFY] Sending Notification Level 3 : Total RM2 for mrguna
[TOTAL BONUS] RM6 credited to: mrguna,siti,ayu
[DONE] processPaidOrder() completed for invoice_no=20251110

=== processPaidOrder() START for Invoice: 20251111 at 2025-11-11 08:35:34 ===
[INFO] invoice_type=REGISTRATION, payment_status=Paid
[INFO] Invoice qualifies for registration activation. customer_id=17 username=badr
[OK] Updated ahli.status for username=badr (affected rows=1)
[MODE] MLM Type detected: UNILEVEL | width=0 | levelLimit=9
[DEBUG] Before placement: penaja=1, upline_id=0
[INFO] Unilevel: upline_id set = penaja (1)
[DEBUG] Final upline_id for customer_id=17 is 1
[SET] maxLevel used = 9
[SET] maxLevel used = 9
[DONE] processPaidOrder() completed for invoice_no=20251111

=== processPaidOrder() START for Invoice: 20251112 at 2025-11-11 08:59:23 ===
[INFO] invoice_type=REGISTRATION, payment_status=Paid
[INFO] Invoice qualifies for registration activation. customer_id=18 username=badr2
[OK] Updated ahli.status for username=badr2 (affected rows=1)
[MODE] MLM Type detected: UNILEVEL | width=0 | levelLimit=9
[DEBUG] Before placement: penaja=17, upline_id=0
[INFO] Unilevel: upline_id set = penaja (17)
[DEBUG] Final upline_id for customer_id=18 is 17
[OK] Direct sponsor bonus RM10.00 inserted for badr
[SET] maxLevel used = 9
[SET] maxLevel used = 9
[OK] cash bonus Level 1 RM2 inserted for badr
[NOTIFY] Sending Notification Level 1 : Total RM2 for badr
[TOTAL BONUS] RM2 credited to: badr
[DONE] processPaidOrder() completed for invoice_no=20251112
