Skip to content

Commit a8c5a68

Browse files
authored
Merge pull request #3656 from bakaphp/hotfix-status
hotfix: status
2 parents 3f36839 + df36d14 commit a8c5a68

File tree

2 files changed

+19
-4
lines changed

2 files changed

+19
-4
lines changed

app/Console/Commands/Connectors/ESim/SyncEsimWithProviderCommand.php

+7-4
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
use Kanvas\Companies\Models\Companies;
1515
use Kanvas\Connectors\CMLink\Enums\PlanTypeEnum;
1616
use Kanvas\Connectors\CMLink\Services\CustomerService;
17-
use Kanvas\Connectors\CMLink\Services\OrderService as ServicesOrderService;
1817
use Kanvas\Connectors\EasyActivation\Services\OrderService;
1918
use Kanvas\Connectors\ESim\DataTransferObject\ESimStatus;
2019
use Kanvas\Connectors\ESim\Enums\ConfigurationEnum;
@@ -225,6 +224,7 @@ private function formatCmLinkResponse(Message $message, array $response, Custome
225224
}
226225
}
227226
$activePlan = $plan;
227+
228228
break;
229229
}
230230
}
@@ -234,6 +234,7 @@ private function formatCmLinkResponse(Message $message, array $response, Custome
234234
foreach ($userPlans['userDataBundles'] as $plan) {
235235
if ($plan['status'] == 1) {
236236
$activePlan = $plan;
237+
237238
break;
238239
}
239240
}
@@ -242,7 +243,9 @@ private function formatCmLinkResponse(Message $message, array $response, Custome
242243

243244
$installedDate = $response['installTime'] ?? (! empty($message->message['order']['created_at']) ? $message->message['order']['created_at'] : now()->format('Y-m-d H:i:s'));
244245
$status = strtolower($response['state']);
245-
$isActive = IccidStatusEnum::getStatus($status) == 'active';
246+
247+
$isActive = isset($activePlan['status']) ? IccidStatusEnum::getStatusById($activePlan['status']) == 'active' : IccidStatusEnum::getStatus($status) == 'active';
248+
//$isActive = IccidStatusEnum::getStatus($status) == 'active';
246249

247250
$activationDate = null;
248251
if ($iccid && $isActive && $activePlan) {
@@ -324,14 +327,15 @@ private function formatCmLinkResponse(Message $message, array $response, Custome
324327
$message->setPrivate();
325328
}
326329

330+
$bundleStatus = isset($activePlan) ? IccidStatusEnum::getStatusById($activePlan['status']) : IccidStatusEnum::getStatus(strtolower($response['state']));
327331
$esimStatus = new ESimStatus(
328332
id: $response['activationCode'],
329333
callTypeGroup: 'data',
330334
initialQuantity: $totalBytesData,
331335
remainingQuantity: $remainingData,
332336
assignmentDateTime: $installedDate,
333337
assignmentReference: $response['activationCode'],
334-
bundleState: IccidStatusEnum::getStatus(strtolower($response['state'])),
338+
bundleState: $bundleStatus,
335339
unlimited: $variant->getAttributeBySlug('variant-type')?->value === PlanTypeEnum::UNLIMITED->value,
336340
expirationDate: $expirationDate,
337341
imei: $message->message['data']['imei_number'] ?? null,
@@ -343,7 +347,6 @@ private function formatCmLinkResponse(Message $message, array $response, Custome
343347
);
344348

345349
$esimStatusArray = $esimStatus->toArray();
346-
347350
// Check and send notifications if needed
348351
$this->checkAndSendNotifications($message, $esimStatusArray, $isValidState);
349352

src/Domains/Connectors/ESimGo/Enums/IccidStatusEnum.php

+12
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ enum IccidStatusEnum: string
1414
case ACTIVE = 'active';
1515
case UNAVAILABLE = 'unavailable';
1616
case INACTIVE = 'inactive';
17+
case REFUND = 'refund';
1718
case EXPIRED = 'expired';
1819
case RELEASED = 'released';
1920
case DELETED = 'delete';
@@ -56,4 +57,15 @@ public static function getStatus(string $string): string
5657
default => '',
5758
};
5859
}
60+
61+
public static function getStatusById(string|int $id): string
62+
{
63+
return match ($id) {
64+
1 => self::PENDING->value,
65+
2 => self::EXPIRED->value,
66+
3 => self::ACTIVE->value,
67+
99 => self::REFUND->value,
68+
default => '',
69+
};
70+
}
5971
}

0 commit comments

Comments
 (0)