1 项目概述

1.1 项目背景

随着物流平台业务的快速发展,订单量、货主数量、承运商数量持续增长,原有的人工计费、对账、结算模式已无法满足业务需求,主要问题包括:

  • 跨境、冷链、装卸等特殊业务场景的计费规则复杂,人工处理效率低、错误率高

  • 货主对账、承运商结算周期长,客户满意度低

  • 资金回笼慢,逾期风险高

  • 缺乏有效的数据分析支持,无法支撑经营决策

1.2 运营定位

BMS(Billing Management System)财务账单结算中心是物流平台的运营核心枢纽,承载着从订单计费到资金回笼的全链路财务运营工作。系统不仅支撑内部财务结算,更为货主、承运商、司机等外部角色提供自助服务能力,是平台实现业财一体化的关键系统。

1.3 架构目标

目标维度

量化指标

说明

高可用

核心服务可用性≥99.9%

支持7×24小时业务运行

高性能

支持10万级账单日处理量计费响应时间<100ms报表查询时间<5秒

满足业务峰值需求

可扩展

支持灵活的计费规则配置适配多种业务场景

支撑业务快速迭代

安全合规

符合会计准则满足税务要求数据安全合规

满足监管要求

易集成

提供标准API接口支持与OMS/WMS/TMS/ERP系统对接

打通上下游系统

1.4 运营挑战与应对

挑战类型

具体问题

系统应对策略

场景复杂

跨境/冷链/装卸等特殊业务计费规则差异大

灵活的计费规则引擎,支持可视化配置

多方协同

货主对账、承运商结算、银行回款等多方交互

统一门户+消息推送+在线确认

时效要求

计费延迟影响结算,对账超期导致回款慢

自动触发+定时任务+逾期预警

数据准确性

计费差异引发客户投诉,影响平台信誉

AI智能校验+差异自动识别

资金风险

客户逾期、坏账损失

信用管理+账龄分析+催收流程

1.5 运营价值

价值维度

量化指标

业务收益

效率提升

结算周期缩短50%

从订单完成到收款≤30天

成本降低

计费人力成本减少60%

自动计费替代人工核算

风险控制

坏账率降低至≤1%

智能预警+信用管理

客户满意

客户满意度≥4.5分

自助对账+实时查询

数据洞察

毛利分析覆盖率100%

按订单/客户/线路/仓库多维分析


2 业务架构设计

2.1 核心运营场景

flowchart LR
    subgraph 计费运营
        A1[订单完成] --> A2[自动计费]
        A2 --> A3[费用校验]
        A3 --> A4[异常预警]
    end
    
    subgraph 账单运营
        B1[账单生成] --> B2[对账确认]
        B2 --> B3[开票收款]
        B3 --> B4[凭证生成]
    end
    
    subgraph 结算运营
        C1[承运商结算] --> C2[应付核销]
        C2 --> C3[付款执行]
        C3 --> C4[银行对接]
    end
    
    subgraph 分析运营
        D1[收入分析] --> D2[成本分析]
        D2 --> D3[毛利分析]
        D3 --> D4[决策支持]
    end
    
    A4 --> B1
    B4 --> C1
    C4 --> D1

2.2 运营分层模型

graph TB
    subgraph 运营决策层
        D1[战略分析]
        D2[毛利分析]
        D3[客户分层]
        D4[线路效益]
    end
    
    subgraph 运营管理层
        M1[账单管理]
        M2[对账管理]
        M3[收款管理]
        M4[付款管理]
    end
    
    subgraph 运营执行层
        E1[自动计费]
        E2[账单生成]
        E3[催收执行]
        E4[凭证生成]
    end
    
    subgraph 运营支撑层
        S1[合同管理]
        S2[价格管理]
        S3[规则引擎]
        S4[预警中心]
    end
    
    D1 --> M1
    D2 --> M2
    M1 --> E1
    M2 --> E2
    M3 --> E3
    M4 --> E4
    
    S1 --> E1
    S2 --> E1
    S3 --> E2
    S4 --> E3

2.3 运营服务域划分

服务域

核心服务

运营职责

关键运营指标

合同域

bms-contract

合同全生命周期管理、价格体系维护

合同覆盖率、价格准确率

计费域

bms-billing

自动计费、费用校验、异常处理

计费及时率、准确率

应收域

bms-receivable

账单生成、对账、开票、收款

回款率、逾期率

应付域

bms-payable

承运商结算、付款执行

付款及时率、结算误差率

报表域

bms-report

收入分析、成本分析、盈利分析

分析覆盖率、数据延迟

配置域

