首页 分享 基于SpringBoot+Vue宠物医院管理系统的设计与实现

基于SpringBoot+Vue宠物医院管理系统的设计与实现

来源:萌宠菠菠乐园 时间:2024-10-20 01:40

博主主页:一季春秋
博主简介:专注Java技术领域和毕业设计项目实战、Java、微信小程序、安卓等技术开发,远程调试部署、代码讲解、文档指导、ppt制作等技术指导。
主要内容:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、小程序、安卓app、大数据等设计与开发。

感兴趣的可以收藏+关注,所有项目均配有开发文档,一系列安装配置教程,可以定制功能包安装运行!!

文末获取联系

系统介绍

本系统是基于浏览器与服务器架构,采用跨平台的JAVA语言开发,利用WEB浏览器就可以使工作人员操作本应用,实现对系统各方位信息的操作,无论大型宠物医院还是小型宠物诊所,均可自建局域网管理,方便办公,减少不必要的成本消耗。该系统沿用MVC思想,利用springboot类的封装进行逻辑控制,利用Java技术完成访问页面的展示,利用MySQL数据库存储数据,最后Tomcat服务器完成网站发布,系统可在多个环境下运行。

本课题在经过了宠物医院正常办公流程下的需求分析后,完成实现了系统用户、我的宠物管理、医生信息管理、预约信息管理、病例信息管理、咨询信息管理、申请寄养管理、考勤打卡管理、药品信息管理等功能。

系统主要技术 

开发语言:Java

使用框架:spring boot

前端技术:JavaScript、Vue 、css3

开发工具:IDEA/MyEclipse/Eclipse、Visual Studio Code

数据库:MySQL 5.7/8.0

数据库管理工具:phpstudy/Navicat

JDK版本:jdk1.8

Maven: apache-maven 3.8.1-bin

系统功能

宠物医院管理系统我划分为了普通用户模块、医生用户模块和管理员模块这三大部分。

普通用户管理模块:

(1)用户注册登录:游客可以随时进入到系统中,对系统中的信息浏览,但是想要实现医生的预约/咨询、收藏评论操作,就必须有这个系统的账号,如果没有账号的话,可以注册成员用户进行相关的操作,同时用户还可以通过“我的”这以按钮对个人信息以及操作的信息进行管控。

(2)查看宠物医院管理系统的首页信息:宠物医院管理系统的首页信息包含了首页、通知公告、新闻资讯、我的宠物、医生信息、申请寄养等。

(3)通知公告:当用户点击“通知公告”这一菜单按钮,会显示管理员在后台发布的所有的通知公告,可以查看详情;

(3)新闻资讯:当用户点击“新闻资讯”这一菜单按钮,会显示管理员在后台发布的所有的新闻资讯,可以查看详情,进行收藏、点赞、评论等;

(4)医生信息:当用户点击“医生信息”这一菜单按钮,会显示管理员在后台发布的所有的医生信息,支持通过关键词对医生信息进行搜索,选择需要的医生信息点击可以进入到医生信息详细的介绍界面,在详细界面可以查看到医生的医生用户、医生姓名、医生性别、工作时间等信息,同时可以进行预约、咨询、点赞、收藏、评论操作;

(5)预约:当用户在医生信息详情界面想要进行预约,点击下方的“预约”按钮,就会跳转到预约信息填写界面,根据界面提示输入预约信息,点击“提交”按钮,预约就完成了;

(6)咨询:当用户在医生信息详情界面想要进行咨询,点击下方的“咨询”按钮,就会跳转到咨询信息填写界面,根据界面提示输入咨询信息,点击“提交”按钮,咨询就完成了;

(7)我的账户:在前台点击“我的”下面的“我的账户”可以对个人资料+密码修改进行管控。

管理员管理模块:

(1)系统用户:管理员可以对宠物医院管理系统中的管理员,以及前台注册的游客用户以及医生用户进行增删改查。

(2)资源管理:管理员可以对宠物医院管理系统前台展示的新闻资讯以及资讯所属的分类进行管控。

(3)我的宠物管理:管理员点击“我的宠物”菜单可以对我的宠物进行增删改查。

(4)医生信息管理:管理员点击“医生信息”菜单可以对医生信息进行增删改查。

(5)病例信息管理:管理员点击“病例信息”菜单可以对病例信息进行管控。

(6)咨询信息管理:管理员点击“咨询信息”菜单可以对咨询信息进行管控。

