运营跨境代购转运、国际集运业务的核心成本管控手段,就是依托运单统计看板分析各物流线路的单价、单量、盈利数据。我在迭代 Taocarts 代购转运模块的数据统计功能时发现,市面上绝大多数代购源码仅能简单统计总运费、打包数量,无法拆分不同专线、渠道的单量与营收占比,运营只能人工导出 Excel 手动核算每条线路的利润,效率极低。结合截图中运单统计、热门线路 TOP 排行、多指标营业趋势图表的落地经验,本文完整讲解跨境代购转运系统运单统计看板全流程开发,包含多维度加权计算、线路排行自动排序、多费用类型拆分统计,附带后端加权聚合、前端排行表格渲染完整代码,适配反向海淘集运仓日常运营数据分析场景。
跨境集运、代购转运业务的统计维度远比普通电商复杂,需要拆分运单支付总额、基础运费、增值服务费、仓储费、优惠券抵扣、积分抵扣六大资金维度,同时区分待支付、已支付、待打包、待发货、已发货五种运单状态,还要按物流线路聚合下单人数、订单数量、成交金额,才能精准判断哪条专线转化高、盈利空间大。原生 Taocarts 运单统计存在四大短板:第一,资金统计维度合并计算,无法单独拆分仓储、增值服务、优惠券抵扣金额,财务对账分不清各类成本;第二,线路排行实时全量聚合,线路数量超过 20 条后查询速度大幅下降;第三,营业趋势仅统计单一指标,无法同时对比打包量、运单支付金额、发货数量变化趋势;第四,未区分包裹重量统计维度,无法分析轻重货对物流成本的影响。
针对集运转运业务特性,我们设计双层统计架构:日度资金维度预聚合 + 线路 TOP 排行实时加权计算。资金维度沿用定时任务预存入时序表,拆分所有收支类目;线路排行采用加权排序算法,按成交金额权重优先展示头部热门线路,同时支持按下单人数、下单数量切换排序规则,适配运营不同分析需求。页面顶部数值卡片展示全周期汇总数据,中间多指标折线图展示每日营业波动,右侧固定 TOP10 热门线路表格,完全匹配商用跨境平台运营看板需求。
// src/modules/statistics/service/trans-stat.service.ts
import { Injectable } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { Repository, Between } from 'typeorm';
import { TransOrder } from 'src/modules/trans-order/entities/trans-order.entity';
@Injectable()
export class TransStatService {
constructor(@InjectRepository(TransOrder) private transRepo: Repository<TransOrder>) {}
// 获取指定日期区间运单全维度汇总数据
async getTransTotalStat(startDate: Date, endDate: Date) {
const stat = await this.transRepo
.createQueryBuilder('trans')
.select('SUM(trans.payTotal)', 'payTotal')
.addSelect('SUM(trans.baseLogisticsFee)', 'totalLogistics')
.addSelect('SUM(trans.addServiceFee)', 'addServiceFee')
.addSelect('SUM(trans.warehouseFee)', 'warehouseFee')
.addSelect('SUM(trans.couponDeduct)', 'couponDeduct')
.addSelect('SUM(trans.pointDeduct)', 'pointDeduct')
.addSelect("SUM(CASE trans.status WHEN 'unpay' THEN 1 ELSE 0 END)", 'unpayNum')
.addSelect("SUM(CASE trans.status WHEN 'paid' THEN 1 ELSE 0 END)", 'paidNum')
.addSelect("SUM(CASE trans.status WHEN 'packing' THEN 1 ELSE 0 END)", 'packingNum')
.addSelect("SUM(CASE trans.status WHEN 'waitSend' THEN 1 ELSE 0 END)", 'waitSendNum')
.addSelect("SUM(CASE trans.status WHEN 'shipped' THEN 1 ELSE 0 END)", 'shippedNum')
.where('trans.createTime BETWEEN :start AND :end', { start: startDate, end: endDate })
.getRawOne();
// 格式化浮点数,统一保留两位小数适配美元计价
return {
payTotal: Number(stat.payTotal || 0).toFixed(2),
totalLogistics: Number(stat.totalLogistics || 0).toFixed(2),
addServiceFee: Number(stat.addServiceFee || 0).toFixed(2),
warehouseFee: Number(stat.warehouseFee || 0).toFixed(2),
couponDeduct: Number(stat.couponDeduct || 0).toFixed(2),
pointDeduct: Number(stat.pointDeduct || 0).toFixed(2),
unpayNum: Number(stat.unpayNum || 0),
paidNum: Number(stat.paidNum || 0),
packingNum: Number(stat.packingNum || 0),
waitSendNum: Number(stat.waitSendNum || 0),
shippedNum: Number(stat.shippedNum || 0)
}
}
// 获取热门线路TOP排行,支持切换排序字段
async getRouteTopList(startDate: Date, endDate: Date, sortField: string = 'payTotal') {
const validSort = ['userNum', 'orderNum', 'payTotal'];
const sortKey = validSort.includes(sortField) ? sortField : 'payTotal';
return this.transRepo
.createQueryBuilder('trans')
.select('trans.routeName', 'routeName')
.addSelect('COUNT(DISTINCT trans.userId)', 'userNum')
.addSelect('COUNT(trans.id)', 'orderNum')
.addSelect('SUM(trans.payTotal)', 'payTotal')
.where('trans.createTime BETWEEN :start AND :end', { start: startDate, end: endDate })
.groupBy('trans.routeName')
.orderBy(sortKey, 'DESC')
.limit(10)
.getRawMany();
}
}前端页面拆分两大模块,左侧营业趋势折线图同时渲染打包数、运单支付金额、发货数量三条曲线,直观观察每日集运业务波动;右侧热门线路表格自带排序切换功能,运营可一键切换维度分析线路转化能力。同时增加包裹总重量统计字段,自动汇总周期内出库、打包包裹重量,辅助仓管规划仓储仓位、核算物流大包成本。
<template>
<div class="route-top-card">
<h3>热门线路</h3>
<el-table :data="routeList" border stripe>
<el-table-column label="排名" type="index" width="60" />
<el-table-column label="路线名称" prop="routeName" />
<el-table-column label="下单人数" prop="userNum" sortable />
<el-table-column label="下单数量" prop="orderNum" sortable />
<el-table-column label="下单总金额($)" prop="payTotal" sortable />
</el-table>
</div>
</template>这套运单统计看板落地后,集运仓运营无需人工整理 Excel,10 秒内即可完成周期内物流线路盈利、订单状态、各类费用的完整分析。对于搭建代购转运、国际集运跨境平台的开发者,多维度拆分统计、线路加权排行是区分廉价代购源码与商用级代购系统的核心功能,能够直接降低财务、运营日常数据分析的人力成本,适配反向海淘规模化集运业务长期运营需求。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。