业务需求
需求描述

一、 ERP的订单日志并发优化

背景:

订单日志并发量大,日志数据增量很大,影响系统性能


方案:
用kafka发送消息,创建一个分区即可,发送消息和处理消费分开处理


具体方案:
1、通过发KAFKA异步解耦(原先写sqlserver这里调整为发kafka消息)
2、由于顺序要求,当前TOPIC仅设置一个partition(分区)
3、如果ERP不支持kafka的SDK,则提供一个JAVA接口做为中转(java接口仅在open服务中直接发kafka消息则可,无其他业务)
4、(选择1:推荐)可直接通过seatunnel CDC 直接把kafka消息写入ES或sqlserver(写频率不要过快,如1000条一批,10秒一次等);(选择2)或在java的zhcxkj-bus-common服务中监听kafka消息,如:10分钟一次写一个csv文件,再发一个rabbitmq文件导入消息,把csv文件导入ES或sqlserver中(rabbitmq是为了保证文件一定导入成功,失败则重新进入队列)


涉及改造功能(第一批切换功能):
1、手工录入追踪号
2、限重服务
3、erp称重

4、Java计算运费和税费


二、称重是否启用体积重以及相关逻辑改动的优化

问题:
ERP称重从java获取运费规则数据判断是否使用体积重的逻辑有缺陷,目前只要是计费重取值类型是“按条件取值”或运费类型是海运体积就默认是启用体积重,但是按条件取值也有可能是用自定义公式取值


方案:
1、直发:按条件取值,取值类型:体积重
2、备货:区间价格+按条件取值
3、备货:海运体积
以上三种类型就是使用体积重的方案,备货+海运体积直接设置为使用体积重的原因是,物流java系统针对海运体积默认就是使用体积重,erp如果配置的是海运体积的话都开启了使用体积重


影响功能:

ERP称重(PC端,包裹列表界面,包裹称重界面)


三、客户订单预报报错重复下单的场景优化

背景:

近期比较多订单提示重复下单,导致获取追踪号失败。


分析:
JAVA物流子系统调用物流商平台的预报接口成功后,但是系统数据库超时导致保存追踪号失败了,再次预报就会提示重复下单。


方案:
  1. 如果接口提示重复下单,则自动重新生成一个新的自定义单号,重新调用一次物流商的预报接口。
  2. 每个物流商接口预报重复下单的场景,接口给出的错误提示都不一样,有的提示自定义单号重复,有的提示已存在,有的还会提示一个因为单词。所以加个配置表,针对每个物流,配置类似重复下单失败的关键词,一个物流支持配置多个关键词。
  3. 匹配配置表的关键词成功后,自动生成新的自定义单号重新预报一次。



