feat(server): store and apply negative special price profits

Keep signed buy/sell extras so discounts work on quotes and orders, and ignore the nested user clone in this repo.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-08-17 13:11:00 +03:30
co-authored by Cursor
parent bd8284e4f8
commit 7d405cb83b
6 changed files with 64 additions and 14 deletions
@@ -142,17 +142,17 @@ class CustomerSpecialPricingService
$buyExtra = (int) ($rule['profit_buy'] ?? 0);
$sellExtra = (int) ($rule['profit_sell'] ?? 0);
if (isset($payload['buy']) && (int) $payload['buy'] > 0 && $buyExtra > 0) {
$payload['buy'] = (int) $payload['buy'] + $buyExtra;
if (isset($payload['buy']) && (int) $payload['buy'] > 0 && $buyExtra !== 0) {
$payload['buy'] = max(0, (int) $payload['buy'] + $buyExtra);
}
if (isset($payload['sell']) && (int) $payload['sell'] > 0 && $sellExtra > 0) {
if (isset($payload['sell']) && (int) $payload['sell'] > 0 && $sellExtra !== 0) {
$payload['sell'] = max(0, (int) $payload['sell'] - $sellExtra);
}
if (isset($payload['price_last']) && (int) $payload['price_last'] > 0 && $buyExtra > 0) {
$payload['price_last'] = (int) $payload['price_last'] + $buyExtra;
if (isset($payload['price_last']) && (int) $payload['price_last'] > 0 && $buyExtra !== 0) {
$payload['price_last'] = max(0, (int) $payload['price_last'] + $buyExtra);
}
if (isset($payload['priceLast']) && (int) $payload['priceLast'] > 0 && $buyExtra > 0) {
$payload['priceLast'] = (int) $payload['priceLast'] + $buyExtra;
if (isset($payload['priceLast']) && (int) $payload['priceLast'] > 0 && $buyExtra !== 0) {
$payload['priceLast'] = max(0, (int) $payload['priceLast'] + $buyExtra);
}
$payload['special_pricing'] = [