(7)申请寄养管理:管理员点击“申请寄养”菜单可以对申请寄养进行增删改查。

(8)药品信息管理:管理员点击“药品信息”菜单可以对药品信息进行增删改查。

(9)系统管理:管理员点击“轮播图”菜单可以对首页展示的轮播图进行增删改查。

(10)通知公告:管理员点击“通知公告”菜单可以查看到系统中的所有通知公告信息,对已经存在的通知公告,管理员可以修改,也可以添加新的通知公告或者删除通知公告。

系统展示

前台首页界面

当进入宠物医院管理系统的时候,系统以上中下的布局进行展示,首先映入眼帘的是系统的导航栏,下面是轮播图,再往下是公告信息,其主界面展示如下图4-1所示。

用户注册界面

宠物医院管理系统的游客和时可以进行注册登录,当用户右上角“注册”按钮的时候,当填写上自己的账号+密码+确认密码+昵称+邮箱+手机号等后再点击“注册”按钮后将会先验证输入的有没有空数据,再次验证密码和确认密码是否是一样的,最后验证输入的账户名和数据库表中已经注册的账户名是否重复,只有都验证没问题后即可用户注册成功。其用用户注册界面展示如下图4-2所示。

用户登录界面

宠物医院管理系统中的前台上注册后的用户是可以通过自己的账户名和密码进行登录的,当会员输入完整的自己的账户名和密码信息并点击“登录”按钮后,将会首先验证输入的有没有空数据,再次验证输入的账户名+密码和数据库中当前保存的用户信息是否一致,只有在一致后将会登录成功并自动跳转到宠物医院管理系统的首页中;否则将会提示相应错误信息,用户登录界面如下图4-3所示。

新闻资讯界面

当访客点击宠物医院管理系统中导航栏上的“新闻资讯”后将会进入到该“新闻资讯”列表的界面,然后选择想要看的新闻资讯,点击进入到详细界面,同时可以进行点赞、收藏、评论操作,新闻资讯界面如下图4-5 所示。

我的账户界面

当用户点击右上角“我的”这个按钮,会出现子菜单,点击“我的账户”可以对个人的资料、登录系统的密码进行设置管理,我的账户界面如下图4-6所示。

医生信息详情界面

当用户点击“医生信息”这一菜单按钮,会显示管理员在后台发布的所有的医生信息,支持通过关键词对医生信息进行搜索,选择需要的医生信息点击可以进入到医生信息详细的介绍界面,在详细界面可以查看到医生信息的医生姓名、医生性别、工作时间、医生用户等信息,同时可以进行预约、咨询、点赞、收藏、评论操作,医生信息界面如下图4-7所示。

预约界面

当用户在医生信息界面想要进行预约,点击下方的“预约”按钮,就会跳转到预约信息填写界面,根据界面提示输入预约信息,点击“提交”按钮,预约就完成了,预约界面如下图4-8所示。

 

系统用户管理界面

管理员点击“系统用户”这一菜单会显示管理员、医生用户和普通用户这三个子菜单,管理员可以对这三个角色的信息进行增删改查操作。

我的宠物管理界面

点击“我的宠物”按钮会显示自己发布的所有的我的宠物信息,如果想要添加新的我的宠物,点击“添加”按钮根据提示输入我的宠物信息,点击“提交”后在我的宠物界面就可以显示了,如果信息有错,点击“编辑”按钮可以对我的宠物信息进行更新维护,也可以直接删除某一我的宠物

管理员点击“医生信息”按钮会显示自己添加的医生信息,如果想要添加新的医生信息,点击“添加”按钮根据提示输入医生信息,点击“提交”后在医生信息界面就可以显示了,如果信息有错可以对医生信息进行更新维护,也可以直接删除某一医生信息,同时设有查看管理评论的功能,对用户提交的评论进行管控。

预约信息管理界面

管理员点击“预约信息管理”菜单可以查看到系统中的所有预约信息,对已经存在的预约信息,管理员可以查询的预约信息或者删除预约信息。界面如下图4-14所示。

部分核心代码

@RequestMapping("users")

@RestController

public class UsersController {

@Autowired

private UsersService usersService;

@Autowired

private TokenService tokenService;

@IgnoreAuth

@PostMapping(value = "/login")

public R login(String username, String password, String captcha, HttpServletRequest request) {

UsersEntity user = usersService.selectOne(new EntityWrapper<UsersEntity>().eq("username", username));

if(user==null || !user.getPassword().equals(password)) {

return R.error("账号或密码不正确");

}

String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());

R r = R.ok();

r.put("token", token);

r.put("role",user.getRole());

r.put("userId",user.getId());

return r;

}

