必经之路

抄一部心经,点一盏心灯

用户工具

站点工具


jsb:zhihuidou_tech_info

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
后一修订版
前一修订版
jsb:zhihuidou_tech_info [2024/07/14 22:44] – [智慧豆数据库设计] boluojsb:zhihuidou_tech_info [2024/07/17 23:20] (当前版本) – [表] boluo
行 1: 行 1:
-## 智慧豆工具方案设计+# 智慧豆工具方案设计 v1.0
  
-### 一、模型关系+## 一、成员&权限管理
  
-{{:jsb:智慧豆数据库设计.png|}}+### 1、基本定义
  
 +1)角色定义:1-高级管理员,2-智慧豆审核员,3-智慧豆录入员
  
-### 二、表结构+2)模块定义:1001-成员管理菜单,1002-智慧豆管理菜单,1003-版块角色管理
  
-**1、用户智慧豆**+这里的模块即页面菜单栏,前端根据用户权限点列。展示对应的菜单里。
  
-^ 字段         ^ 类型   ^ 说明      ^ +3)权限据列表:
-| id          | Long   | 主键id    | +
-| user\_no     | String | 学号      | +
-| bean\_total  | Int    | 智慧豆量 |+
  
-> 记每个同学拥智慧豆总数。+^ 菜单模块           ^ 权限id    ^ 权限点       ^ 高级管理员 ^ 智慧豆审核员 ^ 智慧豆入员 ^ 说明               ^ 
 +| 成员管理菜单(1001)   | 1001001 | 查看权限      | 有     | 无      | 无      |                  | 
 +| 成员管理菜单(1001)   | 1001002 | 编辑权限      | 有     | 无      | 无      | 操作包括:新建、修改、删除、启用 | 
 +智慧豆管理菜单(1002)  | 1002001 | 智慧豆录入权限   | 有     | 无      | 有      | 包括:增加智慧豆和扣减智慧豆操作 | 
 +| 智慧豆管理菜单(1002)  | 1002002 | 智慧豆审核权限列表 | 有     | 有      | 无      | 审核列表的查询,编辑权限     | 
 +| 版块角色管理(1003)  | 1003001 | 查看权限      | 有     | 有      | 有      |                  | 
 +| 版块角色管理(1003)) | 1003002 | 编辑权限      | 有     | 无      | 无      | 增、删、改            |
  
 +### 2、模型设计
  
  
-**2、智慧豆明细表**+#### 2.1 实体关系 
 +{{:jsb:2.png?600|}}
  
-^ 字段        ^ 类型   ^ 说明                                   ^ 
-| id          | Long   | 主键id                                 | 
-| user\_no     | String | 学号                                   | 
-| amount      | Int    | 智慧豆数量                             | 
-| type        | Int    | 0:转入,1:花费                       | 
-| job\_id      | string | 当type=0时,表示从哪个任务获得的智慧豆 | 
-| desc        | String | 描述信息                               | 
-| create\_time | Date   | 创建时间                               | 
  
-> 记录学生的智慧豆来源和消耗明细+#### 2.2、表结构
  
-  +###### 2.2.1后台账户
-**3版块(section)**+
  
-^ 字段 ^ 类型   ^ 说明             +^ 字段         ^ 类型      ^ 唯一性  ^ 说明                          
-| id   Long   | 版块id           +| id           | bigint    | Y       | 主键                          | 
-name String 版块名           +| nick\_name   | varchar   | N       | 必经之路昵称                  | 
-type Int    | 新手村、福田区等 |+| phone\_no    | varchar   | Y       | 手机号                        | 
 +| user\_no     | varchar   | Y       | 必经之路学号                  | 
 +| role\_id     | varchar   | N       | 角色id                        
 +password     varchar   N       | 密码                          
 +status       int       N       | 状态:0未启用,1已启用        | 
 +| is\_deleted  | int       | N       | 是否已删除:0未删除,1已删除 
 +| ctime        | datetime  | N       | 创建时间                      | 
 +| mtime        | datetime  | N       | 更时间                      |
  
-> 各个版块信息。有一个疑,每一期自然村是一个版块,还是都属于一个版块?我理解,每一期自然村是一个版块+【**题**】
  
-**4、角色表**+  目前无法根据学号直接查到志愿者个人信息。因为还没有志愿者个人信息的数据。
  
