Browse Source

:memo: 字典初步设计

visuddhinanda 4 years ago
parent
commit
0b0306c4a4
5 changed files with 219 additions and 39 deletions
  1. 68 0
      documents/zh/api/dict.md
  2. 1 0
      documents/zh/api/palicanon.md
  3. 50 14
      documents/zh/api/share.md
  4. 64 5
      documents/zh/api/user.md
  5. 36 20
      documents/zh/api/wbw.md

+ 68 - 0
documents/zh/api/dict.md

@@ -0,0 +1,68 @@
+# 用户字典
+```table
+CREATE TABLE user_wbw_dicts (
+    id SERIAL PRIMARY KEY,
+    pali        TEXT    NOT NULL,
+    type        TEXT,
+    gramma      TEXT,
+    parent      TEXT,
+    mean        TEXT,
+    note        TEXT,
+    factors     TEXT,
+    factormean  TEXT,
+    status      INTEGER,
+    lang    VARCHAR(8),
+    confidence  INTEGER DEFAULT (100),
+    creator     INTEGER NOT NULL,
+    ref_counter INTEGER DEFAULT (1) 
+    created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
+    updated_at TIMESTAMP NOT NULL
+
+);
+
+```
+
+PUT /api/dict/user
+
+body
+```
+{
+    pali:
+    type:
+    gramma:
+    parent:
+    mean:
+    note:
+    factors:
+    factormean:
+    lang:
+    confidence:
+}
+```
+>提交时查重。如果    pali:
+    type:
+    gramma:
+    parent:
+    mean:
+    note:
+    factors:
+    factormean:
+合在一起有重复,就、改变引用次数。没有重复,添加新纪录。
+
+# 用户字典引用索引
+```table
+CREATE TABLE user_wbw_dict_indexs (
+    id SERIAL PRIMARY KEY,
+    word_index  INTEGER NOT NULL,
+    user_id     INTEGER NOT NULL,
+    created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
+);
+```
+
+# 系统字典+第三方字典
+
+
+# 参考字典
+
+
+# 参考字典索引

+ 1 - 0
documents/zh/api/palicanon.md

@@ -35,3 +35,4 @@
 - `progress`: int 章节译文完成度  0-100
 - `trans_title` string, 根据lang查找对应的标题 如果没有查询到 无该变量
 
+## 

+ 50 - 14
documents/zh/api/share.md

@@ -2,28 +2,64 @@
 
 ```table
 CREATE TABLE share_cooperator (
-    id              INTEGER      PRIMARY KEY AUTOINCREMENT,
-    res_id          VARCHAR (36),
+    id SERIAL PRIMARY KEY,
+    res_id          INTEGER NOT NULL,
+    res_uuid          VARCHAR (36),
     res_type        INTEGER,
-    cooperator_id   VARCHAR (36),
-    cooperator_type INTEGER,
-    right           INTEGER,
-    create_at     INTEGER NOT NULL,
-    update_at     INTEGER NOT NULL,
-    delete_at      INTEGER
+    cooperator_id   INTEGER NOT NULL,
+    cooperator_uuid   VARCHAR (36),
+    cooperator_type INTEGER NOT NULL,
+    right           INTEGER NOT NULL DEFAULT 0,
+    version INTEGER NOT NULL DEFAULT 0,
+    created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
+    updated_at TIMESTAMP NOT NULL
 );
 ```
+分享资源给用户或者群组。
+
+`res_id` 资源id 原来的表中是uuid 导入后改为 int
+
+`res_type` 资源类型 
+1. channel
+2. wbw doc
+3. article
+4. collection
+   
+`cooperator_id` 用户或工作组id
+
+`cooperator_type` 
+1. 用户
+2. 工作组
+
+`right` 权限
+1. 只读
+2. 可写
+3. 拥有者
+
+
+
 
 ```table
 CREATE TABLE share_link (
-    id          INTEGER      PRIMARY KEY AUTOINCREMENT,
+    id SERIAL PRIMARY KEY,
     link_id     VARCHAR (36) UNIQUE,
-    res_id      VARCHAR (36),
+    res_id      INTEGER NOT NULL,
     res_type    INTEGER,
-    power       INTEGER,
-    create_at     INTEGER NOT NULL,
-    update_at     INTEGER NOT NULL,
-    delete_at      INTEGER
+    right       INTEGER,
+    version INTEGER NOT NULL DEFAULT 0,
+    created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
+    updated_at TIMESTAMP NOT NULL
 );
 ```
 
+分享资源链接
+
+`link_id` uuid
+
+`res_id` 资源id 原来的表中是uuid 导入后改为 int
+
+`res_type` 资源类型 
+1. channel
+2. wbw doc
+3. article
+4. collection

+ 64 - 5
documents/zh/api/user.md

