1
0
forked from erp-dev/erp

feat: mission replied calling task

This commit is contained in:
2026-04-17 23:26:33 +08:00
parent e109c00837
commit 8b1afc64c5
22 changed files with 1056 additions and 95 deletions

View File

@@ -21,6 +21,7 @@
- `mission.created`
- `mission.replied`
- `mission.completed`
- `mission.unreplied`
- `mission.reply_rejected`
- `mission.reopened`
- `mission.cancelled`
@@ -144,6 +145,7 @@
- `mission.created`
- `mission.completed`
- `mission.unreplied`
### 6.4 mission_category
@@ -254,6 +256,7 @@
- `mission_created`
- `mission_replied`
- `mission_completed`
- `mission_unreplied`
- `mission_reply_rejected`
- `mission_reopened`
- `mission_cancelled`
@@ -261,7 +264,52 @@
管理人员通常只需要填 `template_key`,不需要改代码。
如果后续要新增模板内容或调整文案,需要由开发人员修改模板文件。
## 10. 如何停用
## 10. 未回复提醒的 admin 配置要点
`mission.unreplied` 和其它事件不同,它不是在某个瞬时动作发生时触发,而是由后台每分钟扫描一次“仍未回复的任务”后触发。
这意味着 admin 需要同时确认两件事:
1. 任务本身开启了未回复提醒
2. 通知系统中存在 `mission.unreplied` 对应的 `NotifierRoute`
如果只配置了路由,但任务没有开启提醒,则不会发送。
如果任务开启了提醒,但没有配置 `mission.unreplied` 路由,也不会发送到任何群。
### 10.1 推荐配置方式
1. 创建一个 `Notifier`
- `name = 任务未回复提醒-管理群`
- `channel = wecom_webhook`
- `template_key = mission_unreplied`
- `is_enabled = True`
2. 创建一条 `NotifierRoute`
- `event_key = mission.unreplied`
- `mission_category = 留空` 或选择具体任务分类
- `is_enabled = True`
### 10.2 什么时候会持续提醒
只有满足以下条件才会持续发送 `mission.unreplied`
1. 任务开启了“未回复提醒”
2. 任务还没完成
3. 任务还没取消
4. 当前没有任何有效回复
5. 没超过任务自身设置的最大提醒次数
### 10.3 为什么任务开启了提醒,但还是没收到群通知
优先检查:
1. 是否已配置 `mission.unreplied` 的路由
2. 该路由是否启用
3. 对应的 `Notifier` 是否启用
4. `template_key` 是否写成 `mission_unreplied`
5. Celery worker / beat 是否都在运行
## 11. 如何停用
### 停用整个通知器
@@ -290,7 +338,7 @@
2. 取消勾选 `is_enabled`
3. 保存
## 11. 常见问题
## 12. 常见问题
### 11.1 为什么事件发生了,但没有收到通知
@@ -322,7 +370,7 @@
不会。
系统会自动去重,并优先使用更具体的分类路由。
## 12. 管理建议
## 13. 管理建议
- 先建 `Notifier`,再建 `NotifierRoute`
- 通知器名称中写清楚目标群
@@ -330,7 +378,7 @@
- 先停用再删除
- 先配置一条路由做验证,再批量扩展
## 13. 最简操作结论
## 14. 最简操作结论
如果你只想快速配置一条通知,记住这 6 个关键点就够了: