fix(marketplace): остаток «Моих предложений» — убрать двойное вычитание quantity_blocked

quantity_available уже исключает заблокированное количество (инвариант
counters: available + blocked + consumed = опубликовано; при заказе
available уменьшается сразу). Повторное вычитание quantity_blocked на
карточке давало двойное списание: опубликовал 100, заказали 1 → показывало
98 вместо 99.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
ant
2026-06-01 08:01:49 +00:00
parent abbcfb64d3
commit 3779571aba
@@ -129,7 +129,11 @@ const cards = computed<OfferCard[]>(() =>
title: o.product_name,
description: o.description ?? '',
images: marketplaceOfferImageUrls(o.images),
remainUnits: o.unlimited_flag ? undefined : o.quantity_available - o.quantity_blocked,
// `quantity_available` — уже свободный остаток (инвариант counters:
// available + blocked + consumed = опубликовано; при заказе available
// сразу уменьшается). Повторно вычитать `quantity_blocked` нельзя —
// это двойное списание (100 опубликовал, заказали 1 → показывало 98).
remainUnits: o.unlimited_flag ? undefined : o.quantity_available,
unitCost: parseFloat(o.price_per_unit) || 0,
unitLabel: marketplaceUnitShort(o.unit_of_measure),
status: STATUS_TO_CARD[o.status],