迪诺学堂标识

06-智能考勤设备中心详细PRD

FAC · 打通人脸识别考勤机,实现人员下发、识别回传、自动签到、自动消课和异常队列。

系统 迪诺学堂
版本 v1.0
日期 2026-06-23
阶段 模块详细 PRD

01 · 模块定位

智能考勤设备中心

测试学员扫脸后系统生成签到记录、自动扣课时;异常识别进入待处理队列。

业务目标

打通人脸识别考勤机,实现人员下发、识别回传、自动签到、自动消课和异常队列。

使用终端

PC Web 设备管理端、人脸考勤机 API、家长端授权入口。

验收主线

测试学员扫脸后系统生成签到记录、自动扣课时;异常识别进入待处理队列。

02 · 范围边界

明确本模块负责什么、依赖什么、不负责什么

边界清晰后,原型、接口和数据库设计才能避免重复建设。

模块内范围

  • 设备档案
  • 人员下发
  • 识别流水
  • 异常队列
  • 人脸授权
  • 设备日志
  • 人脸授权撤回确认
  • 设备模板删除任务
  • 撤回失败重试
  • 隐私审计

上游依赖

  • 组织校区与账号权限
  • 课程/客户/合同等主数据
  • 审批流、消息模板、文件中心
  • 必要的第三方接口密钥

下游输出

  • 业务状态和待办
  • 消息通知和审批记录
  • 报表指标和数据快照
  • 审计日志和接口回执

03 · 确认口径、后台配置与默认实施规则

智能考勤设备中心必须承接的已确认规则

本章节来自待决策与澄清清单的收口结果,已经转为本模块 PRD 的正式需求、配置项或默认实施规则。
分类事项本模块落地要求责任方
默认实施规则接口设计说明书组织方式采用单独 HTML 文件集中管理接口协议;模块 PRD 保留模块级接口摘要,避免每个模块重复写通用协议。产品/研发
默认实施规则接口错误码与重试中间件所有外部接口和内部异步任务统一错误码、幂等键、重试次数、告警阈值和回执归档策略。后端/测试/运维

04 · 业务流程

智能考勤设备中心主流程

流程用于指导原型图的页面顺序、按钮状态和异常分支。
01设备档案

设备档案需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。

02人员下发

人员下发包含学员、教师、员工、人脸照片、有效期和校区权限

03识别流水

识别流水需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。

04异常队列

异常队列需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。

05人脸授权

人脸授权撤回需由家长确认后生成设备侧模板删除任务,设备离线时进入延迟删除队列,删除回执、失败重试和人工处理必须留痕。

06设备日志

设备日志需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。

07人脸授权撤回确认

人脸授权撤回确认需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。

08设备模板删除任务

设备模板删除任务需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。

05 · 功能清单

按子模块拆到可设计、可开发、可测试的颗粒度

每一行功能都需要在原型中体现入口、状态、按钮、字段和反馈。
一级功能二级功能功能说明规则/验收
设备档案基础维护设备档案支持新增、编辑、启用/停用、查询、导入导出和操作审计。编码唯一、数据范围过滤、逻辑删除和审计留痕
设备档案业务处理设备档案需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。必须联动状态、权限、消息、审批和指标
设备档案异常闭环低置信度处理失败原因可见、可重试、可转人工、可追溯
人员下发基础维护人员下发支持新增、编辑、启用/停用、查询、导入导出和操作审计。编码唯一、数据范围过滤、逻辑删除和审计留痕
人员下发业务处理人员下发包含学员、教师、员工、人脸照片、有效期和校区权限必须联动状态、权限、消息、审批和指标
人员下发异常闭环设备离线处理失败原因可见、可重试、可转人工、可追溯
识别流水基础维护识别流水支持新增、编辑、启用/停用、查询、导入导出和操作审计。编码唯一、数据范围过滤、逻辑删除和审计留痕
识别流水业务处理识别流水需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。必须联动状态、权限、消息、审批和指标
识别流水异常闭环跨校区识别处理失败原因可见、可重试、可转人工、可追溯
异常队列基础维护异常队列支持新增、编辑、启用/停用、查询、导入导出和操作审计。编码唯一、数据范围过滤、逻辑删除和审计留痕
异常队列业务处理异常队列需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。必须联动状态、权限、消息、审批和指标
异常队列异常闭环设备离线延迟删除处理失败原因可见、可重试、可转人工、可追溯
人脸授权基础维护人脸授权支持新增、编辑、启用/停用、查询、导入导出和操作审计。编码唯一、数据范围过滤、逻辑删除和审计留痕
人脸授权业务处理人脸授权撤回需由家长确认后生成设备侧模板删除任务,设备离线时进入延迟删除队列,删除回执、失败重试和人工处理必须留痕。必须联动状态、权限、消息、审批和指标
人脸授权异常闭环模板删除失败处理失败原因可见、可重试、可转人工、可追溯
设备日志基础维护设备日志支持新增、编辑、启用/停用、查询、导入导出和操作审计。编码唯一、数据范围过滤、逻辑删除和审计留痕
设备日志业务处理设备日志需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。必须联动状态、权限、消息、审批和指标
设备日志异常闭环撤回回执缺失处理失败原因可见、可重试、可转人工、可追溯
人脸授权撤回确认基础维护人脸授权撤回确认支持新增、编辑、启用/停用、查询、导入导出和操作审计。编码唯一、数据范围过滤、逻辑删除和审计留痕
人脸授权撤回确认业务处理人脸授权撤回确认需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。必须联动状态、权限、消息、审批和指标
人脸授权撤回确认异常闭环家长确认超时处理失败原因可见、可重试、可转人工、可追溯
设备模板删除任务基础维护设备模板删除任务支持新增、编辑、启用/停用、查询、导入导出和操作审计。编码唯一、数据范围过滤、逻辑删除和审计留痕
设备模板删除任务业务处理设备模板删除任务需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。必须联动状态、权限、消息、审批和指标
设备模板删除任务异常闭环低置信度处理失败原因可见、可重试、可转人工、可追溯
撤回失败重试基础维护撤回失败重试支持新增、编辑、启用/停用、查询、导入导出和操作审计。编码唯一、数据范围过滤、逻辑删除和审计留痕
撤回失败重试业务处理撤回失败重试需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。必须联动状态、权限、消息、审批和指标
撤回失败重试异常闭环设备离线处理失败原因可见、可重试、可转人工、可追溯
隐私审计基础维护隐私审计支持新增、编辑、启用/停用、查询、导入导出和操作审计。编码唯一、数据范围过滤、逻辑删除和审计留痕
隐私审计业务处理隐私审计需覆盖入口、字段、状态、权限、审批/消息、异常处理、审计和指标统计,并与上下游模块保持数据一致。必须联动状态、权限、消息、审批和指标
隐私审计异常闭环跨校区识别处理失败原因可见、可重试、可转人工、可追溯

功能到数据对象/接口/表映射

功能域承接对象核心表代表接口状态机/状态字段研发落地校验
设备档案FaceDevice、FacePerson、FaceDispatchTask、FaceAttendanceEventdev_face_device、dev_face_person、dev_face_dispatch_task、dev_face_event接口资源组 /api/v1/fac/features/01device_status、person_type、sync_status、action_type、task_status、match_status新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计
人员下发FaceDevice、FacePerson、FaceDispatchTask、FaceAttendanceEventdev_face_device、dev_face_person、dev_face_dispatch_task、dev_face_event接口资源组 /api/v1/fac/features/02device_status、person_type、sync_status、action_type、task_status、match_status新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计
识别流水FaceDevice、FacePerson、FaceDispatchTask、FaceAttendanceEventdev_face_device、dev_face_person、dev_face_dispatch_task、dev_face_event接口资源组 /api/v1/fac/features/03device_status、person_type、sync_status、action_type、task_status、match_status新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计
异常队列FaceDevice、FacePerson、FaceDispatchTask、FaceAttendanceEventdev_face_device、dev_face_person、dev_face_dispatch_task、dev_face_event接口资源组 /api/v1/fac/features/04device_status、person_type、sync_status、action_type、task_status、match_status新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计
人脸授权FaceAuthorizationRevokeTaskdev_face_revoke_task接口资源组 /api/v1/fac/features/05revoke_status新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计
设备日志FaceDevice、FacePerson、FaceDispatchTask、FaceAttendanceEventdev_face_device、dev_face_person、dev_face_dispatch_task、dev_face_event接口资源组 /api/v1/fac/features/06device_status、person_type、sync_status、action_type、task_status、match_status新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计
人脸授权撤回确认FaceDevice、FacePerson、FaceDispatchTask、FaceAttendanceEventdev_face_device、dev_face_person、dev_face_dispatch_task、dev_face_event接口资源组 /api/v1/fac/features/07device_status、person_type、sync_status、action_type、task_status、match_status新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计
设备模板删除任务FaceDevice、FacePerson、FaceDispatchTask、FaceAttendanceEventdev_face_device、dev_face_person、dev_face_dispatch_task、dev_face_event接口资源组 /api/v1/fac/features/08device_status、person_type、sync_status、action_type、task_status、match_status新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计
撤回失败重试FaceDevice、FacePerson、FaceDispatchTask、FaceAttendanceEventdev_face_device、dev_face_person、dev_face_dispatch_task、dev_face_event接口资源组 /api/v1/fac/features/09device_status、person_type、sync_status、action_type、task_status、match_status新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计
隐私审计FaceDevice、FacePerson、FaceDispatchTask、FaceAttendanceEventdev_face_device、dev_face_person、dev_face_dispatch_task、dev_face_event接口资源组 /api/v1/fac/features/10device_status、person_type、sync_status、action_type、task_status、match_status新增/编辑/删除/审批/导出/回调均需校验租户、校区、角色、数据范围、逻辑删除、幂等和审计

06 · 原子级功能需求

用于研发任务拆分和测试用例追踪

需求编号可直接进入项目管理工具。
编号需求描述入口页面关键动作输入校验输出结果异常处理验收标准
FR-FAC-001设备需支持 API 二次开发、人员照片下发、识别事件回传和心跳设备档案设备建档校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务低置信度主流程、异常流、权限流、接口失败和数据一致性均可通过测试
FR-FAC-002人员下发包含学员、教师、员工、人脸照片、有效期和校区权限人脸授权撤回任务授权撤回、模板删除或失败重试校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务设备离线、删除回执缺失或模板删除失败主流程、异常流、权限流、接口失败和数据一致性均可通过测试
FR-FAC-003识别事件按学生、校区、课表、时间窗口、班级和课程匹配课次人脸授权撤回任务事件回传校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务跨校区识别主流程、异常流、权限流、接口失败和数据一致性均可通过测试
FR-FAC-004低置信度、未匹配、重复识别、跨校识别进入人工确认设备列表异常确认校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务设备离线延迟删除主流程、异常流、权限流、接口失败和数据一致性均可通过测试
FR-FAC-005家长授权、撤回授权、删除人脸和操作审计完整留痕敏感字段查看审批明文查看申请、临时授权或过期回收校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务审批原因缺失、越权查看或水印生成失败主流程、异常流、权限流、接口失败和数据一致性均可通过测试
FR-FAC-006人脸授权撤回需由家长确认后生成设备侧模板删除任务,设备离线时进入延迟删除队列,删除回执、失败重试和人工处理必须留痕。敏感字段查看审批明文查看申请、临时授权或过期回收校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务审批原因缺失、越权查看或水印生成失败主流程、异常流、权限流、接口失败和数据一致性均可通过测试
FR-FAC-007人脸授权撤回后需同步停止人脸签到匹配,保留隐私授权审计和设备删除回执。敏感字段查看审批明文查看申请、临时授权或过期回收校验租户、校区、角色、数据范围、状态前置、必填、唯一和敏感操作授权生成业务记录、状态流转、消息通知、审计日志、指标快照和必要的第三方任务审批原因缺失、越权查看或水印生成失败主流程、异常流、权限流、接口失败和数据一致性均可通过测试

07 · 关联闭环补充需求

智能考勤设备中心在跨模块闭环中的责任边界

本章节承接最终闭环核对清单,明确本模块需要补齐的页面、接口对象、异常兜底和验收口径。
闭环项本模块责任关键场景页面/功能补充关联对象/接口验收口径
设备维修工单考勤机离线、识别异常或模板下发失败时生成设备异常线索人脸考勤设备故障影响签到、课消和到访接待设备状态、识别事件、异常上报、维修工单入口Device/FaceAttendanceEvent、AssetLifecycle/Maintenance设备异常必须能转维修工单并回写处理结果

08 · 页面与原型设计说明

页面清单、布局要求、按钮字段和状态