bms-config

运营参数、规则配置、预警设置

配置准确率、规则覆盖率

2.4 运营能力矩阵

能力域

能力项

能力描述

自动化程度

计费能力

自动计费

订单完成自动触发计费,支持批量计费

全自动

规则引擎

可视化配置计费规则,支持阶梯/淡旺季/区间价

半自动

智能校验

AI识别计费异常,自动标记差异

全自动

账单能力

账单生成

按月/周/单维度生成账单,支持账单拆分合并

全自动

对账确认

线上对账确认,支持差异申诉

半自动

批量操作

批量对账/开票/收款/付款

半自动

资金能力

收款管理

收款认领/核销,支持部分核销

半自动

付款管理

付款审批/执行,支持银企直连

半自动

凭证生成

自动生成凭证,支持ERP导出

全自动

分析能力

实时分析

实时收入/成本/毛利看板

全自动

定期报表

自动生成运营周报/月报

全自动

趋势预测

基于历史数据预测回款/成本趋势

全自动


3 应用架构设计

3.1 微服务模块设计

服务名称

服务说明

核心运营功能

运营角色

bms-contract

合同与报价服务

合同模板管理、阶梯报价配置、淡旺季价格、有效期预警

商务运营、财务运营

bms-billing

智能计费服务

多业务计费(仓储/操作/运输/跨境/冷链/装卸)、规则引擎、自动校验

计费运营

bms-receivable

应收管理服务

账单池管理、对账确认、开票申请、收款认领、逾期催收

应收运营、信用运营

bms-payable

应付管理服务

承运商结算、司机结费、装卸结算、付款审批

应付运营、成本运营

bms-report

运营分析服务

收入/成本/毛利分析、账龄分析、KPI看板、运营周报

分析运营、管理层

bms-config

运营配置服务

计费规则配置、预警阈值配置、催收策略配置

系统运营

3.2 应用架构图

graph TB
    subgraph 前端层
        PC[PC运营管理端<br/>MateClaw Admin]
        Mobile[移动运营APP<br/>MateClaw App]
        Shipper[货主门户<br/>MateClaw H5]
        Carrier[承运商门户<br/>MateClaw H5]
    end
    
    subgraph 网关层
        Gateway[Spring Cloud Gateway<br/>yudao-cloud]
    end
    
    subgraph 应用服务层
        subgraph 运营域
            Contract[bms-contract<br/>yudao-cloud模块]
            Billing[bms-billing<br/>yudao-cloud模块]
            Receivable[bms-receivable<br/>yudao-cloud模块]
            Payable[bms-payable<br/>yudao-cloud模块]
            Report[bms-report<br/>yudao-cloud模块]
            Config[bms-config<br/>yudao-cloud模块]
        end
    end
    
    subgraph 中台服务层
        Workflow[工作流引擎<br/>yudao-cloud]
        Rule[规则引擎<br/>Drools]
        Schedule[定时任务<br/>XXL-JOB]
        Message[消息中心<br/>yudao-cloud]
    end
    
    PC --> Gateway
    Mobile --> Gateway
    Shipper --> Gateway
    Carrier --> Gateway
    
    Gateway --> Contract
    Gateway --> Billing
    Gateway --> Receivable
    Gateway --> Payable
    Gateway --> Report
    Gateway --> Config
    
    Billing --> Workflow
    Billing --> Rule
    Receivable --> Message
    Payable --> Schedule
    Receivable --> Schedule

4 技术架构设计

4.1 技术选型(运营导向)

分类

技术

版本

运营适配说明

后端框架

yudao-cloud

最新版

提供完善的工作流引擎,支持运营审批流程;内置定时任务,支撑结算运营;统一的日志监控,保障运营可追溯

前端框架

MateClaw

最新版

多终端适配,支持PC端运营管理、移动端随时处理;响应式设计,适配不同办公场景

数据库

MySQL

8.0+

财务数据强一致性;支持大事务;丰富索引支撑运营查询

缓存

Redis

7.0+

热点数据缓存加速运营查询;分布式锁保障计费并发安全

消息队列

RabbitMQ

3.12+

异步解耦保障计费性能;延迟消息支撑逾期预警;消息追踪便于运营排查

搜索引擎

Elasticsearch

8.x

运营报表全文检索;账单/凭证多维查询

分布式事务

Seata

2.0+

AT模式支撑跨服务计费;TCC模式支撑对账核销

分布式调度

XXL-JOB

2.3+

定时生成账单、自动发送对账、逾期催收任务

工作流

yudao-cloud Flowable

最新版

