需求背景
目前系统中,面单状态为“已取消”的订单默认不计入“已完成”范围,因此不会出现在物流费用查询模块。
但在实际业务中,部分已取消订单仍可能在后续收到费用来账(物流来账成本模块已产生费用记录),从而出现:
物流来账成本模块有费用,但物流费用模块查不到订单,无法核对与对账;
影响费用核对准确性、月度结算统计,造成数据口径不一致。
此前提交过需求,但开发侧仅实现了:
“抓取已取消订单180天内轨迹 → 若存在有效轨迹则把轨迹状态改为已签收 → 企业微信群推送异常提醒”,未实现状态/完成时间/完成月份的自动修正,导致核心问题(费用模块不可查、不可结算)仍存在。
当前财务已确认:需要按旧需求补齐自动修正能力;即使往期已出过账,也只是可能重复出账一次,且可通过日志记录覆盖字段变更明细用于追踪与复盘。
需求描述
1)触发场景与识别条件
系统需支持对“已取消”订单在满足条件时自动修正:
触发场景:轨迹同步时触发
根据订单跟踪号向物流商接口抓取轨迹:面单创建时间起往后180天内的轨迹(超过180天不抓取、不处理)。
若检索到订单面单状态=已取消,且存在有效轨迹(包含“上网”节点)→ 触发修正。
2)自动修正逻辑(需补齐实现)
一旦触发,系统按以下顺序自动执行:
回填完成时间:将订单“完成时间”更新为该订单物流轨迹中第一条“上网”轨迹时间。
回填完成月份:根据更新后的完成时间,自动重算并更新“完成月份”字段。
变更面单状态:将面单状态由 已取消 → 已完成。
最终效果:订单可在“物流费用”模块中正常检索/查看/导出/参与结算。
开发设计
- 在代卖轨迹抓取跑批任务中,在抓取轨迹和轨迹识别后,添加逻辑兼容
- 单据状态处理:当 代卖单据状态=已取消、并且存在 上网时间 时,需判断处理
- 仅当单据的完成时间=null时,用上网时间当作完成时间、单据状态更新为已完成,记录日志,提交物流费重算任务
- 改动方法
getDeliverTrackingInfo,如下图:
作者:黄天文 创建时间:2026-03-23 15:44
最后编辑:黄天文 更新时间:2026-04-17 09:34
最后编辑:黄天文 更新时间:2026-04-17 09:34