原型图设计需要覆盖列表、详情、表单、弹窗、空状态、异常状态和权限状态。
终端页面用户页面目标布局结构关键按钮关键字段异常状态原型备注
PC Web设备档案设备管理员维护设备、校区、在线状态、心跳设备页按校区、设备、人员、事件四层组织,识别流水支持照片、置信度、课次匹配和异常处理入口。新增设备、人员下发、查看心跳、确认异常、撤回授权、重试下发、查看回执设备编号、设备品牌、所属校区、人员编号、人脸照片、置信度、匹配课次、删除回执、绑定教室、在线状态设备离线、人员下发失败、低置信度、跨校区识别、模板删除失败、回执缺失需覆盖设备在线/离线、人员模板下发、识别异常确认、家长撤回授权、设备离线延迟删除和隐私审计。 建议 Figma Frame:FAC-设备档案;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。
PC Web识别流水教务/设备管理员查看扫脸事件、匹配课次、异常确认设备页按校区、设备、人员、事件四层组织,识别流水支持照片、置信度、课次匹配和异常处理入口。新增设备、人员下发、查看心跳、确认异常、撤回授权、重试下发、查看回执设备编号、设备品牌、所属校区、人员编号、人脸照片、置信度、匹配课次、删除回执、绑定教室、在线状态设备离线、人员下发失败、低置信度、跨校区识别、模板删除失败、回执缺失需覆盖设备在线/离线、人员模板下发、识别异常确认、家长撤回授权、设备离线延迟删除和隐私审计。 建议 Figma Frame:FAC-识别流水;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。
PC Web人脸授权撤回任务家长/设备管理员家长撤回授权后生成设备模板删除任务,处理离线延迟删除、失败重试和删除回执设备页按校区、设备、人员、事件四层组织,识别流水支持照片、置信度、课次匹配和异常处理入口。新增设备、人员下发、查看心跳、确认异常、撤回授权、重试下发、查看回执设备编号、设备品牌、所属校区、人员编号、人脸照片、置信度、匹配课次、删除回执、绑定教室、在线状态设备离线、人员下发失败、低置信度、跨校区识别、模板删除失败、回执缺失需覆盖设备在线/离线、人员模板下发、识别异常确认、家长撤回授权、设备离线延迟删除和隐私审计。 建议 Figma Frame:FAC-人脸授权撤回任务;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。
PC Web设备列表授权用户围绕设备闭环完善设备列表的入口、字段、状态、异常提示、处理进度和验收反馈PC 端采用顶部筛选、左侧列表或导航、中部主工作区、右侧详情抽屉,复杂操作进入弹窗或步骤条。查询、新增、编辑、提交、导出、查看日志、设备建档、人员下发设备编号、设备品牌、所属校区、绑定教室、在线状态、人员下发状态、识别置信度、回执状态空数据、无权限、加载失败、保存失败、审批驳回、批量部分失败管理员端沿用统一框架,原型重点标注信息架构、表单弹窗、状态流和异常处理。 建议 Figma Frame:FAC-设备列表;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。
PC Web人员下发授权用户围绕设备闭环完善人员下发的入口、字段、状态、异常提示、处理进度和验收反馈PC 端采用顶部筛选、左侧列表或导航、中部主工作区、右侧详情抽屉,复杂操作进入弹窗或步骤条。查询、新增、编辑、提交、导出、查看日志、设备建档、人员下发设备编号、设备品牌、所属校区、绑定教室、在线状态、人员下发状态、识别置信度、回执状态空数据、无权限、加载失败、保存失败、审批驳回、批量部分失败管理员端沿用统一框架,原型重点标注信息架构、表单弹窗、状态流和异常处理。 建议 Figma Frame:FAC-人员下发;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。
PC Web考勤异常授权用户围绕设备闭环完善考勤异常的入口、字段、状态、异常提示、处理进度和验收反馈PC 端采用顶部筛选、左侧列表或导航、中部主工作区、右侧详情抽屉,复杂操作进入弹窗或步骤条。查询、新增、编辑、提交、导出、查看日志、设备建档、人员下发设备编号、设备品牌、所属校区、绑定教室、在线状态、人员下发状态、识别置信度、回执状态空数据、无权限、加载失败、保存失败、审批驳回、批量部分失败管理员端沿用统一框架,原型重点标注信息架构、表单弹窗、状态流和异常处理。 建议 Figma Frame:FAC-考勤异常;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。
PC Web人脸授权详情授权用户围绕隐私撤回完善人脸授权详情的入口、字段、状态、异常提示、处理进度和验收反馈设备页按校区、设备、人员、事件四层组织,识别流水支持照片、置信度、课次匹配和异常处理入口。新增设备、人员下发、查看心跳、确认异常、撤回授权、重试下发、查看回执设备编号、设备品牌、所属校区、人员编号、人脸照片、置信度、匹配课次、删除回执、绑定教室、在线状态设备离线、人员下发失败、低置信度、跨校区识别、模板删除失败、回执缺失需覆盖设备在线/离线、人员模板下发、识别异常确认、家长撤回授权、设备离线延迟删除和隐私审计。 建议 Figma Frame:FAC-人脸授权详情;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。
PC Web撤回任务授权用户围绕隐私撤回完善撤回任务的入口、字段、状态、异常提示、处理进度和验收反馈PC 端采用顶部筛选、左侧列表或导航、中部主工作区、右侧详情抽屉,复杂操作进入弹窗或步骤条。查询、新增、编辑、提交、导出、查看日志、设备建档、人员下发设备编号、设备品牌、所属校区、绑定教室、在线状态、人员下发状态、识别置信度、回执状态空数据、无权限、加载失败、保存失败、审批驳回、批量部分失败管理员端沿用统一框架,原型重点标注信息架构、表单弹窗、状态流和异常处理。 建议 Figma Frame:FAC-撤回任务;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。
PC Web设备回执授权用户围绕隐私撤回完善设备回执的入口、字段、状态、异常提示、处理进度和验收反馈PC 端采用顶部筛选、左侧列表或导航、中部主工作区、右侧详情抽屉,复杂操作进入弹窗或步骤条。查询、新增、编辑、提交、导出、查看日志、设备建档、人员下发设备编号、设备品牌、所属校区、绑定教室、在线状态、人员下发状态、识别置信度、回执状态空数据、无权限、加载失败、保存失败、审批驳回、批量部分失败管理员端沿用统一框架,原型重点标注信息架构、表单弹窗、状态流和异常处理。 建议 Figma Frame:FAC-设备回执;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。
PC Web设备告警授权用户围绕运维联动完善设备告警的入口、字段、状态、异常提示、处理进度和验收反馈PC 端采用顶部筛选、左侧列表或导航、中部主工作区、右侧详情抽屉,复杂操作进入弹窗或步骤条。查询、新增、编辑、提交、导出、查看日志、设备建档、人员下发设备编号、设备品牌、所属校区、绑定教室、在线状态、人员下发状态、识别置信度、回执状态空数据、无权限、加载失败、保存失败、审批驳回、批量部分失败管理员端沿用统一框架,原型重点标注信息架构、表单弹窗、状态流和异常处理。 建议 Figma Frame:FAC-设备告警;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。
PC Web维修工单授权用户围绕运维联动完善维修工单的入口、字段、状态、异常提示、处理进度和验收反馈PC 端采用顶部筛选、左侧列表或导航、中部主工作区、右侧详情抽屉,复杂操作进入弹窗或步骤条。查询、新增、编辑、提交、导出、查看日志、设备建档、人员下发设备编号、设备品牌、所属校区、绑定教室、在线状态、人员下发状态、识别置信度、回执状态空数据、无权限、加载失败、保存失败、审批驳回、批量部分失败管理员端沿用统一框架,原型重点标注信息架构、表单弹窗、状态流和异常处理。 建议 Figma Frame:FAC-维修工单;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。
PC Web资产详情授权用户围绕运维联动完善资产详情的入口、字段、状态、异常提示、处理进度和验收反馈资产库存页采用左侧分类树、顶部仓库/校区筛选、中部台账表格,详情抽屉展示流水、成本、责任人和审计。新增 SKU、采购申请、验收入库、领用出库、调拨、盘点、报损报废、维修派工物料编码、分类、仓库/校区、库存数量、批次成本、供应商、责任人、盘点差异、设备编号、设备品牌库存不足、编码重复、入库差异、责任人缺失、维修超期、成本调整失败需覆盖图书仅进销存、固定资产责任人变更、维修工单、礼品库存、成本策略和财务凭证联动。 建议 Figma Frame:FAC-资产详情;需补齐正常、空态、加载、无权限、处理中、成功和失败状态。

09 · 页面到接口的前后端闭环矩阵

把原型页面、后端接口、数据对象、状态和消息审批绑定到一起

设计原型时,每个关键页面必须能解释前端展示什么、后端提交什么、状态怎么变、异常怎么处理。
原型页面关键接口关联对象状态流审批/权限触发消息/待办触达原型验收要求
设备档案POST /api/v1/face/personsFaceDevice未授权 -> 待采集 -> 已授权 -> 已下发 -> 撤回中 -> 已撤回 -> 已删除人脸授权撤回处理:家长撤回人脸授权处理完成、失败和异常转人工均需触发站内通知或待办原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口
识别流水POST /api/v1/face/eventsFacePerson已提交 -> 家长已确认 -> 设备删除中 -> 部分失败 -> 已删除 -> 人工处理 -> 已关闭人脸授权撤回处理:家长撤回人脸授权处理完成、失败和异常转人工均需触发站内通知或待办原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口
人脸授权撤回任务POST /api/v1/face/devices/{id}/heartbeatFaceDispatchTask未授权 -> 待采集 -> 已授权 -> 已下发 -> 撤回中 -> 已撤回 -> 已删除人脸授权撤回处理:家长撤回人脸授权处理完成、失败和异常转人工均需触发站内通知或待办原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口
设备列表POST /api/v1/face/authorizations/{id}/revokeFaceAttendanceEvent已提交 -> 家长已确认 -> 设备删除中 -> 部分失败 -> 已删除 -> 人工处理 -> 已关闭人脸授权撤回处理:家长撤回人脸授权处理完成、失败和异常转人工均需触发站内通知或待办原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口
人员下发POST /api/v1/face/personsFaceAuthorizationRevokeTask未授权 -> 待采集 -> 已授权 -> 已下发 -> 撤回中 -> 已撤回 -> 已删除人脸授权撤回处理:家长撤回人脸授权处理完成、失败和异常转人工均需触发站内通知或待办原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口
考勤异常POST /api/v1/face/eventsFaceDevice已提交 -> 家长已确认 -> 设备删除中 -> 部分失败 -> 已删除 -> 人工处理 -> 已关闭人脸授权撤回处理:家长撤回人脸授权处理完成、失败和异常转人工均需触发站内通知或待办原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口
人脸授权详情POST /api/v1/face/devices/{id}/heartbeatFacePerson未授权 -> 待采集 -> 已授权 -> 已下发 -> 撤回中 -> 已撤回 -> 已删除人脸授权撤回处理:家长撤回人脸授权处理完成、失败和异常转人工均需触发站内通知或待办原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口
撤回任务POST /api/v1/face/authorizations/{id}/revokeFaceDispatchTask已提交 -> 家长已确认 -> 设备删除中 -> 部分失败 -> 已删除 -> 人工处理 -> 已关闭人脸授权撤回处理:家长撤回人脸授权处理完成、失败和异常转人工均需触发站内通知或待办原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口
设备回执POST /api/v1/face/personsFaceAttendanceEvent未授权 -> 待采集 -> 已授权 -> 已下发 -> 撤回中 -> 已撤回 -> 已删除人脸授权撤回处理:家长撤回人脸授权处理完成、失败和异常转人工均需触发站内通知或待办原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口
设备告警POST /api/v1/face/eventsFaceAuthorizationRevokeTask已提交 -> 家长已确认 -> 设备删除中 -> 部分失败 -> 已删除 -> 人工处理 -> 已关闭人脸授权撤回处理:家长撤回人脸授权处理完成、失败和异常转人工均需触发站内通知或待办原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口
维修工单POST /api/v1/face/devices/{id}/heartbeatFaceDevice未授权 -> 待采集 -> 已授权 -> 已下发 -> 撤回中 -> 已撤回 -> 已删除人脸授权撤回处理:家长撤回人脸授权处理完成、失败和异常转人工均需触发站内通知或待办原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口
资产详情POST /api/v1/face/authorizations/{id}/revokeFacePerson已提交 -> 家长已确认 -> 设备删除中 -> 部分失败 -> 已删除 -> 人工处理 -> 已关闭人脸授权撤回处理:家长撤回人脸授权处理完成、失败和异常转人工均需触发站内通知或待办原型需展示入口、主按钮、禁用原因、提交中、成功、失败、无权限、空状态和异常转人工入口

10 · 原型、UI、研发、测试交付补充

把关键闭环补强为下一阶段可执行任务

本章节为正式 PRD 的交付要求,面向原型图、UI、开发、联调和测试分工。
能力域功能补充要求原型交付要求UI 交互要求研发实现要求测试验收要求
设备闭环补齐设备下发回执、低置信度识别、重复识别、人工复核、自动签到和课消联动。设备列表、人员下发、识别流水、考勤异常 需要在原型中拆到列表、详情、表单、弹窗、空状态、失败态、无权限态和处理进度。UI 需清晰呈现状态标签、流程节点、主次按钮、危险操作确认、移动/平板/TV 适配和错误提示;PC 管理端遵循统一框架,仅输出信息架构和交互说明。后端需提供接口幂等、权限校验、状态机、审计日志、消息/审批触发、异步补偿和跨模块数据一致性保障。测试需覆盖主流程、异常流、权限流、重复提交、批量部分失败和数据一致性;识别异常可人工确认,确认后同步教务考勤和课消状态。
隐私撤回补齐撤回申请、家长确认、设备删除任务、失败重试、离线延迟删除和审计记录。人脸授权详情、撤回任务、设备回执 需要在原型中拆到列表、详情、表单、弹窗、空状态、失败态、无权限态和处理进度。UI 需清晰呈现状态标签、流程节点、主次按钮、危险操作确认、移动/平板/TV 适配和错误提示;PC 管理端遵循统一框架,仅输出信息架构和交互说明。后端需提供接口幂等、权限校验、状态机、审计日志、消息/审批触发、异步补偿和跨模块数据一致性保障。测试需覆盖主流程、异常流、权限流、重复提交、批量部分失败和数据一致性;撤回后所有关联设备都有删除结果或人工处理记录。
运维联动补齐离线告警、维修工单、资产状态、恢复校验和影响课次范围。设备告警、维修工单、资产详情 需要在原型中拆到列表、详情、表单、弹窗、空状态、失败态、无权限态和处理进度。UI 需清晰呈现状态标签、流程节点、主次按钮、危险操作确认、移动/平板/TV 适配和错误提示;PC 管理端遵循统一框架,仅输出信息架构和交互说明。后端需提供接口幂等、权限校验、状态机、审计日志、消息/审批触发、异步补偿和跨模块数据一致性保障。测试需覆盖主流程、异常流、权限流、重复提交、批量部分失败和数据一致性;设备恢复后可自动回测签到、直播或录像相关能力。

