169 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
			
		
		
	
	
			169 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
import request from '@/sheep/request';
 | 
						||
import { isEmpty } from '@/sheep/helper/utils';
 | 
						||
 | 
						||
const OrderApi = {
 | 
						||
  // 计算订单信息
 | 
						||
  settlementOrder: (data) => {
 | 
						||
    const data2 = {
 | 
						||
      ...data,
 | 
						||
    };
 | 
						||
    // 移除多余字段
 | 
						||
    if (!(data.couponId > 0)) {
 | 
						||
      delete data2.couponId;
 | 
						||
    }
 | 
						||
    if (!(data.addressId > 0)) {
 | 
						||
      delete data2.addressId;
 | 
						||
    }
 | 
						||
    if (!(data.pickUpStoreId > 0)) {
 | 
						||
      delete data2.pickUpStoreId;
 | 
						||
    }
 | 
						||
    if (isEmpty(data.receiverName)) {
 | 
						||
      delete data2.receiverName;
 | 
						||
    }
 | 
						||
    if (isEmpty(data.receiverMobile)) {
 | 
						||
      delete data2.receiverMobile;
 | 
						||
    }
 | 
						||
    if (!(data.combinationActivityId > 0)) {
 | 
						||
      delete data2.combinationActivityId;
 | 
						||
    }
 | 
						||
    if (!(data.combinationHeadId > 0)) {
 | 
						||
      delete data2.combinationHeadId;
 | 
						||
    }
 | 
						||
    if (!(data.seckillActivityId > 0)) {
 | 
						||
      delete data2.seckillActivityId;
 | 
						||
    }
 | 
						||
    if (!(data.pointActivityId > 0)) {
 | 
						||
      delete data2.pointActivityId;
 | 
						||
    }
 | 
						||
    if (!(data.deliveryType > 0)) {
 | 
						||
      delete data2.deliveryType;
 | 
						||
    }
 | 
						||
    // 解决 SpringMVC 接受 List<Item> 参数的问题
 | 
						||
    delete data2.items;
 | 
						||
    for (let i = 0; i < data.items.length; i++) {
 | 
						||
      data2[encodeURIComponent('items[' + i + '' + '].skuId')] = data.items[i].skuId + '';
 | 
						||
      data2[encodeURIComponent('items[' + i + '' + '].count')] = data.items[i].count + '';
 | 
						||
      if (data.items[i].cartId) {
 | 
						||
        data2[encodeURIComponent('items[' + i + '' + '].cartId')] = data.items[i].cartId + '';
 | 
						||
      }
 | 
						||
    }
 | 
						||
    const queryString = Object.keys(data2)
 | 
						||
      .map((key) => key + '=' + data2[key])
 | 
						||
      .join('&');
 | 
						||
    return request({
 | 
						||
      url: `/trade/order/settlement?${queryString}`,
 | 
						||
      method: 'GET',
 | 
						||
      custom: {
 | 
						||
        showError: true,
 | 
						||
        showLoading: true,
 | 
						||
      },
 | 
						||
    });
 | 
						||
  },
 | 
						||
  // 获得商品结算信息
 | 
						||
  getSettlementProduct: (spuIds) => {
 | 
						||
    return request({
 | 
						||
      url: '/trade/order/settlement-product',
 | 
						||
      method: 'GET',
 | 
						||
      params: { spuIds },
 | 
						||
      custom: {
 | 
						||
        showLoading: false,
 | 
						||
        showError: false,
 | 
						||
      },
 | 
						||
    });
 | 
						||
  },
 | 
						||
  // 创建订单
 | 
						||
  createOrder: (data) => {
 | 
						||
    return request({
 | 
						||
      url: `/trade/order/create`,
 | 
						||
      method: 'POST',
 | 
						||
      data,
 | 
						||
    });
 | 
						||
  },
 | 
						||
  // 获得订单详细:sync 是可选参数
 | 
						||
  getOrderDetail: (id, sync) => {
 | 
						||
    return request({
 | 
						||
      url: `/trade/order/get-detail`,
 | 
						||
      method: 'GET',
 | 
						||
      params: {
 | 
						||
        id,
 | 
						||
        sync,
 | 
						||
      },
 | 
						||
      custom: {
 | 
						||
        showLoading: false,
 | 
						||
      },
 | 
						||
    });
 | 
						||
  },
 | 
						||
  // 订单列表
 | 
						||
  getOrderPage: (params) => {
 | 
						||
    return request({
 | 
						||
      url: '/trade/order/page',
 | 
						||
      method: 'GET',
 | 
						||
      params,
 | 
						||
      custom: {
 | 
						||
        showLoading: false,
 | 
						||
      },
 | 
						||
    });
 | 
						||
  },
 | 
						||
  // 确认收货
 | 
						||
  receiveOrder: (id) => {
 | 
						||
    return request({
 | 
						||
      url: `/trade/order/receive`,
 | 
						||
      method: 'PUT',
 | 
						||
      params: {
 | 
						||
        id,
 | 
						||
      },
 | 
						||
    });
 | 
						||
  },
 | 
						||
  // 取消订单
 | 
						||
  cancelOrder: (id) => {
 | 
						||
    return request({
 | 
						||
      url: `/trade/order/cancel`,
 | 
						||
      method: 'DELETE',
 | 
						||
      params: {
 | 
						||
        id,
 | 
						||
      },
 | 
						||
    });
 | 
						||
  },
 | 
						||
  // 删除订单
 | 
						||
  deleteOrder: (id) => {
 | 
						||
    return request({
 | 
						||
      url: `/trade/order/delete`,
 | 
						||
      method: 'DELETE',
 | 
						||
      params: {
 | 
						||
        id,
 | 
						||
      },
 | 
						||
    });
 | 
						||
  },
 | 
						||
  // 获得交易订单的物流轨迹
 | 
						||
  getOrderExpressTrackList: (id) => {
 | 
						||
    return request({
 | 
						||
      url: `/trade/order/get-express-track-list`,
 | 
						||
      method: 'GET',
 | 
						||
      params: {
 | 
						||
        id,
 | 
						||
      },
 | 
						||
    });
 | 
						||
  },
 | 
						||
  // 获得交易订单数量
 | 
						||
  getOrderCount: () => {
 | 
						||
    return request({
 | 
						||
      url: '/trade/order/get-count',
 | 
						||
      method: 'GET',
 | 
						||
      custom: {
 | 
						||
        showLoading: false,
 | 
						||
        auth: true,
 | 
						||
      },
 | 
						||
    });
 | 
						||
  },
 | 
						||
  // 创建单个评论
 | 
						||
  createOrderItemComment: (data) => {
 | 
						||
    return request({
 | 
						||
      url: `/trade/order/item/create-comment`,
 | 
						||
      method: 'POST',
 | 
						||
      data,
 | 
						||
    });
 | 
						||
  },
 | 
						||
};
 | 
						||
 | 
						||
export default OrderApi;
 |