基于javaweb的SpringBoot私人牙医管理系统(java+springboot+html+thymeleaf+layui+echarts+maven+mysql)

运行环境

Java≥8、MySQL≥5.7

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

160023052402

170023052402

190023052402

200023052402

210023052402

220023052402

230023052402

240023052402

基于javaweb的SpringBoot私人牙医管理系统(java+springboot+html+thymeleaf+layui+echarts+maven+mysql)

项目介绍

私人牙医管理系统。该项目分为前后台,共三种角色:管理员、医生、客户;

前台主要功能包括:首页、医生介绍、新闻资讯、关于我们、联系我们等功能; 后台管理员主要功能包括: 客户管理:客户信息统计、客户列表、添加客户; 医生管理:医生列表、病例列表、新增病例、添加医生; 药品管理:药品信息统计、药品列表、药品添加; 文章管理:文章列表、添加文章; 医生登录主要功能包括: 病例管理:在诊病历、历史病例、新增病例; 客户管理:客户列表、新增客户、预约信息; 普通客户登录主要功能包括: 基本信息、修改密码、预约信息、病例查看; 共10张表;

环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
4.数据库:MySql 8.0版本;

技术栈

  1. 后端:SpringBoot

  2. 前端:html+jQuery+layui+echarts

使用说明
运行项目, 前台网站运行地址:http://localhost:8087/user/toCusWel
普通用户登录地址:http://localhost:8087/login/toUserLogin
后台运行地址:
管理员及医生登录:http://localhost:8087/login/toDocLogin

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
    public Integer registerCus(@RequestBody Customer customer){
// System.out.println(customer);
int index = customerService.save(customer);
return index;
}

@ResponseBody
@RequestMapping("/findMyWork")
public LayData findMyWork(HttpSession session){
String cusId = (String) session.getAttribute("userId");
LayData nByCusId = workLineService.findNByCusId(cusId);
return nByCusId;
}

@ResponseBody
@RequestMapping("/findAllCase")
public LayData findAllCase(HttpSession session){
String cusId = (String) session.getAttribute("userId");
LayData byCusIdR = caseInfoService.findByCusIdR(cusId);
return byCusIdR;
}

@RequestMapping("/findOneAll")
public ModelAndView findOneAllMess(String caseId) {
List<CaseInfos> reVisit;
ModelAndView model = new ModelAndView();
// 判断该病例有复诊信息,>1说明有复诊信息
Integer idNum = caseInfoService.getIdNum(caseId);
CaseInfos caseInfos = caseInfoService.findOneAllMess(caseId);
if(idNum > 1){
reVisit = caseInfoService.findReVisit(caseId);
model.addObject("reVisit", reVisit);
}
// 借用doctor中的病例详情界面展示信息
model.setViewName("doctor/caseInfo/case_info");
model.addObject("caseInfos", caseInfos);
return model;
}

@ResponseBody
@RequestMapping("/connectUs")
public String connectUs(@RequestBody ConnectUs connectUs){
SimpleMailMessage message = new SimpleMailMessage();
message.setFrom("18334758861@163.com");
message.setTo("2240423848@qq.com");
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
        return loginCountService.getWeekData();
}
// 通用退出
@RequestMapping("/edit")
public String edit(HttpSession session){
Enumeration<String> em = session.getAttributeNames();
// 清除所有session数据,准备退出
while (em.hasMoreElements()) {
session.removeAttribute(em.nextElement());
}
System.out.println("------------用户已注销-------------");
return "redirect:/login/toDocLogin";
}
// 通用获取密码
@ResponseBody
@RequestMapping("/getPassword")
public String getPassword(HttpSession session){
String userId = (String) session.getAttribute("userId");
LoginInfo byId = loginInfoRepository.findById(userId);
return byId.getPassword();
}
}
package com.dcms.handler;