11 · 数据对象与字段字典

明确页面、接口、数据库共同使用的数据语言

字段涉及敏感、人脸、财务、绩效时,原型需体现脱敏、授权和审计。

核心对象

对象说明
FaceDevice人脸识别考勤设备;落地表:dev_face_device
FacePerson人脸人员库;落地表:dev_face_person
FaceDispatchTask人脸下发任务;落地表:dev_face_dispatch_task
FaceAttendanceEvent人脸识别回传事件;落地表:dev_face_event
FaceAuthorizationRevokeTask人脸授权撤销任务;落地表:dev_face_revoke_task

关联引用对象

对象说明
Organization集团、区域、校区、部门组织树;引用来源:FND / sys_organization
User/Employee统一登录账号;引用来源:FND / sys_user
Employee员工基础档案;引用来源:FND / sys_employee
Role角色定义;引用来源:FND / sys_role
ApprovalFlow审批流配置;引用来源:FND / sys_approval_flow
MessageTemplate消息模板与多端触达配置;引用来源:FND / sys_message_template
AuditLog全平台操作审计日志;引用来源:FND / sys_audit_log
IntegrationLog接口调用日志;引用来源:OPEN / int_integration_log
SensitiveFieldPolicy敏感字段脱敏策略;引用来源:SEC / sec_sensitive_field_policy
Student学员基础档案;引用来源:CRM / stu_student
Schedule/Lesson课次和排课;引用来源:EDU / edu_lesson
Attendance上课签到记录;引用来源:EDU / edu_attendance
Consumption课消记录;引用来源:EDU / edu_consumption
Asset固定资产台账;引用来源:MAT / mat_asset
AssetLifecycle/Maintenance资产维修与生命周期;引用来源:MAT / mat_maintenance_order

完整字段字典

对象字段类型必填规则数据级别
FaceDeviceidBIGINT主键,雪花或号段生成,禁止复用普通
FaceDevicetenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
FaceDeviceorg_idBIGINT所属组织,集团级或公共配置为空普通
FaceDevicecampus_idBIGINT所属校区,跨校区或总部级数据为空普通
FaceDevicecreated_byBIGINT创建人账号 ID普通
FaceDevicecreated_atDATETIME创建时间普通
FaceDeviceupdated_byBIGINT最后更新人账号 ID普通
FaceDeviceupdated_atDATETIME最后更新时间普通
FaceDeviceis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
FaceDevicedeleted_atDATETIME删除时间,未删除为空普通
FaceDevicedeleted_byBIGINT删除人账号 ID,未删除为空普通
FaceDeviceversionINT乐观锁版本号,写操作必须校验普通
FaceDevicedevice_codeVARCHAR(64)设备编码,唯一普通
FaceDevicevendor_codeVARCHAR(32)设备品牌/厂商普通
FaceDevicedevice_nameVARCHAR(128)设备名称普通
FaceDeviceclassroom_idBIGINT绑定教室 ID普通
FaceDeviceapi_endpointVARCHAR(512)设备或平台 API 地址普通
FaceDevicedevice_statusVARCHAR(32)在线/离线/停用/异常普通
FacePersonidBIGINT主键,雪花或号段生成,禁止复用普通
FacePersontenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
FacePersonorg_idBIGINT所属组织,集团级或公共配置为空普通
FacePersoncampus_idBIGINT所属校区,跨校区或总部级数据为空普通
FacePersoncreated_byBIGINT创建人账号 ID普通
FacePersoncreated_atDATETIME创建时间普通
FacePersonupdated_byBIGINT最后更新人账号 ID普通
FacePersonupdated_atDATETIME最后更新时间普通
FacePersonis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
FacePersondeleted_atDATETIME删除时间,未删除为空普通
FacePersondeleted_byBIGINT删除人账号 ID,未删除为空普通
FacePersonversionINT乐观锁版本号,写操作必须校验普通
FacePersonperson_noVARCHAR(64)人员编号,唯一普通
FacePersonperson_typeVARCHAR(32)学员/教师/员工普通
FacePersonperson_idBIGINT业务人员 ID普通
FacePersonphoto_file_idBIGINT人脸照片文件 ID高敏
FacePersonvalid_untilDATETIME授权有效期普通
FacePersonsync_statusVARCHAR(32)待下发/已下发/失败/已撤销普通
FaceDispatchTaskidBIGINT主键,雪花或号段生成,禁止复用普通
FaceDispatchTasktenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
FaceDispatchTaskorg_idBIGINT所属组织,集团级或公共配置为空普通
FaceDispatchTaskcampus_idBIGINT所属校区,跨校区或总部级数据为空普通
FaceDispatchTaskcreated_byBIGINT创建人账号 ID普通
FaceDispatchTaskcreated_atDATETIME创建时间普通
FaceDispatchTaskupdated_byBIGINT最后更新人账号 ID普通
FaceDispatchTaskupdated_atDATETIME最后更新时间普通
FaceDispatchTaskis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
FaceDispatchTaskdeleted_atDATETIME删除时间,未删除为空普通
FaceDispatchTaskdeleted_byBIGINT删除人账号 ID,未删除为空普通
FaceDispatchTaskversionINT乐观锁版本号,写操作必须校验普通
FaceDispatchTasktask_noVARCHAR(64)任务编号,唯一普通
FaceDispatchTaskdevice_idBIGINT设备 ID普通
FaceDispatchTaskperson_idBIGINT人员库 ID普通
FaceDispatchTaskaction_typeVARCHAR(32)新增/更新/删除/重试普通
FaceDispatchTaskrequest_payloadJSON下发请求普通
FaceDispatchTaskresponse_payloadJSON设备响应普通
FaceDispatchTasktask_statusVARCHAR(32)待执行/成功/失败/重试中普通
FaceAttendanceEventidBIGINT主键,雪花或号段生成,禁止复用普通
FaceAttendanceEventtenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
FaceAttendanceEventorg_idBIGINT所属组织,集团级或公共配置为空普通
FaceAttendanceEventcampus_idBIGINT所属校区,跨校区或总部级数据为空普通
FaceAttendanceEventcreated_byBIGINT创建人账号 ID普通
FaceAttendanceEventcreated_atDATETIME创建时间普通
FaceAttendanceEventupdated_byBIGINT最后更新人账号 ID普通
FaceAttendanceEventupdated_atDATETIME最后更新时间普通
FaceAttendanceEventis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
FaceAttendanceEventdeleted_atDATETIME删除时间,未删除为空普通
FaceAttendanceEventdeleted_byBIGINT删除人账号 ID,未删除为空普通
FaceAttendanceEventversionINT乐观锁版本号,写操作必须校验普通
FaceAttendanceEventdevice_idBIGINT设备 ID普通
FaceAttendanceEventdevice_event_idVARCHAR(128)设备侧事件号普通
FaceAttendanceEventperson_idBIGINT匹配人员 ID普通
FaceAttendanceEventlesson_idBIGINT匹配课次 ID普通
FaceAttendanceEventevent_timeDATETIME识别时间普通
FaceAttendanceEventconfidenceDECIMAL(8,4)识别置信度普通
FaceAttendanceEventmatch_statusVARCHAR(32)已匹配/低置信/未匹配/重复普通
FaceAttendanceEventraw_payloadJSON设备原始报文敏感
FaceAuthorizationRevokeTaskidBIGINT主键,雪花或号段生成,禁止复用普通
FaceAuthorizationRevokeTasktenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
FaceAuthorizationRevokeTaskorg_idBIGINT所属组织,集团级或公共配置为空普通
FaceAuthorizationRevokeTaskcampus_idBIGINT所属校区,跨校区或总部级数据为空普通
FaceAuthorizationRevokeTaskcreated_byBIGINT创建人账号 ID普通
FaceAuthorizationRevokeTaskcreated_atDATETIME创建时间普通
FaceAuthorizationRevokeTaskupdated_byBIGINT最后更新人账号 ID普通
FaceAuthorizationRevokeTaskupdated_atDATETIME最后更新时间普通
FaceAuthorizationRevokeTaskis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
FaceAuthorizationRevokeTaskdeleted_atDATETIME删除时间,未删除为空普通
FaceAuthorizationRevokeTaskdeleted_byBIGINT删除人账号 ID,未删除为空普通
FaceAuthorizationRevokeTaskversionINT乐观锁版本号,写操作必须校验普通
FaceAuthorizationRevokeTaskrevoke_noVARCHAR(64)撤销编号,唯一普通
FaceAuthorizationRevokeTaskperson_idBIGINT人员库 ID普通
FaceAuthorizationRevokeTaskrevoke_reasonVARCHAR(255)撤销原因普通
FaceAuthorizationRevokeTaskdevice_scopeJSON撤销设备范围普通
FaceAuthorizationRevokeTaskrevoke_statusVARCHAR(32)待撤销/部分成功/成功/失败普通

引用对象字段字典

