Files
frontend/apps/web-ele/src/api/mall/promotion/seckill/seckillActivity.ts

83 lines
2.5 KiB
TypeScript

import type { PageParam, PageResult } from '@vben/request';
import { requestClient } from '#/api/request';
export namespace MallSeckillActivityApi {
/** 秒杀商品 */
export interface SeckillProduct {
skuId: number; // 商品 SKU 编号
spuId: number; // 商品 SPU 编号
seckillPrice: number; // 秒杀价格
stock: number; // 秒杀库存
}
/** 秒杀活动 */
export interface SeckillActivity {
id?: number; // 活动编号
spuId?: number; // 商品 SPU 编号
name?: string; // 活动名称
status?: number; // 活动状态
remark?: string; // 备注
startTime?: Date; // 开始时间
endTime?: Date; // 结束时间
sort?: number; // 排序
configIds?: string; // 配置编号
orderCount?: number; // 订单数量
userCount?: number; // 用户数量
totalPrice?: number; // 总金额
totalLimitCount?: number; // 总限购数量
singleLimitCount?: number; // 单次限购数量
stock?: number; // 秒杀库存
totalStock?: number; // 秒杀总库存
seckillPrice?: number; // 秒杀价格
products?: SeckillProduct[]; // 秒杀商品列表
picUrl?: any;
}
}
/** 查询秒杀活动列表 */
export function getSeckillActivityPage(params: PageParam) {
return requestClient.get<PageResult<MallSeckillActivityApi.SeckillActivity>>(
'/promotion/seckill-activity/page',
{ params },
);
}
/** 查询秒杀活动列表,基于活动编号数组 */
export function getSeckillActivityListByIds(ids: number[]) {
return requestClient.get<MallSeckillActivityApi.SeckillActivity[]>(
`/promotion/seckill-activity/list-by-ids?ids=${ids}`,
);
}
/** 查询秒杀活动详情 */
export function getSeckillActivity(id: number) {
return requestClient.get<MallSeckillActivityApi.SeckillActivity>(
`/promotion/seckill-activity/get?id=${id}`,
);
}
/** 新增秒杀活动 */
export function createSeckillActivity(
data: MallSeckillActivityApi.SeckillActivity,
) {
return requestClient.post('/promotion/seckill-activity/create', data);
}
/** 修改秒杀活动 */
export function updateSeckillActivity(
data: MallSeckillActivityApi.SeckillActivity,
) {
return requestClient.put('/promotion/seckill-activity/update', data);
}
/** 关闭秒杀活动 */
export function closeSeckillActivity(id: number) {
return requestClient.put(`/promotion/seckill-activity/close?id=${id}`);
}
/** 删除秒杀活动 */
export function deleteSeckillActivity(id: number) {
return requestClient.delete(`/promotion/seckill-activity/delete?id=${id}`);
}