支持多级审批、流程可视化;适用于合同审批、付款审批等场景

规则引擎

Drools

8.x

复杂计费规则配置;支持动态规则调整

4.2 技术架构图

graph TB
    subgraph 前端层
        PC[PC运营管理端<br/>MateClaw Admin]
        Mobile[移动运营APP<br/>MateClaw App]
        Shipper[货主门户<br/>MateClaw H5]
        Carrier[承运商门户<br/>MateClaw H5]
    end
    
    subgraph 网关层
        Gateway[Spring Cloud Gateway<br/>yudao-cloud]
        Config[配置中心Nacos]
        Registry[注册中心Nacos]
    end
    
    subgraph 业务服务层
        Billing[bms-billing<br/>yudao-cloud模块]
        Contract[bms-contract<br/>yudao-cloud模块]
        Receivable[bms-receivable<br/>yudao-cloud模块]
        Payable[bms-payable<br/>yudao-cloud模块]
        Report[bms-report<br/>yudao-cloud模块]
        Config[bms-config<br/>yudao-cloud模块]
    end
    
    subgraph 基础设施层
        DB[(MySQL<br/>yudao-cloud)]
        Cache[(Redis<br/>yudao-cloud)]
        MQ[RabbitMQ<br/>yudao-cloud]
        ES[(Elasticsearch)]
        Flow[Flowable<br/>工作流引擎]
        Rule[Drools<br/>规则引擎]
        Job[XXL-JOB<br/>调度中心]
    end
    
    subgraph 外部系统
        ERP[用友/金蝶]
        Invoice[电子发票]
        Bank[银企直连]
        OMS[OMS系统]
        WMS[WMS系统]
        TMS[TMS系统]
    end
    
    PC --> Gateway
    Mobile --> Gateway
    Shipper --> Gateway
    Carrier --> Gateway
    
    Gateway --> Contract
    Gateway --> Billing
    Gateway --> Receivable
    Gateway --> Payable
    Gateway --> Report
    Gateway --> Config
    
    Billing --> DB
    Contract --> DB
    Receivable --> DB
    Payable --> DB
    Report --> DB
    Config --> DB
    
    Billing --> Cache
    Contract --> Cache
    Receivable --> Cache
    Payable --> Cache
    
    Billing --> MQ
    Receivable --> MQ
    Payable --> MQ
    
    Billing --> Flow
    Receivable --> Flow
    Payable --> Flow
    
    Billing --> Rule
    
    Receivable --> Job
    Payable --> Job
    Report --> Job
    
    Report --> ES
    
    Billing --> OMS
    Billing --> WMS
    Billing --> TMS
    Receivable --> ERP
    Payable --> ERP
    Receivable --> Invoice
    Payable --> Bank

4.3 yudao-cloud架构适配

4.3.1 项目结构
yudao-cloud-bms
├── yudao-module-bms-api
├── yudao-module-bms-framework
├── yudao-module-bms-contract
├── yudao-module-bms-billing
├── yudao-module-bms-receivable
├── yudao-module-bms-payable
├── yudao-module-bms-report
└── yudao-module-bms-config
4.3.2 核心代码规范

Controller层示例(基于yudao-cloud):

@Controller
@RequestMapping("/bms/contract")
public class BmsContractController extends BaseController {

    @Autowired
    private BmsContractService contractService;

    @PreAuthorize("@ss.hasPermission('bms:contract:create')")
    @PostMapping("/create")
    @Operation(summary = "创建合同")
    public CommonResult<Long> createContract(@Valid @RequestBody BmsContractCreateReqVO reqVO) {
        Long id = contractService.createContract(reqVO);
        return success(id);
    }

    @PreAuthorize("@ss.hasPermission('bms:contract:query')")
    @GetMapping("/page")
    @Operation(summary = "分页查询合同")
    public CommonResult<PageResult<BmsContractRespVO>> getContractPage(
            @Valid BmsContractPageReqVO pageReqVO) {
        PageResult<BmsContractRespVO> pageResult = contractService.getContractPage(pageReqVO);
        return success(pageResult);
    }
}

Service层示例:

@Service
@Validated
public class BmsContractServiceImpl implements BmsContractService {

    @Resource
    private BmsContractMapper contractMapper;

    @Override
    @Transactional(rollbackFor = Exception.class)
    public Long createContract(BmsContractCreateReqVO reqVO) {
        BmsContractDO contract = BeanUtils.copyProperties(reqVO, BmsContractDO.class);
        contract.setStatus(ContractStatusEnum.DRAFT.getStatus());
        contractMapper.insert(contract);
        return contract.getId();
    }

