order.js 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. import request2 from '@/sheep/request2';
  2. import request from '@/sheep/request';
  3. const OrderApi = {
  4. // 计算订单信息
  5. settlementOrder: (data) => {
  6. const data2 = {
  7. ...data,
  8. };
  9. // 移除多余字段
  10. if (!(data.couponId > 0)) {
  11. delete data2.couponId;
  12. }
  13. if (!(data.addressId > 0)) {
  14. delete data2.addressId;
  15. }
  16. // 解决 SpringMVC 接受 List<Item> 参数的问题
  17. delete data2.items;
  18. for (let i = 0; i < data.items.length; i++) {
  19. data2[encodeURIComponent('items[' + i + '' + '].skuId')] = data.items[i].skuId + '';
  20. data2[encodeURIComponent('items[' + i + '' + '].count')] = data.items[i].count + '';
  21. if (data.items[i].cartId) {
  22. data2[encodeURIComponent('items[' + i + '' + '].cartId')] = data.items[i].cartId + '';
  23. }
  24. }
  25. const queryString = Object.keys(data2)
  26. .map((key) => key + '=' + data2[key])
  27. .join('&');
  28. return request2({
  29. url: `trade/order/settlement?${queryString}`,
  30. method: 'GET',
  31. });
  32. },
  33. // 创建订单
  34. createOrder: (data) => {
  35. return request2({
  36. url: `trade/order/create`,
  37. method: 'POST',
  38. data,
  39. });
  40. },
  41. // 获得订单
  42. getOrder: (id) => {
  43. return request2({
  44. url: `trade/order/get-detail`,
  45. method: 'GET',
  46. params: {
  47. id,
  48. },
  49. });
  50. },
  51. // 订单列表
  52. getOrderPage: (params) => {
  53. return request({
  54. url: '/app-api/trade/order/page',
  55. method: 'GET',
  56. params,
  57. custom: {
  58. showLoading: false,
  59. },
  60. });
  61. },
  62. // 确认收货
  63. receiveOrder: (id) => {
  64. return request2({
  65. url: `/app-api/trade/order/receive`,
  66. method: 'PUT',
  67. params: {
  68. id,
  69. },
  70. });
  71. },
  72. // 获得交易订单的物流轨迹
  73. getOrderExpressTrackList: (id) => {
  74. return request2({
  75. url: `/app-api/trade/order/get-express-track-list`,
  76. method: 'GET',
  77. params: {
  78. id,
  79. },
  80. });
  81. }
  82. };
  83. export default OrderApi;