// 订单管理路由:/api/summary-order/*(汇总订单)+ /api/original-order/*(原始订单)。 // 严格对齐真实接口能力:summary-order/page 仅支持 orderNo;original-order/page 仅支持 // originalOrderNo(不支持按 summaryOrderId 过滤);export 响应结构未文档化,沿用 // {fileData: base64} 假设。 import express from 'express' import { summaryOrders, originalOrders } from '../db/seedOrder.js' import { paginate } from '../utils/pagination.js' import { sendOk, sendFail } from '../utils/response.js' import { requireAuth } from '../middleware/requireAuth.js' const router = express.Router() router.use(requireAuth) // ---------------- 汇总订单 ---------------- router.post('/summary-order/page', (req, res) => { const { orderNo, page, pageSize } = req.body || {} let list = summaryOrders if (orderNo) list = list.filter((o) => o.orderNo.includes(orderNo)) sendOk(res, paginate(list, page, pageSize)) }) router.post('/summary-order/detail', (req, res) => { const { id } = req.body || {} const order = summaryOrders.find((o) => o.id === id) if (!order) return sendFail(res, '汇总订单不存在', 404) sendOk(res, order) }) // ---------------- 原始订单 ---------------- router.post('/original-order/page', (req, res) => { const { originalOrderNo, page, pageSize } = req.body || {} let list = originalOrders if (originalOrderNo) list = list.filter((o) => o.originalOrderNo.includes(originalOrderNo)) sendOk(res, paginate(list, page, pageSize)) }) router.post('/original-order/export', (req, res) => { // 响应结构未文档化,mock 沿用项目既有 {fileData: base64} 约定,返回一个可直接被 // xlsx 解析工具识别的最小占位内容(此处用简单文本 base64 编码模拟,仅用于打通下载流程)。 const placeholderContent = Buffer.from('mock-original-order-export-placeholder').toString('base64') sendOk(res, { fileData: placeholderContent }, '导出成功') }) export default router