文件
OmniCard/backend/src/modules/nfc/controller/admin/rule.ts
wikiboss 6c3d5d323a refactor(arch): 落地平台架构演进第一二阶段整改,消除OOM与越权风险并支持高并发缓冲与AI多租户BYOK
- [P0安全底座] 多租户数据闭环:公开留资与雷达足迹自动逆向追溯绑定名片 tenantId 与归属销售 userId
- [P0性能稳定] 消除内存全量加载:公海池分批带条件扫描回收,雷达国家分布改用 SQL 原生 GROUP BY 聚合查询彻底消除 OOM 隐患
- [P0商业变现] 商业化配额门禁切面:在 Cool-Admin modifyBefore 生命周期织入 assertQuotaAvailable 校验,阻断超额名片创建
- [P0环境解耦] 客户端解耦本地硬编码:request.uts 支持 api_base_url 本地覆盖,生产数据库名修正为 crmmpdata
- [P1高并发削峰] 雷达足迹批量缓冲引擎:引入 CrmRadarBufferService 环形缓冲队列与阈值/定时批量 Bulk Insert 落盘
- [P2中枢租户化] AI 智能中枢多租户 BYOK 与 Token 成本风控:支持企业自带 Key 隔离、Token 消耗账本、用量配额门禁与名片人设个性化联动
- [跨端规范] 对齐 Uni-app x 移动微官网原生首屏与底部原生 tabBar 规范
- [测试驱动] 全工程 116 个测试套件,1,175 个单元与集成测试用例全部 100% 绿色通过,管理后台 Vite 打包无错误
2026-09-21 11:14:10 +08:00

34 行
1.0 KiB
TypeScript

import { CoolController, BaseController } from '@cool-midway/core';
import { NfcRuleEntity } from '../../entity/rule';
import { NfcRuleService } from '../../service/rule';
/**
* 后台 NFC 场景路由规则标准 CRUD 配置
*/
export const adminNfcRuleCurdOption = {
api: ['add', 'delete', 'update', 'info', 'list', 'page'] as Array<
'add' | 'delete' | 'update' | 'info' | 'list' | 'page'
>,
entity: NfcRuleEntity,
service: NfcRuleService,
pageQueryOp: {
fieldEq: [
{ column: 'a.device_id', requestParam: 'deviceId' },
'a.enabled',
{ column: 'a.scene_mode', requestParam: 'sceneMode' },
{ column: 'a.country_code', requestParam: 'countryCode' },
],
addOrderBy: { update_time: 'desc' as const },
},
serviceApis: [
{ method: 'resolveScene', summary: '解析当前触卡场景路由' },
],
};
/**
* NFC 模块-后台场景路由规则
* 路由前缀:/admin/nfc/rule
*/
@CoolController(adminNfcRuleCurdOption)
export class AdminNfcRuleController extends BaseController {}