    @Override
    public PageResult<BmsContractRespVO> getContractPage(BmsContractPageReqVO pageReqVO) {
        PageResult<BmsContractDO> pageResult = contractMapper.selectPage(pageReqVO);
        return BeanUtils.toBean(pageResult, BmsContractRespVO.class);
    }
}

数据权限注解使用:

@DataPermission({
    @DataColumn(key = "deptId", value = "dept_id"),
    @DataColumn(key = "userId", value = "user_id")
})
public List<BmsContractDO> selectContractList(@Param("param") BmsContractPageReqVO reqVO) {
    return contractMapper.selectList(reqVO);
}

4.4 MateClaw前端架构设计

4.4.1 前端项目结构
mateclaw-bms
├── src
│   ├── api
│   │   └── bms
│   │       ├── contract.ts
│   │       ├── billing.ts
│   │       ├── receivable.ts
│   │       └── report.ts
│   ├── views
│   │   ├── bms
│   │   │   ├── contract
│   │   │   ├── billing
│   │   │   ├── receivable
│   │   │   ├── payable
│   │   │   └── report
│   │   └── components
│   │       ├── bill-form
│   │       ├── price-config
│   │       └── chart-viewer
│   └── types
│       └── bms
├── .env.development
├── .env.production
└── vite.config.ts
4.4.2 API调用示例
// src/api/bms/contract.ts
import request from '@/config/axios'

export interface ContractVO {
  id?: number
  contractNo?: string
  customerId?: number
  customerName?: string
  startDate?: Date
  endDate?: Date
  status?: number
  createTime?: Date
}

export interface ContractPageReqVO {
  pageNo?: number
  pageSize?: number
  contractNo?: string
  customerId?: number
  status?: number
}

// 创建合同
export const createContract = (data: ContractVO) => {
  return request.post({ url: '/bms/contract/create', data })
}

// 分页查询合同
export const getContractPage = (params: ContractPageReqVO) => {
  return request.get({ url: '/bms/contract/page', params })
}

// 更新合同
export const updateContract = (data: ContractVO) => {
  return request.put({ url: '/bms/contract/update', data })
}
4.4.3 页面组件示例
<template>
  <DgPage header="合同管理">
    <DgCard>
      <DgFormRef
        v-model:formData="searchForm"
        :schema="searchFormSchema"
        @submit="handleSearch"
      />
      <DgTable
        :columns="tableColumns"
        :data="tableData"
        :loading="tableLoading"
        :pagination="pagination"
        @change-page="handleSearch"
      />
    </DgCard>
  </DgPage>
</template>

<script setup lang="ts">
import { ref } from 'vue'
import { DgPage, DgCard, DgFormRef, DgTable } from '@dgiot/dg-vue-components'
import { getContractPage } from '@/api/bms/contract'

const searchForm = ref({})
const tableData = ref([])
const tableLoading = ref(false)
const pagination = ref({ pageNo: 1, pageSize: 10, total: 0 })

const searchFormSchema = [
  { field: 'contractNo', label: '合同编号', component: 'Input' },
  { field: 'status', label: '状态', component: 'Select', componentProps: { options: statusOptions } }
]

const tableColumns = [
  { title: '合同编号', dataIndex: 'contractNo' },
  { title: '客户名称', dataIndex: 'customerName' },
  { title: '开始日期', dataIndex: 'startDate' },
  { title: '结束日期', dataIndex: 'endDate' },
  { title: '状态', dataIndex: 'status', render: (text: number) => statusMap[text] },
  { title: '操作', key: 'action', render: (_, record) => h(Operate, { record }) }
]

const handleSearch = async () => {
  tableLoading.value = true
  try {
    const res = await getContractPage({ ...searchForm.value, ...pagination.value })
    tableData.value = res.list
    pagination.value.total = res.total
  } finally {
    tableLoading.value = false
  }
}

onMounted(() => handleSearch())
</script>

5 数据架构设计

5.1 核心运营数据表

表名

表说明

核心字段

运营索引

bms_contract

合同主表

contract_id, contract_no, customer_id, sign_date, start_date, end_date, total_amount, status

customer_id, status, end_date

bms_contract_rule

合同规则表

rule_id, contract_id, rule_type, rule_config, priority

contract_id

bms_price

价格配置表

price_id, contract_id, product_type, unit_price, min_quantity, max_quantity, effective_date

contract_id, product_type

bms_billing_task

计费任务表

task_id, order_id, order_type, trigger_type, status, execute_time

status, execute_time, order_id

bms_billing_detail

计费明细表

