order.js 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  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. getSettlementProduct: (spuIds) => {
  57. return request({
  58. url: '/trade/order/settlement-product',
  59. method: 'GET',
  60. params: { spuIds },
  61. custom: {
  62. showLoading: false,
  63. showError: false,
  64. },
  65. });
  66. },
  67. // 创建订单
  68. createOrder: (data) => {
  69. return request({
  70. url: `/trade/order/create`,
  71. method: 'POST',
  72. data,
  73. });
  74. },
  75. // 获得订单
  76. getOrder: (id) => {
  77. return request({
  78. url: `/trade/order/get-detail`,
  79. method: 'GET',
  80. params: {
  81. id,
  82. },
  83. custom: {
  84. showLoading: false,
  85. },
  86. });
  87. },
  88. // 订单列表
  89. getOrderPage: (params) => {
  90. return request({
  91. url: '/trade/order/page',
  92. method: 'GET',
  93. params,
  94. custom: {
  95. showLoading: false,
  96. },
  97. });
  98. },
  99. // 确认收货
  100. receiveOrder: (id) => {
  101. return request({
  102. url: `/trade/order/receive`,
  103. method: 'PUT',
  104. params: {
  105. id,
  106. },
  107. });
  108. },
  109. // 取消订单
  110. cancelOrder: (id) => {
  111. return request({
  112. url: `/trade/order/cancel`,
  113. method: 'DELETE',
  114. params: {
  115. id,
  116. },
  117. });
  118. },
  119. // 删除订单
  120. deleteOrder: (id) => {
  121. return request({
  122. url: `/trade/order/delete`,
  123. method: 'DELETE',
  124. params: {
  125. id,
  126. },
  127. });
  128. },
  129. // 获得交易订单的物流轨迹
  130. getOrderExpressTrackList: (id) => {
  131. return request({
  132. url: `/trade/order/get-express-track-list`,
  133. method: 'GET',
  134. params: {
  135. id,
  136. },
  137. });
  138. },
  139. // 获得交易订单数量
  140. getOrderCount: () => {
  141. return request({
  142. url: '/trade/order/get-count',
  143. method: 'GET',
  144. custom: {
  145. showLoading: false,
  146. auth: true,
  147. },
  148. });
  149. },
  150. // 创建单个评论
  151. createOrderItemComment: (data) => {
  152. return request({
  153. url: `/trade/order/item/create-comment`,
  154. method: 'POST',
  155. data,
  156. });
  157. },
  158. };
  159. export default OrderApi;