SFT/mock-server/routes/baseConfig.js

78 lines
2.8 KiB
JavaScript

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)
// ---------------- 核心企业 ----------------
router.post('/core-enterprise/page', (req, res) => {
const { enterpriseName, page, pageSize } = req.body || {}
let list = coreEnterprises
if (enterpriseName) list = list.filter((e) => e.enterpriseName.includes(enterpriseName))
sendOk(res, paginate(list, page, pageSize))
})
router.post('/core-enterprise/create', (req, res) => {
const body = req.body || {}
if (!body.enterpriseName) return sendFail(res, '企业名称不能为空', 400)
const id = nextId('coreEnterprise')
const entity = { id, status: 'ACTIVE', remark: '', ...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