bargainActivity.ts 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. import request from '@/config/axios'
  2. import { Sku, Spu } from '@/api/mall/product/spu'
  3. export interface BargainActivityVO {
  4. id?: number
  5. name?: string
  6. startTime?: Date
  7. endTime?: Date
  8. status?: number
  9. spuId?: number
  10. userSize?: number // 达到该人数,才能砍到低价
  11. bargainCount?: number // 最大帮砍次数
  12. totalLimitCount?: number // 最大购买次数
  13. stock?: number // 活动总库存
  14. randomMinPrice?: number // 用户每次砍价的最小金额,单位:分
  15. randomMaxPrice?: number // 用户每次砍价的最大金额,单位:分
  16. successCount?: number // 砍价成功数量
  17. products?: BargainProductVO[]
  18. }
  19. // 砍价活动所需属性
  20. export interface BargainProductVO {
  21. spuId: number
  22. skuId: number
  23. bargainFirstPrice: number // 砍价起始价格,单位分
  24. bargainPrice: number // 砍价底价
  25. stock: number // 活动库存
  26. }
  27. // 扩展 Sku 配置
  28. export type SkuExtension = Sku & {
  29. productConfig: BargainProductVO
  30. }
  31. export interface SpuExtension extends Spu {
  32. skus: SkuExtension[] // 重写类型
  33. }
  34. // 查询砍价活动列表
  35. export const getBargainActivityPage = async (params: any) => {
  36. return await request.get({ url: '/promotion/bargain-activity/page', params })
  37. }
  38. // 查询砍价活动详情
  39. export const getBargainActivity = async (id: number) => {
  40. return await request.get({ url: '/promotion/bargain-activity/get?id=' + id })
  41. }
  42. // 新增砍价活动
  43. export const createBargainActivity = async (data: BargainActivityVO) => {
  44. return await request.post({ url: '/promotion/bargain-activity/create', data })
  45. }
  46. // 修改砍价活动
  47. export const updateBargainActivity = async (data: BargainActivityVO) => {
  48. return await request.put({ url: '/promotion/bargain-activity/update', data })
  49. }
  50. // 删除砍价活动
  51. export const deleteBargainActivity = async (id: number) => {
  52. return await request.delete({ url: '/promotion/bargain-activity/delete?id=' + id })
  53. }