88 lines
4.1 KiB
PHP
88 lines
4.1 KiB
PHP
<?php
|
|
|
|
namespace App\Services\System\Setting;
|
|
|
|
use App\Enums\OrderChannel;
|
|
use App\Settings\MarketplaceSettings;
|
|
|
|
class MarketplaceService
|
|
{
|
|
public function marketplaceData(): array
|
|
{
|
|
$settings = app(MarketplaceSettings::class);
|
|
|
|
return [
|
|
'tiktok_shop_enabled' => $settings->tiktok_shop_enabled,
|
|
'tiktok_shop_admin_fee' => $settings->tiktok_shop_admin_fee,
|
|
'tiktok_shop_transaction_fee' => $settings->tiktok_shop_transaction_fee,
|
|
'tiktok_shop_payment_fee' => $settings->tiktok_shop_payment_fee,
|
|
'tiktok_shop_affiliate_commission' => $settings->tiktok_shop_affiliate_commission,
|
|
'tiktok_shop_shipping_subsidy' => $settings->tiktok_shop_shipping_subsidy,
|
|
'tiktok_shop_vat_rate' => $settings->tiktok_shop_vat_rate,
|
|
'shopee_enabled' => $settings->shopee_enabled,
|
|
'shopee_commission_fee' => $settings->shopee_commission_fee,
|
|
'shopee_transaction_fee' => $settings->shopee_transaction_fee,
|
|
'shopee_service_fee' => $settings->shopee_service_fee,
|
|
'shopee_payment_fee' => $settings->shopee_payment_fee,
|
|
'shopee_affiliate_commission' => $settings->shopee_affiliate_commission,
|
|
'shopee_shipping_subsidy' => $settings->shopee_shipping_subsidy,
|
|
'shopee_voucher_fee' => $settings->shopee_voucher_fee,
|
|
];
|
|
}
|
|
|
|
public function updateMarketplace(array $validated): void
|
|
{
|
|
$settings = app(MarketplaceSettings::class);
|
|
|
|
$settings->tiktok_shop_enabled = $validated['tiktok_shop_enabled'];
|
|
$settings->tiktok_shop_admin_fee = $validated['tiktok_shop_admin_fee'];
|
|
$settings->tiktok_shop_transaction_fee = $validated['tiktok_shop_transaction_fee'];
|
|
$settings->tiktok_shop_payment_fee = $validated['tiktok_shop_payment_fee'];
|
|
$settings->tiktok_shop_affiliate_commission = $validated['tiktok_shop_affiliate_commission'];
|
|
$settings->tiktok_shop_shipping_subsidy = $validated['tiktok_shop_shipping_subsidy'];
|
|
$settings->tiktok_shop_vat_rate = $validated['tiktok_shop_vat_rate'];
|
|
|
|
$settings->shopee_enabled = $validated['shopee_enabled'];
|
|
$settings->shopee_commission_fee = $validated['shopee_commission_fee'];
|
|
$settings->shopee_transaction_fee = $validated['shopee_transaction_fee'];
|
|
$settings->shopee_service_fee = $validated['shopee_service_fee'];
|
|
$settings->shopee_payment_fee = $validated['shopee_payment_fee'];
|
|
$settings->shopee_affiliate_commission = $validated['shopee_affiliate_commission'];
|
|
$settings->shopee_shipping_subsidy = $validated['shopee_shipping_subsidy'];
|
|
$settings->shopee_voucher_fee = $validated['shopee_voucher_fee'];
|
|
|
|
$settings->save();
|
|
}
|
|
|
|
/**
|
|
* @return array<string, mixed>|null
|
|
*/
|
|
public function snapshotForChannel(OrderChannel $channel): ?array
|
|
{
|
|
$settings = app(MarketplaceSettings::class);
|
|
|
|
return match ($channel) {
|
|
OrderChannel::SHOPEE => [
|
|
'platform' => 'shopee',
|
|
'commission_fee' => $settings->shopee_commission_fee,
|
|
'transaction_fee' => $settings->shopee_transaction_fee,
|
|
'service_fee' => $settings->shopee_service_fee,
|
|
'payment_fee' => $settings->shopee_payment_fee,
|
|
'affiliate_commission' => $settings->shopee_affiliate_commission,
|
|
'shipping_subsidy' => $settings->shopee_shipping_subsidy,
|
|
'voucher_fee' => $settings->shopee_voucher_fee,
|
|
],
|
|
OrderChannel::TIKTOK => [
|
|
'platform' => 'tiktok',
|
|
'admin_fee' => $settings->tiktok_shop_admin_fee,
|
|
'transaction_fee' => $settings->tiktok_shop_transaction_fee,
|
|
'payment_fee' => $settings->tiktok_shop_payment_fee,
|
|
'affiliate_commission' => $settings->tiktok_shop_affiliate_commission,
|
|
'shipping_subsidy' => $settings->tiktok_shop_shipping_subsidy,
|
|
'vat_rate' => $settings->tiktok_shop_vat_rate,
|
|
],
|
|
OrderChannel::STORE => null,
|
|
};
|
|
}
|
|
}
|