验收标准
价值描述
2000
历史记录  
  1. 2026-10-14 20:57:55, 由 彭祥发 创建。
  2. 2026-10-14 21:21:34, 由 杨林军 记录评审结果,结果为 确认通过。
  3. 2026-10-15 09:34:31, 由 周杰 关联到迭代 主干_10月V4版本_20261027 。
  4. 2026-10-15 14:05:08, 由 周杰 编辑。
    修改了 预计工时,旧值为 "1",新值为 "38"。
    修改了 ROI ,旧值为 "24.00",新值为 "0.63"。
    修改了 成本 ,旧值为 "500",新值为 "19000"。
  5. 2026-10-15 17:37:28, 由 彭祥发 编辑。
    修改了 所属计划,旧值为 "",新值为 "2813"。
  6. 2026-10-16 10:28:20, 由 周杰 编辑。
    修改了 计划验收时间,旧值为 "0000-00-00",新值为 "2026-10-30"。
  7. 2026-10-16 15:19:05, 由 彭祥发 变更。
    修改了 版本号 ,旧值为 "1",新值为 "2"。
    修改了 由谁评审,旧值为 "yanglinjun",新值为 ""。
    修改了 需求名称,区别为:
    001- TMS:ERP的订单日志并发优化
    001+ TMS:ERP的订单日志并发优化;称重是否启用体积重以及相关逻辑改动的优化
    001- TMS:ERP的订单日志并发优化
    001+ TMS:ERP的订单日志并发优化;称重是否启用体积重以及相关逻辑改动的优化
    修改了 需求描述,区别为:
    001- 背景:订单日志并发量大,日志数据增量很大,影响系统性能
    001+ 一、ERP的订单日志并发优化
    002-
    002+ 背景:
    003- 方案:用kafka发送消息,创建一个分区即可,发送消息和处理消费分开处理
    003+ 订单日志并发量大,日志数据增量很大,影响系统性能
    005- 具体方案:1、通过发KAFKA异步解耦(原先写sqlserver这里调整为发kafka消息)2、由于顺序要求,当前TOPIC仅设置一个partition(分区)3、如果ERP不支持kafka的SDK,则提供一个JAVA接口做为中转(java接口仅在open服务中直接发kafka消息则可,无其他业务)4、(选择1:推荐)可直接通过seatunnel CDC 直接把kafka消息写入ES或sqlserver(写频率不要过快,如1000条一批,10秒一次等);(选择2)或在java的zhcxkj-bus-common服务中监听kafka消息,如:10分钟一次写一个csv文件,再发一个rabbitmq文件导入消息,把csv文件导入ES或sqlserver中(rabbitmq是为了保证文件一定导入成功,失败则重新进入队列)
    005+ 方案:用kafka发送消息,创建一个分区即可,发送消息和处理消费分开处理
    007- 涉及改造功能(第一批切换功能):1、手工录入追踪号2、限重服务3、erp称重4、Java计算运费和税费
    007+ 具体方案:1、通过发KAFKA异步解耦(原先写sqlserver这里调整为发kafka消息)2、由于顺序要求,当前TOPIC仅设置一个partition(分区)3、如果ERP不支持kafka的SDK,则提供一个JAVA接口做为中转(java接口仅在open服务中直接发kafka消息则可,无其他业务)4、(选择1:推荐)可直接通过seatunnel CDC 直接把kafka消息写入ES或sqlserver(写频率不要过快,如1000条一批,10秒一次等);(选择2)或在java的zhcxkj-bus-common服务中监听kafka消息,如:10分钟一次写一个csv文件,再发一个rabbitmq文件导入消息,把csv文件导入ES或sqlserver中(rabbitmq是为了保证文件一定导入成功,失败则重新进入队列)
    008+
    009+ 涉及改造功能(第一批切换功能):1、手工录入追踪号2、限重服务3、erp称重
    010+ 4、Java计算运费和税费
    011+
    012+ 二、称重是否启用体积重以及相关逻辑改动的优化
    013+ 问题: ERP称重从java获取运费规则数据判断是否使用体积重的逻辑有缺陷,目前只要是计费重取值类型是“按条件取值”或运费类型是海运体积就默认是启用体积重,但是按条件取值也有可能是用自定义公式取值
    014+
    015+ 方案: 1、直发:按条件取值,取值类型:体积重 2、备货:区间价格+按条件取值 3、备货:海运体积以上三种类型就是使用体积重的方案,备货+海运体积直接设置为使用体积重的原因是,物流java系统针对海运体积默认就是使用体积重,erp如果配置的是海运体积的话都开启了使用体积重
    016+
    017+ 影响功能: ERP称重(PC端,包裹列表界面,包裹称重界面)
    001- <span>背景:<br /></span><span>订单日志并发量大,日志数据增量很大,影响系统性能</span>
    001+ <p><span>一、ERP的订单日志并发优化</span></p>
    002- <p><br /></p>
    002+ <p><span>背景:</span></p>
    003- <span>方案:<br /></span><span>用kafka发送消息,创建一个分区即可,发送消息和处理消费分开处理</span>
    003+ <span>订单日志并发量大,日志数据增量很大,影响系统性能</span>
    005- <span>具体方案:<br /></span><span>1、通过发KAFKA异步解耦(原先写sqlserver这里调整为发kafka消息)<br /></span><span>2、由于顺序要求,当前TOPIC仅设置一个partition(分区)<br /></span><span>3、如果ERP不支持kafka的SDK,则提供一个JAVA接口做为中转(java接口仅在open服务中直接发kafka消息则可,无其他业务)<br /></span><span>4、(选择1:推荐)可直接通过seatunnel CDC 直接把kafka消息写入ES或sqlserver(写频率不要过快,如1000条一批,10秒一次等);(选择2)或在java的zhcxkj-bus-common服务中监听kafka消息,如:10分钟一次写一个csv文件,再发一个rabbitmq文件导入消息,把csv文件导入ES或sqlserver中(rabbitmq是为了保证文件一定导入成功,失败则重新进入队列)</span>
    005+ <span>方案:<br /></span><span>用kafka发送消息,创建一个分区即可,发送消息和处理消费分开处理</span>
    007- <span>涉及改造功能(第一批切换功能):<br /></span><span>1、手工录入追踪号<br /></span><span>2、限重服务<br /></span><span>3、erp称重<br /></span><span>4、Java计算运费和税费</span>
    007+ <span>具体方案:<br /></span><span>1、通过发KAFKA异步解耦(原先写sqlserver这里调整为发kafka消息)<br /></span><span>2、由于顺序要求,当前TOPIC仅设置一个partition(分区)<br /></span><span>3、如果ERP不支持kafka的SDK,则提供一个JAVA接口做为中转(java接口仅在open服务中直接发kafka消息则可,无其他业务)<br /></span><span>4、(选择1:推荐)可直接通过seatunnel CDC 直接把kafka消息写入ES或sqlserver(写频率不要过快,如1000条一批,10秒一次等);(选择2)或在java的zhcxkj-bus-common服务中监听kafka消息,如:10分钟一次写一个csv文件,再发一个rabbitmq文件导入消息,把csv文件导入ES或sqlserver中(rabbitmq是为了保证文件一定导入成功,失败则重新进入队列)</span>
    008+ <p><br /></p>
    009+ <span>涉及改造功能(第一批切换功能):<br /></span><span>1、手工录入追踪号<br /></span><span>2、限重服务<br /></span><span>3、erp称重<br /></span>
    010+ <p><span>4、Java计算运费和税费</span></p>
    011+ <p><span><br /></span></p>
    012+ <p><span>二、<span>称重是否启用体积重以及相关逻辑改动的优化</span></span></p>
    013+ <p><span><span>问题:<br /></span><span> ERP称重从java获取运费规则数据判断是否使用体积重的逻辑有缺陷,目前只要是计费重取值类型是“按条件取值”或运费类型是海运体积就默认是启用体积重,但是按条件取值也有可能是用自定义公式取值</span>
    014+ </span></p><p><br /></p>
    015+ <span>方案:<br /></span><span> 1、直发:按条件取值,取值类型:体积重<br /></span><span> 2、备货:区间价格+按条件取值<br /></span><span> 3、备货:海运体积<br /></span><span>以上三种类型就是使用体积重的方案,备货+海运体积直接设置为使用体积重的原因是,物流java系统针对海运体积默认就是使用体积重,erp如果配置的是海运体积的话都开启了使用体积重</span>
    016+ <p><br /></p>
    017+ <span>影响功能:<br /></span><span> ERP称重(PC端,包裹列表界面,包裹称重界面)</span><br />
  8. 2026-10-19 11:13:39, 由 彭祥发 变更。
    修改了 版本号 ,旧值为 "2",新值为 "3"。
    修改了 需求名称,区别为:
    001- TMS:ERP的订单日志并发优化;称重是否启用体积重以及相关逻辑改动的优化
    001+ TMS:ERP的订单日志并发优化;称重是否启用体积重以及相关逻辑改动的优化;客户订单预报报错重复下单优化
    001- TMS:ERP的订单日志并发优化;称重是否启用体积重以及相关逻辑改动的优化
    001+ TMS:ERP的订单日志并发优化;称重是否启用体积重以及相关逻辑改动的优化;客户订单预报报错重复下单优化
    修改了 需求描述,区别为:
    009- 涉及改造功能(第一批切换功能):1、手工录入追踪号2、限重服务3、erp称重
    009+ 涉及改造功能(第一批切换功能):1、手工录入追踪号2、限重服务3、erp称重
    013- 问题: ERP称重从java获取运费规则数据判断是否使用体积重的逻辑有缺陷,目前只要是计费重取值类型是“按条件取值”或运费类型是海运体积就默认是启用体积重,但是按条件取值也有可能是用自定义公式取值
    013+ 问题: ERP称重从java获取运费规则数据判断是否使用体积重的逻辑有缺陷,目前只要是计费重取值类型是“按条件取值”或运费类型是海运体积就默认是启用体积重,但是按条件取值也有可能是用自定义公式取值
    014-
    014+
    015- 方案: 1、直发:按条件取值,取值类型:体积重 2、备货:区间价格+按条件取值 3、备货:海运体积以上三种类型就是使用体积重的方案,备货+海运体积直接设置为使用体积重的原因是,物流java系统针对海运体积默认就是使用体积重,erp如果配置的是海运体积的话都开启了使用体积重
    015+ 方案: 1、直发:按条件取值,取值类型:体积重 2、备货:区间价格+按条件取值 3、备货:海运体积以上三种类型就是使用体积重的方案,备货+海运体积直接设置为使用体积重的原因是,物流java系统针对海运体积默认就是使用体积重,erp如果配置的是海运体积的话都开启了使用体积重
    017- 影响功能: ERP称重(PC端,包裹列表界面,包裹称重界面)
    017+ 影响功能:
    018+ ERP称重(PC端,包裹列表界面,包裹称重界面)
    019+
    020+ 三、客户订单预报报错重复下单的场景优化
    021+ 背景:
    022+ 近期比较多订单提示重复下单,导致获取追踪号失败。
    023+
    024+ 分析:JAVA物流子系统调用物流商平台的预报接口成功后,但是系统数据库超时导致保存追踪号失败了,再次预报就会提示重复下单。
    025+
    026+ 方案:
    027+ 如果接口提示重复下单,则自动重新生成一个新的自定义单号,重新调用一次物流商的预报接口。
    028+ 每个物流商接口预报重复下单的场景,接口给出的错误提示都不一样,有的提示自定义单号重复,有的提示已存在,有的还会提示一个因为单词。所以加个配置表,针对每个物流,配置类似重复下单失败的关键词,一个物流支持配置多个关键词。
    029+ 匹配配置表的关键词成功后,自动生成新的自定义单号重新预报一次。
    030+
    031+
    032+
    009- <span>涉及改造功能(第一批切换功能):<br /></span><span>1、手工录入追踪号<br /></span><span>2、限重服务<br /></span><span>3、erp称重<br /></span>
    009+ <span>涉及改造功能(第一批切换功能):<br /></span><span>1、手工录入追踪号<br /></span><span>2、限重服务<br /></span><span>3、erp称重<br /></span>
    013- <p><span><span>问题:<br /></span><span> ERP称重从java获取运费规则数据判断是否使用体积重的逻辑有缺陷,目前只要是计费重取值类型是“按条件取值”或运费类型是海运体积就默认是启用体积重,但是按条件取值也有可能是用自定义公式取值</span>
    013+ <p><span><span>问题:<br /></span><span> ERP称重从java获取运费规则数据判断是否使用体积重的逻辑有缺陷,目前只要是计费重取值类型是“按条件取值”或运费类型是海运体积就默认是启用体积重,但是按条件取值也有可能是用自定义公式取值</span> </span></p>
    014- </span></p><p><br /></p>
    014+ <p><br /></p>
    015- <span>方案:<br /></span><span> 1、直发:按条件取值,取值类型:体积重<br /></span><span> 2、备货:区间价格+按条件取值<br /></span><span> 3、备货:海运体积<br /></span><span>以上三种类型就是使用体积重的方案,备货+海运体积直接设置为使用体积重的原因是,物流java系统针对海运体积默认就是使用体积重,erp如果配置的是海运体积的话都开启了使用体积重</span>
    015+ <span>方案:<br /></span><span> 1、直发:按条件取值,取值类型:体积重<br /></span><span> 2、备货:区间价格+按条件取值<br /></span><span> 3、备货:海运体积<br /></span><span>以上三种类型就是使用体积重的方案,备货+海运体积直接设置为使用体积重的原因是,物流java系统针对海运体积默认就是使用体积重,erp如果配置的是海运体积的话都开启了使用体积重</span>
    017- <span>影响功能:<br /></span><span> ERP称重(PC端,包裹列表界面,包裹称重界面)</span><br />
    017+ <span>影响功能:<br /></span>
    018+ <p><span> ERP称重(PC端,包裹列表界面,包裹称重界面)</span></p>
    019+ <p><span><br /></span></p>
    020+ <p><span>三、客户订单预报报错重复下单的场景优化</span></p>
    021+ <p><span><span>背景:</span></span></p>
    022+ <p>近期比较多订单提示重复下单,导致获取追踪号失败。</p>
    023+ <p><br /></p>
    024+ <span>分析:<br /></span><span>JAVA物流子系统调用物流商平台的预报接口成功后,但是系统数据库超时导致保存追踪号失败了,再次预报就会提示重复下单。</span>
    025+ <p><br /></p>
    026+ <span>方案:</span>
    027+ <ol><li><span>如果接口提示重复下单,则自动重新生成一个新的自定义单号,重新调用一次物流商的预报接口。</span></li>
    028+ <li><span>每个物流商接口预报重复下单的场景,接口给出的错误提示都不一样,有的提示自定义单号重复,有的提示已存在,有的还会提示一个因为单词。所以加个配置表,针对每个物流,配置类似重复下单失败的关键词,一个物流支持配置多个关键词。</span></li>
    029+ <li><span>匹配配置表的关键词成功后,自动生成新的自定义单号重新预报一次。</span>
    030+ <p><br /></p>
    031+ </li>
    032+ </ol><p><br /></p>
  9. 2026-10-20 10:01:31, 由 夏宇 编辑。
    修改了 测试人员,旧值为 "",新值为 "nongjiwang"。
  10. 2026-10-21 09:34:31, 由 周杰 编辑。
    修改了 预计工时,旧值为 "38",新值为 "49"。
    修改了 ROI ,旧值为 "0.63",新值为 "0.49"。
    修改了 成本 ,旧值为 "19000",新值为 "24500"。
  11. 2026-10-22 14:30:44, 由 彭祥发 变更。
    修改了 版本号 ,旧值为 "3",新值为 "4"。
    修改了 需求描述,区别为:
    017- 影响功能:
    017+ 影响功能:
    024- 分析:JAVA物流子系统调用物流商平台的预报接口成功后,但是系统数据库超时导致保存追踪号失败了,再次预报就会提示重复下单。
    024+ 分析:JAVA物流子系统调用物流商平台的预报接口成功后,但是系统数据库超时导致保存追踪号失败了,再次预报就会提示重复下单。
    026- 方案:
    026+ 方案:
    029- 匹配配置表的关键词成功后,自动生成新的自定义单号重新预报一次。
    029+ 匹配配置表的关键词成功后,自动生成新的自定义单号重新预报一次。
    030-
    030+
    031-
    031+ 四、订单日志页面对接测试环境的ES订单日接口(含客户订单和备库订单)
    032-
    032+ 五、seatunnel CDC配置
    033+
    034+
    035+
    036+
    037+
    038+
    017- <span>影响功能:<br /></span>
    017+ <span>影响功能:<br /></span>
    024- <span>分析:<br /></span><span>JAVA物流子系统调用物流商平台的预报接口成功后,但是系统数据库超时导致保存追踪号失败了,再次预报就会提示重复下单。</span>
    024+ <span>分析:<br /></span><span>JAVA物流子系统调用物流商平台的预报接口成功后,但是系统数据库超时导致保存追踪号失败了,再次预报就会提示重复下单。</span>
    026- <span>方案:</span>
    026+ <span>方案:</span>
    029- <li><span>匹配配置表的关键词成功后,自动生成新的自定义单号重新预报一次。</span>
    029+ <li><span>匹配配置表的关键词成功后,自动生成新的自定义单号重新预报一次。</span></li>
    030- <p><br /></p>
    030+ </ol><p><br /></p>
    031- </li>
    031+ <p>四、订单日志页面对接测试环境的ES订单日接口(含客户订单和备库订单)</p>
    032- </ol><p><br /></p>
    032+ <p>五、seatunnel CDC配置</p>
    033+ <p>
    034+ </p><p><br /></p>
    035+
    036+ <p><br /></p>
    037+ <p><br /></p>
    038+ <p><br /></p>
  12. 2026-10-22 14:49:40, 由 周杰 编辑。
    修改了 预计工时,旧值为 "49",新值为 "59"。
    修改了 ROI ,旧值为 "0.49",新值为 "0.41"。
    修改了 成本 ,旧值为 "24500",新值为 "29500"。
  13. 2026-10-27 09:12:44, 由 周杰 编辑。
    修改了 所处阶段 ,旧值为 "tested",新值为 "bepending"。
    修改了 设置阶段者,旧值为 "",新值为 "zhoujie"。
迭代版本
提报业务部门 技术研发中心
提报人员 程伟
需求来源 技术自主提报需求
所属项目 技术中心-需求池
所属模块 供应链   仓储物流   物流
所属计划
业务价值
开发组 仓储物流开发组
受益业务部门 技术研发中心
验收人员 杨林军
业务目标类型
中心业务目标
业务价值 控制风险
每月价值量 2000
每月节省人数 0
优先级 P2
价值类型 长期价值
预计工时 59
成本 29500
ROI 0.41
操作手册 否
高价值
主被动
复杂度
工作流ID
工作流创建时间
更新点
是否高危 否
评分
当前状态 激活
所处阶段 业务验收中
关键词
评审次数 一次
计划上线 0000-00-00
上线时间 2026-10-27
计划验收时间 2026-10-30
业务验收时间
满意度
价值验收
满意度分值
业务回填价值
验收达成价值
验收达成ROI
抄送给
由谁创建 彭祥发 于 2026-10-14 20:57:55
指派给 程伟 于 2026-10-27 09:14:27
由谁评审
评审时间
由谁关闭
关闭原因
最后修改 周杰 于 2026-10-27 09:14:28
相关Bug
相关用例
相关需求
细分需求