引用表对象字段类型必填规则数据级别
sys_organizationOrganizationidBIGINT主键,雪花或号段生成,禁止复用普通
sys_organizationOrganizationtenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
sys_organizationOrganizationorg_idBIGINT所属组织,集团级或公共配置为空普通
sys_organizationOrganizationcampus_idBIGINT所属校区,跨校区或总部级数据为空普通
sys_organizationOrganizationcreated_byBIGINT创建人账号 ID普通
sys_organizationOrganizationcreated_atDATETIME创建时间普通
sys_organizationOrganizationupdated_byBIGINT最后更新人账号 ID普通
sys_organizationOrganizationupdated_atDATETIME最后更新时间普通
sys_organizationOrganizationis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
sys_organizationOrganizationdeleted_atDATETIME删除时间,未删除为空普通
sys_organizationOrganizationdeleted_byBIGINT删除人账号 ID,未删除为空普通
sys_organizationOrganizationversionINT乐观锁版本号,写操作必须校验普通
sys_organizationOrganizationorg_codeVARCHAR(64)组织编码,租户内唯一普通
sys_organizationOrganizationorg_nameVARCHAR(128)组织名称普通
sys_organizationOrganizationorg_typeVARCHAR(32)集团/区域/校区/部门/法人主体普通
sys_organizationOrganizationparent_idBIGINT上级组织 ID,根节点为空普通
sys_organizationOrganizationsort_noINT同级排序普通
sys_organizationOrganizationenabledTINYINT是否启用普通
sys_userUser/EmployeeidBIGINT主键,雪花或号段生成,禁止复用普通
sys_userUser/Employeetenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
sys_userUser/Employeeorg_idBIGINT所属组织,集团级或公共配置为空普通
sys_userUser/Employeecampus_idBIGINT所属校区,跨校区或总部级数据为空普通
sys_userUser/Employeecreated_byBIGINT创建人账号 ID普通
sys_userUser/Employeecreated_atDATETIME创建时间普通
sys_userUser/Employeeupdated_byBIGINT最后更新人账号 ID普通
sys_userUser/Employeeupdated_atDATETIME最后更新时间普通
sys_userUser/Employeeis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
sys_userUser/Employeedeleted_atDATETIME删除时间,未删除为空普通
sys_userUser/Employeedeleted_byBIGINT删除人账号 ID,未删除为空普通
sys_userUser/EmployeeversionINT乐观锁版本号,写操作必须校验普通
sys_userUser/Employeeuser_noVARCHAR(64)账号编号,唯一普通
sys_userUser/Employeelogin_nameVARCHAR(64)登录名,唯一普通
sys_userUser/EmployeemobileVARCHAR(32)手机号,敏感脱敏展示敏感
sys_userUser/Employeepassword_hashVARCHAR(255)密码哈希,禁止前端返回高敏
sys_userUser/Employeeuser_typeVARCHAR(32)员工/学员/家长/外部账号普通
sys_userUser/Employeelogin_statusVARCHAR(32)正常/锁定/停用/待激活普通
sys_employeeEmployeeidBIGINT主键,雪花或号段生成,禁止复用普通
sys_employeeEmployeetenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
sys_employeeEmployeeorg_idBIGINT所属组织,集团级或公共配置为空普通
sys_employeeEmployeecampus_idBIGINT所属校区,跨校区或总部级数据为空普通
sys_employeeEmployeecreated_byBIGINT创建人账号 ID普通
sys_employeeEmployeecreated_atDATETIME创建时间普通
sys_employeeEmployeeupdated_byBIGINT最后更新人账号 ID普通
sys_employeeEmployeeupdated_atDATETIME最后更新时间普通
sys_employeeEmployeeis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
sys_employeeEmployeedeleted_atDATETIME删除时间,未删除为空普通
sys_employeeEmployeedeleted_byBIGINT删除人账号 ID,未删除为空普通
sys_employeeEmployeeversionINT乐观锁版本号,写操作必须校验普通
sys_employeeEmployeeemployee_noVARCHAR(64)工号,唯一普通
sys_employeeEmployeeuser_idBIGINT关联账号 ID普通
sys_employeeEmployeeemployee_nameVARCHAR(64)员工姓名普通
sys_employeeEmployeeprimary_campus_idBIGINT主校区 ID普通
sys_employeeEmployeejob_titleVARCHAR(64)岗位名称普通
sys_employeeEmployeehire_statusVARCHAR(32)在职/试用/离职/停用普通
sys_roleRoleidBIGINT主键,雪花或号段生成,禁止复用普通
sys_roleRoletenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
sys_roleRoleorg_idBIGINT所属组织,集团级或公共配置为空普通
sys_roleRolecampus_idBIGINT所属校区,跨校区或总部级数据为空普通
sys_roleRolecreated_byBIGINT创建人账号 ID普通
sys_roleRolecreated_atDATETIME创建时间普通
sys_roleRoleupdated_byBIGINT最后更新人账号 ID普通
sys_roleRoleupdated_atDATETIME最后更新时间普通
sys_roleRoleis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
sys_roleRoledeleted_atDATETIME删除时间,未删除为空普通
sys_roleRoledeleted_byBIGINT删除人账号 ID,未删除为空普通
sys_roleRoleversionINT乐观锁版本号,写操作必须校验普通
sys_roleRolerole_codeVARCHAR(64)角色编码,唯一普通
sys_roleRolerole_nameVARCHAR(128)角色名称普通
sys_roleRolerole_levelVARCHAR(32)总部/区域/校区/个人普通
sys_roleRoledata_scope_typeVARCHAR(32)数据范围类型普通
sys_roleRoleenabledTINYINT是否启用普通
sys_approval_flowApprovalFlowidBIGINT主键,雪花或号段生成,禁止复用普通
sys_approval_flowApprovalFlowtenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
sys_approval_flowApprovalFloworg_idBIGINT所属组织,集团级或公共配置为空普通
sys_approval_flowApprovalFlowcampus_idBIGINT所属校区,跨校区或总部级数据为空普通
sys_approval_flowApprovalFlowcreated_byBIGINT创建人账号 ID普通
sys_approval_flowApprovalFlowcreated_atDATETIME创建时间普通
sys_approval_flowApprovalFlowupdated_byBIGINT最后更新人账号 ID普通
sys_approval_flowApprovalFlowupdated_atDATETIME最后更新时间普通
sys_approval_flowApprovalFlowis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
sys_approval_flowApprovalFlowdeleted_atDATETIME删除时间,未删除为空普通
sys_approval_flowApprovalFlowdeleted_byBIGINT删除人账号 ID,未删除为空普通
sys_approval_flowApprovalFlowversionINT乐观锁版本号,写操作必须校验普通
sys_approval_flowApprovalFlowflow_codeVARCHAR(64)审批流编码,唯一普通
sys_approval_flowApprovalFlowbiz_typeVARCHAR(64)业务类型普通
sys_approval_flowApprovalFlowflow_nameVARCHAR(128)审批流名称普通
sys_approval_flowApprovalFlowcondition_jsonJSON触发条件普通
sys_approval_flowApprovalFlownode_jsonJSON节点、审批人和超时规则普通
sys_approval_flowApprovalFlowversion_noINT审批流版本号普通
sys_approval_flowApprovalFlowenabledTINYINT是否启用普通
sys_message_templateMessageTemplateidBIGINT主键,雪花或号段生成,禁止复用普通
sys_message_templateMessageTemplatetenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
sys_message_templateMessageTemplateorg_idBIGINT所属组织,集团级或公共配置为空普通
sys_message_templateMessageTemplatecampus_idBIGINT所属校区,跨校区或总部级数据为空普通
sys_message_templateMessageTemplatecreated_byBIGINT创建人账号 ID普通
sys_message_templateMessageTemplatecreated_atDATETIME创建时间普通
sys_message_templateMessageTemplateupdated_byBIGINT最后更新人账号 ID普通
sys_message_templateMessageTemplateupdated_atDATETIME最后更新时间普通
sys_message_templateMessageTemplateis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
sys_message_templateMessageTemplatedeleted_atDATETIME删除时间,未删除为空普通
sys_message_templateMessageTemplatedeleted_byBIGINT删除人账号 ID,未删除为空普通
sys_message_templateMessageTemplateversionINT乐观锁版本号,写操作必须校验普通
sys_message_templateMessageTemplatetemplate_codeVARCHAR(64)模板编码,唯一普通
sys_message_templateMessageTemplatetemplate_nameVARCHAR(128)模板名称普通
sys_message_templateMessageTemplatechannelVARCHAR(32)站内信/短信/微信小程序/企微/Push普通
sys_message_templateMessageTemplatereceiver_ruleJSON接收人规则普通
sys_message_templateMessageTemplatecontent_templateTEXT模板内容普通
sys_message_templateMessageTemplateenabledTINYINT是否启用普通
sys_audit_logAuditLogidBIGINT主键,雪花或号段生成,禁止复用普通
sys_audit_logAuditLogtenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
sys_audit_logAuditLogorg_idBIGINT所属组织,集团级或公共配置为空普通
sys_audit_logAuditLogcampus_idBIGINT所属校区,跨校区或总部级数据为空普通
sys_audit_logAuditLogcreated_byBIGINT创建人账号 ID普通
sys_audit_logAuditLogcreated_atDATETIME创建时间普通
sys_audit_logAuditLogupdated_byBIGINT最后更新人账号 ID普通
sys_audit_logAuditLogupdated_atDATETIME最后更新时间普通
sys_audit_logAuditLogis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
sys_audit_logAuditLogdeleted_atDATETIME删除时间,未删除为空普通
sys_audit_logAuditLogdeleted_byBIGINT删除人账号 ID,未删除为空普通
sys_audit_logAuditLogversionINT乐观锁版本号,写操作必须校验普通
sys_audit_logAuditLogoperator_idBIGINT操作人 ID普通
sys_audit_logAuditLogbiz_typeVARCHAR(64)业务类型普通
sys_audit_logAuditLogbiz_idBIGINT业务主键 ID普通
sys_audit_logAuditLogaction_codeVARCHAR(64)操作编码普通
sys_audit_logAuditLogbefore_snapshotJSON变更前快照普通
sys_audit_logAuditLogafter_snapshotJSON变更后快照普通
sys_audit_logAuditLogip_addressVARCHAR(64)操作 IP普通
int_integration_logIntegrationLogidBIGINT主键,雪花或号段生成,禁止复用普通
int_integration_logIntegrationLogtenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
int_integration_logIntegrationLogorg_idBIGINT所属组织,集团级或公共配置为空普通
int_integration_logIntegrationLogcampus_idBIGINT所属校区,跨校区或总部级数据为空普通
int_integration_logIntegrationLogcreated_byBIGINT创建人账号 ID普通
int_integration_logIntegrationLogcreated_atDATETIME创建时间普通
int_integration_logIntegrationLogupdated_byBIGINT最后更新人账号 ID普通
int_integration_logIntegrationLogupdated_atDATETIME最后更新时间普通
int_integration_logIntegrationLogis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
int_integration_logIntegrationLogdeleted_atDATETIME删除时间,未删除为空普通
int_integration_logIntegrationLogdeleted_byBIGINT删除人账号 ID,未删除为空普通
int_integration_logIntegrationLogversionINT乐观锁版本号,写操作必须校验普通
int_integration_logIntegrationLogrequest_idVARCHAR(128)请求 ID,幂等键普通
int_integration_logIntegrationLogsystem_codeVARCHAR(64)外部系统编码普通
int_integration_logIntegrationLogapi_pathVARCHAR(512)接口路径普通
int_integration_logIntegrationLogbiz_typeVARCHAR(64)业务类型普通
int_integration_logIntegrationLogbiz_idBIGINT业务 ID普通
int_integration_logIntegrationLogrequest_payloadJSON请求报文,敏感字段脱敏敏感
int_integration_logIntegrationLogresponse_payloadJSON响应报文普通
int_integration_logIntegrationLogcall_statusVARCHAR(32)成功/失败/超时/重试中普通
sec_sensitive_field_policySensitiveFieldPolicyidBIGINT主键,雪花或号段生成,禁止复用普通
sec_sensitive_field_policySensitiveFieldPolicytenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
sec_sensitive_field_policySensitiveFieldPolicyorg_idBIGINT所属组织,集团级或公共配置为空普通
sec_sensitive_field_policySensitiveFieldPolicycampus_idBIGINT所属校区,跨校区或总部级数据为空普通
sec_sensitive_field_policySensitiveFieldPolicycreated_byBIGINT创建人账号 ID普通
sec_sensitive_field_policySensitiveFieldPolicycreated_atDATETIME创建时间普通
sec_sensitive_field_policySensitiveFieldPolicyupdated_byBIGINT最后更新人账号 ID普通
sec_sensitive_field_policySensitiveFieldPolicyupdated_atDATETIME最后更新时间普通
sec_sensitive_field_policySensitiveFieldPolicyis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
sec_sensitive_field_policySensitiveFieldPolicydeleted_atDATETIME删除时间,未删除为空普通
sec_sensitive_field_policySensitiveFieldPolicydeleted_byBIGINT删除人账号 ID,未删除为空普通
sec_sensitive_field_policySensitiveFieldPolicyversionINT乐观锁版本号,写操作必须校验普通
sec_sensitive_field_policySensitiveFieldPolicyfield_codeVARCHAR(128)字段编码,唯一普通
sec_sensitive_field_policySensitiveFieldPolicybiz_typeVARCHAR(64)业务类型普通
sec_sensitive_field_policySensitiveFieldPolicymask_ruleVARCHAR(64)脱敏规则普通
sec_sensitive_field_policySensitiveFieldPolicyview_requires_approvalTINYINT明文查看是否需审批普通
sec_sensitive_field_policySensitiveFieldPolicywatermark_requiredTINYINT是否加水印普通
stu_studentStudentidBIGINT主键,雪花或号段生成,禁止复用普通
stu_studentStudenttenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
stu_studentStudentorg_idBIGINT所属组织,集团级或公共配置为空普通
stu_studentStudentcampus_idBIGINT所属校区,跨校区或总部级数据为空普通
stu_studentStudentcreated_byBIGINT创建人账号 ID普通
stu_studentStudentcreated_atDATETIME创建时间普通
stu_studentStudentupdated_byBIGINT最后更新人账号 ID普通
stu_studentStudentupdated_atDATETIME最后更新时间普通
stu_studentStudentis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
stu_studentStudentdeleted_atDATETIME删除时间,未删除为空普通
stu_studentStudentdeleted_byBIGINT删除人账号 ID,未删除为空普通
stu_studentStudentversionINT乐观锁版本号,写操作必须校验普通
stu_studentStudentstudent_noVARCHAR(64)学员编号,唯一普通
stu_studentStudentfamily_idBIGINT家庭 ID普通
stu_studentStudentstudent_nameVARCHAR(64)学员姓名普通
stu_studentStudentgenderVARCHAR(16)性别普通
stu_studentStudentbirthdayDATE出生日期普通
stu_studentStudentgradeVARCHAR(32)年级普通
stu_studentStudentschool_nameVARCHAR(128)学校名称普通
stu_studentStudentbiz_statusVARCHAR(32)业务状态,取值来自状态机字典普通
stu_studentStudentremarkVARCHAR(512)业务备注,敏感内容按权限脱敏普通
edu_lessonSchedule/LessonidBIGINT主键,雪花或号段生成,禁止复用普通
edu_lessonSchedule/Lessontenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
edu_lessonSchedule/Lessonorg_idBIGINT所属组织,集团级或公共配置为空普通
edu_lessonSchedule/Lessoncampus_idBIGINT所属校区,跨校区或总部级数据为空普通
edu_lessonSchedule/Lessoncreated_byBIGINT创建人账号 ID普通
edu_lessonSchedule/Lessoncreated_atDATETIME创建时间普通
edu_lessonSchedule/Lessonupdated_byBIGINT最后更新人账号 ID普通
edu_lessonSchedule/Lessonupdated_atDATETIME最后更新时间普通
edu_lessonSchedule/Lessonis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
edu_lessonSchedule/Lessondeleted_atDATETIME删除时间,未删除为空普通
edu_lessonSchedule/Lessondeleted_byBIGINT删除人账号 ID,未删除为空普通
edu_lessonSchedule/LessonversionINT乐观锁版本号,写操作必须校验普通
edu_lessonSchedule/Lessonlesson_noVARCHAR(64)课次编号,唯一普通
edu_lessonSchedule/Lessonclass_idBIGINT班级 ID普通
edu_lessonSchedule/Lessonteacher_idBIGINT授课教师 ID普通
edu_lessonSchedule/Lessonclassroom_idBIGINT教室 ID普通
edu_lessonSchedule/Lessonstart_atDATETIME上课开始时间普通
edu_lessonSchedule/Lessonend_atDATETIME上课结束时间普通
edu_lessonSchedule/Lessonlesson_statusVARCHAR(32)待上课/上课中/已下课/已取消/需补课普通
edu_attendanceAttendanceidBIGINT主键,雪花或号段生成,禁止复用普通
edu_attendanceAttendancetenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
edu_attendanceAttendanceorg_idBIGINT所属组织,集团级或公共配置为空普通
edu_attendanceAttendancecampus_idBIGINT所属校区,跨校区或总部级数据为空普通
edu_attendanceAttendancecreated_byBIGINT创建人账号 ID普通
edu_attendanceAttendancecreated_atDATETIME创建时间普通
edu_attendanceAttendanceupdated_byBIGINT最后更新人账号 ID普通
edu_attendanceAttendanceupdated_atDATETIME最后更新时间普通
edu_attendanceAttendanceis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
edu_attendanceAttendancedeleted_atDATETIME删除时间,未删除为空普通
edu_attendanceAttendancedeleted_byBIGINT删除人账号 ID,未删除为空普通
edu_attendanceAttendanceversionINT乐观锁版本号,写操作必须校验普通
edu_attendanceAttendancelesson_idBIGINT课次 ID普通
edu_attendanceAttendancestudent_idBIGINT学员 ID普通
edu_attendanceAttendancecheckin_typeVARCHAR(32)人工/人脸/补签/家长确认普通
edu_attendanceAttendancecheckin_atDATETIME签到时间普通
edu_attendanceAttendanceattendance_statusVARCHAR(32)到课/请假/旷课/迟到/待确认普通
edu_attendanceAttendancesource_event_idBIGINT来源设备或操作事件普通
edu_consumptionConsumptionidBIGINT主键,雪花或号段生成,禁止复用普通
edu_consumptionConsumptiontenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
edu_consumptionConsumptionorg_idBIGINT所属组织,集团级或公共配置为空普通
edu_consumptionConsumptioncampus_idBIGINT所属校区,跨校区或总部级数据为空普通
edu_consumptionConsumptioncreated_byBIGINT创建人账号 ID普通
edu_consumptionConsumptioncreated_atDATETIME创建时间普通
edu_consumptionConsumptionupdated_byBIGINT最后更新人账号 ID普通
edu_consumptionConsumptionupdated_atDATETIME最后更新时间普通
edu_consumptionConsumptionis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
edu_consumptionConsumptiondeleted_atDATETIME删除时间,未删除为空普通
edu_consumptionConsumptiondeleted_byBIGINT删除人账号 ID,未删除为空普通
edu_consumptionConsumptionversionINT乐观锁版本号,写操作必须校验普通
edu_consumptionConsumptionlesson_idBIGINT课次 ID普通
edu_consumptionConsumptionstudent_idBIGINT学员 ID普通
edu_consumptionConsumptioncontract_idBIGINT合同 ID普通
edu_consumptionConsumptionconsumed_hoursDECIMAL(8,2)消耗课时普通
edu_consumptionConsumptionconsume_amountDECIMAL(18,2)课消金额普通
edu_consumptionConsumptionconsume_statusVARCHAR(32)待确认/已课消/已冲销/异常普通
mat_assetAssetidBIGINT主键,雪花或号段生成,禁止复用普通
mat_assetAssettenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
mat_assetAssetorg_idBIGINT所属组织,集团级或公共配置为空普通
mat_assetAssetcampus_idBIGINT所属校区,跨校区或总部级数据为空普通
mat_assetAssetcreated_byBIGINT创建人账号 ID普通
mat_assetAssetcreated_atDATETIME创建时间普通
mat_assetAssetupdated_byBIGINT最后更新人账号 ID普通
mat_assetAssetupdated_atDATETIME最后更新时间普通
mat_assetAssetis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
mat_assetAssetdeleted_atDATETIME删除时间,未删除为空普通
mat_assetAssetdeleted_byBIGINT删除人账号 ID,未删除为空普通
mat_assetAssetversionINT乐观锁版本号,写操作必须校验普通
mat_assetAssetasset_noVARCHAR(64)资产编号,唯一普通
mat_assetAssetsku_idBIGINT资产 SKU普通
mat_assetAssetowner_org_idBIGINT归属组织普通
mat_assetAssetkeeper_idBIGINT保管人普通
mat_assetAssetpurchase_dateDATE购置日期普通
mat_assetAssetasset_statusVARCHAR(32)在用/闲置/维修/报废/调拨中普通
mat_maintenance_orderAssetLifecycle/MaintenanceidBIGINT主键,雪花或号段生成,禁止复用普通
mat_maintenance_orderAssetLifecycle/Maintenancetenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
mat_maintenance_orderAssetLifecycle/Maintenanceorg_idBIGINT所属组织,集团级或公共配置为空普通
mat_maintenance_orderAssetLifecycle/Maintenancecampus_idBIGINT所属校区,跨校区或总部级数据为空普通
mat_maintenance_orderAssetLifecycle/Maintenancecreated_byBIGINT创建人账号 ID普通
mat_maintenance_orderAssetLifecycle/Maintenancecreated_atDATETIME创建时间普通
mat_maintenance_orderAssetLifecycle/Maintenanceupdated_byBIGINT最后更新人账号 ID普通
mat_maintenance_orderAssetLifecycle/Maintenanceupdated_atDATETIME最后更新时间普通
mat_maintenance_orderAssetLifecycle/Maintenanceis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
mat_maintenance_orderAssetLifecycle/Maintenancedeleted_atDATETIME删除时间,未删除为空普通
mat_maintenance_orderAssetLifecycle/Maintenancedeleted_byBIGINT删除人账号 ID,未删除为空普通
mat_maintenance_orderAssetLifecycle/MaintenanceversionINT乐观锁版本号,写操作必须校验普通
mat_maintenance_orderAssetLifecycle/Maintenancemaintenance_noVARCHAR(64)维修单编号,唯一普通
mat_maintenance_orderAssetLifecycle/Maintenanceasset_idBIGINT资产 ID普通
mat_maintenance_orderAssetLifecycle/Maintenancefault_descVARCHAR(512)故障描述普通
mat_maintenance_orderAssetLifecycle/Maintenancerepair_vendor_idBIGINT维修供应商普通
mat_maintenance_orderAssetLifecycle/Maintenancerepair_amountDECIMAL(18,2)维修金额普通
mat_maintenance_orderAssetLifecycle/Maintenancemaintenance_statusVARCHAR(32)待维修/维修中/已完成/已报废普通

