order.ts 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. import type { SkillOrderInfoVo } from './api'
  2. export type OrderStatus
  3. = | 'none'
  4. | 'pending'
  5. | 'completed'
  6. | 'refunded'
  7. | 'accepted'
  8. | 'refused'
  9. | 'processing'
  10. | 'processed'
  11. | 'cancelled'
  12. export const statusKeyMap: Record<OrderStatus, string> = {
  13. none: 'order.status.none',
  14. pending: 'order.status.pending',
  15. completed: 'order.status.completed',
  16. refunded: 'order.status.refunded',
  17. accepted: 'order.status.accepted',
  18. refused: 'order.status.refused',
  19. processing: 'order.status.processing',
  20. processed: 'order.status.processed',
  21. cancelled: 'order.status.cancelled',
  22. }
  23. export const statusPlaymateKeyMap: Record<OrderStatus, string> = {
  24. none: 'order.statusPlaymate.none',
  25. pending: 'order.statusPlaymate.pending',
  26. completed: 'order.statusPlaymate.completed',
  27. refunded: 'order.statusPlaymate.refunded',
  28. accepted: 'order.statusPlaymate.accepted',
  29. refused: 'order.statusPlaymate.refused',
  30. processing: 'order.statusPlaymate.processing',
  31. processed: 'order.statusPlaymate.processed',
  32. cancelled: 'order.statusPlaymate.cancelled',
  33. }
  34. export const mapApiStatus = (status: SkillOrderInfoVo['status']): OrderStatus => {
  35. switch (status) {
  36. case 0:
  37. return 'none'
  38. case 1:
  39. return 'pending'
  40. case 2:
  41. return 'completed'
  42. case 3:
  43. return 'refunded'
  44. case 4:
  45. return 'accepted'
  46. case 5:
  47. return 'refused'
  48. case 6:
  49. return 'processing'
  50. case 7:
  51. return 'processed'
  52. case 8:
  53. return 'cancelled'
  54. default:
  55. return 'none'
  56. }
  57. }