必经之路

抄一部心经,点一盏心灯

用户工具

站点工具


jsb:zhihuidou_tech_info

智慧豆工具方案设计 v1.0

一、成员&权限管理

1、基本定义

1)角色定义:1-高级管理员,2-智慧豆审核员,3-智慧豆录入员

2)模块定义:1001-成员管理菜单,1002-智慧豆管理菜单,1003-版块角色管理

这里的模块即页面菜单栏,前端根据用户权限点列表。展示对应的菜单里。

3)权限数据列表:

菜单模块 权限id 权限点 高级管理员 智慧豆审核员 智慧豆录入员 说明
成员管理菜单(1001) 1001001 查看权限
成员管理菜单(1001) 1001002 编辑权限 操作包括:新建、修改、删除、启用
智慧豆管理菜单(1002) 1002001 智慧豆录入权限 包括:增加智慧豆和扣减智慧豆操作
智慧豆管理菜单(1002) 1002002 智慧豆审核权限列表 审核列表的查询,编辑权限
版块角色管理(1003) 1003001 查看权限
版块角色管理(1003)) 1003002 编辑权限 增、删、改

2、模型设计

2.1 、实体关系

2.2、表结构

2.2.1、后台账户表
字段 类型 唯一性 说明
id bigint Y 主键
nick_name varchar N 必经之路昵称
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 更新时间

问题

  • 目前无法根据学号直接查到志愿者个人信息。因为还没有志愿者个人信息的数据。
2.2.2、角色表
字段 类型 唯一性 说明
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 更新时间
2.2.4、角色与权限点关系表
字段 类型 唯一性 说明
id bigint Y 主键
role_id varchar Y 角色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

2)定义版块和角色是最多三级的层级关系。即:【版块】-【子版块】-【角色】或者【版块】-【角色】

3)角色是最小单位,是具体的岗位。

4)特别说明:福田区打卡任务。版块是【福田区】,角色是【打卡】。具体是什么打卡,通过备注说明。

5)自然村每一期新手村都是一个【子板块】。即,【新手村】-【金刚村001期】-【向导】

5)所有智慧豆录入必须有角色关联。

2、模型设计

2.1、实体关系

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 N 智慧豆数量
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、状态机

说明

  1. 【待审核】—> 【已通过】,重新计算用户智慧豆总数,即原来是录入智慧豆,则加入智慧豆。如果是扣除智慧豆,则扣除智慧豆
  2. 【待审核】—> 【未通过】,不计算用户智慧豆总数
  3. 【已通过】—> 【未通过】,重新计算用户智慧豆总数,即原来是录入智慧豆,则扣除之前录入的智慧豆。如果是扣除智慧豆,则重新加回智慧豆数量
  4. 【未通过】—> 【已通过】,重新计算用户智慧豆总数,即原来是录入智慧豆,则加入智慧豆。如果是扣除智慧豆,则扣除智慧豆
jsb/zhihuidou_tech_info.txt · 最后更改: 2024/07/17 23:20 由 boluo