feat: mall api
This commit is contained in:
67
apps/web-antd/src/api/mall/promotion/coupon/coupon.ts
Normal file
67
apps/web-antd/src/api/mall/promotion/coupon/coupon.ts
Normal file
@@ -0,0 +1,67 @@
|
||||
import type { PageParam, PageResult } from '@vben/request';
|
||||
|
||||
import { requestClient } from '#/api/request';
|
||||
|
||||
export namespace CouponApi {
|
||||
/** 优惠券 */
|
||||
export interface Coupon {
|
||||
/** 优惠券编号 */
|
||||
id: number;
|
||||
/** 优惠券名称 */
|
||||
name: string;
|
||||
/** 优惠券状态 */
|
||||
status: number;
|
||||
/** 优惠券类型 */
|
||||
type: number;
|
||||
/** 优惠券金额 */
|
||||
price: number;
|
||||
/** 使用门槛 */
|
||||
usePrice: number;
|
||||
/** 商品范围 */
|
||||
productScope: number;
|
||||
/** 商品编号数组 */
|
||||
productSpuIds: number[];
|
||||
/** 有效期类型 */
|
||||
validityType: number;
|
||||
/** 固定日期-生效开始时间 */
|
||||
validStartTime: Date;
|
||||
/** 固定日期-生效结束时间 */
|
||||
validEndTime: Date;
|
||||
/** 领取日期-开始天数 */
|
||||
fixedStartTerm: number;
|
||||
/** 领取日期-结束天数 */
|
||||
fixedEndTerm: number;
|
||||
/** 每人限领个数 */
|
||||
takeLimitCount: number;
|
||||
/** 是否设置满多少金额可用 */
|
||||
usePriceEnabled: boolean;
|
||||
/** 商品分类编号数组 */
|
||||
productCategoryIds: number[];
|
||||
}
|
||||
|
||||
/** 发送优惠券 */
|
||||
export interface SendCoupon {
|
||||
/** 优惠券编号 */
|
||||
couponId: number;
|
||||
/** 用户编号数组 */
|
||||
userIds: number[];
|
||||
}
|
||||
}
|
||||
|
||||
/** 删除优惠劵 */
|
||||
export function deleteCoupon(id: number) {
|
||||
return requestClient.delete(`/promotion/coupon/delete?id=${id}`);
|
||||
}
|
||||
|
||||
/** 获得优惠劵分页 */
|
||||
export function getCouponPage(params: PageParam) {
|
||||
return requestClient.get<PageResult<CouponApi.Coupon>>(
|
||||
'/promotion/coupon/page',
|
||||
{ params },
|
||||
);
|
||||
}
|
||||
|
||||
/** 发送优惠券 */
|
||||
export function sendCoupon(data: CouponApi.SendCoupon) {
|
||||
return requestClient.post('/promotion/coupon/send', data);
|
||||
}
|
||||
108
apps/web-antd/src/api/mall/promotion/coupon/couponTemplate.ts
Normal file
108
apps/web-antd/src/api/mall/promotion/coupon/couponTemplate.ts
Normal file
@@ -0,0 +1,108 @@
|
||||
import type { PageParam, PageResult } from '@vben/request';
|
||||
|
||||
import { requestClient } from '#/api/request';
|
||||
|
||||
export namespace CouponTemplateApi {
|
||||
/** 优惠券模板 */
|
||||
export interface CouponTemplate {
|
||||
/** 模板编号 */
|
||||
id: number;
|
||||
/** 模板名称 */
|
||||
name: string;
|
||||
/** 状态 */
|
||||
status: number;
|
||||
/** 发放数量 */
|
||||
totalCount: number;
|
||||
/** 每人限领个数 */
|
||||
takeLimitCount: number;
|
||||
/** 领取方式 */
|
||||
takeType: number;
|
||||
/** 使用门槛 */
|
||||
usePrice: number;
|
||||
/** 商品范围 */
|
||||
productScope: number;
|
||||
/** 商品范围值 */
|
||||
productScopeValues: number[];
|
||||
/** 有效期类型 */
|
||||
validityType: number;
|
||||
/** 固定日期-生效开始时间 */
|
||||
validStartTime: Date;
|
||||
/** 固定日期-生效结束时间 */
|
||||
validEndTime: Date;
|
||||
/** 领取日期-开始天数 */
|
||||
fixedStartTerm: number;
|
||||
/** 领取日期-结束天数 */
|
||||
fixedEndTerm: number;
|
||||
/** 优惠类型 */
|
||||
discountType: number;
|
||||
/** 折扣百分比 */
|
||||
discountPercent: number;
|
||||
/** 优惠金额 */
|
||||
discountPrice: number;
|
||||
/** 折扣上限 */
|
||||
discountLimitPrice: number;
|
||||
/** 已领取数量 */
|
||||
takeCount: number;
|
||||
/** 已使用数量 */
|
||||
useCount: number;
|
||||
}
|
||||
|
||||
/** 优惠券模板状态更新 */
|
||||
export interface StatusUpdate {
|
||||
/** 模板编号 */
|
||||
id: number;
|
||||
/** 状态 */
|
||||
status: 0 | 1;
|
||||
}
|
||||
}
|
||||
|
||||
/** 创建优惠劵模板 */
|
||||
export function createCouponTemplate(data: CouponTemplateApi.CouponTemplate) {
|
||||
return requestClient.post('/promotion/coupon-template/create', data);
|
||||
}
|
||||
|
||||
/** 更新优惠劵模板 */
|
||||
export function updateCouponTemplate(data: CouponTemplateApi.CouponTemplate) {
|
||||
return requestClient.put('/promotion/coupon-template/update', data);
|
||||
}
|
||||
|
||||
/** 更新优惠劵模板的状态 */
|
||||
export function updateCouponTemplateStatus(id: number, status: 0 | 1) {
|
||||
const data: CouponTemplateApi.StatusUpdate = { id, status };
|
||||
return requestClient.put('/promotion/coupon-template/update-status', data);
|
||||
}
|
||||
|
||||
/** 删除优惠劵模板 */
|
||||
export function deleteCouponTemplate(id: number) {
|
||||
return requestClient.delete(`/promotion/coupon-template/delete?id=${id}`);
|
||||
}
|
||||
|
||||
/** 获得优惠劵模板 */
|
||||
export function getCouponTemplate(id: number) {
|
||||
return requestClient.get<CouponTemplateApi.CouponTemplate>(
|
||||
`/promotion/coupon-template/get?id=${id}`,
|
||||
);
|
||||
}
|
||||
|
||||
/** 获得优惠劵模板分页 */
|
||||
export function getCouponTemplatePage(params: PageParam) {
|
||||
return requestClient.get<PageResult<CouponTemplateApi.CouponTemplate>>(
|
||||
'/promotion/coupon-template/page',
|
||||
{ params },
|
||||
);
|
||||
}
|
||||
|
||||
/** 获得优惠劵模板列表 */
|
||||
export function getCouponTemplateList(ids: number[]) {
|
||||
return requestClient.get<CouponTemplateApi.CouponTemplate[]>(
|
||||
`/promotion/coupon-template/list?ids=${ids}`,
|
||||
);
|
||||
}
|
||||
|
||||
/** 导出优惠劵模板 Excel */
|
||||
export function exportCouponTemplateExcel(params: PageParam) {
|
||||
return requestClient.get('/promotion/coupon-template/export-excel', {
|
||||
params,
|
||||
responseType: 'blob',
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user