combinationactivity.ts 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. import request from '@/config/axios'
  2. import { Sku, Spu } from '@/api/mall/product/spu'
  3. // TODO @puhui999: combinationActivity.ts
  4. export interface CombinationActivityVO {
  5. id?: number
  6. name?: string
  7. spuId?: number
  8. totalLimitCount?: number
  9. singleLimitCount?: number
  10. startTime?: Date
  11. endTime?: Date
  12. userSize?: number
  13. totalNum?: number
  14. successNum?: number
  15. orderUserCount?: number
  16. virtualGroup?: number
  17. status?: number
  18. limitDuration?: number
  19. products: CombinationProductVO[]
  20. }
  21. // 拼团活动所需属性
  22. export interface CombinationProductVO {
  23. spuId: number
  24. skuId: number
  25. activePrice: number // 拼团价格
  26. }
  27. // 扩展 Sku 配置
  28. export type SkuExtension = Sku & {
  29. productConfig: CombinationProductVO
  30. }
  31. export interface SpuExtension extends Spu {
  32. skus: SkuExtension[] // 重写类型
  33. }
  34. // 查询拼团活动列表
  35. export const getCombinationActivityPage = async (params) => {
  36. return await request.get({ url: '/promotion/combination-activity/page', params })
  37. }
  38. // 查询拼团活动详情
  39. export const getCombinationActivity = async (id: number) => {
  40. return await request.get({ url: '/promotion/combination-activity/get?id=' + id })
  41. }
  42. // 新增拼团活动
  43. export const createCombinationActivity = async (data: CombinationActivityVO) => {
  44. return await request.post({ url: '/promotion/combination-activity/create', data })
  45. }
  46. // 修改拼团活动
  47. export const updateCombinationActivity = async (data: CombinationActivityVO) => {
  48. return await request.put({ url: '/promotion/combination-activity/update', data })
  49. }
  50. // 删除拼团活动
  51. export const deleteCombinationActivity = async (id: number) => {
  52. return await request.delete({ url: '/promotion/combination-activity/delete?id=' + id })
  53. }