JSON 字段结构与校验

表名对象字段结构编码结构定义校验规则示例
dev_face_dispatch_taskFaceDispatchTaskrequest_payloadSUPERVISION_PAYLOAD{bizType:string, contractNo:string, amount:number, student:object, attachments:number[]}报送字段必须满足教育局/监管账户配置的必填规则{"bizType":"CONTRACT","contractNo":"DNC20260628001","amount":6800}
dev_face_dispatch_taskFaceDispatchTaskresponse_payloadSUPERVISION_PAYLOAD{bizType:string, contractNo:string, amount:number, student:object, attachments:number[]}报送字段必须满足教育局/监管账户配置的必填规则{"bizType":"CONTRACT","contractNo":"DNC20260628001","amount":6800}
dev_face_eventFaceAttendanceEventraw_payloadSUPERVISION_PAYLOAD{bizType:string, contractNo:string, amount:number, student:object, attachments:number[]}报送字段必须满足教育局/监管账户配置的必填规则{"bizType":"CONTRACT","contractNo":"DNC20260628001","amount":6800}
dev_face_revoke_taskFaceAuthorizationRevokeTaskdevice_scopeORG_SCOPE{scopeType:string, orgIds:number[], campusIds:number[], includeChildren:boolean}组织和校区必须在当前租户授权范围内{"scopeType":"CAMPUS","campusIds":[101,102],"includeChildren":false}

状态/枚举标准字典

表名对象字段枚举编码取值终态/流转规则字段说明
dev_face_deviceFaceDevicetenant_idTENANT_ID集团、租户隔离字段非终态,可按状态机或字典规则流转集团/租户隔离字段,所有查询必须带租户上下文
dev_face_deviceFaceDeviceis_deletedBOOL_DELETED0 未删除、1 已删除非终态,可按状态机或字典规则流转是否已删除,0 未删除,1 已删除
dev_face_deviceFaceDevicevendor_codeVENDOR_CODE设备品牌、厂商非终态,可按状态机或字典规则流转设备品牌/厂商
dev_face_deviceFaceDevicedevice_statusDEVICE_STATUSONLINE 在线、OFFLINE 离线、DISABLED 停用、ABNORMAL 异常包含终态,终态禁止直接编辑,需走变更/红冲/撤回流程在线/离线/停用/异常
dev_face_personFacePersontenant_idTENANT_ID集团、租户隔离字段非终态,可按状态机或字典规则流转集团/租户隔离字段,所有查询必须带租户上下文
dev_face_personFacePersonis_deletedBOOL_DELETED0 未删除、1 已删除非终态,可按状态机或字典规则流转是否已删除,0 未删除,1 已删除
dev_face_personFacePersonperson_typePERSON_TYPE学员、教师、员工非终态,可按状态机或字典规则流转学员/教师/员工
dev_face_personFacePersonsync_statusSYNC_STATUS待下发、已下发、失败、已撤销包含终态,终态禁止直接编辑,需走变更/红冲/撤回流程待下发/已下发/失败/已撤销
dev_face_dispatch_taskFaceDispatchTasktenant_idTENANT_ID集团、租户隔离字段非终态,可按状态机或字典规则流转集团/租户隔离字段,所有查询必须带租户上下文
dev_face_dispatch_taskFaceDispatchTaskis_deletedBOOL_DELETED0 未删除、1 已删除非终态,可按状态机或字典规则流转是否已删除,0 未删除,1 已删除
dev_face_dispatch_taskFaceDispatchTaskaction_typeACTION_TYPE新增、更新、删除、重试非终态,可按状态机或字典规则流转新增/更新/删除/重试
dev_face_dispatch_taskFaceDispatchTasktask_statusTASK_STATUS待执行、成功、失败、重试中包含终态,终态禁止直接编辑,需走变更/红冲/撤回流程待执行/成功/失败/重试中
dev_face_eventFaceAttendanceEventtenant_idTENANT_ID集团、租户隔离字段非终态,可按状态机或字典规则流转集团/租户隔离字段,所有查询必须带租户上下文
dev_face_eventFaceAttendanceEventis_deletedBOOL_DELETED0 未删除、1 已删除非终态,可按状态机或字典规则流转是否已删除,0 未删除,1 已删除
dev_face_eventFaceAttendanceEventmatch_statusMATCH_STATUS已匹配、低置信、未匹配、重复非终态,可按状态机或字典规则流转已匹配/低置信/未匹配/重复
dev_face_revoke_taskFaceAuthorizationRevokeTasktenant_idTENANT_ID集团、租户隔离字段非终态,可按状态机或字典规则流转集团/租户隔离字段,所有查询必须带租户上下文
dev_face_revoke_taskFaceAuthorizationRevokeTaskis_deletedBOOL_DELETED0 未删除、1 已删除非终态,可按状态机或字典规则流转是否已删除,0 未删除,1 已删除
dev_face_revoke_taskFaceAuthorizationRevokeTaskdevice_scopeDEVICE_SCOPEALL_DEVICE 全部设备、CAMPUS_DEVICE 校区设备、CLASSROOM_DEVICE 教室设备、SELECTED_DEVICE 指定设备非终态,可按状态机或字典规则流转撤销设备范围
dev_face_revoke_taskFaceAuthorizationRevokeTaskrevoke_statusREVOKE_STATUS待撤销、部分成功、成功、失败包含终态,终态禁止直接编辑,需走变更/红冲/撤回流程待撤销/部分成功/成功/失败

敏感字段与数据安全策略

来源表名对象字段数据级别脱敏/返回策略明文查看条件导出策略审计要求端侧展示规则
本模块对象dev_face_personFacePersonphoto_file_id高敏FACE_IMAGE_PROTECTED默认只返回受控文件 ID/缩略图;人脸照片查看、下发、删除需授权和审计禁止常规导出;仅设备下发、授权撤回和合规取证场景允许人脸采集、下发、识别、撤回、删除、失败重试全链路留痕未授权端不展示原图;设备端按任务有效期拉取
本模块对象dev_face_personFacePersonvalid_until普通BIZ_FIELD_MASK按字段权限、数据范围和业务角色展示;明文查看按敏感字段审批规则执行导出时按数据级别触发审批、水印、下载有效期和日志查看、修改、删除、导出、下载和审批均记录操作审计默认遵循总部、区域、校区、团队、本人数据范围和端侧最小可见原则
本模块对象dev_face_dispatch_taskFaceDispatchTaskrequest_payload普通PAYLOAD_DESENSITIZE接口报文、快照和文件地址默认脱敏;排障查看需运维/安全授权导出日志或报文时自动清理手机号、证件号、密钥、票据和人脸字段查看报文、下载附件、失败重放和人工补偿均记录审计业务端展示摘要和状态,完整报文仅运维/安全后台查看
本模块对象dev_face_dispatch_taskFaceDispatchTaskresponse_payload普通PAYLOAD_DESENSITIZE接口报文、快照和文件地址默认脱敏;排障查看需运维/安全授权导出日志或报文时自动清理手机号、证件号、密钥、票据和人脸字段查看报文、下载附件、失败重放和人工补偿均记录审计业务端展示摘要和状态,完整报文仅运维/安全后台查看
本模块对象dev_face_eventFaceAttendanceEventraw_payload敏感PAYLOAD_DESENSITIZE接口报文、快照和文件地址默认脱敏;排障查看需运维/安全授权导出日志或报文时自动清理手机号、证件号、密钥、票据和人脸字段查看报文、下载附件、失败重放和人工补偿均记录审计业务端展示摘要和状态,完整报文仅运维/安全后台查看
引用对象sys_userUser/Employeemobile敏感MOBILE_MASK默认展示 138****0000;明文查看需字段权限或敏感字段查看审批导出手机号必须触发导出审批、下载水印和有效期控制明文查看、复制、导出和批量下载均写入 SensitiveAccessLogPC 管理端按字段权限展示;移动端仅展示本人授权范围内脱敏信息
引用对象sys_userUser/Employeepassword_hash高敏NEVER_RETURN禁止接口返回明文;仅密钥中心/鉴权服务按服务身份读取密钥引用禁止导出;配置导出只允许导出脱敏引用和启停状态配置新增、修改、启停、轮换和失败读取均记录安全审计前端只展示已配置/未配置、到期时间和连通性状态,不展示密钥值
引用对象int_integration_logIntegrationLogrequest_payload敏感PAYLOAD_DESENSITIZE接口报文、快照和文件地址默认脱敏;排障查看需运维/安全授权导出日志或报文时自动清理手机号、证件号、密钥、票据和人脸字段查看报文、下载附件、失败重放和人工补偿均记录审计业务端展示摘要和状态,完整报文仅运维/安全后台查看
引用对象int_integration_logIntegrationLogresponse_payload普通PAYLOAD_DESENSITIZE接口报文、快照和文件地址默认脱敏;排障查看需运维/安全授权导出日志或报文时自动清理手机号、证件号、密钥、票据和人脸字段查看报文、下载附件、失败重放和人工补偿均记录审计业务端展示摘要和状态,完整报文仅运维/安全后台查看
引用对象sec_sensitive_field_policySensitiveFieldPolicymask_rule普通BIZ_FIELD_MASK按字段权限、数据范围和业务角色展示;明文查看按敏感字段审批规则执行导出时按数据级别触发审批、水印、下载有效期和日志查看、修改、删除、导出、下载和审批均记录操作审计默认遵循总部、区域、校区、团队、本人数据范围和端侧最小可见原则
引用对象stu_studentStudentremark普通BIZ_FIELD_MASK按字段权限、数据范围和业务角色展示;明文查看按敏感字段审批规则执行导出时按数据级别触发审批、水印、下载有效期和日志查看、修改、删除、导出、下载和审批均记录操作审计默认遵循总部、区域、校区、团队、本人数据范围和端侧最小可见原则
引用对象edu_attendanceAttendancecheckin_type普通FACE_IMAGE_PROTECTED默认只返回受控文件 ID/缩略图;人脸照片查看、下发、删除需授权和审计禁止常规导出;仅设备下发、授权撤回和合规取证场景允许人脸采集、下发、识别、撤回、删除、失败重试全链路留痕未授权端不展示原图;设备端按任务有效期拉取