detail_id, task_id, order_id, fee_type, amount, quantity, unit, rule_id

task_id, order_id, fee_type

bms_bill

账单主表

bill_id, bill_no, bill_type, customer_id, carrier_id, period_start, period_end, total_amount, status

customer_id, status, period_start

bms_bill_item

账单明细表

item_id, bill_id, detail_id, fee_type, amount, description

bill_id

bms_reconciliation

对账记录表

recon_id, bill_id, customer_id, status, diff_amount, diff_reason, confirm_time, confirm_by

bill_id, status, customer_id

bms_receivable

应收记录表

receivable_id, bill_id, invoice_no, payment_date, amount, received_amount, status, overdue_days

bill_id, status, payment_date

bms_payable

应付记录表

payable_id, bill_id, payment_date, amount, paid_amount, status, carrier_id

bill_id, status, carrier_id

bms_collection

催收记录表

collection_id, receivable_id, collection_type, collection_date, collection_amount, result, next_follow_date

receivable_id, collection_date

bms_voucher

凭证记录表

voucher_id, bill_id, voucher_no, voucher_type, amount, export_status, export_time, erp_voucher_no

bill_id, export_status

bms_settlement

结算记录表

settlement_id, bill_id, settlement_type, amount, settlement_date, operator_id

bill_id, settlement_date

5.2 数据关系图

