KMS 模块数据表¶
本文档由
obpm-kms/src/main/java/cn/myapps/kms/下所有 JPA@Entity(及参与映射的@MappedSuperclass)自动整理,覆盖所有KMS_前缀的表。约定: - 复合主键以多个
PK标注。 -@Transient字段不落库,已在表格中排除。 -@Column(name = "...")中显式给出的列名优先;未显式给出的,使用属性名大写形式。 - 关系字段(如@ManyToOne)只列出其实际映射到表的列(通常是外键列,且只读时insertable=false, updatable=false的列仍可视为持久化列)。
KMS_FILEOBJECT¶
文件对象表(由 FileObject 父类 + FileEntity / FolderEntity 子类共同映射到同一张表)。
- FileObject(@MappedSuperclass)提供公共字段;
- FileEntity 贡献 TYPE/URL/ORIGIN_TYPE/ORIGIN_ID/CATEGORYS/CHECKSUM 等文件专有列;
- FolderEntity 复用 TYPE 列(语义不同:文件夹类型)并贡献 MAX_VERSION。
- 复合主键为 ID + VERSION。
| 列名 | Java 类型 | 主键 | 说明 |
|---|---|---|---|
| ID | String | PK | 主键(与 VERSION 构成复合主键) |
| NAME | String | 名称 | |
| CREATOR_ID | String | 创建者 ID | |
| CREATOR | String | 创建者姓名 | |
| CREATE_DATE | Date | 创建时间 | |
| LAST_MODIFY_DATE | Date | 最后修改时间 | |
| DISK_ID | String | 所属文库 ID | |
| DOMAIN_ID | String | 企业域 ID | |
| FOLDER_ID | String | 所属目录 ID | |
| FOLDER | boolean | 是否文件夹(true=文件夹,false=文件) | |
| SIZE | long | 文件大小(字节) | |
| VERSION | int | PK | 版本号(复合主键的一部分) |
| IS_DELETE | boolean | 是否删除 | |
| DELETE_USER | String | 删除人 | |
| IS_HEAD | boolean | 是否为最新版本 | |
| IS_RECYCLE_DELETE | boolean | 是否被回收站删除 | |
| ORDER_NO | int | 排序号 | |
| disk_type | int | 网盘类型(默认 8) | |
| TYPE | String / int | 文件类型(FileEntity 中为 String;FolderEntity 中为 int 文件夹类型) | |
| URL | String | 文件地址(仅 FileEntity) | |
| ORIGIN_TYPE | int | 文件来源类型(1=上传, 2=分享, 3=归档) | |
| ORIGIN_ID | String | 文件源 ID | |
| CATEGORYS | String | 标签(仅 FileEntity) | |
| CHECKSUM | String | 文件内容校验和(MD5,32 位小写十六进制,关联 KMS_FILE_SUMMARY) | |
| MAX_VERSION | int | 最大版本号(仅 FolderEntity) |
备注:
operations、collected、aiEnable、originPlace、categorysJson、views、downloads、position等为@Transient,不落库。
KMS_DISK¶
文库表(部门 KM、团队 KM、Wiki 网盘、个人、新网盘等)。
| 列名 | Java 类型 | 主键 | 说明 |
|---|---|---|---|
| ID | String | PK | 主键 |
| NAME | String | 名称 | |
| TYPE | int | 类型(1=部门, 2=团队, 4=Wiki, 8=个人, 9=新网盘) | |
| DOMAIN_ID | String | 企业域 ID | |
| OWNER_ID | String | 所有者 ID | |
| ORDER_NO | int | 排序号 | |
| VERSION | int | 版本号 |
KMS_FILE_TAGS¶
文件自动标签表(按文件校验和存储自动生成的标签 JSON)。
| 列名 | Java 类型 | 主键 | 说明 |
|---|---|---|---|
| ID | String | PK | 主键 |
| AUTO_TAGS | String | 自动标签(JSON 格式存储) | |
| FILE_CHECKSUM | String | 文件校验和 | |
| DOMAIN_ID | String | 企业域 ID |
KMS_FILE_FAVORITE¶
文件收藏表(用户对文件的收藏关系)。
| 列名 | Java 类型 | 主键 | 说明 |
|---|---|---|---|
| ID | String | PK | 主键 |
| FILE_ID | String | 文件 ID | |
| USER_ID | String | 用户 ID | |
| CREATE_DATE | Date | 创建时间 | |
| DOMAIN_ID | String | 企业域 ID |
KMS_FILE_SUMMARY¶
文件摘要统计表(同内容文件按 checksum 共用一行统计)。
| 列名 | Java 类型 | 主键 | 说明 |
|---|---|---|---|
| ID | String | PK | 主键 |
| FILE_CHECKSUM | String | 文件校验和(与 FileEntity.checksum 对应) | |
| SUMMARY | String (Lob) | 文件摘要内容 | |
| DISK_ID | String | 所属文库 ID | |
| VIEWS | long | 预览次数 | |
| DOWNLOADS | long | 下载次数 | |
| SHARES | long | 分享次数 | |
| FAVORITES | long | 收藏次数 | |
| GOOD | long | 点赞数(好评) | |
| BAD | long | 差评数 | |
| LAST_VIEW_DATE | Date | 最近一次预览时间 | |
| LAST_DOWNLOAD_DATE | Date | 最近一次下载时间 | |
| LAST_SHARE_DATE | Date | 最近一次分享时间 | |
| LAST_COLLECT_DATE | Date | 最近一次收藏时间 | |
| LAST_EDIT_DATE | Date | 最近一次编辑时间 | |
| DOMAIN_ID | String | 企业域 ID |
KMS_OUTSIDE_SHARE¶
外部分享表(通过分享码对外分享文件)。
| 列名 | Java 类型 | 主键 | 说明 |
|---|---|---|---|
| ID | String | PK | 主键 |
| FILE_ID | String | 文件 ID | |
| DURATION | String | 有效期 | |
| CODE | String | 分享码 | |
| CREATE_DATE | Date | 创建时间 | |
| DOMAIN_ID | String | 企业域 ID | |
| SHARE_AUTHOR_ID | String | 分享者 ID |
KMS_SHARE_RECORD¶
内部分享记录表(用户之间的文件分享关系)。
| 列名 | Java 类型 | 主键 | 说明 |
|---|---|---|---|
| ID | String | PK | 主键 |
| FILE_ID | String | 文件 ID | |
| SHARE_AUTHOR_ID | String | 分享者 ID | |
| SHARE_RECEIVE_ID | String | 被分享者 ID | |
| SHARE_RECEIVE_NAME | String | 被分享者姓名 | |
| SHARE_ORIGIN_PLACE | String | 分享文件来源地 | |
| CREATE_DATE | Date | 创建时间 | |
| DOMAIN_ID | String | 企业域 ID |
KMS_FILE_WIKI¶
文件与 Wiki 关联表(按头版本内容校验和关联,记录访问次数)。
| 列名 | Java 类型 | 主键 | 说明 |
|---|---|---|---|
| ID | String | PK | 主键 |
| FILE_CHECKSUM | String | 文件校验和(唯一) | |
| CREATE_DATE | Date | 创建时间 | |
| VIEW_COUNT | long | /view 访问次数 |
KMS_CATEGORY¶
标签分类表(树形结构,支持父级)。
| 列名 | Java 类型 | 主键 | 说明 |
|---|---|---|---|
| ID | String | PK | 主键 |
| NAME | String | 名称 | |
| PARENTID | String | 父级分类 ID | |
| DOMAINID | String | 企业域 ID |
KMS_FILE_CATEGORY_SET¶
文件与标签分类的关联表(多对多)。
| 列名 | Java 类型 | 主键 | 说明 |
|---|---|---|---|
| ID | String | PK | 主键 |
| FILE_ID | String | 文件 ID | |
| CATEGORY_ID | String | 标签分类 ID | |
| DOMAIN_ID | String | 企业域 ID |
KMS_CATEGORY_FILE_COUNT¶
标签文件数量统计表(按标签名聚合的文件计数)。
| 列名 | Java 类型 | 主键 | 说明 |
|---|---|---|---|
| CATEGORY_NAME | String | PK | 标签名(主键) |
| COUNT | int | 统计数 | |
| DOMAIN_ID | String | 企业域 ID |
KMS_LOGS¶
网盘操作日志表(记录用户对文件/目录等资源的操作)。
| 列名 | Java 类型 | 主键 | 说明 |
|---|---|---|---|
| ID | String | PK | 主键 |
| RESOURCE_ID | String | 资源 ID | |
| RESOURCE_NAME | String | 资源名称 | |
| RESOURCE_TYPE | int | 资源类型(1=文件, 2=目录, 4=知识地图) | |
| CREATOR | String | 创建人名称 | |
| CREATOR_ID | String | 创建人 ID | |
| DEPT_ID | String | 部门 ID | |
| DEPT_NAME | String | 部门名称 | |
| CREATE_DATE | Date | 创建时间 | |
| OPERATION_TYPE | int | 操作类型(1=下载, 2=预览, 4=分享, 5=上传, 6=删除, 8=收藏, 9=地图发布, 10=移动) | |
| REGION | int | 归属类型(1=个人, 2=部门, 3=团队) | |
| REGION_NAME | String | 所属领域名称 | |
| DOMAIN_ID | String | 企业域 ID |
KMS_AUTHORIZATION¶
授权信息表(对文件/目录等资源的授权)。
| 列名 | Java 类型 | 主键 | 说明 |
|---|---|---|---|
| ID | String | PK | 主键 |
| DESCRIPTION | String | 资源描述 | |
| SCOPE | int | 授权对象范围(1=用户, 2=部门, 3=部门和用户, 4=角色) | |
| TARGET_ID | String[] | 授权对象 ID 集合(JSON 存储) | |
| TARGET_NAME | String | 授权对象名称集合 | |
| TIME_LIMIT_TYPE | String | 时效类型(1=永久, 2=暂时) | |
| START_DATE | Date | 生效开始时间 | |
| END_DATE | Date | 生效结束时间 | |
| CREATOR_ID | String | 创建者 ID | |
| CREATOR | String | 创建者名称 | |
| CREATE_DATE | Date | 创建时间 | |
| RESOURCE_ID | String | 资源 ID | |
| RESOURCE_TYPE | int | 资源类型(1=文件, 2=目录) | |
| OPERATIONS | int | 操作码(二进制按位与表示拥有的权限) | |
| NO_OPERATIONS | int | 禁止操作码(二进制按位与表示禁止的权限) | |
| DOMAIN_ID | String | 企业域 ID |
KMS_GRANT¶
授权派生表(基于授权信息生成的具体授权项,按用户/部门拆分)。
| 列名 | Java 类型 | 主键 | 说明 |
|---|---|---|---|
| ID | String | PK | 主键 |
| AUTH_ID | String | 授权信息 ID(关联 KMS_AUTHORIZATION) | |
| START_DATE | Date | 开始日期 | |
| END_DATE | Date | 结束日期 | |
| TARGET_DEPARTMENT_ID | String | 目标部门 ID | |
| TARGET_USER_ID | String | 目标用户 ID | |
| OPERATIONS | int | 操作码(二进制按位与表示拥有的权限) | |
| NO_OPERATIONS | int | 禁止操作码(二进制按位与表示禁止的权限) | |
| RESOURCE_ID | String | 资源 ID | |
| DOMAIN_ID | String | 企业域 ID |
KMS_APPLY_AUTHORIZATION¶
授权申请表(用户申请资源访问权限及审批流程)。
| 列名 | Java 类型 | 主键 | 说明 |
|---|---|---|---|
| ID | String | PK | 主键 |
| DESCRIPTION | String | 资源描述 | |
| SCOPE | int | 授权对象范围(1=用户, 2=部门, 3=部门和用户) | |
| TARGET_ID | String[] | 授权对象 ID 集合(JSON 存储) | |
| TARGET_NAME | String | 授权对象名称集合 | |
| TIME_LIMIT_TYPE | String | 时效类型(1=永久, 2=暂时) | |
| START_DATE | Date | 生效开始时间 | |
| END_DATE | Date | 生效结束时间 | |
| CREATOR_ID | String | 创建者 ID(申请人) | |
| CREATOR | String | 创建者名称 | |
| CREATE_DATE | Date | 创建时间 | |
| RESOURCE_ID | String | 资源 ID | |
| RESOURCE_NAME | String | 资源名称 | |
| RESOURCE_TYPE | int | 资源类型(1=文件, 2=目录) | |
| OPERATIONS | int | 操作码(二进制按位与表示拥有的权限) | |
| NO_OPERATIONS | int | 禁止操作码 | |
| STATUS | int | 状态(0=待处理, 1=已处理) | |
| RESULT | Integer | 审批结果(0=拒绝, 1=同意) | |
| FINAL_APPROVE_USER_ID | String | 实际审批人 ID | |
| FINAL_APPROVE_USER | String | 实际审批人姓名 | |
| APPROVE_USER | String | 审批人名称列表 | |
| APPROVE_USER_ID | String | 审批人 ID 列表 | |
| REASON | String | 申请/审批理由 | |
| APPROVE_TIME | Date | 审批时间 | |
| DOMAIN_ID | String | 企业域 ID |
KMS_TEAM¶
团队表(团队知识库的团队信息)。
| 列名 | Java 类型 | 主键 | 说明 |
|---|---|---|---|
| ID | String | PK | 主键 |
| NAME | String | 团队名称 | |
| SERIAL_NUMBER | String | 编号 | |
| DESCRIPTION | String | 描述 | |
| CREATOR_ID | String | 创建者 ID | |
| CREATOR | String | 创建者 | |
| CREATE_DATE | Date | 创建日期 | |
| DEPT_PERMISSION | String | 部门权限(字符串形式) | |
| COMP_PERMISSION | String | 公司权限(字符串形式) | |
| DISK_ID | String | 关联网盘 ID | |
| IS_DELETE | boolean | 是否删除 | |
| DOMAIN_ID | String | 租户(企业域)ID |
备注:
members、subscription、deptPermission、compPermission为@Transient,不落库。
KMS_MEMBER¶
团队成员表(团队成员与团队的归属关系)。
| 列名 | Java 类型 | 主键 | 说明 |
|---|---|---|---|
| ID | String | PK | 主键 |
| NAME | String | 成员姓名 | |
| TYPE | int | 成员类型(0=普通成员, 1=管理员) | |
| TEAM_ID | String | 相关团队 ID | |
| USER_ID | String | 用户 ID | |
| DOMAIN_ID | String | 企业域 ID |
KMS_SEARCHWORD¶
查询关键字历史表(用户的搜索记录)。
| 列名 | Java 类型 | 主键 | 说明 |
|---|---|---|---|
| ID | String | PK | 主键 |
| CONTENT | String | 搜索内容 | |
| CREATOR_ID | String | 创建者 ID | |
| CREATOR | String | 创建者姓名 | |
| CREATE_DATE | Date | 创建日期 | |
| DOMAIN_ID | String | 企业域 ID |
KMS_FILE_KEYWORD¶
文件与关键词关联表(文件关键词索引)。
| 列名 | Java 类型 | 主键 | 说明 |
|---|---|---|---|
| ID | String | PK | 主键 |
| KEYWORD_ID | String | 关键词 ID(关联 KMS_KEYWORD) | |
| FILE_CHECKSUM | String | 文件校验和 | |
| CREATE_DATE | Date | 创建时间 |
唯一约束:
KEYWORD_ID + FILE_CHECKSUM。
KMS_KEYWORD¶
KMS 关键词表(关键词字典)。
| 列名 | Java 类型 | 主键 | 说明 |
|---|---|---|---|
| ID | String | PK | 主键 |
| CONTENT | String | 关键词内容 | |
| COUNT | Integer | 出现次数 | |
| TYPE | String | 关键词类型 | |
| CREATE_DATE | Date | 创建时间 |
唯一约束:
CONTENT + TYPE。
KMS_WIKI_CONCEPT_ENTRY¶
Wiki 概念词条表(Wiki 中的概念条目)。
| 列名 | Java 类型 | 主键 | 说明 |
|---|---|---|---|
| ID | String | PK | 主键 |
| CATEGORY_ID | String | 所属分类 ID(关联 KMS_WIKI_CONCEPT_CATEGORY) | |
| ENTRY_NAME | String | 词条名称(唯一) | |
| ENTRY_ALIAS | String | 词条别名 | |
| DESCRIPTION | String | 描述 | |
| OWNER | String | 负责人 | |
| VIEW_COUNT | int | 浏览次数 | |
| STATUS | int | 状态(0=草稿, 1=正常, 2=废弃) | |
| CREATE_DATE | Date | 创建时间 | |
| UPDATE_DATE | Date | 更新时间 | |
| IS_TOP | boolean | 是否置顶 | |
| TOP_SORT | int | 置顶排序值(数字越大越靠前) |
KMS_WIKI_CONCEPT_CATEGORY¶
Wiki 概念分类表(Wiki 词条分类)。
| 列名 | Java 类型 | 主键 | 说明 |
|---|---|---|---|
| ID | String | PK | 主键 |
| CATEGORY_NAME | String | 分类名称 | |
| DESCRIPTION | String | 描述 | |
| SORT_NUM | int | 排序号 | |
| STATUS | int | 状态(0=禁用, 1=正常) | |
| CREATE_DATE | Date | 创建时间 |
KMS_S3_CREDENTIAL¶
S3 兼容访问密钥表(rclone / S3 访问凭据,Secret 以密文存储)。
| 列名 | Java 类型 | 主键 | 说明 |
|---|---|---|---|
| ID | String | PK | 主键 |
| ACCESS_KEY | String | 访问密钥(唯一) | |
| SECRET_CIPHER | String | 加密后的 SecretAccessKey(AES-GCM,Base64 存储) | |
| USER_ID | String | 用户 ID | |
| DOMAIN_ID | String | 企业域 ID | |
| ACTIVE | boolean | 是否启用(默认 true) | |
| REMARK | String | 备注 | |
| CREATE_DATE | Date | 创建时间 |
KMS_S3_MULTIPART¶
S3 分片上传会话表(与 S3 UploadId 对应)。
| 列名 | Java 类型 | 主键 | 说明 |
|---|---|---|---|
| ID | String | PK | 主键 |
| UPLOAD_ID | String | 分片上传 ID(唯一,对应 S3 UploadId) | |
| DISK_ID | String | 所属文库 ID | |
| OBJECT_KEY | String | 对象键(对象存储路径) | |
| USER_ID | String | 用户 ID | |
| CREATE_DATE | Date | 创建时间 |
附:未映射为独立表的模型¶
以下模型虽位于 cn.myapps.kms.*.model 包下,但**不是** @Entity,不产生独立的 KMS_ 表,列出以供参考:
FileObject(@MappedSuperclass):抽象父类,字段合并进KMS_FILEOBJECT。KeywordCooccurrence/KeywordCooccurrenceWeight:Javarecord,用于查询投影/计算,无对应表。