一键代发:跨境订单分发与物流对接系统
摘要
讲解北极星日淘「货物一键代发」模块的订单分发、物流匹配、批量下单技术实现,基于Spring Cloud 微服务拆分订单、物流、仓储子系统,支持一件代发、批量代发,适配副业带货、跨境分销场景,对接自建日本海外仓与多物流渠道。
关键词
一键代发、日本海外仓、北极星日淘、跨境代发、日本直邮
正文
一、业务需求
北极星日淘支持雅虎 / 煤炉 / 乐天 / 日亚 / 骏河屋商品一键代发:用户下单后,系统自动将订单分发到日本海外仓,匹配最优物流渠道,批量生成物流单号,实现从日本仓库直接发货到用户,无需中转。
二、微服务拆分
- 订单分发服务:接收用户订单,拆分代发子订单
- 仓储服务:对接自建日本海外仓,查询库存、生成拣货单
- 物流服务:对接多物流渠道(包税 / 不包税),匹配最优方案、生成运单号
- 通知服务:推送物流信息给用户
三、核心代码:订单分发
java
运行
@Service public class OrderDistributeService { @Autowired private OrderMapper orderMapper; @Autowired private WareHouseFeignClient wareHouseClient; // 仓储服务Feign调用 @Autowired private LogisticsFeignClient logisticsClient; // 物流服务Feign调用 public Result<String> distributeOrder(Long orderId) { // 1. 查询主订单 Order order = orderMapper.selectById(orderId); if (order == null || !"PAYED".equals(order.getStatus())) { return Result.fail("订单不存在或未支付"); } // 2. 调用仓储服务:生成拣货单(日本海外仓) Result<WarehouseVO> warehouseResult = wareHouseClient.createPickList(orderId); if (!warehouseResult.isSuccess()) { return Result.fail("仓储处理失败"); } // 3. 调用物流服务:匹配最优渠道+生成运单号 Result<LogisticsVO> logisticsResult = logisticsClient.matchAndCreate(orderId); if (!logisticsResult.isSuccess()) { return Result.fail("物流匹配失败"); } // 4. 更新订单状态为代发中 orderMapper.updateStatus(orderId, "DISTRIBUTED"); return Result.success(logisticsResult.getData().getTrackingNo()); } }四、物流渠道匹配策略
java
运行
// 物流渠道枚举 public enum LogisticsChannel { TAX_INCLUDED_7D("包税7日达", 7, true), TAX_INCLUDED_15D("包税15日达", 15, true), NORMAL_10D("普通10日达", 10, false); private String name; private int days; private boolean taxIncluded; } // 匹配最优渠道(优先包税+时效快) public LogisticsVO matchChannel(Order order) { List<LogisticsChannel> channels = Arrays.asList(LogisticsChannel.values()); // 排序:包税优先→时效快优先 channels.sort((c1, c2) -> { if (c1.isTaxIncluded() != c2.isTaxIncluded()) { return Boolean.compare(c2.isTaxIncluded(), c1.isTaxIncluded()); } return Integer.compare(c1.getDays(), c2.getDays()); }); // 选择最优渠道,生成运单号 LogisticsChannel best = channels.get(0); String trackingNo = logisticsApi.createTrackingNo(best.getName(), order.getId()); return new LogisticsVO(best.getName(), trackingNo, best.getDays()); }五、总结
该系统实现北极星日淘「一键代发」全流程自动化,对接自建日本海外仓与多条包税物流渠道,支持日本直邮、免费仓储合箱,是一站式日淘全品类平台、挖煤姬平替、乐一番平替的重要能力支撑。
