-mengubah validasi username dari alpha_dash menjad alpha_num -membuat method untuk generate kode nya di string helper
54 lines
1.4 KiB
PHP
54 lines
1.4 KiB
PHP
<?php
|
|
|
|
use App\Enums\VoucherType;
|
|
use Illuminate\Support\Number;
|
|
use Illuminate\Support\Str;
|
|
|
|
if (! function_exists('currency')) {
|
|
function currency(?string $value = null, ?string $currency = null, ?string $locale = 'id_ID'): string
|
|
{
|
|
if ($value === null) {
|
|
return '';
|
|
}
|
|
|
|
return $currency.Number::format($value, locale: $locale);
|
|
}
|
|
}
|
|
|
|
if (! function_exists('replaceCurrency')) {
|
|
function replaceCurrency(?string $value = null)
|
|
{
|
|
if ($value === null) {
|
|
return null;
|
|
}
|
|
|
|
return (int) Str::replace('.', '', $value);
|
|
}
|
|
}
|
|
|
|
if (! function_exists('percentage')) {
|
|
function percentage(int|float $value, int $precision = 2, int $maxPrecision = 2, ?string $locale = 'id_ID'): string
|
|
{
|
|
return Number::percentage($value, $precision, $maxPrecision, $locale);
|
|
}
|
|
}
|
|
|
|
if (! function_exists('formatDiscount')) {
|
|
function formatDiscount($amount, VoucherType $type, string $currency = 'Rp'): string
|
|
{
|
|
return $type === VoucherType::PERCENTAGE
|
|
? percentage($amount)
|
|
: currency($amount, $currency);
|
|
}
|
|
}
|
|
|
|
if (! function_exists('generateReferralCode')) {
|
|
function generateReferralCode(string $username, int $unique): string
|
|
{
|
|
$prefix = Str::substr($username, 0, 6);
|
|
$year = date('y');
|
|
|
|
return Str::upper($prefix).$year.$unique;
|
|
}
|
|
}
|