perf: 筛选统计去掉 JSON 兜底,并补上 orders 覆盖索引

去掉 work_orders 堆访问后,JOIN 会把 orders 整表扫进 Hash Right Join。
领取页在快照新鲜时不再打上游;快手出网统一 10 秒超时。倒计时改为自适应间隔。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
yml2213
2026-10-01 15:05:38 +08:00
co-authored by Cursor
parent f4c405d51a
commit 1239393fc2
20 changed files with 404 additions and 65 deletions
@@ -1472,7 +1472,7 @@ export default function WorkOrdersPanel() {
</Typography.Text>
</Space>
{row.status === 'in_progress' && row.deadlineAt ? (
<DeadlineCountdown deadlineAt={row.deadlineAt} showExpired />
<DeadlineCountdown deadlineAt={row.deadlineAt} />
) : null}
{row.deadlineAt ? (
<Typography.Text type="secondary">
@@ -2103,7 +2103,7 @@ export default function WorkOrdersPanel() {
<Descriptions.Item label="超时截止">
{detailOrder.deadlineAt ? (
<Space wrap size={8}>
<DeadlineCountdown deadlineAt={detailOrder.deadlineAt} showExpired />
<DeadlineCountdown deadlineAt={detailOrder.deadlineAt} />
<Typography.Text type="secondary">
{formatAdminDateTime(detailOrder.deadlineAt)}
</Typography.Text>
@@ -141,13 +141,12 @@ export default function WorkerHallPage() {
})
const hallSummaryQuery = useQuery({
queryKey: ['worker-hall-summary'],
queryFn: async () => {
const response = await fetchWorkerMyOrderOverview()
queryKey: ['worker-my-orders-overview'],
queryFn: fetchWorkerMyOrderOverview,
select: (response) => {
const summaryByStatus = new Map(
response.data.items.map((item) => [item.status, item.orderCount]),
)
return {
pendingAcceptanceCount: Number(summaryByStatus.get('pending_acceptance') || 0),
problemCount: Number(summaryByStatus.get('problem') || 0),
@@ -283,7 +282,6 @@ export default function WorkerHallPage() {
await Promise.all([
ordersQuery.refetch(),
queryClient.invalidateQueries({ queryKey: ['worker-hall-categories'] }),
queryClient.invalidateQueries({ queryKey: ['worker-hall-summary'] }),
queryClient.invalidateQueries({ queryKey: ['worker-profile'] }),
queryClient.invalidateQueries({ queryKey: ['worker-my-orders'] }),
queryClient.invalidateQueries({ queryKey: ['worker-my-orders-overview'] }),
@@ -206,11 +206,13 @@ export default function WorkerOrdersPage() {
const cancelRequestsQuery = useQuery({
queryKey: ['worker-cancel-requests'],
queryFn: fetchWorkerCancelRequests,
enabled: Boolean(cancelRequestOrder),
retry: false,
})
const feedbacksQuery = useQuery({
queryKey: ['worker-order-feedbacks'],
queryFn: fetchWorkerOrderFeedbacks,
enabled: Boolean(feedbackOrder),
retry: false,
})
const overviewByStatus = new Map(