← 返回公司工作台

车辆运输服务:数据与媒体架构

现场金额以 USD 输入并显示(例如 300.00);浏览器提交时转换为整数美分保存,避免浮点累加。独立 VEHICLES_DBVEHICLES_MEDIA、访问码和 HttpOnly 会话;preview/pilot 分离。浏览器只通过 /api/vehicles,不写 localStorage 业务副本。正式 pilot 已以 100% 合成 QA fixture 验收三条锁定订单与 6 个授权媒体,且无会话读取为 401、跨采集者及 group 私有读取为 403;不表示真实客户、合同或现场媒体已经接入。

订单及关联字段

记录字段关系/保留原则
vehiclesregistration, vehicleType, capacityKg, inspectionValidUntil, status, version可更新并审计
driversname, licenseRef, licenseValidUntil, status, version可更新并审计
ordersclientName, contractRef, origin, destination, plannedPickupAt, plannedDeliveryAt, cargoDescription, plannedWeightKg, vehicleId, driverId, billingBasis, rateMinor, currency, budgetMinor, notes, status, createdBy, versionVO-UUID;非 scheduled 或已有后续记录不可修改
inspection/events/delivery检查全部布尔事实、时间、里程、地点、签收人、重量来源、状况、说明追加,不覆盖;旧签收保留
costs/settlement/auditcategory, amountMinor, litres, occurredAt, note, decision;收入/成本/差额/距离/重量;action拒绝费用不计成本;锁定保留不可变快照
mediaorderId, purpose, filename, mimeType, sizeBytes, durationSeconds, capturedAt, description, hash, objectKey, status, error, version内容寻址;init → 实际 PUT → 服务端确认

R2 与访问边界

允许 PNG/JPEG/WebP/MP4,试用单件 25 MiB;不声称已转码或压缩。采集人员仅操作自己委托,reviewer/admin按权限读取,group 仅明确许可的汇总且不能访问私有媒体。所有写入带 Idempotency-Key;订单动作带 version,媒体 PUT 带 If-Match。