feat: bootstrap auto virtual tryon admin frontend
This commit is contained in:
69
src/lib/adapters/reviews.ts
Normal file
69
src/lib/adapters/reviews.ts
Normal file
@@ -0,0 +1,69 @@
|
||||
import type {
|
||||
PendingReviewResponseDto,
|
||||
SubmitReviewResponseDto,
|
||||
} from "@/lib/types/backend";
|
||||
import {
|
||||
getOrderStatusMeta,
|
||||
getReviewDecisionMeta,
|
||||
getWorkflowStepMeta,
|
||||
} from "@/lib/types/status";
|
||||
import {
|
||||
businessEmptyState,
|
||||
READY_STATE,
|
||||
type ReviewQueueItemVM,
|
||||
type ReviewQueueVM,
|
||||
type ReviewSubmissionVM,
|
||||
} from "@/lib/types/view-models";
|
||||
|
||||
function adaptPendingReviewItem(
|
||||
review: PendingReviewResponseDto,
|
||||
): ReviewQueueItemVM {
|
||||
return {
|
||||
reviewTaskId: review.review_task_id,
|
||||
orderId: review.order_id,
|
||||
workflowId: review.workflow_id,
|
||||
workflowType: null,
|
||||
currentStep: review.current_step,
|
||||
currentStepLabel: getWorkflowStepMeta(review.current_step).label,
|
||||
createdAt: review.created_at,
|
||||
status: "waiting_review",
|
||||
statusMeta: getOrderStatusMeta("waiting_review"),
|
||||
reviewTaskStatus: review.review_task_status,
|
||||
latestRevisionAssetId: review.latest_revision_asset_id,
|
||||
currentRevisionAssetId: review.current_revision_asset_id,
|
||||
latestRevisionVersion: review.latest_revision_version,
|
||||
revisionCount: review.revision_count,
|
||||
pendingManualConfirm: review.pending_manual_confirm,
|
||||
hasMockAssets: false,
|
||||
failureCount: 0,
|
||||
};
|
||||
}
|
||||
|
||||
export function adaptPendingReviews(
|
||||
reviews: PendingReviewResponseDto[],
|
||||
): ReviewQueueVM {
|
||||
const items = reviews.map(adaptPendingReviewItem);
|
||||
|
||||
return {
|
||||
items,
|
||||
state: items.length
|
||||
? READY_STATE
|
||||
: businessEmptyState(
|
||||
"暂无待审核订单",
|
||||
"当前没有等待人工处理的审核任务。",
|
||||
),
|
||||
};
|
||||
}
|
||||
|
||||
export function adaptReviewSubmission(
|
||||
submission: SubmitReviewResponseDto,
|
||||
): ReviewSubmissionVM {
|
||||
return {
|
||||
orderId: submission.order_id,
|
||||
workflowId: submission.workflow_id,
|
||||
revisionAssetId: submission.revision_asset_id,
|
||||
decision: submission.decision,
|
||||
decisionMeta: getReviewDecisionMeta(submission.decision),
|
||||
status: submission.status,
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user