核心数据表完整字段

表名对象字段类型必填规则数据级别
dev_face_deviceFaceDeviceidBIGINT主键,雪花或号段生成,禁止复用普通
dev_face_deviceFaceDevicetenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
dev_face_deviceFaceDeviceorg_idBIGINT所属组织,集团级或公共配置为空普通
dev_face_deviceFaceDevicecampus_idBIGINT所属校区,跨校区或总部级数据为空普通
dev_face_deviceFaceDevicecreated_byBIGINT创建人账号 ID普通
dev_face_deviceFaceDevicecreated_atDATETIME创建时间普通
dev_face_deviceFaceDeviceupdated_byBIGINT最后更新人账号 ID普通
dev_face_deviceFaceDeviceupdated_atDATETIME最后更新时间普通
dev_face_deviceFaceDeviceis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
dev_face_deviceFaceDevicedeleted_atDATETIME删除时间,未删除为空普通
dev_face_deviceFaceDevicedeleted_byBIGINT删除人账号 ID,未删除为空普通
dev_face_deviceFaceDeviceversionINT乐观锁版本号,写操作必须校验普通
dev_face_deviceFaceDevicedevice_codeVARCHAR(64)设备编码,唯一普通
dev_face_deviceFaceDevicevendor_codeVARCHAR(32)设备品牌/厂商普通
dev_face_deviceFaceDevicedevice_nameVARCHAR(128)设备名称普通
dev_face_deviceFaceDeviceclassroom_idBIGINT绑定教室 ID普通
dev_face_deviceFaceDeviceapi_endpointVARCHAR(512)设备或平台 API 地址普通
dev_face_deviceFaceDevicedevice_statusVARCHAR(32)在线/离线/停用/异常普通
dev_face_personFacePersonidBIGINT主键,雪花或号段生成,禁止复用普通
dev_face_personFacePersontenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
dev_face_personFacePersonorg_idBIGINT所属组织,集团级或公共配置为空普通
dev_face_personFacePersoncampus_idBIGINT所属校区,跨校区或总部级数据为空普通
dev_face_personFacePersoncreated_byBIGINT创建人账号 ID普通
dev_face_personFacePersoncreated_atDATETIME创建时间普通
dev_face_personFacePersonupdated_byBIGINT最后更新人账号 ID普通
dev_face_personFacePersonupdated_atDATETIME最后更新时间普通
dev_face_personFacePersonis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
dev_face_personFacePersondeleted_atDATETIME删除时间,未删除为空普通
dev_face_personFacePersondeleted_byBIGINT删除人账号 ID,未删除为空普通
dev_face_personFacePersonversionINT乐观锁版本号,写操作必须校验普通
dev_face_personFacePersonperson_noVARCHAR(64)人员编号,唯一普通
dev_face_personFacePersonperson_typeVARCHAR(32)学员/教师/员工普通
dev_face_personFacePersonperson_idBIGINT业务人员 ID普通
dev_face_personFacePersonphoto_file_idBIGINT人脸照片文件 ID高敏
dev_face_personFacePersonvalid_untilDATETIME授权有效期普通
dev_face_personFacePersonsync_statusVARCHAR(32)待下发/已下发/失败/已撤销普通
dev_face_dispatch_taskFaceDispatchTaskidBIGINT主键,雪花或号段生成,禁止复用普通
dev_face_dispatch_taskFaceDispatchTasktenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
dev_face_dispatch_taskFaceDispatchTaskorg_idBIGINT所属组织,集团级或公共配置为空普通
dev_face_dispatch_taskFaceDispatchTaskcampus_idBIGINT所属校区,跨校区或总部级数据为空普通
dev_face_dispatch_taskFaceDispatchTaskcreated_byBIGINT创建人账号 ID普通
dev_face_dispatch_taskFaceDispatchTaskcreated_atDATETIME创建时间普通
dev_face_dispatch_taskFaceDispatchTaskupdated_byBIGINT最后更新人账号 ID普通
dev_face_dispatch_taskFaceDispatchTaskupdated_atDATETIME最后更新时间普通
dev_face_dispatch_taskFaceDispatchTaskis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
dev_face_dispatch_taskFaceDispatchTaskdeleted_atDATETIME删除时间,未删除为空普通
dev_face_dispatch_taskFaceDispatchTaskdeleted_byBIGINT删除人账号 ID,未删除为空普通
dev_face_dispatch_taskFaceDispatchTaskversionINT乐观锁版本号,写操作必须校验普通
dev_face_dispatch_taskFaceDispatchTasktask_noVARCHAR(64)任务编号,唯一普通
dev_face_dispatch_taskFaceDispatchTaskdevice_idBIGINT设备 ID普通
dev_face_dispatch_taskFaceDispatchTaskperson_idBIGINT人员库 ID普通
dev_face_dispatch_taskFaceDispatchTaskaction_typeVARCHAR(32)新增/更新/删除/重试普通
dev_face_dispatch_taskFaceDispatchTaskrequest_payloadJSON下发请求普通
dev_face_dispatch_taskFaceDispatchTaskresponse_payloadJSON设备响应普通
dev_face_dispatch_taskFaceDispatchTasktask_statusVARCHAR(32)待执行/成功/失败/重试中普通
dev_face_eventFaceAttendanceEventidBIGINT主键,雪花或号段生成,禁止复用普通
dev_face_eventFaceAttendanceEventtenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
dev_face_eventFaceAttendanceEventorg_idBIGINT所属组织,集团级或公共配置为空普通
dev_face_eventFaceAttendanceEventcampus_idBIGINT所属校区,跨校区或总部级数据为空普通
dev_face_eventFaceAttendanceEventcreated_byBIGINT创建人账号 ID普通
dev_face_eventFaceAttendanceEventcreated_atDATETIME创建时间普通
dev_face_eventFaceAttendanceEventupdated_byBIGINT最后更新人账号 ID普通
dev_face_eventFaceAttendanceEventupdated_atDATETIME最后更新时间普通
dev_face_eventFaceAttendanceEventis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
dev_face_eventFaceAttendanceEventdeleted_atDATETIME删除时间,未删除为空普通
dev_face_eventFaceAttendanceEventdeleted_byBIGINT删除人账号 ID,未删除为空普通
dev_face_eventFaceAttendanceEventversionINT乐观锁版本号,写操作必须校验普通
dev_face_eventFaceAttendanceEventdevice_idBIGINT设备 ID普通
dev_face_eventFaceAttendanceEventdevice_event_idVARCHAR(128)设备侧事件号普通
dev_face_eventFaceAttendanceEventperson_idBIGINT匹配人员 ID普通
dev_face_eventFaceAttendanceEventlesson_idBIGINT匹配课次 ID普通
dev_face_eventFaceAttendanceEventevent_timeDATETIME识别时间普通
dev_face_eventFaceAttendanceEventconfidenceDECIMAL(8,4)识别置信度普通
dev_face_eventFaceAttendanceEventmatch_statusVARCHAR(32)已匹配/低置信/未匹配/重复普通
dev_face_eventFaceAttendanceEventraw_payloadJSON设备原始报文敏感
dev_face_revoke_taskFaceAuthorizationRevokeTaskidBIGINT主键,雪花或号段生成,禁止复用普通
dev_face_revoke_taskFaceAuthorizationRevokeTasktenant_idBIGINT集团/租户隔离字段,所有查询必须带租户上下文普通
dev_face_revoke_taskFaceAuthorizationRevokeTaskorg_idBIGINT所属组织,集团级或公共配置为空普通
dev_face_revoke_taskFaceAuthorizationRevokeTaskcampus_idBIGINT所属校区,跨校区或总部级数据为空普通
dev_face_revoke_taskFaceAuthorizationRevokeTaskcreated_byBIGINT创建人账号 ID普通
dev_face_revoke_taskFaceAuthorizationRevokeTaskcreated_atDATETIME创建时间普通
dev_face_revoke_taskFaceAuthorizationRevokeTaskupdated_byBIGINT最后更新人账号 ID普通
dev_face_revoke_taskFaceAuthorizationRevokeTaskupdated_atDATETIME最后更新时间普通
dev_face_revoke_taskFaceAuthorizationRevokeTaskis_deletedTINYINT是否已删除,0 未删除,1 已删除普通
dev_face_revoke_taskFaceAuthorizationRevokeTaskdeleted_atDATETIME删除时间,未删除为空普通
dev_face_revoke_taskFaceAuthorizationRevokeTaskdeleted_byBIGINT删除人账号 ID,未删除为空普通
dev_face_revoke_taskFaceAuthorizationRevokeTaskversionINT乐观锁版本号,写操作必须校验普通
dev_face_revoke_taskFaceAuthorizationRevokeTaskrevoke_noVARCHAR(64)撤销编号,唯一普通
dev_face_revoke_taskFaceAuthorizationRevokeTaskperson_idBIGINT人员库 ID普通
dev_face_revoke_taskFaceAuthorizationRevokeTaskrevoke_reasonVARCHAR(255)撤销原因普通
dev_face_revoke_taskFaceAuthorizationRevokeTaskdevice_scopeJSON撤销设备范围普通
dev_face_revoke_taskFaceAuthorizationRevokeTaskrevoke_statusVARCHAR(32)待撤销/部分成功/成功/失败普通

数据表与对象映射

表名对象用途完整字段索引建议
dev_face_deviceFaceDevice人脸识别考勤设备id(BIGINT,必填)、tenant_id(BIGINT,必填)、org_id(BIGINT)、campus_id(BIGINT)、created_by(BIGINT,必填)、created_at(DATETIME,必填)、updated_by(BIGINT)、updated_at(DATETIME)、is_deleted(TINYINT,必填)、deleted_at(DATETIME)、deleted_by(BIGINT)、version(INT,必填)、device_code(VARCHAR(64),必填)、vendor_code(VARCHAR(32),必填)、device_name(VARCHAR(128),必填)、classroom_id(BIGINT)、api_endpoint(VARCHAR(512))、device_status(VARCHAR(32),必填)uk_device_code、idx_campus_status
dev_face_personFacePerson人脸人员库id(BIGINT,必填)、tenant_id(BIGINT,必填)、org_id(BIGINT)、campus_id(BIGINT)、created_by(BIGINT,必填)、created_at(DATETIME,必填)、updated_by(BIGINT)、updated_at(DATETIME)、is_deleted(TINYINT,必填)、deleted_at(DATETIME)、deleted_by(BIGINT)、version(INT,必填)、person_no(VARCHAR(64),必填)、person_type(VARCHAR(32),必填)、person_id(BIGINT,必填)、photo_file_id(BIGINT,必填)、valid_until(DATETIME)、sync_status(VARCHAR(32),必填)uk_person_type_id、idx_sync
dev_face_dispatch_taskFaceDispatchTask人脸下发任务id(BIGINT,必填)、tenant_id(BIGINT,必填)、org_id(BIGINT)、campus_id(BIGINT)、created_by(BIGINT,必填)、created_at(DATETIME,必填)、updated_by(BIGINT)、updated_at(DATETIME)、is_deleted(TINYINT,必填)、deleted_at(DATETIME)、deleted_by(BIGINT)、version(INT,必填)、task_no(VARCHAR(64),必填)、device_id(BIGINT,必填)、person_id(BIGINT,必填)、action_type(VARCHAR(32),必填)、request_payload(JSON,必填)、response_payload(JSON)、task_status(VARCHAR(32),必填)uk_task_no、idx_device_status
dev_face_eventFaceAttendanceEvent人脸识别回传事件id(BIGINT,必填)、tenant_id(BIGINT,必填)、org_id(BIGINT)、campus_id(BIGINT)、created_by(BIGINT,必填)、created_at(DATETIME,必填)、updated_by(BIGINT)、updated_at(DATETIME)、is_deleted(TINYINT,必填)、deleted_at(DATETIME)、deleted_by(BIGINT)、version(INT,必填)、device_id(BIGINT,必填)、device_event_id(VARCHAR(128),必填)、person_id(BIGINT)、lesson_id(BIGINT)、event_time(DATETIME,必填)、confidence(DECIMAL(8,4),必填)、match_status(VARCHAR(32),必填)、raw_payload(JSON,必填)uk_device_event、idx_lesson_person、idx_event_time
dev_face_revoke_taskFaceAuthorizationRevokeTask人脸授权撤销任务id(BIGINT,必填)、tenant_id(BIGINT,必填)、org_id(BIGINT)、campus_id(BIGINT)、created_by(BIGINT,必填)、created_at(DATETIME,必填)、updated_by(BIGINT)、updated_at(DATETIME)、is_deleted(TINYINT,必填)、deleted_at(DATETIME)、deleted_by(BIGINT)、version(INT,必填)、revoke_no(VARCHAR(64),必填)、person_id(BIGINT,必填)、revoke_reason(VARCHAR(255),必填)、device_scope(JSON,必填)、revoke_status(VARCHAR(32),必填)uk_revoke_no、idx_person_status

12 · 状态机与业务规则

约束业务对象如何流转、何时可编辑、何时触发审批

