宠物健康系统
分类: springboot vue 专栏: 新业务 标签: 宠物健康
2025-04-05 09:14:21 377浏览
周期
需求
系统组织结构

角色:宠主、医生、管理员
宠物健康服务系统主要是为了更加完善宠物的健康服务,为实现科普知识管理、宠物健康测评信息管理、咨询问诊管理、预约管理、互动留言管理等功能,业务流程图如下:

宠物AI问答: 运用到Ai技术(搜索框形式)
互动留言:宠物/医生互动留言
系统功能结构图:

用户功能:
注册登录:没有账号的用户将通过此功能进行注册账号;有账号的用户将通过此功能登录平台,登陆时平台将会将用户登录的凭证存入local storage中,以便在后续添加记录、修改信息等操作中验证权限。
互动留言:宠主可以通过次功能上传宠物信息秀宠,或者提出相应的评价意见;医生也可以晒出宠物分享日常等,此功能提供了一个用户之间交流分享的平台。
浏览科普知识:用户可以通过推荐与搜索进行宠物健康科普知识的浏览。
修改个人信息:用户可以对自己的邮箱、密码、头像等进行修改,但是不允许修改实名信息。
宠物主人:
宠物健康测评:宠主可以在线填写健康测评表测试宠物的健康状况,测评结束会给出相应评分和养宠注意事项。
添加宠物信息:宠主可以编辑多条宠物信息,分别添加宠物姓名、类型、性别等信息。
添加咨询问诊:宠主可以咨询相应部门的医生了解宠物相关症状,并收到相应诊疗建议。
添加预约记录:宠主可以通过添加预约日期、项目,向医生发出预约申请。
医生:
咨询诊断回复:医生根据宠主的描述,给出初步诊断结果,并提出相应诊疗建议。
预约回复确认:医生回复宠主的预约申请,确认并排出相应预约时间进行线下问诊。
管理员:
统计分析:管理员可以对用户注册数、宠物数、咨询、预约记录等进行统计,并且可导出相关数据。
用户管理:管理员可以对用户信息进行修改和查看。
宠物管理:管理员可对宠物档案信息进行修改和查看。
记录管理:管理员可对系统咨询问诊信息、预约记录进行查看和修改。
管理员管理:管理员可以对自己的邮箱、密码、头像等进行修改。
数据库:
表3- 1 宠物主人表(user)
字段名 | 数据类型 | 主键 | 外键 | 描述 |
user_id | INT | √ |
| 宠主ID |
user_account | VARCHAR(20) |
|
| 宠主账号 |
user_password | VARCHAR(100) |
|
| 宠主密码 |
user_name | VARCHAR(20) |
|
| 宠主姓名 |
user_gender | TINYINT |
|
| 宠主性别 |
user_email | VARCHAR(100) |
|
| 宠主邮箱 |
user_tel | VARCHAR(20) |
|
| 宠主电话 |
性别使用使用TINYINT类型0/1表示(0-女性,1-男性)
表3- 2 医生表(doctor)
字段名 | 数据类型 | 主键 | 外键 | 描述 |
doctor_id | INT | √ |
| 医生ID |
doctor_account | VARCHAR(20) |
|
| 医生账号 |
doctor_password | VARCHAR(100) |
|
| 医生密码 |
doctor_name | VARCHAR(20) |
|
| 医生姓名 |
doctor_dpt | VARCHAR(30) |
|
| 医生部门 |
doctor_gender | TINYINT |
|
| 医生性别 |
doctor_email | VARCHAR(100) |
|
| 医生邮箱 |
doctor_tel | VARCHAR(20) |
|
| 医生电话 |
性别使用性别字段使用TINYINT类型,0/1表示(0-女性,1-男性)
表3- 3 管理员表(admin)
字段名 | 数据类型 | 主键 | 外键 | 描述 |
ad_id | INT | √ |
| 管理员ID |
ad_account | VARCHAR(20) |
|
| 管理员账号 |
ad_password | VARCHAR(100) |
|
| 管理员密码 |
ad_name | VARCHAR(20) |
|
| 管理员姓名 |
ad_gender | TINYINT |
|
| 管理员性别 |
ad_email | VARCHAR(100) |
|
| 管理员邮箱 |
ad_tel | VARCHAR(20) |
|
| 管理员电话 |
表3- 4 宠物信息表(animal)
字段名 | 数据类型 | 主键 | 外键 | 描述 |
animal_id | INT | √ |
| 宠物ID |
user_id | INT |
| √ | 宠主ID |
animal_name | VARCHAR(50) |
|
| 宠物姓名 |
animal_type | VARCHAR(30) |
|
| 宠物类型 |
animal_gender | TINYINT |
|
| 宠物性别 |
animal_birth | DATE |
|
| 宠物出生日期 |
animal_age | TINYINT |
|
| 宠物年龄 |
宠物ID为主键,唯一标识每只宠物,宠主ID为外键,关联到宠物主人表。宠物年龄采用触发器实现年龄自动计算,使用TIMESTAMPDIFF计算精确年龄。
表3- 5 咨询信息表(consult)
字段名 | 数据类型 | 主键 | 外键 | 描述 |
consult_id | INT | √ |
| 咨询ID |
user_id | INT |
| √ | 用户ID |
doctor_id | INT |
| √ | 医生ID |
animal_id | INT |
| √ | 宠物ID |
consult_date | DATETIME |
|
| 咨询时间 |
consult_content | TEXT |
|
| 咨询内容 |
feedback_state | TINYINT |
|
| 回复状态 |
feedback_time | DATETIME |
|
| 回复时间 |
feedback_content | TEXT |
|
| 回复内容 |
咨询ID为主键,唯一标识每一条咨询信息,用户ID、医生ID和宠物ID为外键,扩展了feedback_state状态值,0表示未回复、1表示已回复、2表示已关闭,添加CHECK约束确保状态值有效性。
表3- 6 预约记录表(reservation)
字段名 | 数据类型 | 主键 | 外键 | 描述 |
reserve_id | INT | √ |
| 预约ID |
user_id | INT |
| √ | 用户ID |
doctor_id | INT |
| √ | 医生ID |
animal_id | INT |
| √ | 宠物ID |
reserve_time | DATETIME |
|
| 预约时间 |
reserve_project | VARCHAR(100) |
|
| 预约项目 |
feedback_state | TINYINT |
|
| 回复状态 |
feedback_time | DATETIME |
|
| 回复时间 |
feedback_content | TEXT |
|
| 回复内容 |
扩展了feedback_state状态值,0表示待确认、1表示已确认、2表示已取消、3表示已完成。添加了唯一约束(doctor_id, reserve_time)防止同一医生时间重叠。
表3- 7 互动留言信息表(interaction)
字段名 | 数据类型 | 主键 | 外键 | 描述 |
interact_id | INT | √ |
| 互动信息ID |
user_id | INT |
| √ | 宠主ID |
doctor_id | INT |
| √ | 医生ID |
interact_type | TINYINT |
|
| 留言类型 |
interact_date | INT |
|
| 互动时间 |
interact_content | DATETIME |
|
| 互动内容 |
interact_img | VARCHAR(512) |
|
| 互动图片 |
is_public | TINYINT |
|
| 是否公开 |
parent_id | INT |
|
| 留言回复 |
互动信息ID为主键,唯一标识每条互动记录,用户ID为外键,关联到user或doctor表,标识发布留言的用户
留言类型有4种,1表示互动秀宠,2表示服务评价,3表示投诉建议,4表示经验分享。是否公开字段控制互动留言可见性,分为1表示默认公开和0设置为私密两种。
表3- 8 科普知识表(knowledge)
字段名 | 数据类型 | 主键 | 外键 | 描述 |
knowledge_id | INT | √ |
| 科普知识ID |
ad_id | INT |
| √ | 管理员ID |
knowledge_date | DATETIME |
|
| 发布时间 |
knowledge_content | LONGTEXT |
|
| 发布内容 |
科普知识ID为主键,唯一标识每条科普内容。发布时间,默认当前时间,记录科普发布时间。科普内容支持富文本格式,包含图文。
好博客就要一起分享哦!分享海报
此处可发布评论
评论(0)展开评论
展开评论









新业务
springboot学习
ssm框架课
vue学习
【带小白】java基础速成