@IgnoreAuth

@PostMapping(value = "/register")

public R register(@RequestBody UsersEntity user){

if(usersService.selectOne(new EntityWrapper<UsersEntity>().eq("username", user.getUsername())) !=null) {

return R.error("用户已存在");

}

usersService.insert(user);

return R.ok();

}

@GetMapping(value = "logout")

public R logout(HttpServletRequest request) {

request.getSession().invalidate();

return R.ok("退出成功");

}

@GetMapping(value = "/updatePassword")

public R updatePassword(String oldPassword, String newPassword, HttpServletRequest request) {

UsersEntity users = usersService.selectById((Integer)request.getSession().getAttribute("userId"));

if(newPassword == null){

return R.error("新密码不能为空") ;

}

if(!oldPassword.equals(users.getPassword())){

return R.error("原密码输入错误");

}

if(newPassword.equals(users.getPassword())){

return R.error("新密码不能和原密码一致") ;

}

users.setPassword(newPassword);

usersService.updateById(users);

return R.ok();

}

@IgnoreAuth

@RequestMapping(value = "/resetPass")

public R resetPass(String username, HttpServletRequest request){

UsersEntity user = usersService.selectOne(new EntityWrapper<UsersEntity>().eq("username", username));

if(user==null) {

return R.error("账号不存在");

}

user.setPassword("123456");

usersService.update(user,null);

return R.ok("密码已重置为:123456");

}

@RequestMapping("/page")

public R page(@RequestParam Map<String, Object> params,UsersEntity user){

EntityWrapper<UsersEntity> ew = new EntityWrapper<UsersEntity>();

PageUtils page = usersService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));

return R.ok().put("data", page);

}

@RequestMapping("/list")

public R list( UsersEntity user){

EntityWrapper<UsersEntity> ew = new EntityWrapper<UsersEntity>();

ew.allEq(MPUtil.allEQMapPre( user, "user"));

return R.ok().put("data", usersService.selectListView(ew));

}

@RequestMapping("/info/{id}")

public R info(@PathVariable("id") String id){

UsersEntity user = usersService.selectById(id);

return R.ok().put("data", user);

}

@RequestMapping("/session")

public R getCurrUser(HttpServletRequest request){

Integer id = (Integer)request.getSession().getAttribute("userId");

UsersEntity user = usersService.selectById(id);

return R.ok().put("data", user);

}

@PostMapping("/save")

public R save(@RequestBody UsersEntity user){

if(usersService.selectOne(new EntityWrapper<UsersEntity>().eq("username", user.getUsername())) !=null) {

return R.error("用户已存在");

}

usersService.insert(user);

return R.ok();

}

@RequestMapping("/update")

public R update(@RequestBody UsersEntity user){

usersService.updateById(user);

return R.ok();

}

@RequestMapping("/delete")

public R delete(@RequestBody Long[] ids){

List<UsersEntity> user = usersService.selectList(null);

if(user.size() > 1){

usersService.deleteBatchIds(Arrays.asList(ids));

}else{

return R.error("管理员最少保留一个");

}

return R.ok();

}

}

相关知识

基于Springboot+Vue框架的宠物领养管理系统设计与实现 毕业设计开题报告
基于SpringBoot+Vue的宠物医院管理系统
开题报告+文档+源码】基于Java的宠物医院管理系统的设计与实现
基于SpringBoot+Vue宠物医院管理系统的设计与实现
【含开题报告+文档+PPT+源码】基于Java的宠物医院管理系统的设计与实现
基于SpringBoot的宠物医院管理系统设计与实现
基于Springboot+Vue实现的宠物管理系统
基于node.js+vue的宠物医院在线预约管理系统的设计与实现
基于Spring Boot的宠物医院管理系统设计与实现
基于SpringBoot+Vue前后端分离的宠物领养管理系统的设计与实现+15000字毕业论文

网址: 基于SpringBoot+Vue宠物医院管理系统的设计与实现 https://www.mcbbbk.com/newsview420503.html

所属分类:萌宠日常
上一篇: 基于node.js的宠物医院管理
下一篇: 基于ssm唯宠宠物诊所管理系统

推荐分享