【OMS系统-订单管理】TP渠道支持自定义发件人信息(页面 & API)
【需求背景】
当前 OMS 订单管理建单页面中未提供发件人信息栏位,系统默认以仓库信息作为发件人信息,并在预报推送承运商时统一取仓库发件人数据。
但在实际业务中,存在以下场景问题:
部分客户使用 第三方渠道(TP 渠道) 发货;
该类订单在向承运商预报时,发件人信息需展示为客户在售平台或客户主体信息(如平台名称、官方电话等);
现有系统不支持在 OMS 建单阶段调整发件人信息,导致:
面单发件人信息与客户实际需求不符;
预报推送字段缺乏业务弹性,不利于 TP 渠道规范化使用。
因此,有必要在 OMS 建单页面 中补充发件人信息配置能力,并基于渠道类型进行差异化控制。
开发设计
1.增加表存储订单的发件人地址
CREATE TABLE `order_sender_address` (
`osa_id` int NOT NULL AUTO_INCREMENT COMMENT '自增主键ID',
`order_id` int NOT NULL DEFAULT '0' COMMENT '发货订单ID',
`order_code` varchar(32) DEFAULT '0' COMMENT '发货订单code',
`sender_name` varchar(128) NOT NULL DEFAULT '' COMMENT '发件人名称',
`osa_company` varchar(128) DEFAULT '' COMMENT '公司',
`osa_country_id` int NOT NULL DEFAULT '0' COMMENT '国家ID',
`osa_country_code` int NOT NULL DEFAULT '0' COMMENT '国家编码',
`osa_postcode` varchar(60) DEFAULT '' COMMENT '邮编',
`osa_state` varchar(128) DEFAULT '' COMMENT '州/区域',
`osa_city` varchar(128) DEFAULT '' COMMENT 'city',
`osa_street_address1` text COMMENT '地址1',
`osa_street_address2` text COMMENT '地址2',
`osa_phone` varchar(64) DEFAULT '' COMMENT '电话',
`osa_cell_phone` varchar(64) DEFAULT '' COMMENT '分机号',
`osa_fax` varchar(64) DEFAULT '' COMMENT '传真',
`osa_email` varchar(64) DEFAULT '' COMMENT '电子邮件',
`osa_update_time` datetime NOT NULL COMMENT '更新时间',
PRIMARY KEY (`osa_id`),
KEY `IDX_order_id` (`order_id`) USING BTREE,
KEY `IDX_order_code` (`order_code`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='订单发件人地址信息';
2.oms页面和api修改
2.1 oms页面部分
当前系统在config里面:thirdPartyForecastChannel 来配置是否TP渠道
1.1)选择仓库后:
系统自动带出并填充对应仓库的发件人信息;
所有发件人信息字段默认置灰,不允许用户修改;
作为当前订单的默认发件人信息。
2)选择渠道后:
当用户选择的渠道 非 TP 渠道:发件人信息继续保持仓库默认值;
字段保持置灰,不允许编辑。
当用户选择的渠道 为 TP 渠道:
发件人信息字段解除置灰;
允许用户手动编辑以下字段:
发件人名称
公司名称
电话
分机号
邮箱
用户填写的信息作为该订单的最终发件人信息。
3.oms_task 部分修改
优先级1:渠道配置表sm_return_address字段 目前usps 就有用到 物流产品 usps_ga
优先级2:warehouse的another_address_json字段
优先级3:发件人地址表 修改发货人地址 新需求 主要是为了TP渠道可以自定义在发件人地址
优先级4:仓库配置的默认地址 一般来说优先级3都会有的 优先级4是保底措施作者:伍儒普 创建时间:2026-01-20 09:03
最后编辑:伍儒普 更新时间:2026-03-03 10:08
最后编辑:伍儒普 更新时间:2026-03-03 10:08