diff --git a/apps/backend/src/db/migrations/063_worker_cancel_request_wording_v2.sql b/apps/backend/src/db/migrations/063_worker_cancel_request_wording_v2.sql new file mode 100644 index 00000000..d23133fc --- /dev/null +++ b/apps/backend/src/db/migrations/063_worker_cancel_request_wording_v2.sql @@ -0,0 +1,6 @@ +-- 063_worker_cancel_request_wording_v2.sql —— 将退单审核文案明确为打手退单。 +UPDATE admin_permissions +SET + permission_name = '审核打手退单申请', + description = '审核打手提交的退单申请' +WHERE permission_key = 'worker_cancel_request.review'; diff --git a/apps/backend/src/repositories/worker-platform/worker-cancel-request-repo.ts b/apps/backend/src/repositories/worker-platform/worker-cancel-request-repo.ts index e14aeb6e..c705c091 100644 --- a/apps/backend/src/repositories/worker-platform/worker-cancel-request-repo.ts +++ b/apps/backend/src/repositories/worker-platform/worker-cancel-request-repo.ts @@ -201,8 +201,8 @@ async function applyWorkerCancelRequestPenaltyWithClient( return { levelBeforeId, levelChanged: true, accountDisabled: false } } -/** 打手提交取消订单申请;待审核期间订单与押金均保持原状。 */ -/** 批量查询打手在各工单上待审核的取消订单申请,用于订单角标与问题单归类。 */ +/** 打手提交退单申请;待审核期间订单与押金均保持原状。 */ +/** 批量查询打手在各工单上待审核的退单申请,用于订单角标与问题单归类。 */ export async function getPendingCancelRequestOrderIds( workerId: number, workOrderIds: number[], @@ -503,7 +503,7 @@ export async function reviewWorkerCancelRequest(input: { `INSERT INTO worker_wallet_ledgers ( worker_id, ledger_type, amount, balance_after, frozen_after, related_work_order_id, note, payload_json, created_at - ) VALUES ($1, 'deposit_release', $2, $3, $4, $5, '取消订单申请审核通过退还拼单押金', $6::jsonb, $7)`, + ) VALUES ($1, 'deposit_release', $2, $3, $4, $5, '打手退单申请审核通过退还拼单押金', $6::jsonb, $7)`, [ request.worker_id, releasedDepositAmount, @@ -583,8 +583,8 @@ export async function reviewWorkerCancelRequest(input: { nextFrozen, request.work_order_id, forfeitGiftDeposit - ? '取消订单申请审核通过扣除押金(已确认加好友)' - : '取消订单申请审核通过退还押金', + ? '打手退单申请审核通过扣除押金(已确认加好友)' + : '打手退单申请审核通过退还押金', JSON.stringify({ requestId: request.id, reason: request.reason, diff --git a/apps/backend/src/routes/admin/worker-platform/review.ts b/apps/backend/src/routes/admin/worker-platform/review.ts index 5a53443b..052e6c6b 100644 --- a/apps/backend/src/routes/admin/worker-platform/review.ts +++ b/apps/backend/src/routes/admin/worker-platform/review.ts @@ -15,7 +15,7 @@ router.get( requireAdminPermission('worker_cancel_request.review'), createJsonHandler((req) => listAdminWorkerCancelRequests(req.query), { successMessage: 'ok', - errorMessage: '读取取消订单申请失败', + errorMessage: '读取打手退单申请失败', scope: '[admin/worker-platform/cancel-requests]', }), ) @@ -59,8 +59,8 @@ router.post( req.adminSession?.username || '', ), { - successMessage: '取消订单申请已审核', - errorMessage: '审核取消订单申请失败', + successMessage: '打手退单申请已审核', + errorMessage: '审核打手退单申请失败', scope: '[admin/worker-platform/cancel-requests/:requestId/review]', audit: (req, data) => ({ action: 'worker_cancel_request_reviewed', diff --git a/apps/backend/src/services/admin/admin-notification-service.ts b/apps/backend/src/services/admin/admin-notification-service.ts index 43fda854..1771e762 100644 --- a/apps/backend/src/services/admin/admin-notification-service.ts +++ b/apps/backend/src/services/admin/admin-notification-service.ts @@ -110,7 +110,7 @@ export async function createWorkerCancelRequestAdminNotification(input: { entityType: 'worker_cancel_request', entityId: input.requestId, dedupeKey: `worker_cancel_request:${input.requestId}`, - title: '有打手取消订单申请待审核', + title: '有打手退单申请待审核', body: [ `订单:${input.platformOrderId || input.workOrderId}`, `商品:${input.productName || '-'}`, diff --git a/apps/backend/src/services/worker-platform/admin-worker-cancel-service.ts b/apps/backend/src/services/worker-platform/admin-worker-cancel-service.ts index e903c65d..0c767872 100644 --- a/apps/backend/src/services/worker-platform/admin-worker-cancel-service.ts +++ b/apps/backend/src/services/worker-platform/admin-worker-cancel-service.ts @@ -41,19 +41,19 @@ export async function reviewAdminWorkerCancelRequest( now: nowIso(), }) if (result.failureReason === 'request_not_found') { - throw createHttpError('取消订单申请不存在', { + throw createHttpError('打手退单申请不存在', { statusCode: 404, errorCode: 'worker_cancel_request_not_found', }) } if (result.failureReason === 'request_not_pending') { - throw createHttpError('该取消订单申请已审核,请刷新后重试', { + throw createHttpError('该打手退单申请已审核,请刷新后重试', { statusCode: 409, errorCode: 'worker_cancel_request_not_pending', }) } if (!result.request || !result.order) { - throw createHttpError('订单状态已变化,无法审核该取消订单申请', { + throw createHttpError('订单状态已变化,无法审核该打手退单申请', { statusCode: 409, errorCode: 'worker_cancel_request_target_changed', }) diff --git a/apps/backend/src/services/worker-platform/worker-my-order-service.ts b/apps/backend/src/services/worker-platform/worker-my-order-service.ts index fe26e2a8..c599f441 100644 --- a/apps/backend/src/services/worker-platform/worker-my-order-service.ts +++ b/apps/backend/src/services/worker-platform/worker-my-order-service.ts @@ -98,7 +98,7 @@ export async function listWorkerMyOrders(query: JsonObject = {}, session: Worker noteByOrderId.get(workOrderId) || '', viewedAtByOrderId.get(workOrderId) || null, ), - // 问题单分组内的来源角标:平台标记 / 取消申请审核中 / 反馈处理中。 + // 问题单分组内的来源角标:平台标记 / 退单审核中 / 反馈处理中。 problemMarked: item.status === 'problem', pendingCancelRequest: pendingCancelOrderIds.has(workOrderId), pendingFeedback: pendingFeedbackOrderIds.has(workOrderId), diff --git a/apps/frontend/src/components/WorkOrderEventTimeline.tsx b/apps/frontend/src/components/WorkOrderEventTimeline.tsx index bab41db9..3e05524e 100644 --- a/apps/frontend/src/components/WorkOrderEventTimeline.tsx +++ b/apps/frontend/src/components/WorkOrderEventTimeline.tsx @@ -123,17 +123,17 @@ export function formatWorkOrderEvent(event: WorkOrderEvent): EventNodeStyle { return { title: '打手取消接单', color: 'red' } case 'cancel_request_submitted': return { - title: note ? `打手提交取消订单申请:${note}` : '打手提交取消订单申请,等待客服审核', + title: note ? `打手提交退单申请:${note}` : '打手提交退单申请,等待客服审核', color: 'orange', } case 'cancel_request_rejected': return { - title: note ? `客服驳回取消订单申请:${note}` : '客服驳回取消订单申请', + title: note ? `客服驳回打手退单申请:${note}` : '客服驳回打手退单申请', color: 'green', } case 'cancel_request_approved': return { - title: note ? `客服同意取消订单申请:${note}` : '客服同意取消订单申请,订单已回到大厅', + title: note ? `客服同意打手退单申请:${note}` : '客服同意打手退单申请,订单已回到大厅', color: 'red', } case 'worker_feedback_submitted': diff --git a/apps/frontend/src/pages/admin/AdminWorkerPlatformPage.tsx b/apps/frontend/src/pages/admin/AdminWorkerPlatformPage.tsx index 2b5d5c8c..083eefda 100644 --- a/apps/frontend/src/pages/admin/AdminWorkerPlatformPage.tsx +++ b/apps/frontend/src/pages/admin/AdminWorkerPlatformPage.tsx @@ -80,7 +80,7 @@ export default function AdminWorkerPlatformPage() { { key: 'orders', label: '接单工单', children: }, { key: 'cancel-requests', - label: '取消申请审核', + label: '打手退单审核', children: , }, { key: 'feedbacks', label: '问题反馈', children: }, @@ -90,7 +90,7 @@ export default function AdminWorkerPlatformPage() { { key: 'orders', label: '接单工单', children: }, { key: 'cancel-requests', - label: '取消申请审核', + label: '打手退单审核', children: , }, { key: 'feedbacks', label: '问题反馈', children: }, diff --git a/apps/frontend/src/pages/admin/panels/CancelRequestsPanel.tsx b/apps/frontend/src/pages/admin/panels/CancelRequestsPanel.tsx index 9e45fb7b..2009c76e 100644 --- a/apps/frontend/src/pages/admin/panels/CancelRequestsPanel.tsx +++ b/apps/frontend/src/pages/admin/panels/CancelRequestsPanel.tsx @@ -71,12 +71,12 @@ export default function CancelRequestsPanel() { : result.levelChanged ? ',该打手已降一级 VIP' : '' - message.success(`${result.approved ? '已同意' : '已驳回'}取消订单申请${resultText}`) + message.success(`${result.approved ? '已同意' : '已驳回'}打手退单申请${resultText}`) setReviewTarget(null) form.resetFields() await refreshAll() } catch (error) { - message.error(error instanceof Error ? error.message : '审核取消订单申请失败') + message.error(error instanceof Error ? error.message : '审核打手退单申请失败') } } @@ -135,7 +135,7 @@ export default function CancelRequestsPanel() { return ( <> } @@ -154,12 +154,12 @@ export default function CancelRequestsPanel() { dataSource={requestsQuery.data?.data.items || []} columns={columns} pagination={false} - locale={{ emptyText: '暂无待审核取消订单申请' }} + locale={{ emptyText: '暂无待审核打手退单申请' }} scroll={{ x: 900 }} /> { setReviewTarget(null) diff --git a/apps/frontend/src/pages/admin/panels/NotificationsPanel.tsx b/apps/frontend/src/pages/admin/panels/NotificationsPanel.tsx index 3e1443a8..0899d2ba 100644 --- a/apps/frontend/src/pages/admin/panels/NotificationsPanel.tsx +++ b/apps/frontend/src/pages/admin/panels/NotificationsPanel.tsx @@ -26,8 +26,8 @@ const notificationEventRows: NotificationEventRow[] = [ { key: 'material_required', name: '待补资料工单', description: '新工单等待后台补充资料' }, { key: 'cancel_requested', - name: '取消订单申请', - description: '打手提交新的取消订单申请,等待客服审核', + name: '打手退单申请', + description: '打手提交新的退单申请,等待客服审核', }, { key: 'feedback_submitted', name: '问题反馈', description: '打手反馈客户资料或订单处理问题' }, ] diff --git a/apps/frontend/src/pages/worker/worker-order-utils.tsx b/apps/frontend/src/pages/worker/worker-order-utils.tsx index 2a37241a..48f9b64e 100644 --- a/apps/frontend/src/pages/worker/worker-order-utils.tsx +++ b/apps/frontend/src/pages/worker/worker-order-utils.tsx @@ -77,7 +77,7 @@ export function getOrderFlagTags(order: WorkOrder) { const flags: Array<{ key: string; label: string; color: string }> = [] if (order.problemMarked) flags.push({ key: 'problem', label: '平台标记', color: 'red' }) if (order.pendingCancelRequest) - flags.push({ key: 'cancel', label: '取消申请审核中', color: 'orange' }) + flags.push({ key: 'cancel', label: '退单审核中', color: 'orange' }) if (order.pendingFeedback) flags.push({ key: 'feedback', label: '反馈处理中', color: 'orange' }) if (order.materialUpdated) flags.push({ key: 'material', label: '资料已更新', color: 'blue' }) return flags diff --git a/apps/frontend/src/types/worker-platform.ts b/apps/frontend/src/types/worker-platform.ts index 835a8bed..fda40796 100644 --- a/apps/frontend/src/types/worker-platform.ts +++ b/apps/frontend/src/types/worker-platform.ts @@ -582,7 +582,7 @@ export type WorkOrder = { /** 打手本人尚未点击查看或操作过该工单。 */ isUnread?: boolean problemNote: string - /** 问题单分组来源角标:平台标记 / 取消申请审核中 / 反馈处理中 / 资料已更新。 */ + /** 问题单分组来源角标:平台标记 / 退单审核中 / 反馈处理中 / 资料已更新。 */ problemMarked?: boolean pendingCancelRequest?: boolean pendingFeedback?: boolean diff --git a/apps/frontend/src/utils/admin-display.ts b/apps/frontend/src/utils/admin-display.ts index 49fc9e97..865d2bb9 100644 --- a/apps/frontend/src/utils/admin-display.ts +++ b/apps/frontend/src/utils/admin-display.ts @@ -29,7 +29,7 @@ export function formatAuditAction(action: string) { platform_shop_config_updated: '更新店铺配置', platform_fulfillment_config_updated: '更新履约配置', worker_finance_request_reviewed: '资金申请审核', - worker_cancel_request_reviewed: '取消订单申请审核', + worker_cancel_request_reviewed: '打手退单申请审核', worker_reviewed: '打手账号审核', worker_wallet_credited: '打手钱包手动加款', worker_password_reset: '重置打手密码', @@ -80,7 +80,7 @@ export function formatAuditTargetType(targetType: string) { work_order: '接单工单', work_order_share: '拼单份额', worker_finance_request: '资金申请', - worker_cancel_request: '取消订单申请', + worker_cancel_request: '打手退单申请', after_sales_case: '售后问题单', worker_level: '接单等级', work_category: '接单分类', diff --git a/apps/frontend/src/utils/admin-options.ts b/apps/frontend/src/utils/admin-options.ts index 5f41ee16..eca37953 100644 --- a/apps/frontend/src/utils/admin-options.ts +++ b/apps/frontend/src/utils/admin-options.ts @@ -36,7 +36,7 @@ export const adminUserStatusOptions = [ export const adminAuditActionOptions = [ { label: '资金申请审核(通过/拒绝)', value: 'worker_finance_request_reviewed' }, - { label: '取消订单申请审核', value: 'worker_cancel_request_reviewed' }, + { label: '打手退单申请审核', value: 'worker_cancel_request_reviewed' }, { label: '打手账号审核', value: 'worker_reviewed' }, { label: '打手钱包手动加款', value: 'worker_wallet_credited' }, { label: '重置打手密码', value: 'worker_password_reset' }, @@ -86,7 +86,7 @@ export const adminAuditActionOptions = [ export const adminAuditTargetTypeOptions = [ { label: '资金申请', value: 'worker_finance_request' }, - { label: '取消订单申请', value: 'worker_cancel_request' }, + { label: '打手退单申请', value: 'worker_cancel_request' }, { label: '打手', value: 'worker' }, { label: '接单工单', value: 'work_order' }, { label: '拼单份额', value: 'work_order_share' },