增加工单首次查看标识
This commit is contained in:
@@ -5,6 +5,7 @@ import {
|
||||
getWorkerUserById,
|
||||
getWorkOrderById,
|
||||
listWorkerWorkOrderNotes,
|
||||
listWorkerWorkOrderViews,
|
||||
listWorkOrderShares,
|
||||
sumPendingUnfreezeByOrderIds,
|
||||
} from '../../repositories/worker-platform/index.js'
|
||||
@@ -283,15 +284,26 @@ async function publishWorkOrderSnapshots(input: {
|
||||
)) {
|
||||
const worker = await getWorkerUserById(workerId)
|
||||
if (!worker) continue
|
||||
const notes = await listWorkerWorkOrderNotes(workerId, [workOrderId])
|
||||
const [notes, views] = await Promise.all([
|
||||
listWorkerWorkOrderNotes(workerId, [workOrderId]),
|
||||
listWorkerWorkOrderViews(workerId, [workOrderId]),
|
||||
])
|
||||
const note = notes.find((item) => Number(item.work_order_id) === workOrderId)?.note || ''
|
||||
const viewedAt =
|
||||
views.find((item) => Number(item.work_order_id) === workOrderId)?.viewed_at || null
|
||||
const share = shares.find((item) => Number(item.worker_id) === workerId)
|
||||
publishRealtimeEvent({
|
||||
type: 'work_order.changed',
|
||||
entityId: workOrderId,
|
||||
scopes: ['worker_my_orders'],
|
||||
operation: 'upsert',
|
||||
data: mapWorkOrderForWorker(workOrder, resolveWorkerPermissions(worker), share, note),
|
||||
data: mapWorkOrderForWorker(
|
||||
workOrder,
|
||||
resolveWorkerPermissions(worker),
|
||||
share,
|
||||
note,
|
||||
viewedAt,
|
||||
),
|
||||
workerIds: [workerId],
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user