-^ 字段        ^ 类型   ^ 说明                   ^ +###### 2.2.2角色表
-| id          | Long   | 任务id                 | +
-| name        | String | 任务名                 | +
-| bean\_amount | Int    | 该任务对应的智慧豆数量 | +
-| section\_id  | Int    | 对应的板块。           | +
-| type        | Int    | 向导翻译、           |+
  
-> 每个版块下的各个角色信息。我更倾向于把这个表叫做任务表。目前我理解下来,角色和任务是两个概念。角色通常都对应了任务,但是任务也可以没有角色。简单设计,可以通通都当成任务处理。+^ 字段       ^ 类型       ^ 唯一性 ^ 说明   ^ 
 +| id       | bigint   | Y   | 主键   | 
 +| role\_id | varchar  | Y   角色id | 
 +| name     | varchar  | Y   角色名称 | 
 +| ctime    | datetime | N   | 创建时间 | 
 +| mtime    | datetime | N   | 更新时间 |
  
 +###### 2.2.3、权限点表
  
 +^ 字段            ^ 类型     ^ 唯一性 ^ 说明    ^
 +| id             | bigint   | Y   | 主键    |
 +| function\_id   | varchar  | N   | 模块id  |
 +| permission\_id | varchar  | Y   | 权限id  |
 +| name           | varchar  | Y   | 权限点名称 |
 +| ctime          | datetime | N   | 创建时间  |
 +| mtime          | datetime | N   | 更新时间  |
  
-**5用户角色担任记录**+###### 2.2.4、角色与权限点关系
  
