1
0
forked from erp-dev/erp

feat: added custom signal for pre sales order created

This commit is contained in:
2026-01-31 23:58:40 +08:00
parent f643b643b7
commit a633a617d5
5 changed files with 173 additions and 0 deletions

34
business/handlers.py Normal file
View File

@@ -0,0 +1,34 @@
import logging
logger = logging.getLogger(__name__)
def on_pre_sales_order_created(sender, **kwargs):
"""Handle PreSalesOrder created domain event.
For now: log only (no side effects).
"""
order = kwargs.get('instance')
created_by = kwargs.get('created_by')
operator = kwargs.get('operator')
items_count = kwargs.get('items_count')
if order is None:
logger.warning('[business.handlers] pre_sales_order_created 缺少 instance已跳过')
return
created_by_label = getattr(created_by, 'username', None) if created_by else None
operator_label = getattr(operator, 'name', None) if operator else None
logger.info(
'[business.handlers] pre_sales_order_created: id=%s human_id=%s merchant_id=%s customer_id=%s '
'created_by=%s operator=%s items_count=%s',
getattr(order, 'id', None),
getattr(order, 'human_id', None),
getattr(order, 'merchant_id', None),
getattr(order, 'customer_id', None),
created_by_label or '-',
operator_label or '-',
items_count if items_count is not None else '-',
)