优化客服权限-增加兑换截图和关闭任务

This commit is contained in:
yml
2026-04-14 20:36:52 +08:00
parent 9636167177
commit 4d03b4ef8d
6 changed files with 82 additions and 32 deletions
@@ -14,6 +14,7 @@ import { formatFenToAmount, normalizeFen } from '../../utils/money.js'
import { getTencentBrowserSessionReviewScreenshotPath } from '../session/session.js'
import { normalizeDateQuery, normalizePage, normalizePageSize, safeParseJson } from './admin-query-utils.js'
import {
canViewerCloseTask,
canRegenerateClaimLinkForViewer,
canViewerConfirmAssistedRole,
canViewerRedeemAssistedTask,
@@ -281,7 +282,7 @@ export async function getAdminTaskDetail(taskId, session = null) {
&& ['retry_pending', 'manual_review', 'waiting_inventory'].includes(task.task_status),
canReleaseInventory: mappedInventoryBindings.some((binding) => binding.canRelease),
canRegenerateClaimLink: canRegenerateClaimLinkForViewer(task, viewerContext),
canClose: viewerContext.canManageTaskLifecycle && !['redeemed', 'closed'].includes(task.task_status),
canClose: canViewerCloseTask(task, viewerContext),
canMarkManualReview: viewerContext.canManageTaskLifecycle && !['redeemed', 'closed', 'manual_review'].includes(task.task_status),
canCompleteManualDispatch: viewerContext.canManageTaskLifecycle && isManualDispatchTask(task) && !['redeemed', 'closed'].includes(task.task_status),
canSupportConfirmRole: canViewerConfirmAssistedRole(task, viewerContext),
@@ -295,18 +296,6 @@ export async function getAdminTaskDetail(taskId, session = null) {
/** @param {AdminViewerSessionInput | null} [session] */
export async function getAdminTaskScreenshotPath(taskId, session = null) {
const task = await getRequiredTask(taskId)
const viewerContext = createAdminViewerContext(session)
if (viewerContext.role === 'support') {
if (!task.browser_session_id) {
throw createHttpError('当前任务还没有客服复核截图', {
statusCode: 404,
errorCode: 'admin_task_review_screenshot_not_found',
})
}
return getTencentBrowserSessionReviewScreenshotPath(task.browser_session_id)
}
if (task.screenshot_path) {
return task.screenshot_path
@@ -316,7 +305,7 @@ export async function getAdminTaskScreenshotPath(taskId, session = null) {
return getTencentBrowserSessionReviewScreenshotPath(task.browser_session_id)
}
throw createHttpError('当前任务还没有截图', {
throw createHttpError('当前任务还没有可查看截图', {
statusCode: 404,
errorCode: 'admin_task_screenshot_not_found',
})