bargainActivity.ts 2.2 KB

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