-^ 字段    ^ 类型   ^ 说明   ^ +^ 字段             ^ 类型     ^ 唯一性 ^ 说明 
-| id      | Long   | 主键id | +| id             | bigint   | Y   | 主键   | 
-| user\_no | String | 学号   | +| role\_id       | varchar  | Y   | 角色id | 
-| job\_id  | Int    务id |+| permission\_id | varchar  | N   | 权限id | 
 +| ctime          | datetime | N   | 创建时间 | 
 +| mtime          | datetime | N   | 更新时间 | 
 + 
 +## 二、版块和角色管理 
 + 
 +### 1、基本定义 
 + 
 +1)版块角色表格:[https://doc.weixin.qq.com/sheet/e3\_Ab0AnQb8ADwvjvkPucESUGBng3SrG?scode\=ANgA\_QeGAA8Ebz010uAb0AnQb8ADw\&force\_open\_in\_wx\=1](https://doc.weixin.qq.com/sheet/e3_Ab0AnQb8ADwvjvkPucESUGBng3SrG?scode=ANgA_QeGAA8Ebz010uAb0AnQb8ADw\&force_open_in_wx=1 "dfd"
 + 
 +2)定义版块和角色是最多**三级**的层级关系。即:【版块】-【子版块】-【角色】或者【版块】-【角色】 
 + 
 +3)角色是最小单位,是具体的岗位。 
 + 
 +4)**特别说明**:福田区打卡任务。版块是【福田区】,角色是【打卡】。具体是什么打卡,通过备注说明。 
 + 
 +5)自然村每一期新手村都是一个【子板块】。即,【新手村】-【金刚村001期】-【向导】 
 + 
 +5)所有智慧豆录入必须有角色关联。 
 + 
 +### 2、模型设计 
 + 
 +#### 2.1、实体关系 
 + 
 +{{:jsb:45.png?400|}} 
 + 
 + 
 +#### 2.2、表结构 
 + 
 +###### 2.2.1、版块表(department) 
 + 
 +^ 字段        ^ 类型       ^ 唯一性 ^ 说明               ^ 
 +| id         | bigint   | Y   | 主键                 | 
 +| name       | varchar  | Y   | 版块名称               | 
 +| type       | int      | N   | 版块类型:1:一级版块,2:二级版块 | 
 +| parent\_id | bigint   | N   | 上级版块id             | 
 +| ctime      | datetime | N   | 创建时间               | 
 +| mtime      | datetime | N   | 更新时间               | 
 + 
 +【**说明**】 
 + 
 +1.  版块表,包含1级版块和2级版块。 
 + 
 +2.  版块表数据,系统上线后,数据库直接初始化当前必经之路所有的版块。后台暂不支持录入。后续新增版块信息需要技术支持。 
 + 
 +3.  新手村的自然村是二级版块。每一期新手村的2级版块都需技术录入。比较麻烦。 
 + 
 +4.  版块名称必须有实际的业务含义,且不可重复。因为版块名称即是版块的唯一标识。 
 + 
 +###### 2.2.2、角色表(job) 
 + 
 +^ 字段                ^ 类型      ^ 唯一性 ^ 说明                               
 +| id                 | bigint   | Y   | 主键                                 | 
 +| name               | varchar  | Y   | 岗位名称                               | 
 +| department\_id     | bigint   | N   | 版块id                               | 
 +| bean\_amount       | int        | 智慧豆数量                              | 
 +| payment\_frequency | int      | N   | 与bean\_count字段搭配使用。结算频率:0、每次  1、每月 | 
 +| description        | varchar  | N   | 岗位介绍                               | 
 +| ctime              | datetime | N   | 创建时间                               | 
 +| mtime              | datetime | N   | 更新时间                               | 
 + 
 +【**说明**】 
 + 
 +1.  角色,即必经之路的各个具体岗位(工作)。 
 + 
 +2.  角色都有对应的智慧豆奖励,仅供智慧豆录入人员参考。智慧豆录入的时候,不会用角色里的智慧豆数量去做强校验。 
 + 
 +3.  角色名也是角色类型区分的标识。所以,表里不会有类型字段。 
 + 
 +4.  角色与板块关联。同一板块下的角色名不可重复。 
 + 
 +## 三、智慧豆管理 
 + 
 +### 1、表结构 
 + 
 +###### 1.1、用户智慧豆账户表 
 + 
 +^ 字段      ^ 类型     ^ 唯一性   ^ 说明    ^ 
 +| id          | bigint      | Y     | 主键id       | 
 +| name    | varchar | N | 必经之路昵称 
 +| user\_no    | varchar     | Y     | 必经之路学号     | 
 +| bean\_total | Int         | N     | 智慧豆数量      | 
 +| ctime       | datetime    | N     | 创建时间       | 
 +| mtime       | datetime    | N     | 更新时间       | 
 + 
 +【**说明**】 
 + 
 +1.  每位同学的智慧豆总数,查此表 
 + 
 +2.  智慧豆录入(扣除)时,会更新此表 
 + 
 +3.  该表与智慧豆明细表联动更新。 
 + 
 +###### 1.2、智慧豆明细表 
 + 
 +^ 字段       ^ 类型   ^ 唯一性 ^ 说明                   ^ 
 +| id            | bigint   | Y   | 主键id                      | 
 +| user\_no      | String   | N   必经之路学号                    | 
 +| bean\_amount  | Int      | N   | 智慧豆数量                     | 
 +| type          | Int      | N   | 0:录入,1:扣除                 
 +| job\_id       | bigint   | N   | 当type\=0时,表示从哪个角色工作获得的智慧豆 | 
 +| job\_num      | Int      N   | 岗位服次数                    | 
 +| job\_time     | datetime | N   | 在岗时间                      | 
 +| description   | String   | N   | 描述信息                      | 
 +| audit\_status | int      | N   | 审核状态。0:待审核,1:已通过,2:未通过    | 
 +| ctime         | datetime | N   | 创建时间                      | 
 +| mtime         | datetime | N   | 更新时间                      | 
 + 
 +【**说明**】 
 + 
 +1.  在岗时间是不是需要开始时间和结束时间。 
 + 
 +2.  录入智慧豆必须关联一个岗位id(角色) 
 + 
 +3.  扣除智慧豆,没有关联岗位。目前只能通过`description`字段说明。 
 + 
 +### 2、智慧豆审核 
 + 
 +###### 2.1、状态机 
 + 
 +{{:jsb:3.png?400|}} 
 + 
 + 
 +【**说明**】 
 + 
 +1.  【待审核】---> 【已通过】,重新计算用户智慧豆总数,即原来是录入智慧豆,则加入智慧豆。如果是扣除智慧豆,则扣除智慧豆 
 + 
 +2.  【待审核】---> 【未通过】,不计算用户智慧豆总数 
 + 
 +3.  【已通过】---> 【未通过】,重新计算用户智慧豆总数,即原来是录入智慧豆,则扣除之前录入的智慧豆。如果是扣除智慧豆,则重新加回智慧豆数量 
 + 
 +4.  【未通过】---> 【已通过】,重新计算用户智慧豆总数,即原来是录入智慧豆,则加入智慧豆。如果是扣除智慧豆,则扣除智慧豆
  
-> 记录用户在必经之路各个岗位的明细。这个表跟智慧豆工具可能关系不大,应该属于个人档案这块。 
  
jsb/zhihuidou_tech_info.1720968264.txt.gz · 最后更改: 2024/07/14 22:44 由 boluo