index.ts 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. import request from '@/config/axios'
  2. import { Sku, Spu } from '@/api/mall/product/spu' // 积分商城活动 VO
  3. // 积分商城活动 VO
  4. export interface PointActivityVO {
  5. id: number // 积分商城活动编号
  6. spuId: number // 积分商城活动产品
  7. status: number // 活动状态
  8. stock: number // 积分商城活动库存
  9. totalStock: number // 积分商城活动总库存
  10. remark?: string // 备注
  11. sort: number // 排序
  12. createTime: string // 创建时间
  13. products: PointProductVO[] // 积分商城产品
  14. // ========== 产品字段 ==========
  15. spuName: string // 产品名称
  16. picUrl: string // 产品主图
  17. marketPrice: number // 产品市场价,单位:分
  18. //======================= 显示所需兑换积分最少的 sku 信息 =======================
  19. point: number // 兑换积分
  20. price: number // 兑换金额,单位:分
  21. }
  22. // 秒杀活动所需属性
  23. export interface PointProductVO {
  24. id?: number // 积分商城产品编号
  25. activityId?: number // 积分商城活动 id
  26. spuId?: number // 产品 SPU 编号
  27. skuId: number // 产品 SKU 编号
  28. count: number // 可兑换数量
  29. point: number // 兑换积分
  30. price: number // 兑换金额,单位:分
  31. stock: number // 积分商城产品库存
  32. activityStatus?: number // 积分商城产品状态
  33. }
  34. // 扩展 Sku 配置
  35. export type SkuExtension = Sku & {
  36. productConfig: PointProductVO
  37. }
  38. export interface SpuExtension extends Spu {
  39. skus: SkuExtension[] // 重写类型
  40. }
  41. export interface SpuExtension0 extends Spu {
  42. pointStock: number // 积分商城活动库存
  43. pointTotalStock: number // 积分商城活动总库存
  44. point: number // 兑换积分
  45. pointPrice: number // 兑换金额,单位:分
  46. }
  47. // 积分商城活动 API
  48. export const PointActivityApi = {
  49. // 查询积分商城活动分页
  50. getPointActivityPage: async (params: any) => {
  51. return await request.get({ url: `/promotion/point-activity/page`, params })
  52. },
  53. // 查询积分商城活动详情
  54. getPointActivity: async (id: number) => {
  55. return await request.get({ url: `/promotion/point-activity/get?id=` + id })
  56. },
  57. // 查询积分商城活动列表,基于活动编号数组
  58. getPointActivityListByIds: async (ids: number[]) => {
  59. return request.get({ url: `/promotion/point-activity/list-by-ids?ids=${ids}` })
  60. },
  61. // 新增积分商城活动
  62. createPointActivity: async (data: PointActivityVO) => {
  63. return await request.post({ url: `/promotion/point-activity/create`, data })
  64. },
  65. // 修改积分商城活动
  66. updatePointActivity: async (data: PointActivityVO) => {
  67. return await request.put({ url: `/promotion/point-activity/update`, data })
  68. },
  69. // 删除积分商城活动
  70. deletePointActivity: async (id: number) => {
  71. return await request.delete({ url: `/promotion/point-activity/delete?id=` + id })
  72. },
  73. // 关闭秒杀活动
  74. closePointActivity: async (id: number) => {
  75. return await request.put({ url: '/promotion/point-activity/close?id=' + id })
  76. }
  77. }