原型需要把状态标签、可操作按钮和禁用原因展示清楚。
对象状态触发与说明
人脸授权未授权 -> 待采集 -> 已授权 -> 已下发 -> 撤回中 -> 已撤回 -> 已删除家长授权、照片采集、设备下发、撤回授权
督课评分待评分 -> 系统初评 -> 待复核 -> 已确认 -> 申诉中 -> 已调整 -> 已归档学生数据采集、教师数据采集、系统评分、督课复核、校长确认和申诉处理
报销单草稿 -> 待 OCR -> 待核验 -> 待审批 -> 已通过 -> 待付款 -> 已付款 -> 已驳回 -> 已作废员工填单、票据识别、发票核验、查重、审批、付款归档
学习任务未开始 -> 学习中 -> 已提交 -> 已批改 -> 需订正 -> 已完成 -> 已过期资源学习、作业提交、教师批改和进度归档
员工培训未分配 -> 待学习 -> 学习中 -> 待考试 -> 已通过 -> 未通过 -> 补训中 -> 已逾期培训计划发布、学习进度、考试成绩、补考复训和学习档案归档
直播房间草稿 -> 待开播 -> 直播中 -> 已结束 -> 回放生成中 -> 可回放 -> 异常 -> 已关闭创建房间、供应商资源申请、教师开播、下课、录制转码、回放发布和异常关闭
直播连麦请求未举手 -> 已举手排队 -> 教师邀请中 -> 连接中 -> 上麦中 -> 已下麦 -> 已拒绝 -> 已取消 -> 已超时 -> 连接失败学员举手进入队列,教师处理后进入邀请和连接;取消、拒绝、超时、失败、下麦均写入互动事件和连麦请求记录
直播连麦座席空闲 -> 占用中 -> 静音 -> 下麦中 -> 已释放 -> 异常教师端按座席管理当前上麦人员,人数达到上限后新请求继续排队或提示人数已满
转班转课待测算 -> 待确认 -> 审批中 -> 补差待收 -> 退差待退 -> 已生效 -> 已驳回 -> 已取消顾问或教务发起,完成权益重算、家长确认、审批、收退差和课表变更
试听课已预约 -> 已提醒 -> 已到访 -> 已试听 -> 待反馈 -> 已反馈 -> 已转化 -> 未到访 -> 已关闭预约、提醒、到访签到、教师反馈、家长评价、未到访唤醒和转化
电子工资条待生成 -> 待审核 -> 待发布 -> 已发布 -> 员工已查看 -> 异议中 -> 已确认 -> 已归档薪资核算、审批、发布、员工查看确认、异议处理和归档
人脸授权撤回已提交 -> 家长已确认 -> 设备删除中 -> 部分失败 -> 已删除 -> 人工处理 -> 已关闭家长撤回、人脸模板删除任务、设备回执、失败重试和审计
工资条撤回重发已发布 -> 撤回中 -> 已撤回 -> 重发待审核 -> 已重发 -> 待重新确认 -> 已确认 -> 已归档工资条发布错误后撤回、重发、员工重新确认和版本留痕
国税核验配置草稿 -> 启用中 -> 频控中 -> 异常 -> 已停用 -> 已过期校区税务主体、官方接口凭证、额度、启用状态和调用日志
课堂端会话待绑定 -> 已绑定 -> 待开课 -> 授课中 -> 暂停中 -> 已结束 -> 异常断开教师或教室设备创建课堂会话,TV 与教师端完成绑定后同步课件、互动和课堂状态;断开后可重连,结束后归档审计。
TV 课件播放未加载 -> 加载中 -> 播放中 -> 暂停 -> 互动展示中 -> 播放失败 -> 已退出TV 端接收课堂联动指令,按课件类型播放或展示,失败时回传错误码并提示教师端重试。
教师端工作台任务待处理 -> 处理中 -> 已完成 -> 已驳回 -> 已超时 -> 已取消课程、批改、审批、培训、报销、工资条和直播任务统一进入工作台待办,并按业务模块回写处理状态。
员工推广资产待生成 -> 已生成 -> 分享中 -> 已停用 -> 已失效 -> 生成失败员工在教师端领取活动后生成专属短链、二维码和海报,活动停用或超期后资产失效
员工分享记录已分享 -> 已访问 -> 已扫码 -> 已留资 -> 已生成线索 -> 已预约试听 -> 已签约 -> 已流失外部访问、扫码、留资和转化阶段均回写员工分享记录
唯一性校验

智能考勤设备中心涉及该规则时,必须在前端提示、后端校验、审计日志和测试用例中同时覆盖。

跨校区数据隔离

智能考勤设备中心涉及该规则时,必须在前端提示、后端校验、审计日志和测试用例中同时覆盖。

敏感操作留痕

智能考勤设备中心涉及该规则时,必须在前端提示、后端校验、审计日志和测试用例中同时覆盖。

外部接口幂等

智能考勤设备中心涉及该规则时,必须在前端提示、后端校验、审计日志和测试用例中同时覆盖。

批量失败明细

智能考勤设备中心涉及该规则时,必须在前端提示、后端校验、审计日志和测试用例中同时覆盖。

状态回退审批

智能考勤设备中心涉及该规则时,必须在前端提示、后端校验、审计日志和测试用例中同时覆盖。

13 · 权限、审批与消息

动作权限、数据范围、审批触发和消息触达必须闭环

权限需要覆盖菜单、按钮、字段、接口和导出。

动作权限

  • 设备建档:需映射菜单、按钮、接口和字段权限
  • 人员下发:需映射菜单、按钮、接口和字段权限
  • 事件回传:需映射菜单、按钮、接口和字段权限
  • 异常确认:需映射菜单、按钮、接口和字段权限
  • 授权撤回:需映射菜单、按钮、接口和字段权限
  • 模板删除:需映射菜单、按钮、接口和字段权限
  • 设备巡检:需映射菜单、按钮、接口和字段权限

数据范围

  • 总部全量
  • 区域辖区
  • 校区本地
  • 部门/岗位
  • 本人负责
  • 授权班级/学员

审批配置

审批名称触发条件流程结果留痕
报销审批员工提交费用报销或发票查重命中风险员工提交 -> 部门主管 -> 校长/预算负责人 -> 财务复核通过后进入付款,驳回后返回报销人修改保留票据影像、OCR 结果、核验结果、查重结果和审批意见
账套反结账审批已结账期间需要反结账或更正税务资料校区财务提交 -> 总部财务复核 -> 财务负责人终审通过后解锁期间并记录调整原因保留反结账前后凭证、税表和审批说明
物料采购审批采购金额超过阈值、跨校区采购或固定资产采购申请人 -> 校区负责人 -> 采购/财务 -> 总部审批通过后生成采购订单和到货验收任务保留预算、供应商、报价和采购合同附件
固定资产报废审批固定资产、图书或高价值物料需要报废责任人提交 -> 校区负责人 -> 资产管理员 -> 财务复核通过后出库、报废并生成财务核销记录保留照片、盘点记录、处置说明和残值
转校审批学员权益跨校区转移原校区校长 -> 目标校区校长 -> 财务确认权益和服务归属迁移记录转出转入校区和余额
人脸授权撤回处理家长撤回人脸授权家长提交 -> 系统确认 -> 设备管理员执行停止识别并下发删除任务保留撤回凭证和删除结果
督课评分复核教学质量分低于阈值、教师提出申诉或总部抽检命中教研督导 -> 校长/区域教学负责人 -> 总部教研维持评分、调整评分或生成整改复训任务保留评分明细、回放片段、调整原因和复核人
培训课程发布审批面向全员、跨校区或涉及制度类培训内容人事/教研提交 -> 部门负责人 -> 总部审核发布培训计划或退回修改记录适用岗位、资料版本和考试规则

消息模板

消息接收人触发渠道变量
新线索分配提醒课程顾问线索分配成功站内信、App、企微学员姓名、来源渠道、校区、保护期
试听预约通知家长/教师/顾问试听课预约成功或变更小程序、短信、App上课时间、校区、教室、教师
库存预警库管/校区负责人物料或礼品低于安全库存站内信、App、企微SKU、校区、当前库存、安全库存、补货建议
积分兑换核销通知学员/家长/校区前台兑换成功、即将过期或核销完成小程序、App、站内信礼品名称、兑换码、核销校区、有效期
到校签到通知家长人脸或人工签到成功小程序、App学员姓名、签到时间、校区、课程
签到异常提醒教务/前台识别未匹配或低置信度站内信、App设备、时间、候选学员、置信度
摄像头离线告警设备管理员/校区前台摄像头心跳超时或拉流失败站内信、App校区、教室、摄像头编号、品牌、异常时间
巡课整改通知校长/教师/教研督导督课记录生成整改项站内信、App、企微督课任务、问题等级、整改期限、回放片段

14 · 接口与技术细节

接口需支持幂等、权限、审计、重试和回执

每个写接口必须有 requestId 或业务幂等键,外部回调必须验签和去重。
接口方法方向请求字段响应字段幂等/权限
/api/v1/face/personsPOST平台到设备网关personId, name, photoUrl, campusId, validUntildeviceTaskId, dispatchStatuspersonId + deviceId 幂等
/api/v1/face/eventsPOST设备到平台deviceId, personId, eventTime, confidence, photoIdattendanceId, matchStatus, actiondeviceId + eventId 去重
/api/v1/face/devices/{id}/heartbeatPOST设备到平台deviceId, appVersion, onlineStatus, metricsserverTime, commands设备签名校验
/api/v1/face/authorizations/{id}/revokePOST家长/平台到设备网关authorizationId, guardianConfirm, revokeReason, requestIdrevokeTaskId, revokeStatus, deviceDeleteStatusrequestId 幂等;设备离线进入延迟删除

前端约束

  • 统一登录态和租户校区上下文
  • 列表分页、筛选、排序、列显隐
  • 表单本地校验与服务端错误映射
  • 移动/平板/TV 按终端适配交互

后端约束

  • 领域服务封装业务规则
  • 写操作事务一致性
  • 关键操作审计快照
  • 异步任务失败重试和告警

集成约束

  • 第三方接口统一走开放集成中心
  • 回执文件归档
  • 接口日志可按业务单号追踪
  • 密钥和回调地址按环境隔离

15 · 数据库与存储设计

核心表建议、关键字段和索引方向

详细 DDL 已在平台技术设计文档中统一展开,本处保留模块核心表、关键字段和索引方向。
表名用途核心字段索引建议
dev_face_device人脸识别考勤设备id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、device_code、vendor_code、device_name、classroom_id、api_endpoint、device_statusuk_device_code、idx_campus_status
dev_face_person人脸人员库id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、person_no、person_type、person_id、photo_file_id、valid_until、sync_statusuk_person_type_id、idx_sync
dev_face_dispatch_task人脸下发任务id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、task_no、device_id、person_id、action_type、request_payload、response_payload、task_statusuk_task_no、idx_device_status
dev_face_event人脸识别回传事件id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、device_id、device_event_id、person_id、lesson_id、event_time、confidence、match_status、raw_payloaduk_device_event、idx_lesson_person、idx_event_time
dev_face_revoke_task人脸授权撤销任务id、tenant_id、org_id、campus_id、created_by、created_at、updated_by、updated_at、is_deleted、deleted_at、deleted_by、version、revoke_no、person_id、revoke_reason、device_scope、revoke_statusuk_revoke_no、idx_person_status

DDL 草案

