Fix billing review follow-ups
Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/1e47877f-c80e-4514-bdff-2bd022c84f13 Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
This commit is contained in:
parent
439e57b333
commit
d3ba167d41
3 changed files with 9 additions and 9 deletions
|
|
@ -215,7 +215,7 @@ if ($stmt) {
|
|||
$invoice_duration = $durationInfo['invoice_duration'];
|
||||
$rate_type = $durationInfo['rate_type'];
|
||||
$stmt->bind_param(
|
||||
'iisisssssdsssssdissssddsi',
|
||||
'iisiissssdsssssssdissddsi',
|
||||
$esc_user_id,
|
||||
$esc_service_id,
|
||||
$home_name,
|
||||
|
|
|
|||
|
|
@ -123,7 +123,7 @@ function cap_invoice_ids_from_custom_id(?string $customId): array {
|
|||
return array_values(array_unique($invoiceIds));
|
||||
}
|
||||
|
||||
function cap_duration_metadata(array $invoice): array {
|
||||
function cap_get_duration_metadata(array $invoice): array {
|
||||
$duration = strtolower((string)($invoice['invoice_duration'] ?? $invoice['rate_type'] ?? 'month'));
|
||||
switch ($duration) {
|
||||
case 'day':
|
||||
|
|
@ -139,8 +139,8 @@ function cap_duration_metadata(array $invoice): array {
|
|||
}
|
||||
}
|
||||
|
||||
function cap_end_date(array $invoice, ?string $fromDate = null): string {
|
||||
$meta = cap_duration_metadata($invoice);
|
||||
function cap_get_end_date(array $invoice, ?string $fromDate = null): string {
|
||||
$meta = cap_get_duration_metadata($invoice);
|
||||
$qty = max(1, intval($invoice['qty'] ?? 1));
|
||||
$baseTs = time();
|
||||
if (!empty($fromDate)) {
|
||||
|
|
@ -279,7 +279,7 @@ foreach ($invoices as $inv) {
|
|||
$invoiceBase = round((float)($inv['subtotal'] ?? $inv['total_due'] ?? $inv['amount'] ?? 0), 2);
|
||||
$lineDiscount = round((float)($discountMap[$invoiceId] ?? 0), 2);
|
||||
$lineTotal = round(max(0, $invoiceBase - $lineDiscount), 2);
|
||||
$durationMeta = cap_duration_metadata($inv);
|
||||
$durationMeta = cap_get_duration_metadata($inv);
|
||||
|
||||
$invoiceUpdate = [
|
||||
'coupon_id' => $couponId,
|
||||
|
|
@ -319,7 +319,7 @@ foreach ($invoices as $inv) {
|
|||
// Existing order linked to this invoice — extend it and mark Active.
|
||||
$order = $repo->getOrder($orderId);
|
||||
if ($order) {
|
||||
$newEnd = cap_end_date($inv, $order['end_date'] ?? null);
|
||||
$newEnd = cap_get_end_date($inv, $order['end_date'] ?? null);
|
||||
$currentHomeId = intval($order['home_id'] ?? 0);
|
||||
$repo->updateOrderFields($orderId, [
|
||||
'status' => 'Active',
|
||||
|
|
@ -342,7 +342,7 @@ foreach ($invoices as $inv) {
|
|||
}
|
||||
} else {
|
||||
// No billing_orders row yet — create one now so the provisioner can run.
|
||||
$newEnd = cap_end_date($inv, null);
|
||||
$newEnd = cap_get_end_date($inv, null);
|
||||
$newOrderId = $repo->createOrder([
|
||||
'user_id' => intval($inv['user_id']),
|
||||
'service_id' => intval($inv['service_id']),
|
||||
|
|
|
|||
|
|
@ -99,7 +99,7 @@ require_once __DIR__ . '/classes/BillingService.php';
|
|||
|
||||
$repo = new BillingRepository($db, $table_prefix);
|
||||
$newOrderIds = [];
|
||||
$durationMeta = static function (array $invoice): array {
|
||||
$duration_meta = static function (array $invoice): array {
|
||||
$duration = strtolower((string)($invoice['invoice_duration'] ?? $invoice['rate_type'] ?? 'month'));
|
||||
switch ($duration) {
|
||||
case 'day':
|
||||
|
|
@ -119,7 +119,7 @@ foreach ($invoices as $inv) {
|
|||
$invoiceId = intval($inv['invoice_id']);
|
||||
$invoiceBase = round((float)($inv['subtotal'] ?? $inv['total_due'] ?? $inv['amount'] ?? 0), 2);
|
||||
$orderId = intval($inv['order_id'] ?? 0);
|
||||
$meta = $durationMeta($inv);
|
||||
$meta = $duration_meta($inv);
|
||||
|
||||
$repo->updateInvoiceFields($invoiceId, [
|
||||
'order_id' => $orderId,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue