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;
|