formatRecordRow.js 1.0 KB

1234567891011121314151617181920212223242526272829303132
  1. /**
  2. * 将 lepao_record.result(JKES end 接口 info)解析为列表/详情用的摘要字段
  3. */
  4. function enrichLepaoRecordRow(row) {
  5. const out = { ...row }
  6. let jkes = null
  7. try {
  8. const r =
  9. typeof row.result === 'object' && row.result !== null
  10. ? row.result
  11. : JSON.parse(row.result || '{}')
  12. const rawDistance = r.distance != null ? Number(r.distance) : NaN
  13. const distanceKm =
  14. Number.isFinite(rawDistance) && rawDistance > 0
  15. ? Math.round((rawDistance / 1000) * 1000) / 1000
  16. : null
  17. jkes = {
  18. distance_km: distanceKm,
  19. use_time_sec: r.useTime != null ? Number(r.useTime) : null,
  20. run_status: r.status?.value ?? r.status,
  21. campus_status: r.dataStatus?.value ?? r.dataStatus,
  22. begin_time: r.beginTime,
  23. end_time: r.endTime
  24. }
  25. } catch {
  26. jkes = null
  27. }
  28. out.jkes_record = jkes
  29. return out
  30. }
  31. module.exports = { enrichLepaoRecordRow }