1
0
forked from erp-dev/erp

feat: sse && multi_merchant completed

This commit is contained in:
2025-11-11 10:56:20 +08:00
parent b2078dfa46
commit 2aafb93aad
43 changed files with 2445 additions and 244 deletions

View File

@@ -1,6 +1,7 @@
from . import models
from django.db.models import Sum
from django.utils import timezone
from sse.services import push_simple_message_with_object_id
import logging
@@ -84,13 +85,10 @@ def make_stock_change_completed(stock_change_record: models.StockChangeRecord) -
# 更新现有库存记录
inventory_record.quantity += detail.quantity * positive
inventory_record.num_of_rolls += positive
logger.info(
f'更新库存记录 {inventory_record.id},新数量: {inventory_record.quantity}, '
f'新匹数: {inventory_record.num_of_rolls}'
)
inventory_record.save()
else:
# 创建新库存记录
inventory_record = models.Inventory(
@@ -100,11 +98,17 @@ def make_stock_change_completed(stock_change_record: models.StockChangeRecord) -
quantity=detail.quantity * positive,
num_of_rolls=1 if stock_change_record.is_incoming else -1,
)
inventory_record.save()
logger.info(
f'创建新库存记录 {inventory_record.id},数量: {inventory_record.quantity}, '
f'匹数: {inventory_record.num_of_rolls}'
)
inventory_record.save()
# 发送库存变动通知
push_simple_message_with_object_id(
event_type='stock_change',
message=f'产品ID {detail.product_id} 位于 {stock_change_record.warehouse_id} 的库存已更新',
object_id=inventory_record.id
)
# 无论库存记录原本是否存在都创建库存快照
create_stock_snapshot(detail, inventory_record)