forked from gxwebsoft/mp-10550
- 移除 coupon API 中的 SERVER_API_URL,直接使用相对路径 - 优化 order 页面的搜索和重置逻辑- 更新 OrderList 组件,支持空订单时显示 Empty 组件- 调整 UserCard 中的用户统计数据加载逻辑 - 修改 UserOrder 组件中的订单状态文本和链接
78 lines
1.7 KiB
TypeScript
78 lines
1.7 KiB
TypeScript
import request from '@/utils/request';
|
|
import type { ApiResult, PageResult } from '@/api/index';
|
|
import type { UserCoupon, UserCouponParam } from './model';
|
|
|
|
/**
|
|
* 分页查询用户优惠券
|
|
*/
|
|
export async function pageUserCoupon(params: UserCouponParam) {
|
|
const res = await request.get<ApiResult<PageResult<UserCoupon>>>(
|
|
'/sys/user-coupon/page',
|
|
params
|
|
);
|
|
if (res.code === 0) {
|
|
return res.data;
|
|
}
|
|
return Promise.reject(new Error(res.message));
|
|
}
|
|
|
|
/**
|
|
* 查询用户优惠券列表
|
|
*/
|
|
export async function listUserCoupon(params?: UserCouponParam) {
|
|
const res = await request.get<ApiResult<UserCoupon[]>>(
|
|
'/sys/user-coupon',
|
|
params
|
|
);
|
|
if (res.code === 0 && res.data) {
|
|
return res.data;
|
|
}
|
|
return Promise.reject(new Error(res.message));
|
|
}
|
|
|
|
/**
|
|
* 获取用户优惠券统计
|
|
*/
|
|
export async function getUserCouponCount(userId: number) {
|
|
const res = await request.get<ApiResult<{
|
|
total: number;
|
|
unused: number;
|
|
used: number;
|
|
expired: number;
|
|
}>>(
|
|
'/sys/user-coupon/count',
|
|
{ userId }
|
|
);
|
|
if (res.code === 0 && res.data) {
|
|
return res.data;
|
|
}
|
|
return Promise.reject(new Error(res.message));
|
|
}
|
|
|
|
/**
|
|
* 根据id查询用户优惠券
|
|
*/
|
|
export async function getUserCoupon(id: number) {
|
|
const res = await request.get<ApiResult<UserCoupon>>(
|
|
'/sys/user-coupon/' + id
|
|
);
|
|
if (res.code === 0 && res.data) {
|
|
return res.data;
|
|
}
|
|
return Promise.reject(new Error(res.message));
|
|
}
|
|
|
|
/**
|
|
* 使用优惠券
|
|
*/
|
|
export async function useCoupon(couponId: number, orderId: number) {
|
|
const res = await request.put<ApiResult<unknown>>(
|
|
'/sys/user-coupon/use',
|
|
{ couponId, orderId }
|
|
);
|
|
if (res.code === 0) {
|
|
return res.message;
|
|
}
|
|
return Promise.reject(new Error(res.message));
|
|
}
|