forked from gxwebsoft/mp-10550
79 lines
1.9 KiB
TypeScript
79 lines
1.9 KiB
TypeScript
import request from '@/utils/request';
|
|
import type { ApiResult, PageResult } from '@/api/index';
|
|
import type { UserCoupon, UserCouponParam } from './model';
|
|
import {SERVER_API_URL} from "@/utils/server";
|
|
|
|
/**
|
|
* 分页查询用户优惠券
|
|
*/
|
|
export async function pageUserCoupon(params: UserCouponParam) {
|
|
const res = await request.get<ApiResult<PageResult<UserCoupon>>>(
|
|
SERVER_API_URL + '/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[]>>(
|
|
SERVER_API_URL + '/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;
|
|
}>>(
|
|
SERVER_API_URL + '/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>>(
|
|
SERVER_API_URL + '/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>>(
|
|
SERVER_API_URL + '/sys/user-coupon/use',
|
|
{ couponId, orderId }
|
|
);
|
|
if (res.code === 0) {
|
|
return res.message;
|
|
}
|
|
return Promise.reject(new Error(res.message));
|
|
}
|