64 lines
1.6 KiB
TypeScript
64 lines
1.6 KiB
TypeScript
import request from '@/config/axios'
|
|
import { Sku, Spu } from '@/api/mall/product/spu'
|
|
|
|
export interface SeckillActivityVO {
|
|
id: number
|
|
spuIds: number[]
|
|
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
|
|
products: SeckillProductVO[]
|
|
}
|
|
|
|
// 秒杀活动所需属性
|
|
export interface SeckillProductVO {
|
|
skuId: number
|
|
seckillPrice: number
|
|
stock: number
|
|
}
|
|
|
|
// 扩展 Sku 配置
|
|
export type SkuExtension = Sku & {
|
|
productConfig: SeckillProductVO
|
|
}
|
|
|
|
export interface SpuExtension extends Spu {
|
|
skus: SkuExtension[] // 重写类型
|
|
}
|
|
|
|
// 查询秒杀活动列表
|
|
export const getSeckillActivityPage = async (params) => {
|
|
return await request.get({ url: '/promotion/seckill-activity/page', params })
|
|
}
|
|
|
|
// 查询秒杀活动详情
|
|
export const getSeckillActivity = async (id: number) => {
|
|
return await request.get({ url: '/promotion/seckill-activity/get?id=' + id })
|
|
}
|
|
|
|
// 新增秒杀活动
|
|
export const createSeckillActivity = async (data: SeckillActivityVO) => {
|
|
return await request.post({ url: '/promotion/seckill-activity/create', data })
|
|
}
|
|
|
|
// 修改秒杀活动
|
|
export const updateSeckillActivity = async (data: SeckillActivityVO) => {
|
|
return await request.put({ url: '/promotion/seckill-activity/update', data })
|
|
}
|
|
|
|
// 删除秒杀活动
|
|
export const deleteSeckillActivity = async (id: number) => {
|
|
return await request.delete({ url: '/promotion/seckill-activity/delete?id=' + id })
|
|
}
|