gaoluyang
2026-06-24 bfdc0e0e6d5e47aa501f9b6fadd143d9c97cf00a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
import type { PageParam, PageResult } from '../../../../packages/effects/request/src';
 
import { requestClient } from '#/api/request';
 
export namespace MallCombinationActivityApi {
  /** 拼团活动 */
  export interface CombinationActivity {
    id?: number; // 活动编号
    name?: string; // 活动名称
    spuId?: number; // 商品 SPU 编号
    spuName?: string; // 商品 SPU 名称
    totalLimitCount?: number; // 总限购数量
    singleLimitCount?: number; // 单次限购数量
    startTime?: Date; // 开始时间
    endTime?: Date; // 结束时间
    userSize?: number; // 用户数量
    totalCount?: number; // 总数量
    successCount?: number; // 成功数量
    orderUserCount?: number; // 订单用户数量
    virtualGroup?: number; // 虚拟成团
    status?: number; // 状态
    limitDuration?: number; // 限制时长
    combinationPrice?: number; // 拼团价格
    products: CombinationProduct[]; // 商品列表
    picUrl?: string; // 商品图片
  }
 
  /** 拼团活动所需属性 */
  export interface CombinationProduct {
    spuId: number; // 商品 SPU 编号
    skuId: number; // 商品 SKU 编号
    combinationPrice: number; // 拼团价格
  }
}
 
/** 查询拼团活动列表 */
export function getCombinationActivityPage(params: PageParam) {
  return requestClient.get<
    PageResult<MallCombinationActivityApi.CombinationActivity>
  >('/promotion/combination-activity/page', { params });
}
 
/** 查询拼团活动详情 */
export function getCombinationActivity(id: number) {
  return requestClient.get<MallCombinationActivityApi.CombinationActivity>(
    `/promotion/combination-activity/get?id=${id}`,
  );
}
 
/** 获得拼团活动列表,基于活动编号数组 */
export function getCombinationActivityListByIds(ids: number[]) {
  return requestClient.get<MallCombinationActivityApi.CombinationActivity[]>(
    `/promotion/combination-activity/list-by-ids?ids=${ids}`,
  );
}
 
/** 新增拼团活动 */
export function createCombinationActivity(
  data: MallCombinationActivityApi.CombinationActivity,
) {
  return requestClient.post('/promotion/combination-activity/create', data);
}
 
/** 修改拼团活动 */
export function updateCombinationActivity(
  data: MallCombinationActivityApi.CombinationActivity,
) {
  return requestClient.put('/promotion/combination-activity/update', data);
}
 
/** 关闭拼团活动 */
export function closeCombinationActivity(id: number) {
  return requestClient.put(`/promotion/combination-activity/close?id=${id}`);
}
 
/** 删除拼团活动 */
export function deleteCombinationActivity(id: number) {
  return requestClient.delete(
    `/promotion/combination-activity/delete?id=${id}`,
  );
}