added percent in product price 2
This commit is contained in:
@@ -667,6 +667,35 @@ class ProductController extends SuperController
|
||||
$data['override_trading_hours'] = !empty($data['override_trading_hours']);
|
||||
}
|
||||
|
||||
$data['cash_fee_buy'] = $this->normalizeCashFeeValue($data['cash_fee_buy'] ?? 0);
|
||||
$data['cash_fee_sell'] = $this->normalizeCashFeeValue($data['cash_fee_sell'] ?? 0);
|
||||
|
||||
if (Product::hasCashFeePercentModeColumns()) {
|
||||
$data['cash_fee_buy_is_percent'] = filter_var(
|
||||
$data['cash_fee_buy_is_percent'] ?? false,
|
||||
FILTER_VALIDATE_BOOLEAN
|
||||
);
|
||||
$data['cash_fee_sell_is_percent'] = filter_var(
|
||||
$data['cash_fee_sell_is_percent'] ?? false,
|
||||
FILTER_VALIDATE_BOOLEAN
|
||||
);
|
||||
} else {
|
||||
unset($data['cash_fee_buy_is_percent'], $data['cash_fee_sell_is_percent']);
|
||||
}
|
||||
|
||||
return $data;
|
||||
}
|
||||
|
||||
private function normalizeCashFeeValue(mixed $value): float
|
||||
{
|
||||
if ($value === null || $value === '') {
|
||||
return 0.0;
|
||||
}
|
||||
|
||||
if (is_string($value)) {
|
||||
$value = str_replace([',', ' ', '٬'], '', $value);
|
||||
}
|
||||
|
||||
return (float) $value;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -353,8 +353,8 @@ class Product extends Model
|
||||
'order_limit_enabled' => 'boolean',
|
||||
'min_order_cash' => 'int',
|
||||
'max_order_cash' => 'int',
|
||||
'cash_fee_buy' => 'int', // Cast to int or decimal if needed
|
||||
'cash_fee_sell' => 'int', // Cast to int or decimal if needed
|
||||
'cash_fee_buy' => 'float',
|
||||
'cash_fee_sell' => 'float',
|
||||
'cash_fee_buy_is_percent' => 'boolean',
|
||||
'cash_fee_sell_is_percent' => 'boolean',
|
||||
'price_offset_percent' => 'float',
|
||||
|
||||
Reference in New Issue
Block a user