@@ -1,5 +1,5 @@
-## 用户认证
-### user
+# 用户
+## users
 用户信息
 ```
 CREATE TABLE user_info (
@@ -39,11 +39,11 @@ INTEGER 服务器收到此数据时间
 #### `setting`
 TEXT 用户设置 json 数据
 
-### profile
+## profile
 用户简历
 ```
 CREATE TABLE user_profile (
-    id        INTEGER   PRIMARY KEY AUTOINCREMENT,
+    id SERIAL PRIMARY KEY,
     user_id   CHAR (36),
     bio       TEXT,
     lang      CHAR (8),
@@ -62,4 +62,63 @@ TEXT
 #### `isdefault`
 是否是默认记录。
 #### `email`
-电邮地址
+电邮地址
+
+## 编辑记录索引active_index
+用户行为记录。以日期计算的使用与编辑有关功能的时间和操作次数
+```table
+CREATE TABLE active_index (
+    id SERIAL PRIMARY KEY,
+    user_id  INTEGER NOT NULL,
+    user_uuid  VARCHAR (36),
+    date     TIMESTAMP NOT NULL,
+    duration INTEGER NOT NULL,
+    hit      INTEGER NOT NULL 
+);
+```
+`date` 日期
+
+`duration` 持续时间 毫秒
+
+`hit` 操作次数
+
+## 编辑记录edit_records
+```table
+CREATE TABLE edit_records (
+    id SERIAL PRIMARY KEY,
+    user_id  INTEGER NOT NULL,
+    user_uuid  VARCHAR (36),
+    start_at    TIMESTAMP,
+    end_at    TIMESTAMP,
+    duration INTEGER,
+    hit      INTEGER   DEFAULT (0),
+    timezone INTEGER   DEFAULT (0) 
+);
+```
+
+## 编辑行为记录
+```table
+CREATE TABLE active_log (
+    id SERIAL PRIMARY KEY,
+    user_id  INTEGER NOT NULL,
+    active   INTEGER NOT NULL,
+    content  TEXT,
+    timezone INTEGER,
+    created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
+);
+```
+
+只添加不删除
+
+### api
+PUT /api/useractive/log
+
+body:
+```
+{
+    active:aid,
+    content:text,
+    timezone:timezone,
+}
+```
+

+ 36 - 20
documents/zh/api/wbw.md

@@ -2,19 +2,24 @@
 ### wbw_block
 ```
 CREATE TABLE wbw_block (
-    id             UUID    PRIMARY KEY,
+    id SERIAL PRIMARY KEY,
+    uuid           VARCHAR(36),
     parent_id      UUID,
+    channal_id     INTEGER NOT NULL,
     channal        UUID,
+    parent_channel_id INTEGER NOT NULL,
     parent_channel UUID,
+    owner_id       INTEGER NOT NULL,
     owner          UUID,
-    book           INTEGER,
-    paragraph      INTEGER,
+    book           INTEGER  NOT NULL  DEFAULT 0,
+    paragraph      INTEGER  NOT NULL  DEFAULT 0,
     style          VARCHAR (16),
     lang           VARCHAR (8),
     status         INTEGER,
-    update_time  INTEGER,
-    delete_time  INTEGER,
-    create_time  INTEGER
+    deleted_at TIMESTAMP,
+    version INTEGER NOT NULL DEFAULT 0,
+    created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
+    updated_at TIMESTAMP NOT NULL
 );
 ```
 #### `parent_id`
@@ -31,31 +36,42 @@ channel
 段落号
 
 
-### wbw-data
+### 逐词解析数据 wbw-data
 ```
-CREATE TABLE wbw_data (
-    id           UUID PRIMARY KEY,
-    block_id     UUID,
-    book         INTEGER,
-    paragraph    INTEGER,
-    wid          INTEGER,
+CREATE TABLE wbw_datas (
+    id SERIAL PRIMARY KEY,
+    block_id     INTEGER NOT NULL,
+    block_uuid     VARCHAR(36),
+    book         INTEGER NOT NULL,
+    paragraph    INTEGER NOT NULL,
+    wid          INTEGER NOT NULL,
     word         TEXT,
-    data         XML,
+    data         TEXT,
     status       INTEGER,
-    owner        UUID,
-    update_time  INTEGER,
-    delete_time  INTEGER,
-    create_time  INTEGER
+    owner_id     INTEGER NOT NULL,
+    owner        VARCHAR(36),
+    deleted_at TIMESTAMP,
+    version INTEGER NOT NULL DEFAULT 0,
+    created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
+    updated_at TIMESTAMP NOT NULL
 );
 
 ```
-#### `block_id`
+
+`id` 原表uuid 不需要导入因为没有其他表链接到这个id
+
+`block_id`
 与wbw_block表关联的字段
-#### `data`
+
+`data`
 单词数据 xml格式
 
+
 ### API
 GET api/wbw/:channel/:book/:para/
+
 PUT api/wbw/:channel/:book/:para/
+
 POST api/wbw/:channel/:book/:para/
+
 DELETE api/wbw/:channel/:book/:para/