Skip to content

Commit e07cdd4

Browse files
authored
Merge pull request #3657 from bakaphp/development
v1.35.5
2 parents 1eb4505 + a8c5a68 commit e07cdd4

File tree

10 files changed

+83
-18
lines changed

10 files changed

+83
-18
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

app/Console/Commands/Connectors/PromptMine/FixPromptDataCommand.php

+39-2
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ private function SyncPromptData(Apps $app, MessageType $messageType, MessageType
7474
continue;
7575
}
7676

77+
//Need to get just the first child message
7778
foreach ($message->children as $childMessage) {
7879
$validateMessageSchema = new MessageSchemaValidator($childMessage, $childMessageType, true);
7980
$this->info('--Checking Child Nugget Message Schema of ID: ' . $childMessage->getId());
@@ -187,7 +188,13 @@ private function fixNuggetData(Message $message): void
187188

188189
if (! isset($messageData['title']) && isset($parentMessageData['title'])) {
189190
$messageData['title'] = $parentMessageData['title'];
190-
$this->info('Added message title to message data' . $messageData['title']);
191+
$this->info('Added message title to message data ' . $messageData['title']);
192+
}
193+
194+
//This comes from old memo data.
195+
if (isset($messageData['type']['name'])) {
196+
unset($messageData['type']);
197+
$this->info('Removed type from message data');
191198
}
192199

193200
if (! isset($messageData['type']) && isset($parentMessageData['type'])) {
@@ -203,10 +210,40 @@ private function fixNuggetData(Message $message): void
203210
$messageData['nugget'] = $responseText;
204211
}
205212

206-
$this->info('Added message type to message data' . $messageData['type']);
213+
$this->info('Added message type to message data: ' . $messageData['type']);
207214
$this->info('Added message nugget to message data');
208215
}
209216

217+
if (isset($messageData['display_type'])) {
218+
unset($messageData['display_type']);
219+
$this->info('Removed display_type from message data');
220+
}
221+
222+
if (isset($messageData['parts'])) {
223+
unset($messageData['parts']);
224+
$this->info('Removed parts from message data');
225+
}
226+
227+
if (isset($messageData['description'])) {
228+
unset($messageData['description']);
229+
$this->info('Removed description from message data');
230+
}
231+
232+
if (isset($messageData['created_at'])) {
233+
unset($messageData['created_at']);
234+
$this->info('Removed created_at from message data');
235+
}
236+
237+
if (isset($messageData['updated_at'])) {
238+
unset($messageData['updated_at']);
239+
$this->info('Removed updated_at from message data');
240+
}
241+
242+
if (isset($messageData['ai_model'])) {
243+
unset($messageData['ai_model']);
244+
$this->info('Removed ai_model from message data');
245+
}
246+
210247
// if (isset($messageData['ai_nugged'])) {
211248
// unset($messageData['ai_nugged']);
212249
// $this->info('Removed ai_nugged from message data');

app/Console/Commands/Connectors/Shopify/ShopifyInventoryDownloadCommand.php

+5-2
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
use Kanvas\Connectors\Shopify\Actions\DownloadAllShopifyProductsAction;
1111
use Kanvas\Inventory\Channels\Models\Channels;
1212
use Kanvas\Inventory\Warehouses\Models\Warehouses;
13+
use Kanvas\Regions\Models\Regions;
1314

