fix: some
All checks were successful
构建并部署前端到测试环境 / deploy (push) Successful in 54s

This commit is contained in:
luo
2026-10-28 15:18:44 +08:00
parent 06684e1fc0
commit f2614d8efb
99 changed files with 11511 additions and 132 deletions

View File

@@ -0,0 +1,32 @@
import { PackageManageService } from './packageManage'
import {
assertSilenceResponse,
validateSilenceExpiryOverride
} from '@/utils/business/packageSilence'
// 复用既有套餐详情,不假设授权候选已携带新字段;全部校验完成后才写。
export async function ensurePackageSilenceOverrides(
items: { packageId: number | undefined; override?: string | null }[]
) {
const checks = items.filter((item) => item.override && item.override !== 'default')
const packages = new Map<
number,
Awaited<ReturnType<typeof PackageManageService.getPackageDetail>>['data']
>()
for (let index = 0; index < checks.length; index += 4) {
await Promise.all(
checks.slice(index, index + 4).map(async (item) => {
if (!Number.isSafeInteger(item.packageId) || Number(item.packageId) < 1)
throw new Error('缺少套餐 ID,无法校验生效条件')
const id = item.packageId!
let pkg = packages.get(id)
if (!pkg) {
const response = assertSilenceResponse(await PackageManageService.getPackageDetail(id))
pkg = response.data
packages.set(id, pkg)
}
validateSilenceExpiryOverride(pkg, item.override)
})
)
}
}