1
0
forked from erp-dev/erp

feat: notification sending for printing order created

This commit is contained in:
2026-01-27 16:40:09 +08:00
parent 44557f3d0c
commit dffb4a3e03
8 changed files with 213 additions and 1 deletions

View File

@@ -0,0 +1,25 @@
### 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` 中 connect `printing_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.py`
- `PRINTING_ORDER_CREATED_WECOM_NOTIFY_ENABLED`(支持 `.env` 覆盖,默认非测试环境开启)
- `PRINTING_ORDER_CREATED_WECOM_MARKDOWN_TEMPLATE`(中文字段)
- `env.example` 已补充:`PRINTING_ORDER_CREATED_WECOM_NOTIFY_ENABLED=True`