import express from 'express' import { coreEnterprises, customerManagers } from '../db/seedBaseConfig.js' import { nextId } from '../utils/id.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) // ---------------- 核心企业(渠道) ---------------- // 2026-07-20:后端核心企业接口真实字段为 channelName/channelNo(渠道名称/渠道编号), // 与此前依据的旧版 swagger 快照(enterpriseName/enterpriseCode)不同;此处兼容新旧两种字段名, // 便于本地演示环境同时兼容历史数据。 router.post('/core-enterprise/page', (req, res) => { const { channelName, channelNo, enterpriseName, enterpriseCode, organizationId, page, pageSize } = req.body || {} const nameKeyword = channelName || enterpriseName const noKeyword = channelNo || enterpriseCode let list = coreEnterprises if (nameKeyword) list = list.filter((e) => (e.channelName || e.enterpriseName)?.includes(nameKeyword)) if (noKeyword) list = list.filter((e) => (e.channelNo || e.enterpriseCode)?.includes(noKeyword)) if (organizationId) list = list.filter((e) => e.organizationId === organizationId) sendOk(res, paginate(list, page, pageSize)) }) router.post('/core-enterprise/create', (req, res) => { const body = req.body || {} const channelName = body.channelName || body.enterpriseName if (!channelName) return sendFail(res, '渠道名称不能为空', 400) if (!(body.channelNo || body.enterpriseCode)) return sendFail(res, '渠道编号不能为空', 400) const id = nextId('coreEnterprise') const entity = { id, createdAt: new Date().toISOString().slice(0, 19).replace('T', ' '), ...body } coreEnterprises.push(entity) sendOk(res, entity, '创建成功') }) router.post('/core-enterprise/update', (req, res) => { const { id, ...rest } = req.body || {} const entity = coreEnterprises.find((e) => e.id === id) if (!entity) return sendFail(res, '核心企业不存在', 404) Object.assign(entity, rest) sendOk(res, true, '更新成功') }) router.post('/core-enterprise/delete', (req, res) => { const { id } = req.body || {} const index = coreEnterprises.findIndex((e) => e.id === id) if (index === -1) return sendFail(res, '核心企业不存在', 404) coreEnterprises.splice(index, 1) sendOk(res, true, '删除成功') }) // ---------------- 客户经理 ---------------- router.post('/customer-manager/page', (req, res) => { const { managerName, page, pageSize } = req.body || {} let list = customerManagers if (managerName) list = list.filter((m) => m.managerName.includes(managerName)) sendOk(res, paginate(list, page, pageSize)) }) router.post('/customer-manager/create', (req, res) => { const body = req.body || {} if (!body.managerName) return sendFail(res, '姓名不能为空', 400) const id = nextId('customerManager') const entity = { id, status: 'ACTIVE', remark: '', ...body } customerManagers.push(entity) sendOk(res, entity, '创建成功') }) router.post('/customer-manager/update', (req, res) => { const { id, ...rest } = req.body || {} const entity = customerManagers.find((m) => m.id === id) if (!entity) return sendFail(res, '客户经理不存在', 404) Object.assign(entity, rest) sendOk(res, true, '更新成功') }) router.post('/customer-manager/delete', (req, res) => { const { id } = req.body || {} const index = customerManagers.findIndex((m) => m.id === id) if (index === -1) return sendFail(res, '客户经理不存在', 404) customerManagers.splice(index, 1) sendOk(res, true, '删除成功') }) export default router