order.js 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. import request from '@/sheep/request';
  2. import { isEmpty } from '@/sheep/helper/utils';
  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. if (!(data.pickUpStoreId > 0)) {
  17. delete data2.pickUpStoreId;
  18. }
  19. if (isEmpty(data.receiverName)) {
  20. delete data2.receiverName;
  21. }
  22. if (isEmpty(data.receiverMobile)) {
  23. delete data2.receiverMobile;
  24. }
  25. if (!(data.combinationActivityId > 0)) {
  26. delete data2.combinationActivityId;
  27. }
  28. if (!(data.combinationHeadId > 0)) {
  29. delete data2.combinationHeadId;
  30. }
  31. if (!(data.seckillActivityId > 0)) {
  32. delete data2.seckillActivityId;
  33. }
  34. // 解决 SpringMVC 接受 List<Item> 参数的问题
  35. delete data2.items;
  36. for (let i = 0; i < data.items.length; i++) {
  37. data2[encodeURIComponent('items[' + i + '' + '].skuId')] = data.items[i].skuId + '';
  38. data2[encodeURIComponent('items[' + i + '' + '].count')] = data.items[i].count + '';
  39. if (data.items[i].cartId) {
  40. data2[encodeURIComponent('items[' + i + '' + '].cartId')] = data.items[i].cartId + '';
  41. }
  42. }
  43. const queryString = Object.keys(data2)
  44. .map((key) => key + '=' + data2[key])
  45. .join('&');
  46. return request({
  47. url: `/trade/order/settlement?${queryString}`,
  48. method: 'GET',
  49. custom: {
  50. showError: true,
  51. showLoading: true,
  52. },
  53. });
  54. },
  55. // 创建订单
  56. createOrder: (data) => {
  57. return request({
  58. url: `/trade/order/create`,
  59. method: 'POST',
  60. data,
  61. });
  62. },
  63. // 获得订单
  64. getOrder: (id) => {
  65. return request({
  66. url: `/trade/order/get-detail`,
  67. method: 'GET',
  68. params: {
  69. id,
  70. },
  71. custom: {
  72. showLoading: false,
  73. },
  74. });
  75. },
  76. // 订单列表
  77. getOrderPage: (params) => {
  78. return request({
  79. url: '/trade/order/page',
  80. method: 'GET',
  81. params,
  82. custom: {
  83. showLoading: false,
  84. },
  85. });
  86. },
  87. // 确认收货
  88. receiveOrder: (id) => {
  89. return request({
  90. url: `/trade/order/receive`,
  91. method: 'PUT',
  92. params: {
  93. id,
  94. },
  95. });
  96. },
  97. // 取消订单
  98. cancelOrder: (id) => {
  99. return request({
  100. url: `/trade/order/cancel`,
  101. method: 'DELETE',
  102. params: {
  103. id,
  104. },
  105. });
  106. },
  107. // 删除订单
  108. deleteOrder: (id) => {
  109. return request({
  110. url: `/trade/order/delete`,
  111. method: 'DELETE',
  112. params: {
  113. id,
  114. },
  115. });
  116. },
  117. // 获得交易订单的物流轨迹
  118. getOrderExpressTrackList: (id) => {
  119. return request({
  120. url: `/trade/order/get-express-track-list`,
  121. method: 'GET',
  122. params: {
  123. id,
  124. },
  125. });
  126. },
  127. // 获得交易订单数量
  128. getOrderCount: () => {
  129. return request({
  130. url: '/trade/order/get-count',
  131. method: 'GET',
  132. custom: {
  133. showLoading: false,
  134. auth: true,
  135. },
  136. });
  137. },
  138. // 创建单个评论
  139. createOrderItemComment: (data) => {
  140. return request({
  141. url: `/trade/order/item/create-comment`,
  142. method: 'POST',
  143. data,
  144. });
  145. },
  146. };
  147. export default OrderApi;