bug fixed
This commit is contained in:
@@ -430,16 +430,44 @@ class Controller extends BaseController
|
||||
return 'گرم';
|
||||
}
|
||||
|
||||
/** مطابق ادمین: وزن «دارد» => amount != 1 ؛ «ندارد» => amount = 1 */
|
||||
/** مطابق ادمین: وزن «دارد» => amount > 0 ؛ «ندارد» => amount = 0 */
|
||||
public static function isMeltedTradeGroup(?string $groupType): bool
|
||||
{
|
||||
$group = trim((string) $groupType);
|
||||
|
||||
return in_array($group, ['آبشده', 'کاتد مس'], true);
|
||||
}
|
||||
|
||||
public static function hasProductUnitWeight(?array $product): bool
|
||||
{
|
||||
if (!$product || !isset($product['amount'])) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$amount = (float) $product['amount'];
|
||||
if (self::isMeltedTradeGroup($product['group_type'] ?? null)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return $amount > 0 && $amount !== 1.0;
|
||||
return (float) $product['amount'] > 0;
|
||||
}
|
||||
|
||||
/** ضریب قیمت محصول — بدون وزن قطعه همیشه ۱ */
|
||||
public static function productPriceMultiplier($product): float
|
||||
{
|
||||
$payload = is_array($product) ? $product : [
|
||||
'amount' => is_object($product) ? ($product->amount ?? null) : null,
|
||||
'unit' => is_object($product) ? ($product->unit ?? null) : null,
|
||||
'direct_price' => is_object($product) ? ($product->direct_price ?? null) : null,
|
||||
'group_type' => is_object($product) ? ($product->group_type ?? null) : null,
|
||||
];
|
||||
|
||||
if (!self::hasProductUnitWeight($payload)) {
|
||||
return 1.0;
|
||||
}
|
||||
|
||||
$amount = (float) ($payload['amount'] ?? 0);
|
||||
|
||||
return $amount > 0 ? $amount : 1.0;
|
||||
}
|
||||
|
||||
public function jibitNcode($nationalCode, $mobile)
|
||||
|
||||
Reference in New Issue
Block a user