erDiagram
    CONTRACT ||--o{ CONTRACT_RULE : defines
    CONTRACT ||--o{ PRICE : includes
    CONTRACT ||--o{ BILL : generates
    
    ORDER ||--o{ BILLING_TASK : triggers
    BILLING_TASK ||--o{ BILLING_DETAIL : creates
    
    BILL ||--|{ BILL_ITEM : contains
    BILL ||--o{ RECONCILIATION : has
    BILL ||--o{ RECEIVABLE : creates
    BILL ||--o{ PAYABLE : creates
    BILL ||--o{ VOUCHER : generates
    
    RECEIVABLE ||--o{ COLLECTION : triggers
    RECEIVABLE ||--o{ SETTLEMENT : completes
    
    CUSTOMER ||--o{ CONTRACT : signs
    CUSTOMER ||--o{ BILL : receives
    CUSTOMER ||--o{ RECEIVABLE : owes
    
    CARRIER ||--o{ BILL : receives
    CARRIER ||--o{ PAYABLE : receives

5.3 数据运营保障

保障项

策略

实现方式

数据准确性

计费数据双重校验

规则校验+AI校验

数据完整性

关键字段必填校验

数据库约束+应用层校验

数据一致性

分布式事务保障

Seata AT模式

数据可追溯

全链路操作日志

统一日志平台+traceId

数据安全

敏感数据加密

AES加密+脱敏展示

数据备份

定时备份+异地备份

每日增量+每周全量备份

数据归档

历史数据归档

超期数据归档到冷存储


6 API架构设计

6.1 接口运营规范

规范项

说明

yudao-cloud适配

协议

HTTPS/RESTful

Spring Cloud标准

数据格式

JSON

@RequestBody/ResponseBody

认证方式

OAuth2.0 + JWT

yudao-cloud Security

权限控制

接口级权限

@PreAuthorize注解

数据权限

租户/部门隔离

@DataPermission注解

响应格式

统一包装

GlobalResult统一返回

链路追踪

traceId

yudao-cloud Trace

限流熔断

Sentinel

注解驱动

6.2 运营核心API

服务

接口路径

方法

运营功能

运营场景

合同运营

POST /api/bms/contract/create

创建合同

新签合同录入

商务签约

PUT /api/bms/contract/{id}/renew

合同续约

到期自动续约

客户维护

GET /api/bms/contract/{id}/prices

查询价格

价格明细查询

价格核对

POST /api/bms/contract/{id}/prices

配置价格

阶梯/淡旺季价格

价格调整

计费运营

POST /api/bms/billing/trigger

触发计费

单笔/批量计费

异常补计

GET /api/bms/billing/details

查询明细

费用明细追溯

客户查询

POST /api/bms/billing/verify

人工校验

异常费用审核

差异处理

GET /api/bms/billing/exceptions

异常列表

异常账单查询

问题排查

账单运营

POST /api/bms/bill/generate

生成账单

手动生成账单

补单处理

GET /api/bms/bill/pool

账单池

待处理账单查询

日常运营

POST /api/bms/bill/split

账单拆分

账单按需拆分

客户要求

POST /api/bms/bill/merge

账单合并

多单合并处理

客户要求

对账运营

POST /api/bms/recon/send

发送对账

批量发送对账

月底对账

POST /api/bms/recon/confirm

对账确认

在线确认对账

客户操作

POST /api/bms/recon/dispute

差异申诉

提交差异申诉

客户异议

GET /api/bms/recon/pending

待确认列表

待确认对账查询

跟进催办

收款运营

POST /api/bms/receivable/claim

收款认领

银行流水匹配

收款认领

POST /api/bms/receivable/writeoff

收款核销

应收款核销

收款处理

GET /api/bms/receivable/aging

账龄分析

逾期账龄查询

催收管理

POST /api/bms/receivable/remind

逾期提醒

发送催收通知

逾期催收

付款运营

POST /api/bms/payable/settle

发起结算

承运商结算

付款执行

POST /api/bms/payable/approve

付款审批

多级审批流

财务审批

POST /api/bms/payable/execute

付款执行

银企直连付款

付款处理

GET /api/bms/payable/pending

待付款列表

待付款查询

付款安排

报表运营

GET /api/bms/report/revenue

收入报表

多维度收入分析

经营分析

GET /api/bms/report/cost

成本报表

多维度成本分析

成本管控

GET /api/bms/report/profit

毛利报表

利润分析

效益评估

GET /api/bms/report/dashboard

运营看板

核心指标看板

日常监控

6.3 运营通知接口

通知类型

触发场景

推送方式

接口路径

账单通知

账单生成/变更

短信/邮件/站内信

POST /api/bms/notify/bill

对账通知

对账发送/确认/差异

短信/邮件/站内信

POST /api/bms/notify/recon

收款通知

收款到账/核销

短信/站内信

POST /api/bms/notify/payment

逾期预警

逾期前3/7/15天

短信/邮件/站内信

POST /api/bms/notify/overdue

付款通知

付款成功/失败

短信/站内信

POST /api/bms/notify/settle

6.4 统一响应格式

{
  "code": 200,
  "message": "success",
  "data": {
    "billId": "BLL2024010001",
    "billNo": "YZ2024010001",
    "billType": "RECEIVABLE",
    "customerId": "CUS001",
    "totalAmount": 12500.00,
    "status": "CONFIRMED",
    "createTime": "2024-01-15 10:30:00"
  },
  "traceId": "abc123def456",
  "timestamp": 1705303800000
}

7 业务流程设计

7.1 计费运营流程

flowchart TD
    subgraph 计费触发
        A1[订单完成] --> A2[出入库确认]
        A2 --> A3[运输签收]
        A3 --> A4{触发条件}
    end
    
    subgraph 费用计算
        A4 -->|满足| B1[获取合同价格]
        B1 --> B2[匹配计费规则]
        B2 --> B3[费用逐项计算]
        B3 --> B4[费用汇总]
    end
    
    subgraph 智能校验
        B4 --> C1[AI校验]
        C1 --> C2{异常识别}
        C2 -->|正常| C3[通过]
        C2 -->|异常| C4[标记差异]
        C4 --> C5[预警通知]
    end
    
    subgraph 账单生成
        C3 --> D1[生成计费明细]
        D1 --> D2[按客户汇总]
        D2 --> D3[生成应收账单]
        D2 --> D4[生成应付账单]
    end
    
    subgraph 消息通知
        D3 --> E1[推送货主]
        D4 --> E2[推送承运商]
        E1 --> E3[短信/邮件/站内信]
        E2 --> E3
    end

7.2 对账运营流程

flowchart TD
    subgraph 对账准备
        A1[账单周期结束] --> A2[生成对账清单]
        A2 --> A3[发送对账通知]
        A3 --> A4[等待客户确认]
    end
    
    subgraph 在线对账
        A4 --> B1{客户反馈}
        B1 -->|无异议| B2[确认对账]
        B1 -->|有异议| B3[提交差异申诉]
        B3 --> B4[运营审核]
        B4 --> B5{申诉结果}
        B5 -->|成立| B6[调整账单]
        B5 -->|不成立| B7[沟通解释]
        B6 --> B8[确认对账]
        B7 --> B1
    end
    
    subgraph 对账完成
        B2 --> C1[生成对账确认单]
        B8 --> C1
        C1 --> C2[解锁开票]
        C2 --> C3[进入开票流程]
    end

7.3 收款运营流程

flowchart TD
    subgraph 到账认领
        A1[客户付款] --> A2[银行收款流水]
        A2 --> A3[系统自动匹配]
        A3 --> A4{匹配结果}
        A4 -->|自动匹配| A5[确认收款]
        A4 -->|无法匹配| A6[人工认领]
        A6 --> A7[运营审核]
        A7 --> A8{审核结果}
        A8 -->|通过| A5
        A8 -->|拒绝| A9[退回处理]
    end
    
    subgraph 收款核销
        A5 --> B1[获取应收账单]
        B1 --> B2{金额匹配}
        B2 -->|全额| B3[全额核销]
        B2 -->|部分| B4[部分核销]
        B4 --> B5[更新账龄]
        B3 --> B6[生成收款凭证]
        B5 --> B6
    end
    
    subgraph 逾期催收
        B6 --> C1{是否逾期}
        C1 -->|是| C2[触发催收]
        C2 --> C3[发送催收通知]
        C3 --> C4[记录催收结果]
        C4 --> C5{催收效果}
        C5 -->|成功| C6[收款认领]
        C5 -->|失败| C7[升级处理]
        C7 --> C8[法务介入]
    end

7.4 承运商结算运营流程

flowchart TD
    subgraph 结算数据准备
        A1[运输完成] --> A2[生成运输记录]
        A2 --> A3[关联运单数据]
        A3 --> A4[计算应付费用]
    end
    
    subgraph 应付生成
        A4 --> B1[按承运商汇总]
        B1 --> B2[生成应付账单]
        B2 --> B3[发送承运商确认]
        B3 --> B4{确认结果}
        B4 -->|确认| B5[进入付款]
        B4 -->|异议| B6[差异处理]
        B6 --> B5
    end
    
    subgraph 付款执行
        B5 --> C1[发起付款申请]
        C1 --> C2[运营审批]
        C2 --> C3{审批结果}
        C3 -->|通过| C4[提交银行]
        C3 -->|拒绝| C5[退回修改]
        C4 --> C6[银企直连付款]
        C6 --> C7[付款成功通知]
    end

8 安全架构设计

8.1 运营权限体系

角色

权限范围

操作限制

适用岗位

运营总监

全模块

无限制

高层管理

运营经理

本部门数据

查看所有报表

部门管理

计费专员

计费模块

仅计费操作

计费运营

应收专员

应收模块

仅应收操作

应收运营

应付专员

应付模块

仅应付操作

应付运营

财务专员

账单/凭证

仅查看审批

财务审核

货主用户

本企业数据

仅本企业

外部货主

承运商用户

本企业数据

仅本企业

外部承运商

8.2 运营安全策略

安全维度

策略

技术实现

身份认证

OAuth2.0 + JWT

yudao-cloud Security

权限控制

RBAC + 数据权限

@PreAuthorize + @DataPermission

操作审计

全操作日志记录

ELK审计日志

敏感操作

二次验证/审批

金额阈值+多级审批

数据加密

传输加密+存储加密

HTTPS + AES

接口安全

限流+熔断+防刷

Sentinel

合规审计

财务报表审计

凭证追溯

8.3 运营合规要求

合规项

要求

系统实现

财务合规

符合会计准则

凭证自动生成+ERP对接

数据合规

敏感数据保护

加密存储+脱敏展示

审计合规

操作可追溯

全链路日志+traceId

税务合规

发票规范管理

电子发票集成+校验

8.4 yudao-cloud安全配置示例

@Configuration
public class BmsSecurityConfiguration {

    @Bean
    public SecurityFilterChain filterChain(HttpSecurity httpSecurity) throws Exception {
        httpSecurity
                // 登录配置
                .formLogin()
                    .loginPage("/login")
                    .loginProcessingUrl("/api/auth/login")
                    .defaultSuccessUrl("/", true)
                .and()
                // 登出配置
                .logout()
                    .logoutUrl("/api/auth/logout")
                    .logoutSuccessHandler(new LogoutSuccessHandler() {
                        @Override
                        public void onLogoutSuccess(HttpServletRequest request, 
                                                    HttpServletResponse response,
                                                    Authentication authentication)
                                                    throws IOException {
                            response.setStatus(HttpServletResponse.SC_OK);
                            response.getWriter().println("Logout successful");
                        }
                    })
                .and()
                // CSRF 禁用
                .csrf().disable()
                // 安全策略
                .sessionManagement()
                    .sessionCreationPolicy(SessionCreationPolicy.STATELESS)
                .and()
                .authorizeHttpRequests(authz -> authz
                    .requestMatchers("/bms/contract/**").hasAuthority("bms:contract")
                    .requestMatchers("/bms/billing/**").hasAuthority("bms:billing")
                    .requestMatchers("/bms/receivable/**").hasAuthority("bms:receivable")
                    .anyRequest().authenticated()
                );
        return httpSecurity.build();
    }
}

9 部署架构设计

9.1 部署拓扑(运营视角)

graph TB
    subgraph 接入层
        LB[Nginx负载均衡]
        WAF[WAF防火墙]
    end
    
    subgraph 网关层
        Gateway[Spring Cloud Gateway<br/>yudao-cloud]
        Config[配置中心Nacos]
        Registry[注册中心Nacos]
    end
    
    subgraph 运营服务层
        Contract[bms-contract<br/>合同运营服务]
        Billing[bms-billing<br/>计费运营服务]
        Receivable[bms-receivable<br/>应收运营服务]
        Payable[bms-payable<br/>应付运营服务]
        Report[bms-report<br/>报表运营服务]
        Config[bms-config<br/>配置运营服务]
    end
    
    subgraph 运营支撑层
        MQ[RabbitMQ消息队列]
        Schedule[XXL-JOB定时任务]
        Monitor[Prometheus+Grafana]
        Log[ELK日志中心]
        Tracing[Jaeger链路追踪]
    end
    
    subgraph 运营数据层
        DB[(MySQL<br/>运营数据库)]
        Cache[(Redis<br/>运营缓存)]
        ES[(Elasticsearch<br/>运营分析库)]
    end
    
    subgraph 运营接入终端
        PC[PC运营管理端<br/>MateClaw]
        Mobile[移动运营APP<br/>MateClaw]
        Shipper[货主门户<br/>MateClaw H5]
        Carrier[承运商门户<br/>MateClaw H5]
    end
    
    LB --> WAF
    WAF --> Gateway
    Gateway --> Contract
    Gateway --> Billing
    Gateway --> Receivable
    Gateway --> Payable
    Gateway --> Report
    Gateway --> Config
    
    Contract --> DB
    Billing --> DB
    Receivable --> DB
    Payable --> DB
    Report --> DB
    Config --> DB
    
    Billing --> Cache
    Contract --> Cache
    
    Billing --> MQ
    Receivable --> MQ
    Payable --> MQ
    
    Report --> ES
    
    Billing --> Schedule
    Receivable --> Schedule
    Payable --> Schedule
    
    Contract --> Monitor
    Billing --> Monitor
    Receivable --> Monitor
    Payable --> Monitor
    
    PC --> Gateway
    Mobile --> Gateway
    Shipper --> Gateway
    Carrier --> Gateway

9.2 运营高可用设计

高可用策略

实现方式

运营保障

服务冗余

每个服务至少2实例

自动故障转移

数据库主从

主从自动切换

数据零丢失

缓存集群

Redis Cluster

热点数据高可用

消息持久化

RabbitMQ镜像队列

消息不丢失

定时任务高可用

XXL-JOB路由策略

任务不重复执行

限流熔断

Sentinel降级规则

保护核心服务

多活部署

异地容灾

灾难快速恢复


10 运营控体系

10.1 运营监控指标

监控维度

核心指标

告警阈值

告警方式

计费监控

计费成功率

<99%

短信+邮件

计费响应时间

>500ms

邮件

计费异常率

>0.5%

短信

账单监控

账单生成延迟

>5分钟

邮件

对账确认率

<95%

短信

收款监控

逾期率

>5%

短信+邮件

回款率

<90%

短信

系统监控

服务可用性

<99.9%

电话+短信

DB连接数

>80%

邮件

MQ队列堆积

>10000

短信

10.2 运营看板设计

看板类型

展示内容

刷新频率

使用角色

实时监控看板

今日计费量、待对账、待收款、待付款

实时

运营全员

账单运营看板

账单状态分布、对账进度、逾期账单

每5分钟

账单运营

收款运营看板

回款进度、逾期分布、催收效果

每日

应收运营

成本运营看板

应付汇总、付款计划、成本趋势

每日

应付运营

经营分析看板

收入/成本/毛利、客户排名、线路效益

每日

管理层

10.3 运营告警处理

flowchart TD
    A[告警触发] --> B{告警级别}
    B -->|严重| C[立即处理]
    B -->|重要| D[4小时内处理]
    B -->|一般| E[24小时内处理]
    
    C --> F[值班人员响应]
    D --> G[运营主管响应]
    E --> H[运营专员响应]
    
    F --> I{是否解决}
    G --> I
    H --> I
    I -->|解决| J[告警关闭]
    I -->|未解决| K[升级处理]
    K --> L[部门经理介入]

10.4 Prometheus监控配置

Logo

电商企业物流数字化转型必备!快递鸟 API 接口,72 小时快速完成物流系统集成。全流程实战1V1指导,营造开放的API技术生态圈。

更多推荐