1415
class ShopifyInventoryDownloadCommand extends Command
1516
{
@@ -18,7 +19,7 @@ class ShopifyInventoryDownloadCommand extends Command
1819
*
1920
* @var string
2021
*/
21-
protected $signature = 'kanvas:inventory-download-from-shopify-sync {app_id} {branch_id} {warehouse_id} {channel_id?} {--sku=} {--product_id=} {--handle=}';
22+
protected $signature = 'kanvas:inventory-download-from-shopify-sync {app_id} {branch_id} {warehouse_id} {channel_id?} {region_id?} {--sku=} {--product_id=} {--handle=}';
2223

2324
/**
2425
* The console command description.
@@ -38,13 +39,15 @@ public function handle()
3839
$branch = CompaniesBranches::getById((int) $this->argument('branch_id'));
3940
$warehouse = Warehouses::fromApp($app)->fromCompany($branch->company)->where('id', $this->argument('warehouse_id'))->firstOrFail();
4041
$channel = $this->argument('channel_id') ? Channels::fromApp($app)->fromCompany($branch->company)->where('id', $this->argument('channel_id'))->firstOrFail() : null;
42+
$region = $this->argument('region_id') ? Regions::fromApp($app)->fromCompany($branch->company)->where('id', $this->argument('region_id'))->firstOrFail() : null;
4143

4244
$downloadProduct = new DownloadAllShopifyProductsAction(
4345
$warehouse->app,
4446
$warehouse,
4547
$branch,
4648
$branch->company->user,
47-
$channel
49+
$channel,
50+
$region
4851
);
4952

5053
$params = [];

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
}

src/Domains/Connectors/Recombee/Actions/GenerateWhoToFollowRecommendationsAction.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ public function execute(UserInterface $user, int $pageSize = 10, string $scenari
2626

2727
$response = $recommendationService->getUserToUserRecommendation($user, $pageSize, $scenario);
2828

29-
$entityIds = collect($response)
29+
$entityIds = collect($response['recomms'])
3030
->pluck('id')
3131
->unique()
3232
->filter()

src/Domains/Connectors/Recombee/Services/RecombeeUserRecommendationService.php

+2
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,8 @@ public function getUserRecommendation(
7272
$options = array_merge([
7373
'scenario' => $scenario,
7474
'cascadeCreate' => true,
75+
'rotationRate' => $this->app->get('for-you-feed-rotation-rate') ?? 0.1, // a float from 0 to 1
76+
'rotationTime' => $this->app->get('for-you-feed-rotation-time-seconds') ?? 3600, // In seconds
7577
//'filter' => "not ('itemId' in user_interactions(context_user[\"userId\"], {\"detail_views\",\"ratings\"})) ",
7678
], $additionalOptions);
7779

src/Domains/Connectors/Shopify/Actions/DownloadAllShopifyProductsAction.php

+6-4
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
use Kanvas\Inventory\Channels\Models\Channels;
1313
use Kanvas\Inventory\Importer\Jobs\ProductImporterJob;
1414
use Kanvas\Inventory\Warehouses\Models\Warehouses;
15+
use Kanvas\Regions\Models\Regions;
1516
use Kanvas\Users\Models\Users;
1617
use PHPShopify\ShopifySDK;
1718

@@ -22,7 +23,8 @@ public function __construct(
2223
protected Warehouses $warehouses,
2324
protected CompaniesBranches $branch,
2425
protected Users $user,
25-
protected ?Channels $channel = null
26+
protected ?Channels $channel = null,
27+
protected ?Regions $region = null
2628
) {
2729
}
2830

@@ -31,7 +33,7 @@ public function execute(array $params = []): int
3133
$shopify = Client::getInstance(
3234
$this->app,
3335
$this->warehouses->company,
34-
$this->warehouses->region
36+
$this->region ?? $this->warehouses->region
3537
);
3638

3739
if (isset($params['sku']) && ! empty($params['sku'])) {
@@ -52,7 +54,7 @@ public function execute(array $params = []): int
5254
$productsToImport,
5355
$this->branch,
5456
$this->user,
55-
$this->warehouses->region,
57+
$this->region ?? $this->warehouses->region,
5658
$this->app
5759
);
5860
}
@@ -158,7 +160,7 @@ private function mapProduct(array $shopifyProduct): array
158160
$service = new ShopifyProductService(
159161
$this->app,
160162
$this->warehouses->company,
161-
$this->warehouses->region,
163+
$this->region ?? $this->warehouses->region,
162164
$shopifyProduct['id'],
163165
$this->user,
164166
$this->warehouses,

src/Domains/Connectors/Shopify/Client.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
use Kanvas\Connectors\Shopify\Enums\CustomFieldEnum;
1010
use Kanvas\Connectors\Shopify\Services\ShopifyConfigurationService;
1111
use Kanvas\Exceptions\ValidationException;
12-
use Kanvas\Inventory\Regions\Models\Regions;
12+
use Kanvas\Regions\Models\Regions;
1313
use Kanvas\Souk\Services\B2BConfigurationService;
1414
use PHPShopify\ShopifySDK;
1515

src/Domains/Social/Messages/Observers/UserMessageObserver.php

+9-3
Original file line numberDiff line numberDiff line change
@@ -11,16 +11,22 @@ class UserMessageObserver
1111
{
1212
public function created(UserMessage $userMessage): void
1313
{
14-
(new UpdateInteractionCount($userMessage->message))->execute();
14+
if ($userMessage->message) {
15+
(new UpdateInteractionCount($userMessage->message))->execute();
16+
}
1517
}
1618

1719
public function updated(UserMessage $userMessage): void
1820
{
19-
(new UpdateInteractionCount($userMessage->message))->execute();
21+
if ($userMessage->message) {
22+
(new UpdateInteractionCount($userMessage->message))->execute();
23+
}
2024
}
2125

2226
public function deleted(UserMessage $userMessage): void
2327
{
24-
(new UpdateInteractionCount($userMessage->message))->execute();
28+
if ($userMessage->message) {
29+
(new UpdateInteractionCount($userMessage->message))->execute();
30+
}
2531
}
2632
}

src/Kanvas/Imports/AbstractImporterJob.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
use Kanvas\Companies\Models\Companies;
1919
use Kanvas\Companies\Models\CompaniesBranches;
2020
use Kanvas\Filesystem\Models\FilesystemImports;
21-
use Kanvas\Inventory\Regions\Models\Regions;
21+
use Kanvas\Regions\Models\Regions;
2222

2323
abstract class AbstractImporterJob implements ShouldQueue, ShouldBeUnique
2424
{

0 commit comments

Comments
 (0)