forked from erp-dev/erp
1.2 KiB
1.2 KiB
2026-01-27 工作记录
1) PrintingOrder 创建通知:自定义 signal + handler(企业微信 markdown)
目标:
- 当
PrintingOrder被创建时,像“状态推进 advance”一样通过 signal + handler 发送企业微信通知 - 避免使用
post_save造成的语义污染/误触发 - 外部副作用(企业微信请求)必须在事务提交后执行(
transaction.on_commit)
实现:
- 新增领域 signal:
printing/signals.py::printing_order_created - 绑定与处理:
printing/apps.py中 connectprinting_order_created→printing/handlers.py::on_printing_order_created- handler 内:
- 默认测试环境关闭(避免单测出网/刷屏)
transaction.on_commit后发送企业微信markdown
- 触发点:
api_v1/views/printing/services.py::PrintingOrderService.create_printing_order在创建成功后触发printing_order_created
配置:
flower/settings.pyPRINTING_ORDER_CREATED_WECOM_NOTIFY_ENABLED(支持.env覆盖,默认非测试环境开启)PRINTING_ORDER_CREATED_WECOM_MARKDOWN_TEMPLATE(中文字段)
env.example已补充:PRINTING_ORDER_CREATED_WECOM_NOTIFY_ENABLED=True