bargainActivity.ts 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  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. userSize?: number // 达到该人数,才能砍到低价
  10. bargainCount?: number // 最大帮砍次数
  11. totalLimitCount?: number // 最大购买次数
  12. spuId: number
  13. skuId: number
  14. bargainFirstPrice: number // 砍价起始价格,单位分
  15. bargainPrice: number // 砍价底价
  16. stock: number // 活动库存
  17. randomMinPrice?: number // 用户每次砍价的最小金额,单位:分
  18. randomMaxPrice?: number // 用户每次砍价的最大金额,单位:分
  19. successCount?: number // 砍价成功数量
  20. }
  21. // 砍价活动所需属性。 选择的商品和属性的时候使用方便使用活动的通用封装
  22. export interface BargainProductVO {
  23. spuId: number
  24. skuId: number
  25. bargainFirstPrice: number // 砍价起始价格,单位分
  26. bargainPrice: number // 砍价底价
  27. stock: number // 活动库存
  28. }
  29. // 扩展 Sku 配置
  30. export type SkuExtension = Sku & {
  31. productConfig: BargainProductVO
  32. }
  33. export interface SpuExtension extends Spu {
  34. skus: SkuExtension[] // 重写类型
  35. }
  36. // 查询砍价活动列表
  37. export const getBargainActivityPage = async (params: any) => {
  38. return await request.get({ url: '/promotion/bargain-activity/page', params })
  39. }
  40. // 查询砍价活动详情
  41. export const getBargainActivity = async (id: number) => {
  42. return await request.get({ url: '/promotion/bargain-activity/get?id=' + id })
  43. }
  44. // 新增砍价活动
  45. export const createBargainActivity = async (data: BargainActivityVO) => {
  46. return await request.post({ url: '/promotion/bargain-activity/create', data })
  47. }
  48. // 修改砍价活动
  49. export const updateBargainActivity = async (data: BargainActivityVO) => {
  50. return await request.put({ url: '/promotion/bargain-activity/update', data })
  51. }
  52. // 删除砍价活动
  53. export const deleteBargainActivity = async (id: number) => {
  54. return await request.delete({ url: '/promotion/bargain-activity/delete?id=' + id })
  55. }