feat: Add quota management features and localization updates

This commit is contained in:
web
2025-09-11 03:34:36 -07:00
parent e2d83ec9e6
commit fce627ba11
33 changed files with 2716 additions and 93 deletions
+51
View File
@@ -85,3 +85,54 @@ export async function stopBatchSendEmailTask(
...(options || {}),
});
}
/** Create a quota task POST /v1/admin/marketing/quota/create */
export async function createQuotaTask(
body: API.CreateQuotaTaskRequest,
options?: { [key: string]: any },
) {
return request<API.Response & { data?: any }>('/v1/admin/marketing/quota/create', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
data: body,
...(options || {}),
});
}
/** Query quota task list GET /v1/admin/marketing/quota/list */
export async function queryQuotaTaskList(
// 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
params: API.QueryQuotaTaskListParams,
options?: { [key: string]: any },
) {
return request<API.Response & { data?: API.QueryQuotaTaskListResponse }>(
'/v1/admin/marketing/quota/list',
{
method: 'GET',
params: {
...params,
},
...(options || {}),
},
);
}
/** Query quota task pre-count POST /v1/admin/marketing/quota/pre-count */
export async function queryQuotaTaskPreCount(
body: API.QueryQuotaTaskPreCountRequest,
options?: { [key: string]: any },
) {
return request<API.Response & { data?: API.QueryQuotaTaskPreCountResponse }>(
'/v1/admin/marketing/quota/pre-count',
{
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
data: body,
...(options || {}),
},
);
}
+75 -5
View File
@@ -152,7 +152,7 @@ declare namespace API {
subject: string;
content: string;
recipients: string;
scope: string;
scope: number;
register_start_time: number;
register_end_time: number;
additional: string;
@@ -226,7 +226,7 @@ declare namespace API {
type CreateBatchSendEmailTaskRequest = {
subject: string;
content: string;
scope: string;
scope: number;
register_start_time?: number;
register_end_time?: number;
additional?: string;
@@ -296,6 +296,17 @@ declare namespace API {
enable: boolean;
};
type CreateQuotaTaskRequest = {
subscribers: number[];
is_active: boolean;
start_time: number;
end_time: number;
reset_traffic: boolean;
days: number;
gift_type: number;
gift_value: number;
};
type CreateServerRequest = {
name: string;
country?: string;
@@ -854,14 +865,14 @@ declare namespace API {
type GetBatchSendEmailTaskListParams = {
page: number;
size: number;
scope?: string;
scope?: number;
status?: number;
};
type GetBatchSendEmailTaskListRequest = {
page: number;
size: number;
scope?: string;
scope?: number;
status?: number;
};
@@ -995,7 +1006,7 @@ declare namespace API {
};
type GetPreSendEmailCountRequest = {
scope: string;
scope: number;
register_start_time?: number;
register_end_time?: number;
};
@@ -1571,6 +1582,45 @@ declare namespace API {
list: OrderDetail[];
};
type QueryQuotaTaskListParams = {
page: number;
size: number;
status?: number;
};
type QueryQuotaTaskListRequest = {
page: number;
size: number;
status?: number;
};
type QueryQuotaTaskListResponse = {
total: number;
list: QuotaTask[];
};
type QueryQuotaTaskPreCountRequest = {
subscribers: number[];
is_active: boolean;
start_time: number;
end_time: number;
};
type QueryQuotaTaskPreCountResponse = {
count: number;
};
type QueryQuotaTaskStatusRequest = {
id: number;
};
type QueryQuotaTaskStatusResponse = {
status: number;
current: number;
total: number;
errors: string;
};
type QuerySubscribeGroupListResponse = {
list: SubscribeGroup[];
total: number;
@@ -1596,6 +1646,26 @@ declare namespace API {
total: number;
};
type QuotaTask = {
id: number;
subscribers: number[];
is_active: boolean;
start_time: number;
end_time: number;
reset_traffic: boolean;
days: number;
gift_type: number;
gift_value: number;
/** UserSubscribe IDs */
objects: number[];
status: number;
total: number;
current: number;
errors: string;
created_at: number;
updated_at: number;
};
type RechargeOrderRequest = {
amount: number;
payment: number;