forked from erp-dev/erp
feat: notification sending for printing order created
This commit is contained in:
25
docs/2026-01-27_summary.md
Normal file
25
docs/2026-01-27_summary.md
Normal 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`
|
||||
|
||||
Reference in New Issue
Block a user