import request from '@/config/axios'
|
import { Sku, Spu } from '@/api/mall/product/spu'
|
|
export interface CombinationActivityVO {
|
id?: number
|
name?: string
|
spuId?: number
|
totalLimitCount?: number
|
singleLimitCount?: number
|
startTime?: Date
|
endTime?: Date
|
userSize?: number
|
totalCount?: number
|
successCount?: number
|
orderUserCount?: number
|
virtualGroup?: number
|
status?: number
|
limitDuration?: number
|
products: CombinationProductVO[]
|
}
|
|
// 拼团活动所需属性
|
export interface CombinationProductVO {
|
spuId: number
|
skuId: number
|
combinationPrice: number // 拼团价格
|
}
|
|
// 扩展 Sku 配置
|
export type SkuExtension = Sku & {
|
productConfig: CombinationProductVO
|
}
|
|
export interface SpuExtension extends Spu {
|
skus: SkuExtension[] // 重写类型
|
}
|
|
// 查询拼团活动列表
|
export const getCombinationActivityPage = async (params) => {
|
return await request.get({ url: '/promotion/combination-activity/page', params })
|
}
|
|
// 查询拼团活动详情
|
export const getCombinationActivity = async (id: number) => {
|
return await request.get({ url: '/promotion/combination-activity/get?id=' + id })
|
}
|
|
// 新增拼团活动
|
export const createCombinationActivity = async (data: CombinationActivityVO) => {
|
return await request.post({ url: '/promotion/combination-activity/create', data })
|
}
|
|
// 修改拼团活动
|
export const updateCombinationActivity = async (data: CombinationActivityVO) => {
|
return await request.put({ url: '/promotion/combination-activity/update', data })
|
}
|
|
// 关闭拼团活动
|
export const closeCombinationActivity = async (id: number) => {
|
return await request.put({ url: '/promotion/combination-activity/close?id=' + id })
|
}
|
|
// 删除拼团活动
|
export const deleteCombinationActivity = async (id: number) => {
|
return await request.delete({ url: '/promotion/combination-activity/delete?id=' + id })
|
}
|