order.js 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  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. if (!(data.pointActivityId > 0)) {
  35. delete data2.pointActivityId;
  36. }
  37. if (!(data.deliveryType > 0)) {
  38. delete data2.deliveryType;
  39. }
  40. // 解决 SpringMVC 接受 List<Item> 参数的问题
  41. delete data2.items;
  42. for (let i = 0; i < data.items.length; i++) {
  43. data2[encodeURIComponent('items[' + i + '' + '].skuId')] = data.items[i].skuId + '';
  44. data2[encodeURIComponent('items[' + i + '' + '].count')] = data.items[i].count + '';
  45. if (data.items[i].cartId) {
  46. data2[encodeURIComponent('items[' + i + '' + '].cartId')] = data.items[i].cartId + '';
  47. }
  48. }
  49. const queryString = Object.keys(data2)
  50. .map((key) => key + '=' + data2[key])
  51. .join('&');
  52. return request({
  53. url: `/trade/order/settlement?${queryString}`,
  54. method: 'GET',
  55. custom: {
  56. showError: true,
  57. showLoading: true,
  58. },
  59. });
  60. },
  61. // 获得产品结算信息
  62. getSettlementProduct: (spuIds) => {
  63. return request({
  64. url: '/trade/order/settlement-product',
  65. method: 'GET',
  66. params: { spuIds },
  67. custom: {
  68. showLoading: false,
  69. showError: false,
  70. },
  71. });
  72. },
  73. // 创建订单
  74. createOrder: (data) => {
  75. return request({
  76. url: `/trade/order/create`,
  77. method: 'POST',
  78. data,
  79. });
  80. },
  81. // 获得订单详细:sync 是可选参数
  82. getOrderDetail: (id, sync) => {
  83. return request({
  84. url: `/trade/order/get-detail`,
  85. method: 'GET',
  86. params: {
  87. id,
  88. sync,
  89. },
  90. custom: {
  91. showLoading: false,
  92. },
  93. });
  94. },
  95. // 订单列表
  96. getOrderPage: (params) => {
  97. return request({
  98. url: '/trade/order/page',
  99. method: 'GET',
  100. params,
  101. custom: {
  102. showLoading: false,
  103. },
  104. });
  105. },
  106. // 确认收货
  107. receiveOrder: (id) => {
  108. return request({
  109. url: `/trade/order/receive`,
  110. method: 'PUT',
  111. params: {
  112. id,
  113. },
  114. });
  115. },
  116. // 取消订单
  117. cancelOrder: (id) => {
  118. return request({
  119. url: `/trade/order/cancel`,
  120. method: 'DELETE',
  121. params: {
  122. id,
  123. },
  124. });
  125. },
  126. // 删除订单
  127. deleteOrder: (id) => {
  128. return request({
  129. url: `/trade/order/delete`,
  130. method: 'DELETE',
  131. params: {
  132. id,
  133. },
  134. });
  135. },
  136. // 获得交易订单的物流轨迹
  137. getOrderExpressTrackList: (id) => {
  138. return request({
  139. url: `/trade/order/get-express-track-list`,
  140. method: 'GET',
  141. params: {
  142. id,
  143. },
  144. });
  145. },
  146. // 获得交易订单数量
  147. getOrderCount: () => {
  148. return request({
  149. url: '/trade/order/get-count',
  150. method: 'GET',
  151. custom: {
  152. showLoading: false,
  153. auth: true,
  154. },
  155. });
  156. },
  157. // 创建单个评论
  158. createOrderItemComment: (data) => {
  159. return request({
  160. url: `/trade/order/item/create-comment`,
  161. method: 'POST',
  162. data,
  163. });
  164. },
  165. };
  166. export default OrderApi;