优化下单流程

This commit is contained in:
2025-07-30 00:40:38 +08:00
parent 11729876ca
commit 19fe9b4775
18 changed files with 8252 additions and 169 deletions

View File

@@ -1,6 +1,6 @@
import request from '@/utils/request';
import type { ApiResult, PageResult } from '@/api/index';
import type { ShopOrder, ShopOrderParam } from './model';
import type { ShopOrder, ShopOrderParam, OrderCreateRequest } from './model';
/**
* 分页查询订单
@@ -100,6 +100,33 @@ export async function getShopOrder(id: number) {
return Promise.reject(new Error(res.message));
}
/**
* 微信支付返回数据
*/
export interface WxPayResult {
prepayId: string;
orderNo: string;
timeStamp: string;
nonceStr: string;
package: string;
signType: string;
paySign: string;
}
/**
* 创建订单
*/
export async function createOrder(data: OrderCreateRequest) {
const res = await request.post<ApiResult<WxPayResult>>(
'/shop/shop-order/create',
data
);
if (res.code === 0) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 修改订单
*/

View File

@@ -10,6 +10,8 @@ export interface ShopOrder {
orderNo?: string;
// 订单类型0商城订单 1预定订单/外卖 2会员卡
type?: number;
// 标题
title?: string;
// 快递/自提
deliveryType?: number;
// 下单渠道0小程序预定 1俱乐部训练场 3活动订场
@@ -144,6 +146,68 @@ export interface ShopOrder {
hasTakeGift?: string;
}
/**
* 订单商品项
*/
export interface OrderGoodsItem {
goodsId: number;
quantity: number;
skuId?: number;
specInfo?: string;
}
/**
* 创建订单请求
*/
export interface OrderCreateRequest {
// 商品信息列表
goodsItems: OrderGoodsItem[];
// 收货地址ID
addressId?: number;
// 支付方式
payType: number;
// 优惠券ID
couponId?: number;
// 备注
comments?: string;
// 配送方式 0快递 1自提
deliveryType?: number;
// 自提店铺ID
selfTakeMerchantId?: number;
// 订单标题(可选,后端会自动生成)
title?: string;
}
/**
* 订单商品项
*/
export interface OrderGoodsItem {
goodsId: number;
quantity: number;
skuId?: number;
specInfo?: string;
}
/**
* 创建订单请求
*/
export interface OrderCreateRequest {
// 商品信息列表
goodsItems: OrderGoodsItem[];
// 收货地址ID
addressId?: number;
// 支付方式
payType: number;
// 优惠券ID
couponId?: number;
// 备注
comments?: string;
// 配送方式 0快递 1自提
deliveryType?: number;
// 自提店铺ID
selfTakeMerchantId?: number;
}
/**
* 订单搜索条件
*/

View File

@@ -99,3 +99,17 @@ export async function getOrderGoods(id: number) {
}
return Promise.reject(new Error(res.message));
}
/**
* 批量添加订单商品
*/
export async function addBatchOrderGoods(data: OrderGoods[]) {
const res = await request.post<ApiResult<unknown>>(
'/shop/shop-goods/batch',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}