Files
one-pipe-system/src/api/modules/packageTrafficAlert.ts
2026-09-17 12:16:20 +08:00

102 lines
3.4 KiB
TypeScript

/**
* 套餐真流量预警 API 服务
* 6 个接口仅超级管理员/平台账号可访问,其他账号由后端 403 兜底
* 对应 docs/产品迭代8月份/套餐真流量预警_API_前端简版.md
*/
import { BaseService } from '../BaseService'
import type {
BaseResponse,
PaginationResponse,
PackageTrafficAlertRuleItem,
PackageTrafficAlertRuleQueryParams,
CreatePackageTrafficAlertRuleParams,
UpdatePackageTrafficAlertRuleParams,
PackageTrafficAlertRecordItem,
PackageTrafficAlertRecordDetail,
PackageTrafficAlertRecordQueryParams,
ExportPackageTrafficAlertParams,
CreatePackageTrafficAlertExportResponse
} from '@/types/api'
export class PackageTrafficAlertService extends BaseService {
/**
* 查询套餐真流量预警规则列表
* GET /api/admin/package-traffic-alert-rules
* 返回套餐、商品当前真流量额度、阈值、启用状态、备注与更新时间
*/
static getAlertRules(
params?: PackageTrafficAlertRuleQueryParams
): Promise<PaginationResponse<PackageTrafficAlertRuleItem>> {
return this.getPage<PackageTrafficAlertRuleItem>(
'/api/admin/package-traffic-alert-rules',
params
)
}
/**
* 创建套餐真流量预警规则
* POST /api/admin/package-traffic-alert-rules
* 同一套餐商品最多一条真流量预警规则
*/
static createAlertRule(
data: CreatePackageTrafficAlertRuleParams
): Promise<BaseResponse<PackageTrafficAlertRuleItem>> {
return this.create<PackageTrafficAlertRuleItem>('/api/admin/package-traffic-alert-rules', data)
}
/**
* 修改套餐真流量预警规则
* PUT /api/admin/package-traffic-alert-rules/{id}
* 允许修改阈值、启停与备注;修改不影响既有预警快照,停用后扫描不再创建新预警
*/
static updateAlertRule(
id: number,
data: UpdatePackageTrafficAlertRuleParams
): Promise<BaseResponse<PackageTrafficAlertRuleItem>> {
return this.update<PackageTrafficAlertRuleItem>(
`/api/admin/package-traffic-alert-rules/${id}`,
data
)
}
/**
* 查询套餐真流量预警记录列表
* GET /api/admin/package-traffic-alerts
* 列表数据除 business_user_group_names 外均为触发时快照
*/
static getAlertRecords(
params?: PackageTrafficAlertRecordQueryParams
): Promise<PaginationResponse<PackageTrafficAlertRecordItem>> {
return this.getPage<PackageTrafficAlertRecordItem>('/api/admin/package-traffic-alerts', params)
}
/**
* 查询套餐真流量预警记录详情
* GET /api/admin/package-traffic-alerts/{id}
* 越权查询统一按资源不可见处理
*/
static getAlertRecordDetail(id: number): Promise<BaseResponse<PackageTrafficAlertRecordDetail>> {
// 越权查询详情统一按资源不可见处理,抑制全局报错提示,由页面给出统一文案
return this.getOne<PackageTrafficAlertRecordDetail>(
`/api/admin/package-traffic-alerts/${id}`,
undefined,
{ requestOptions: { errorMessageMode: 'none' } }
)
}
/**
* 导出套餐真流量达量预警
* POST /api/admin/package-traffic-alerts/export
* 只创建异步导出任务,后续通过既有导出任务列表下载文件
*/
static exportAlertRecords(
data: ExportPackageTrafficAlertParams
): Promise<BaseResponse<CreatePackageTrafficAlertExportResponse>> {
return this.post<BaseResponse<CreatePackageTrafficAlertExportResponse>>(
'/api/admin/package-traffic-alerts/export',
data
)
}
}