feat:寄卖增加对接客服,db脚本迁移修复

This commit is contained in:
2026-10-27 13:39:48 +08:00
parent 0de0fd7b58
commit 622bd779dd
25 changed files with 1515 additions and 106 deletions
@@ -13,6 +13,13 @@ import {
toggleAdminConsignmentMatching,
updateAdminConsignmentInventory,
} from '../../../services/worker-platform/consignment-admin-service.js'
import {
createAdminConsignmentContact,
deleteAdminConsignmentContact,
fetchAdminConsignmentContacts,
setAdminConsignmentContactEnabled,
updateAdminConsignmentContact,
} from '../../../services/worker-platform/consignment-contact-service.js'
import {
assignWorkOrderWithConsignmentWorker,
checkWorkOrderInventoryMatches,
@@ -54,6 +61,64 @@ router.get(
}),
)
// ---------------- 对接客服名单 ----------------
router.get(
'/worker-platform/consignment/contacts',
requireAdminPermission('consignment.view'),
createJsonHandler((req) => fetchAdminConsignmentContacts(req.query), {
successMessage: 'ok',
errorMessage: '读取对接客服名单失败',
scope: '[admin/consignment/contacts]',
}),
)
router.post(
'/worker-platform/consignment/contacts',
requireAdminPermission('consignment.manage'),
createJsonHandler((req) => createAdminConsignmentContact(req.body || {}), {
successMessage: '对接客服已新增',
errorMessage: '新增对接客服失败',
scope: '[admin/consignment/contacts/create]',
}),
)
router.put(
'/worker-platform/consignment/contacts/:id',
requireAdminPermission('consignment.manage'),
createJsonHandler(
(req) => updateAdminConsignmentContact(String(req.params.id || ''), req.body || {}),
{
successMessage: '对接客服已更新',
errorMessage: '更新对接客服失败',
scope: '[admin/consignment/contacts/update]',
},
),
)
router.patch(
'/worker-platform/consignment/contacts/:id/enabled',
requireAdminPermission('consignment.manage'),
createJsonHandler(
(req) => setAdminConsignmentContactEnabled(String(req.params.id || ''), req.body?.enabled),
{
successMessage: '对接客服状态已更新',
errorMessage: '更新对接客服状态失败',
scope: '[admin/consignment/contacts/enabled]',
},
),
)
router.delete(
'/worker-platform/consignment/contacts/:id',
requireAdminPermission('consignment.manage'),
createJsonHandler((req) => deleteAdminConsignmentContact(String(req.params.id || '')), {
successMessage: '对接客服已删除',
errorMessage: '删除对接客服失败',
scope: '[admin/consignment/contacts/delete]',
}),
)
router.get(
'/worker-platform/consignment/inventories/:id',
requireAdminPermission('consignment.view'),
@@ -7,11 +7,25 @@ import {
publishWorkerConsignment,
submitWorkerConsignmentGiftEvidence,
} from '../../services/worker-platform/consignment-worker-service.js'
import { fetchWorkerConsignmentContacts } from '../../services/worker-platform/consignment-contact-service.js'
import { sendRouteError } from '../../utils/http.js'
import { getRequiredWorkerSession, requireActiveWorker } from './session.js'
const router = Router()
/**
* GET /api/v1/worker/consignment/contacts
* 打手发布寄卖时的「对接客服」下拉:只返回启用中的名单
*/
router.get('/consignment/contacts', async (req, res) => {
try {
const result = await fetchWorkerConsignmentContacts()
res.json({ ok: true, data: result })
} catch (error) {
sendRouteError(res, error, '获取对接客服失败', '[worker/consignment/contacts]')
}
})
/**
* POST /api/v1/worker/consignment/publish
* 打手在接单平台直接提报苏尔南手枪寄卖