dev_face_deviceFaceDevice
CREATE TABLE `dev_face_device` (
  `id` BIGINT NOT NULL COMMENT '主键,雪花或号段生成,禁止复用;数据级别:普通',
  `tenant_id` BIGINT NOT NULL COMMENT '集团/租户隔离字段,所有查询必须带租户上下文;数据级别:普通',
  `org_id` BIGINT NULL COMMENT '所属组织,集团级或公共配置为空;数据级别:普通',
  `campus_id` BIGINT NULL COMMENT '所属校区,跨校区或总部级数据为空;数据级别:普通',
  `created_by` BIGINT NOT NULL COMMENT '创建人账号 ID;数据级别:普通',
  `created_at` DATETIME NOT NULL COMMENT '创建时间;数据级别:普通',
  `updated_by` BIGINT NULL COMMENT '最后更新人账号 ID;数据级别:普通',
  `updated_at` DATETIME NULL COMMENT '最后更新时间;数据级别:普通',
  `is_deleted` TINYINT NOT NULL DEFAULT 0 COMMENT '是否已删除,0 未删除,1 已删除;数据级别:普通',
  `deleted_at` DATETIME NULL COMMENT '删除时间,未删除为空;数据级别:普通',
  `deleted_by` BIGINT NULL COMMENT '删除人账号 ID,未删除为空;数据级别:普通',
  `version` INT NOT NULL DEFAULT 1 COMMENT '乐观锁版本号,写操作必须校验;数据级别:普通',
  `device_code` VARCHAR(64) NOT NULL COMMENT '设备编码,唯一;数据级别:普通',
  `vendor_code` VARCHAR(32) NOT NULL COMMENT '设备品牌/厂商;数据级别:普通',
  `device_name` VARCHAR(128) NOT NULL COMMENT '设备名称;数据级别:普通',
  `classroom_id` BIGINT NULL COMMENT '绑定教室 ID;数据级别:普通',
  `api_endpoint` VARCHAR(512) NULL COMMENT '设备或平台 API 地址;数据级别:普通',
  `device_status` VARCHAR(32) NOT NULL COMMENT '在线/离线/停用/异常;数据级别:普通',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_device_code` (`device_code`),
  KEY `idx_campus_status` (`campus_id`, `device_status`),
  KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='FaceDevice:人脸识别考勤设备';
dev_face_personFacePerson
CREATE TABLE `dev_face_person` (
  `id` BIGINT NOT NULL COMMENT '主键,雪花或号段生成,禁止复用;数据级别:普通',
  `tenant_id` BIGINT NOT NULL COMMENT '集团/租户隔离字段,所有查询必须带租户上下文;数据级别:普通',
  `org_id` BIGINT NULL COMMENT '所属组织,集团级或公共配置为空;数据级别:普通',
  `campus_id` BIGINT NULL COMMENT '所属校区,跨校区或总部级数据为空;数据级别:普通',
  `created_by` BIGINT NOT NULL COMMENT '创建人账号 ID;数据级别:普通',
  `created_at` DATETIME NOT NULL COMMENT '创建时间;数据级别:普通',
  `updated_by` BIGINT NULL COMMENT '最后更新人账号 ID;数据级别:普通',
  `updated_at` DATETIME NULL COMMENT '最后更新时间;数据级别:普通',
  `is_deleted` TINYINT NOT NULL DEFAULT 0 COMMENT '是否已删除,0 未删除,1 已删除;数据级别:普通',
  `deleted_at` DATETIME NULL COMMENT '删除时间,未删除为空;数据级别:普通',
  `deleted_by` BIGINT NULL COMMENT '删除人账号 ID,未删除为空;数据级别:普通',
  `version` INT NOT NULL DEFAULT 1 COMMENT '乐观锁版本号,写操作必须校验;数据级别:普通',
  `person_no` VARCHAR(64) NOT NULL COMMENT '人员编号,唯一;数据级别:普通',
  `person_type` VARCHAR(32) NOT NULL COMMENT '学员/教师/员工;数据级别:普通',
  `person_id` BIGINT NOT NULL COMMENT '业务人员 ID;数据级别:普通',
  `photo_file_id` BIGINT NOT NULL COMMENT '人脸照片文件 ID;数据级别:高敏',
  `valid_until` DATETIME NULL COMMENT '授权有效期;数据级别:普通',
  `sync_status` VARCHAR(32) NOT NULL COMMENT '待下发/已下发/失败/已撤销;数据级别:普通',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_person_type_id` (`person_no`, `person_type`, `id`),
  KEY `idx_sync` (`sync_status`),
  KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='FacePerson:人脸人员库';
dev_face_dispatch_taskFaceDispatchTask
CREATE TABLE `dev_face_dispatch_task` (
  `id` BIGINT NOT NULL COMMENT '主键,雪花或号段生成,禁止复用;数据级别:普通',
  `tenant_id` BIGINT NOT NULL COMMENT '集团/租户隔离字段,所有查询必须带租户上下文;数据级别:普通',
  `org_id` BIGINT NULL COMMENT '所属组织,集团级或公共配置为空;数据级别:普通',
  `campus_id` BIGINT NULL COMMENT '所属校区,跨校区或总部级数据为空;数据级别:普通',
  `created_by` BIGINT NOT NULL COMMENT '创建人账号 ID;数据级别:普通',
  `created_at` DATETIME NOT NULL COMMENT '创建时间;数据级别:普通',
  `updated_by` BIGINT NULL COMMENT '最后更新人账号 ID;数据级别:普通',
  `updated_at` DATETIME NULL COMMENT '最后更新时间;数据级别:普通',
  `is_deleted` TINYINT NOT NULL DEFAULT 0 COMMENT '是否已删除,0 未删除,1 已删除;数据级别:普通',
  `deleted_at` DATETIME NULL COMMENT '删除时间,未删除为空;数据级别:普通',
  `deleted_by` BIGINT NULL COMMENT '删除人账号 ID,未删除为空;数据级别:普通',
  `version` INT NOT NULL DEFAULT 1 COMMENT '乐观锁版本号,写操作必须校验;数据级别:普通',
  `task_no` VARCHAR(64) NOT NULL COMMENT '任务编号,唯一;数据级别:普通',
  `device_id` BIGINT NOT NULL COMMENT '设备 ID;数据级别:普通',
  `person_id` BIGINT NOT NULL COMMENT '人员库 ID;数据级别:普通',
  `action_type` VARCHAR(32) NOT NULL COMMENT '新增/更新/删除/重试;数据级别:普通',
  `request_payload` JSON NOT NULL COMMENT '下发请求;数据级别:普通',
  `response_payload` JSON NULL COMMENT '设备响应;数据级别:普通',
  `task_status` VARCHAR(32) NOT NULL COMMENT '待执行/成功/失败/重试中;数据级别:普通',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_task_no` (`task_no`),
  KEY `idx_device_status` (`device_id`, `task_status`),
  KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='FaceDispatchTask:人脸下发任务';
dev_face_eventFaceAttendanceEvent
CREATE TABLE `dev_face_event` (
  `id` BIGINT NOT NULL COMMENT '主键,雪花或号段生成,禁止复用;数据级别:普通',
  `tenant_id` BIGINT NOT NULL COMMENT '集团/租户隔离字段,所有查询必须带租户上下文;数据级别:普通',
  `org_id` BIGINT NULL COMMENT '所属组织,集团级或公共配置为空;数据级别:普通',
  `campus_id` BIGINT NULL COMMENT '所属校区,跨校区或总部级数据为空;数据级别:普通',
  `created_by` BIGINT NOT NULL COMMENT '创建人账号 ID;数据级别:普通',
  `created_at` DATETIME NOT NULL COMMENT '创建时间;数据级别:普通',
  `updated_by` BIGINT NULL COMMENT '最后更新人账号 ID;数据级别:普通',
  `updated_at` DATETIME NULL COMMENT '最后更新时间;数据级别:普通',
  `is_deleted` TINYINT NOT NULL DEFAULT 0 COMMENT '是否已删除,0 未删除,1 已删除;数据级别:普通',
  `deleted_at` DATETIME NULL COMMENT '删除时间,未删除为空;数据级别:普通',
  `deleted_by` BIGINT NULL COMMENT '删除人账号 ID,未删除为空;数据级别:普通',
  `version` INT NOT NULL DEFAULT 1 COMMENT '乐观锁版本号,写操作必须校验;数据级别:普通',
  `device_id` BIGINT NOT NULL COMMENT '设备 ID;数据级别:普通',
  `device_event_id` VARCHAR(128) NOT NULL COMMENT '设备侧事件号;数据级别:普通',
  `person_id` BIGINT NULL COMMENT '匹配人员 ID;数据级别:普通',
  `lesson_id` BIGINT NULL COMMENT '匹配课次 ID;数据级别:普通',
  `event_time` DATETIME NOT NULL COMMENT '识别时间;数据级别:普通',
  `confidence` DECIMAL(8,4) NOT NULL COMMENT '识别置信度;数据级别:普通',
  `match_status` VARCHAR(32) NOT NULL COMMENT '已匹配/低置信/未匹配/重复;数据级别:普通',
  `raw_payload` JSON NOT NULL COMMENT '设备原始报文;数据级别:敏感',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_device_event` (`device_id`, `device_event_id`),
  KEY `idx_lesson_person` (`lesson_id`, `person_id`),
  KEY `idx_event_time` (`device_event_id`, `event_time`),
  KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='FaceAttendanceEvent:人脸识别回传事件';
dev_face_revoke_taskFaceAuthorizationRevokeTask
CREATE TABLE `dev_face_revoke_task` (
  `id` BIGINT NOT NULL COMMENT '主键,雪花或号段生成,禁止复用;数据级别:普通',
  `tenant_id` BIGINT NOT NULL COMMENT '集团/租户隔离字段,所有查询必须带租户上下文;数据级别:普通',
  `org_id` BIGINT NULL COMMENT '所属组织,集团级或公共配置为空;数据级别:普通',
  `campus_id` BIGINT NULL COMMENT '所属校区,跨校区或总部级数据为空;数据级别:普通',
  `created_by` BIGINT NOT NULL COMMENT '创建人账号 ID;数据级别:普通',
  `created_at` DATETIME NOT NULL COMMENT '创建时间;数据级别:普通',
  `updated_by` BIGINT NULL COMMENT '最后更新人账号 ID;数据级别:普通',
  `updated_at` DATETIME NULL COMMENT '最后更新时间;数据级别:普通',
  `is_deleted` TINYINT NOT NULL DEFAULT 0 COMMENT '是否已删除,0 未删除,1 已删除;数据级别:普通',
  `deleted_at` DATETIME NULL COMMENT '删除时间,未删除为空;数据级别:普通',
  `deleted_by` BIGINT NULL COMMENT '删除人账号 ID,未删除为空;数据级别:普通',
  `version` INT NOT NULL DEFAULT 1 COMMENT '乐观锁版本号,写操作必须校验;数据级别:普通',
  `revoke_no` VARCHAR(64) NOT NULL COMMENT '撤销编号,唯一;数据级别:普通',
  `person_id` BIGINT NOT NULL COMMENT '人员库 ID;数据级别:普通',
  `revoke_reason` VARCHAR(255) NOT NULL COMMENT '撤销原因;数据级别:普通',
  `device_scope` JSON NOT NULL COMMENT '撤销设备范围;数据级别:普通',
  `revoke_status` VARCHAR(32) NOT NULL COMMENT '待撤销/部分成功/成功/失败;数据级别:普通',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_revoke_no` (`revoke_no`),
  KEY `idx_person_status` (`person_id`, `revoke_status`),
  KEY `idx_tenant_deleted` (`tenant_id`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='FaceAuthorizationRevokeTask:人脸授权撤销任务';

16 · 异常、指标、测试与初始化

保证模块上线后可运营、可追踪、可验收

测试要覆盖主流程、异常流、权限流、接口失败和数据一致性。

异常状态

低置信度设备离线跨校区识别设备离线延迟删除模板删除失败撤回回执缺失家长确认超时

指标埋点

设备在线率人员下发成功率识别成功率自动签到率异常处理时长

测试用例

编号场景前置步骤预期优先级
TC-003试听预约和反馈线索已分配并选择体验课预约试听、教师填写反馈客户状态更新,生成报价任务
TC-007入班排课冲突校验教师同时间已有课程为同教师同时间排课系统拦截并提示冲突对象
TC-009人脸未匹配异常设备回传未绑定人员提交识别事件进入异常队列,可人工确认或忽略
TC-010家长撤回人脸授权学员已授权并下发设备家长撤回授权系统停止识别并生成设备删除任务
TC-013教师发布作业并批改课次已完成教师发布作业,学员提交,教师批改学员端展示批改结果和成长档案
TC-017薪资课酬核算教师授课和课消数据完整执行月度薪资核算课酬、提成、冲回金额计算正确
TC-021跨校区数据隔离创建两个校区和不同校区账号校区 A 账号访问校区 B 客户无法查看或仅显示授权范围数据
TC-028重复识别时间窗同一学员短时间多次扫脸连续提交识别事件仅生成一次有效签到和课消
TC-030弱网课堂点评暂存教师 App 处于弱网填写课堂点评并提交本地暂存,联网后自动同步
TC-038员工培训计划学习闭环培训计划已发布并分配员工员工打开培训、完成资料学习、提交考试学习进度、考试成绩和员工培训档案完整
TC-FAC-ENH-001设备闭环交付闭环验收设备列表、人员下发、识别流水、考勤异常相关基础数据、权限、审批流、消息模板和接口配置已初始化按补齐设备下发回执、低置信度识别、重复识别、人工复核、自动签到和课消联动。执行前端提交、后端处理、状态流转、异常重试和消息触达识别异常可人工确认,确认后同步教务考勤和课消状态。;同时产生审计日志、指标埋点和必要的补偿任务
TC-FAC-ENH-002隐私撤回交付闭环验收人脸授权详情、撤回任务、设备回执相关基础数据、权限、审批流、消息模板和接口配置已初始化按补齐撤回申请、家长确认、设备删除任务、失败重试、离线延迟删除和审计记录。执行前端提交、后端处理、状态流转、异常重试和消息触达撤回后所有关联设备都有删除结果或人工处理记录。;同时产生审计日志、指标埋点和必要的补偿任务
TC-FAC-ENH-003运维联动交付闭环验收设备告警、维修工单、资产详情相关基础数据、权限、审批流、消息模板和接口配置已初始化按补齐离线告警、维修工单、资产状态、恢复校验和影响课次范围。执行前端提交、后端处理、状态流转、异常重试和消息触达设备恢复后可自动回测签到、直播或录像相关能力。;同时产生审计日志、指标埋点和必要的补偿任务

上线初始化

初始化项动作数据验收
组织与校区导入集团、品牌、法人主体、区域、校区、部门、岗位总部组织树、校区编码、法人关系、营业时间组织层级正确且权限可继承
账号与权限初始化总部、区域、校区、顾问、教务、教师、财务、家长、学员角色账号、角色、菜单、按钮、字段、数据范围测试账号可按角色访问指定页面
课程与价格导入课程、班型、课包、课时、价格、适用校区课程编码、班型、价格表、有效期、赠课规则报价和合同可正确引用价格
优惠规则初始化折扣、满减、优惠券、老带新、多科联报和组合包规则规则编码、叠加互斥、适用课程、校区、有效期、审批阈值报价单可正确计算并生成分摊明细
财务科目配置收款、预收、课消收入、退费、薪资、报销和内置科目映射科目、辅助核算、校区、项目、部门凭证可生成并写入测试账套
多账套会计按校区初始化独立账套、会计期间、凭证字、科目和税务参数账套编码、法人主体、校区、期间、税种、申报模板校区账套可独立记账,总部可汇总和复核
监管账户维护资金监管账户和教育局监管平台参数账户编号、校区映射、接口地址、证书、回调合同、收款、课消、退费可报送测试
设备参数登记人脸考勤机设备和校区绑定设备编号、位置、API 密钥、心跳阈值、识别阈值设备心跳正常且可接收人员下发
设备闭环交付配置初始化补齐设备下发回执、低置信度识别、重复识别、人工复核、自动签到和课消联动。所需的页面入口、功能开关、审批流、消息模板、状态枚举、异常原因和角色权限设备列表、人员下发、识别流水、考勤异常识别异常可人工确认,确认后同步教务考勤和课消状态。
隐私撤回交付配置初始化补齐撤回申请、家长确认、设备删除任务、失败重试、离线延迟删除和审计记录。所需的页面入口、功能开关、审批流、消息模板、状态枚举、异常原因和角色权限人脸授权详情、撤回任务、设备回执撤回后所有关联设备都有删除结果或人工处理记录。
运维联动交付配置初始化补齐离线告警、维修工单、资产状态、恢复校验和影响课次范围。所需的页面入口、功能开关、审批流、消息模板、状态枚举、异常原因和角色权限设备告警、维修工单、资产详情设备恢复后可自动回测签到、直播或录像相关能力。