45 lines
1.9 KiB
JavaScript
45 lines
1.9 KiB
JavaScript
// 订单管理路由:/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
|