### 数据库设计 PS: + 数据库所有字段均待定,后续可能会对某些字段进行删除,或者新增一些字段,尽量做成可维护的接口 + 所有的表之间,关联性尽量不要做的那么强,适当解耦,不然可维护性不高 #### 角色权限 ##### user PS:`用户表` msg:*包含所有用户* | 字段 | 类型 | 注释 | | ---------------------- | -------- | -------------------------- | | user_id | int | 用户id | | username | varchar | 用户名 | | password | varchar | 密码 | | address | varchar | 地址 | | phone | varchar | 电话 | | email | varchar | 电子邮箱 | | age | int | 年龄 | | signature | varchar | 签名 | | sex | varchar | 性别 | | avatar | varchar | 头像 | | nack_name | varchar | 昵称 | | enabled | int | 账户是否可用(1可用,0) | | account_no_expired | int | 账户是否过期(1可用,0) | | credentials_no_expired | int | 密码是否过期(1可用,0) | | recommend | int | 账户是否被推荐(1推荐,0) | | account_no_locked | int | 账户是否被锁定(1可用,0) | | create_time | datetime | 创建时间 | | description | varchar | 个人简介 | ##### role PS:`角色表` msg:*包含所有的角色,目前有三个* | 字段 | 类型 | 注释 | | --------- | ------- | -------- | | id | int | 角色id | | role_name | varchar | 角色名称 | | remark | varchar | 标记 | ##### permissions PS:`权限表` msg:*所有的权限,具体到每一个功能* | 字段 | 类型 | 解释 | | ----------- | ------- | ---------------------- | | id | int | 权限id | | pid | int | 权限的父id | | name | varchar | 名称 | | code | varchar | 编码 | | type | int | 0为菜单,1为权限 | | delete_flag | tinyint | 0代表未删除,1代表删除 | ##### role_user PS:`角色用户表` msg:*给用户分配角色* | 字段 | 类型 | 解释 | | ---- | ---- | ------ | | uid | int | 用户id | | rid | int | 角色id | ##### role_permissions PS:`角色权限表` msg:*每个角色对应很多权限* | 字段 | 类型 | 解释 | | ---- | ---- | ------ | | rid | int | 角色id | | pid | int | 权限id | #### 轮播图(可选) msg:*主页第一部分展示内容* ##### carousel PS:`轮播图表` | 字段 | 类型 | 解释 | | ------------- | -------- | -------------- | | id | id | 轮播图id | | image | varchar | 图片路径或字符 | | title | varchar | 标题 | | description | varchar | 描述 | | display_order | int | 展示顺序 | | is_active | int | 是否展示 | | create_time | datetime | 创建时间 | | update_time | datetime | 更新时间 | | author | varchar | 作者 | #### 团队信息(字段暂定) msg:团队信息展示 ##### teamInfo PS:`团队信息表` | 字段 | 类型 | 解释 | | ----------- | ------- | -------- | | id | int | 团队id | | name | varchar | 团队名称 | | count | int | 团队人数 | | description | text | 团队简介 | #### 项目(慢一点) msg:*主要在项目展示页面* ##### project PS:`项目内容表` | 字段 | 类型 | 解释 | | ---------------- | -------- | ---------------- | | id | int | 项目id | | project_name | varchar | 项目名称 | | signature | varchar | 签名 | | description | text | 描述 | | core_code_md | varchar | 核心代码文件 | | github_http | varchar | github的http链接 | | github_ssh | varchar | github的ssh链接 | | create_time | datetime | 创建时间 | | update_time | datetime | 更新时间 | | difficulty_level | int | 难度等级 | | type | varchar | 类型 | | reward | varchar | 报酬 | | status | int | 状态 | ##### user_project PS:`用户项目表` | 字段 | 类型 | 解释 | | ---- | ---- | ------ | | uid | int | 用户id | | pid | int | 项目id | #### 新闻 ##### news PS:`新闻内容表` | 字段 | 类型 | 解释 | | ----------- | -------- | ------------------ | | id | int | id | | title | varchar | 标题 | | content | text | 内容 | | create_time | datetime | 创建时间 | | update_time | datetime | 更新时间 | | tags | varchar | 标签(项目,通知) | | status | int | 状态 | | likes | int | 点赞数(后面用) | | comments | int | 评论数(后面用) | ##### news_user PS:`新闻作者表` | 字段 | 类型 | 解释 | | ---- | ---- | ------ | | uid | int | 用户id | | nid | int | 新闻id | #### 消息 ##### message PS:`发送消息表` | 字段 | 类型 | 解释 | | ----------- | -------- | ------------------ | | id | int | 消息id | | sender_id | int | 发送者id | | content | text | 内容 | | send_time | datetime | 发送时间 | | status | int | 状态 | | delete_flag | int | 删除标记 | | read_time | datetime | 阅读时间 | | tags | varchar | 标签(项目,财务) | ##### message_user PS:`接收消息表` | 字段 | 类型 | 解释 | | ---- | ---- | ------------------ | | mid | int | 消息id | | uid | int | 用户id(接收者id) | #### 日报 ##### daily PS:`日报信息表` | 字段 | 类型 | 解释 | | ----------- | -------- | ---------------- | | id | int | 日报id | | name | datetime | 日报名称(时间) | | content | text | 内容 | | plan | text | 计划 | | create_time | datetime | 创建时间 | ##### daily_project PS:`日报项目表` | 字段 | 类型 | 解释 | | ---- | ---- | ------ | | did | int | 日报id | | pid | int | 项目id | ##### daily-user PS:`日报用户表` | 字段 | 类型 | 解释 | | ---- | ---- | ------ | | did | int | 日报id | | uid | int | 用户id |