| 规格项 | 说明 |
|---|---|
| 鉴权方式 | HMAC-SHA256 签名,禁止 MD5 |
| 公共参数 | app_key · timestamp(毫秒)· nonce(32位)· sign |
| 防重放 | timestamp 有效期可配置(默认5分钟),nonce+timestamp 通过 Redis 去重 |
| IP 白名单 | 按客户配置,启用后仅白名单 IP 可调用 |
| 签名算法 | HMAC-SHA256 key 字典序升序拼接 + &key=app_secret |
| 验签失败 | 返回错误码 + 记录失败日志 |
| 规格项 | 说明 |
|---|---|
| 幂等机制 | 同一 out_order_no 重复请求返回原结果,Redis + DB 唯一索引,有效期30天 |
| 余额校验 | 余额 + 信用额度 ≥ 订单售价;扣款顺序:账户余额 → 信用额度 |
| 信用预警 | 信用额度使用 ≥ 80% 时返回预警提示(不阻断下单) |
| 供应商余额 | 下单前实时查询,不缓存,不足返回错误 |
| 异步采购 | 订单创建后投递 MQ,Worker 异步执行,接口同步返回 order_no + CREATED |
| 响应目标 | < 500ms |
| 回调重试 | 最多5次,间隔 10s / 30s / 1min / 5min / 15min |
| 卡密返回 | COMPLETED 状态脱敏返回(中间4位 ****),明文需权限 + 审计 |
| 规格项 | 说明 |
|---|---|
| 抽象接口 | 统一定义:查询余额 · 下单 · 查询订单 · 查询商品 |
| 适配器 | 每个供应商独立 Adapter,核心逻辑不依赖具体实现 |
| 一期交付 | FulunAdapter(福禄)完整可运行,架构预留多供应商 |
| 超时处理 | 接口超时 → WAIT_CONFIRM,等待补偿巡检 |
| 失败重试 | 次数、间隔可配置;超限 → FAIL |
| 巡检触发 | Go 内置 cron,默认5分钟;超1小时触发告警 |
| 卡密存储 | AES-256-GCM 加密入库 |
| 规格项 | 说明 |
|---|---|
| 分布式锁 | Redis,key = lock:order:{order_no} |
| 状态变更 | 所有变更需校验前置状态合法性 |
| 终态保护 | COMPLETED / FAIL 不可变更,包括供应商后续通知 |
| 防重复发货 | SUCCESS 完成回调后不可再次返回卡密 |
| 管理 API | 仅限内网 + IP 白名单,共享密钥签名 |
| 卡密审计 | 查看明文:操作人 · 时间 · 订单号 · IP 全部记录 |
| 功能 | 说明 |
|---|---|
| 客户列表 | 名称 · app_key · 余额 · 信用额度 · 状态,搜索筛选 |
| 新增客户 | 填写信息,系统生成 app_key / app_secret |
| 余额管理 | 余额账户查看 + 变动流水 |
| 信用额度 | 设置/调整,变更记录审计日志 |
| 充值工单 | 创建(金额+凭证)→ 运营审核 → 财务确认 → 到账 |
| 供应商管理 | 列表 · 新增 · 编辑接口配置 · 实时余额查询 |
| 报表 | 说明 |
|---|---|
| T+1 客户对账 | 每日自动生成客户交易明细 · 差异项人工确认 |
| T+1 供应商对账 | 每日自动生成供应商采购明细 · 差异项推送审核 |
| 对账差异审核 | 差异列表:漏单 / 多单 / 金额不符 · 支持确认/驳回 |
| 日报 / 月报 | 交易日报、月报,支持自定义时间范围 |
| 毛利报表 | 按商品 · 客户 · 时间维度统计毛利 |
| 余额流水 | 充值 / 消费 / 调整记录查询 |
| 导出 | 所有报表支持 Excel / CSV |
| 功能 | 说明 |
|---|---|
| 异常订单 | WAIT_CONFIRM · FAIL · 回调失败专区 |
| 手动重试采购 | 订单详情页 → 需二次确认 → 调 Go 管理 API |
| 手动补发回调 | 订单详情页 → 需二次确认 → 调 Go 管理 API |
| 卡密明文 | 需管理员角色 + 二次确认 + 审计日志 |
| 操作日志 | 所有增删改:操作人 · 时间 · IP · 内容 |
| 系统参数 | 重试次数 · 超时 · 幂等有效期 · 巡检间隔 · 预警阈值 |
| 规格项 | 说明 |
|---|---|
| 触发方式 | Go 内置 cron,每日 02:00 执行(时间可配置) |
| 对账周期 | T+1,对上一个自然日全量订单 |
| 我方数据源 | MySQL 订单表,按日期过滤 COMPLETED 终态订单 |
| 供应商数据源 | 调供应商 API 拉取对账文件 或 管理后台手动上传 |
| 客户数据源 | 我方订单流水(买卖价差) · 客户账户扣款记录 |
| 匹配逻辑 | 按供应商订单号逐笔匹配,核对商品 SKU、数量、采购价 |
| 规格项 | 说明 |
|---|---|
| 差异类型 | 漏单我方有,供应商无 多单供应商有,我方无 金额不符 |
| 结果存储 | 生成对账单入库,差异明细单独标记,关联原订单 |
| 异常推送 | 差异项自动推送管理后台异常队列,触发站内通知 |
| 人工审核 | 财务在后台逐条确认或驳回,操作记入审计日志 |
| 客户账单 | 同步生成客户 T+1 账单(消费明细 + 应收款),支持导出发送 |
| 报表输出 | 管理后台查看/导出对账单,支持 Excel / CSV |
| 自动打款触发 | 对账单状态变为「已确认」后,系统自动生成客户应付账单并推送打款通知 |
| 打款方式 | 客户收到账单通知后,按约定通过银行转账完成付款;系统记录到款时间与金额 |
| 到款确认 | 财务在管理后台确认到款 → 客户账户余额增加 → 对账单状态更新为「已结清」 |
| 逾期预警 | 账单生成后超过约定时间(可配置,默认24h)未确认到款,触发站内通知 + 预警 |