# 基于springboot+mysql+Shiro实现的宠物医院管理系统
# 1.项目介绍
系统主要为用户提供了管理员权限的用户,实现了前台查看客户信息、在线添加预约等;后台管理医生坐诊信息、管理就诊信息、修改密码,管理公告、管理宠物分类、管理就诊、管理用户、修改密码等。在设计方面,本系统采用MVC模式,同时使用JSP技术进行动态页面的设计,使用Ajax进行页面异步交互。后台数据库选用mysql数据库。
前台显示医院文化信息,可在线挂号,在线预约,在线查看专家信息和宠物常见病治疗方法,可充值享受专家1v1在线服务后台显示会诊宠物信息,医院人员信息,医生信息,医院人员排班,人员调休,打卡情况,工资奖金,手术安排等。
## 1.1 软件架构

## 1.2 使用技术
SpringBoot(2.2.7) + MySQL + Thymeleaf + Shiro + WebSocket + BootStrap4 + Log4J
本文以实现一个宠物医院管理系统-宠物看病预约网为目标,从环境搭建到编码实现全过程讲述:
- 使用javaweb、J2EE来构建宠物医院管理系统-宠物看病预约网,环境使用最新版jdk和tomcat,配合mysql数据库
- 开发工具使用idea(也可以使用eclipse),数据库管理工具使用Navicat Premium
- 开发框架使用JavaBean Servlet MVC结构
- 在项中会引入My97DatePicker作为前端日期时间选择工具,使用fckeditor作为富媒体编辑器(也可以使用百度的ueditor)
- 使用DWR(Direct Web Remoting)用于改善web页面与Java类交互,实现远程服务器端AJAX读取登录数据
- 使用JSTL(Java server pages standarded tag library,即JSP标准标签库),此库是由JCP(Java community Proces)所制定的标准规范,它主要提供给Java Web开发人员一个标准通用的标签库,并由Apache的Jakarta小组来维护。开发人员可以利用这些标签取代JSP页面上的Java代码,从而提高程序的可读性,降低程序的维护难度
# 2.数据库设计
## 2.1 表结构
**医生表**

**信息表**

**排班表**

**手术排班表**

**权限用户表**

**宠物表**

## 2.2 E-R图

# 3.项目实现
## 3.1 工具类
**阿里云短信接口**
```java
public class AliyunMsg {
public static void main(String[] args) { }
public static String aliThree(String phone ,String code){
String host = "https://smslong.shumaidata.com";
String path = "/sms/sendLong";
String method = "POST";
String appcode = "24db86ba9d994cdba1a6aae0dabb5912";
Map<String, String> headers = new HashMap<String, String>();
//最后在header中的格式(中间是英文空格)为Authorization:APPCODE 83359fd73fe94948385f570e3c139105
headers.put("Authorization", "APPCODE " + appcode);
Map<String, String> querys = new HashMap<String, String>();
querys.put("receive", phone);
querys.put("tag", code);
querys.put("templateId", "M09DD535F4");
Map<String, String> bodys = new HashMap<String, String>();
try {
/**
* 重要提示如下:
* HttpUtils请从
* https://github.com/aliyun/api-gateway-demo-sign-java/blob/master/src/main/java/com/aliyun/api/gateway/demo/util/HttpUtils.java
* 下载
*
* 相应的依赖请参照
* https://github.com/aliyun/api-gateway-demo-sign-java/blob/master/pom.xml
*/
HttpResponse response = HttpUtils.doPost(host, path, method, headers, querys, bodys);
System.out.println(response.toString());
//获取response的body
//System.out.println(EntityUtils.toString(response.getEntity()));
} catch (Exception e) {
e.printStackTrace();
return "fail";
}
return code;
}
}
```
**邮件发送功能**
```java
@Component
@EnableAsync//开启异步注解
public class EmailUtils {
@Autowired
JavaMailSenderImpl mailSender;
@Async
public String sendEmail(String email,String code) {
MimeMessage mimeMessage = mailSender.createMimeMessage();
try {
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage,true,"utf-8");
//主题
helper.setSubject("来自煮鱼宠物医院的一封邮件");
//正文
helper.setText("【煮鱼宠物医院】您的验证码为["+code+"]您正进行身份验证,打死不告诉别人!",true);
//附件
// helper.addAttachment("test.jpg",new File("C:\\Users\\Administrator\\Desktop\\1.jpg"));
// helper.addAttachment("test2.jpg",new File("C:\\Users\\Administrator\\Desktop\\1.jpg"));
//收件人
helper.setTo(email);
helper.setFrom("wzy990506@qq.com");
mailSender.send(mimeMessage);
} catch (MessagingException e) {
e.printStackTrace();
return "fail";
}
return "success";
}
public String remindEmail(String email,String name,String date,String msg) {
MimeMessage mimeMessage = mailSender.createMimeMessage();
try {
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage,true,"utf-8");
//主题
helper.setSubject("来自煮鱼宠物医院的一封邮件");
//正文
helper.setText("【煮鱼宠物医院】 您好"+name+"医生,今天"+date+"有您的手术,是"+msg+"的一台手术,不要迟到了呀 -----由【煮鱼宠物医院】手动提醒",true);
//附件
// helper.addAttachment("test.jpg",new File("C:\\Users\\Administrator\\Desktop\\1.jpg"));
// helper.addAttachment("test2.jpg",new File("C:\\Users\\Administrator\\Desktop\\1.jpg"));
//收件人
helper.setTo(email);
helper.setFrom("wzy990506@qq.com");
mailSender.send(mimeMessage);
} catch (MessagingException e) {
e.printStackTrace();
return "fail";
}
return "success";
}
}
```
**HTTP请求工具类**
```java
private static String buildUrl(String host, String path, Map<String, String> querys) throws UnsupportedEncodingException {
StringBuilder sbUrl = new StringBuilder();
sbUrl.append(host);
if (!StringUtils.isBlank(path)) {
sbUrl.append(path);
}
if (null != querys) {
StringBuilder sbQuery = new StringBuilder();
for (Map.Entry<String, String> query : querys.entrySet()) {
if (0 < sbQuery.length()) {
sbQuery.append("&");
}
if (StringUtils.isBlank(query.getKey()) && !StringUtils.isBlank(query.getValue())) {
sbQuery.append(query.getValue());
}
if (!StringUtils.isBlank(query.getKey())) {
sbQuery.append(query.getKey());
if (!StringUtils.isBlank(query.getValue())) {
sbQuery.append("=");
sbQuery.append(URLEncoder.encode(query.getValue(), "utf-8"));
}
没有合适的资源?快使用搜索试试~ 我知道了~
精选_基于springboot+mysql+Shiro实现的宠物医院管理系统_源码打包

共3个文件
md:1个
license:1个
docx:1个

1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
6 浏览量
2022-03-12
08:33:05
上传
评论
收藏 2.92MB ZIP 举报
温馨提示
基于springboot+mysql+Shiro实现的宠物医院管理系统
资源推荐
资源详情
资源评论























收起资源包目录






共 3 条
- 1
资源评论


寻宝阁
- 粉丝: 17
- 资源: 1316
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


会员权益专享
安全验证
文档复制为VIP权益,开通VIP直接复制
