From 22f370322412074174cde20ecfd14ec03657ab63 Mon Sep 17 00:00:00 2001
From: lyg <1543117173@qq.com>
Date: 星期一, 07 七月 2025 16:20:25 +0800
Subject: [PATCH] 生成数据库

---
 knowledgebase/doc/models.py |   33 +++++++++++++++++++++++++++++++--
 1 files changed, 31 insertions(+), 2 deletions(-)

diff --git a/knowledgebase/doc/models.py b/knowledgebase/doc/models.py
index 4749fee..c4daaf5 100644
--- a/knowledgebase/doc/models.py
+++ b/knowledgebase/doc/models.py
@@ -6,6 +6,7 @@
 # @description: 鏂囨。鐩稿叧鏁版嵁绫�
 from dataclasses import dataclass
 import typing
+from enum import Enum
 
 from knowledgebase.db.doc_db_models import TEntity
 
@@ -22,8 +23,11 @@
         num_level: int - 鍒楄〃搴忓彿绾у埆锛�0琛ㄧず姝f枃
         num: int - 鍒楄〃搴忓彿锛屽鏋滄槸鍒楄〃
         children: typing.List[ParagraphInfo] - 瀛愭钀藉垪琛�
-        refs: 寮曠敤鏂囨。
+        refs: 寮曠敤鍒楄〃
+        entities: 瀹炰綋璇嶅垪琛�
+        is_toc: 鏄惁鏄洰褰曟爣蹇�
     """
+    id: int
     text: str
     title_level: int
     title_num: str
@@ -32,6 +36,15 @@
     children: typing.List
     refs: typing.List
     entities: typing.List[TEntity]
+    is_toc: bool
+
+    @property
+    def title(self):
+        if self.title_level:
+            text = self.full_text
+            idx = text.index('\n')
+            return text[0:idx]
+        return ''
 
     @property
     def full_text(self):
@@ -60,7 +73,7 @@
                 full_text = full_text + "\n" + child.full_text_with_children
         return full_text
 
-    def __init__(self, text: str, title_level: int, num=0, num_level=0):
+    def __init__(self, text: str, title_level: int, num=0, num_level=0, is_toc=False):
         """
         娈佃惤淇℃伅
 
@@ -69,6 +82,7 @@
             title_level: int - 娈佃惤绾у埆锛�1-9绾ф爣棰橈紝0琛ㄧず姝f枃
             num: int - 鍒楄〃搴忓彿
             num_level: int - 鍒楄〃搴忓彿绾у埆
+            is_toc: bool - 鏄惁鏄洰褰�
         """
         self.text = text
         self.title_level = title_level
@@ -77,6 +91,9 @@
         self.num_level = num_level
         self.children: typing.List[ParagraphInfo] = []
         self.entities: typing.List[TEntity] = []
+        self.refs: typing.List[ParagraphInfo] = []
+        self.is_toc = is_toc
+        self.id = 0
 
     def __str__(self):
         return f"{self.full_text}"
@@ -115,3 +132,15 @@
         self.file = file
         self.file_type = file_type
         self.paragraphs: typing.List[ParagraphInfo] = paragraphs
+
+
+class _DocType:
+    tm_outline = '閬ユ祴澶х翰'
+    user_requirements = '鐢ㄦ埛闇�姹�'
+    tm_pkt_design = '婧愬寘璁捐'
+    bus_comm_proto = '鎬荤嚎閫氫俊鍗忚'
+    tc_format = '鎸囦护鏍煎紡'
+    tc_cmd_table = '閬ユ帶鎸囦护琛�'
+
+
+DocType = _DocType()

--
Gitblit v1.9.1