2.9 KiB
1. 确认下单后按采购跟单组别发送钉钉群备货通知
旭东 → OpenClaw:
我现在想实现一个功能,在待下单管理子菜单里面,点击确认下单之后,想要根据采购跟单列的信息进行钉钉通知,能做到吗? 想要实现的是在群里通知,根据不同组别,钉钉会有对应的钉钉群 1、群映射完全正确 2、通知内容格式如下: 备货通知 货品编号:等于货品编号 货品名称:等于货品名称 成品数量:等于正式下单数量 包材数量:等于下单时,对应包材得实际下单数量
OpenClaw 响应: 已在测试环境(192.168.8.186)实现「确认下单 → 钉钉群备货通知」功能:
- 群映射:跟单一组→采购1组群、跟单二组→采购2组群、跟单三组→采购3组群、现货小组→现货采购群(旭东确认完全正确)
- 采购跟单列支持组名或成员姓名列表两种形态,均可正确解析到对应组别/群
- 通知格式:备货通知(货品编号/货品名称/成品数量=正式下单数量/包材数量=本次下单包材实际下单数量合计),按群聚合一条消息,后台线程发送不阻塞下单
- 发送失败仅记日志不影响下单主流程
- 语法检查通过、组别解析 12 组测试全对、dry-run 消息格式验证通过、测试服务已重载 HTTP 200
- Git 提交:0b12fc0(仅提交 routes/purchase.py)
补充修正(2026-08-24): 旭东指出包材数量不能是合计,需按包材分别展示(如彩盒500、瓶子500、泵头500)。已修改为按物料逐行展示实际下单数量;语法检查通过、dry-run 验证格式正确、测试服务重载 HTTP 200。Git 提交 8682265。
Bug 修复(2026-08-24): 旭东报告待下单管理点击确认下单报「网络错误: Unexpected token '<'」。根因:确认下单时若前端未传 BOM 修改数据,后端从 bom 表加载的 quantity 为 Decimal 类型,json.dumps 序列化崩溃返回 500 HTML,前端解析 JSON 失败。该 bug 在本次钉钉通知改动前已存在(access.log 10:09 有同款 500)。已在 json.dumps 增加 default 转换 Decimal→float 修复,语法检查、带 BOM 商品完整复现 200 通过,测试服务重载 HTTP 200。Git 提交 6e7af78。
样式美化(2026-08-24):
旭东反馈通知所有字段挤在一行。根因:钉钉 markdown 单个 \n 不换行。已改用
强制换行,字段逐行展示;包材明细改为同行空格分隔(如"包材数量:瓶子:500 彩盒:500")。dry-run 验证通过,测试服务重载 HTTP 200。Git 提交 5ae4e7b、c1e4e6b。
格式再调整(2026-08-24): 旭东要求包材每个单独一行,且每行带「包材数量:」前缀(如:包材数量:【WOPUKA】脱毛膏【软管】:200)。已修改,dry-run 验证通过,测试服务重载 HTTP 200。Git 提交 f65264a。