/**
* Created with IntelliJ IDEA.
* User: NZD
* Description:
**/
@Controller
@RequestMapping("/doctor")
public class DoctorHandler {
@Resource
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
@RequestMapping("/saveCase")
public Integer saveCase(@RequestBody CaseInfo caseInfo, HttpSession session) {
String userId = (String) session.getAttribute("userId");
caseInfo.setDoctorId(userId);
caseInfo.setTrResult(1);
caseInfo.setStatus(1);
System.out.println("获取到的CaseInfo信息:" + caseInfo);
Integer index = caseInfoService.save(caseInfo);
System.out.println("病例添加结果:" + index);
return 1;
}

@ResponseBody
@RequestMapping("/adminSaveCase")
public Integer adminSaveCase(@RequestBody CaseInfo caseInfo) {
caseInfo.setStatus(1);
caseInfo.setTrResult(1);
Integer index = caseInfoService.save(caseInfo);
System.out.println("病例添加结果:" + index);
Integer caseNum = caseInfoService.getCount();
return caseNum;
}

@RequestMapping("/toCaseEdit")
public ModelAndView toCaseEdit(String caseId){
ModelAndView model = new ModelAndView();
model.setViewName("doctor/caseInfo/case_edit");
CaseInfo byId = caseInfoService.findById(caseId);
model.addObject("caseInfo",byId);
return model;
}

@ResponseBody
@RequestMapping("/updateCase")
public Integer updateCase(@RequestBody CaseInfo caseInfo){
return caseInfoService.updateByCaseId(caseInfo);
}

@RequestMapping("/toRevisit")
public ModelAndView toRevisit(String caseId, String customerId) {
ModelAndView model = new ModelAndView();
model.setViewName("doctor/caseInfo/case_revisit");
model.addObject("caseId", caseId);
model.addObject("cusId", customerId);
return model;
}

// 跳转到添加复诊信息界面
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
    // 按ID搜索医生信息
@ResponseBody
@GetMapping("/adminFindById")
public LayData adminFindById(String medicineId){
LayData layData = new LayData();
layData.setCode(0);
if(medicineId != null && !medicineId.equals("")){
Medicine byMedId = medicineService.findByMedId(medicineId);
if(byMedId != null) {
List<Medicine> list = new ArrayList<>();
list.add(byMedId);
layData.setData(list);
layData.setCount(1);
layData.setMsg("按ID查询");
}
}
return layData;
}

// 按Name搜索医生信息
@ResponseBody
@GetMapping("/adminFindByName")
public LayData adminFindByName(String medName){
return medicineService.findMedByName(medName);
}
@ResponseBody
@RequestMapping("/findByType")
public LayData<Medicine> findByType(String medType){
return medicineService.findByType(medType);
}
}
package com.dcms.handler;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34



/**
* Created with IntelliJ IDEA.
* User: NZD
* Description:登录过滤器
**/
@WebFilter(urlPatterns = {"/user/toCusWel","/admin/toAdminWel","/doctor/toDocWel"})
public class LoginFilter implements Filter {
@Resource
private LoginCountService loginCountService;
@Resource
private LoginInfoRepository loginInfoRepository;
@Override
public void init(FilterConfig filterConfig) throws ServletException {
System.out.println("-----------启动登录请求过滤器!准备获取今日游客,注册用户,就诊用户登录情况----------");
}

@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
// System.out.println("开始过滤request信息");
HttpServletRequest request = (HttpServletRequest) servletRequest;
HttpSession session = request.getSession();
Object username = session.getAttribute("userName");
Object userId = session.getAttribute("userId");
LoginInfo byId = loginInfoRepository.findById((String) userId);
LoginCount count = new LoginCount();
if(userId != null) {
String sort = "";
count.setUsername((String) username);
count.setUserId((String) userId);
count.setUserSort(byId.getUserSort());
if(byId.getUserSort() == 1){
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
public LayData findMyWork(HttpSession session){
String cusId = (String) session.getAttribute("userId");
LayData nByCusId = workLineService.findNByCusId(cusId);
return nByCusId;
}

@ResponseBody
@RequestMapping("/findAllCase")
public LayData findAllCase(HttpSession session){
String cusId = (String) session.getAttribute("userId");
LayData byCusIdR = caseInfoService.findByCusIdR(cusId);
return byCusIdR;
}

@RequestMapping("/findOneAll")
public ModelAndView findOneAllMess(String caseId) {
List<CaseInfos> reVisit;
ModelAndView model = new ModelAndView();
// 判断该病例有复诊信息,>1说明有复诊信息
Integer idNum = caseInfoService.getIdNum(caseId);
CaseInfos caseInfos = caseInfoService.findOneAllMess(caseId);
if(idNum > 1){
reVisit = caseInfoService.findReVisit(caseId);
model.addObject("reVisit", reVisit);
}
// 借用doctor中的病例详情界面展示信息
model.setViewName("doctor/caseInfo/case_info");
model.addObject("caseInfos", caseInfos);
return model;
}

@ResponseBody
@RequestMapping("/connectUs")
public String connectUs(@RequestBody ConnectUs connectUs){
SimpleMailMessage message = new SimpleMailMessage();
message.setFrom("18334758861@163.com");
message.setTo("2240423848@qq.com");
message.setSubject("私人牙医游客来访信息");
message.setText(connectUs.getContent() + "\n"
+ "联系电话:" + connectUs.getPhone() + "\n"
+ "联系地址:" + connectUs.getAddress() + "\n"
+ "联系邮箱:" + connectUs.getEmail() + "\n"
+ "游客姓名:" + connectUs.getName());
System.out.println(message.getText());
try {
javaMailSender.send(message);


项目链接:
https://javayms.github.io?id=231422292105200ew
https://javayms.pages.dev?id=231422292105200ew