项目介绍
私人牙医管理系统。该项目分为前后台,共三种角色:管理员、医生、客户;
前台主要功能包括:首页、医生介绍、新闻资讯、关于我们、联系我们等功能;
后台管理员主要功能包括:
客户管理:客户信息统计、客户列表、添加客户;
医生管理:医生列表、病例列表、新增病例、添加医生;
药品管理:药品信息统计、药品列表、药品添加;
文章管理:文章列表、添加文章;
医生登录主要功能包括:
病例管理:在诊病历、历史病例、新增病例;
客户管理:客户列表、新增客户、预约信息;
普通客户登录主要功能包括:
基本信息、修改密码、预约信息、病例查看;
共10张表;
环境需要
1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
5.是否Maven项目: 是;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目
6.数据库:MySql 8.0版本;
技术栈
-
后端:SpringBoot
-
前端:html+jQuery+layui+echarts
使用说明
- 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
- 将项目中db.properties配置文件中的数据库配置改为自己的配置
- 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;若为maven项目,导入成功后请执行maven clean;maven install命令,配置tomcat,然后运行;
- 运行项目,
前台网站运行地址:http://localhost:8087/user/toCusWel
普通用户登录地址:http://localhost:8087/login/toUserLogin
后台运行地址:管理员及医生登录:http://localhost:8087/login/toDocLogin
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
* */
@RequestMapping("addUser")
@ResponseBody
public Object addUser(User user){
int i1 = userService.checkUser(user);
if(i1==1){
return "当前登陆名已存在";
}else {
//加盐
String salt = UserCredentialsMatcher.generateSalt(6);
//MD5加密迭代两次
user.setPwd(UserCredentialsMatcher.encryptPassword("md5", "123456", salt, 2));
user.setType(2);
user.setSalt(salt);
System.out.println(salt);
int i = userService.addUser(user);
if (i > 0) {
return "添加成功";
} else {
return "添加失败";
}
}
}
/*
* 重置密码
* */
@RequestMapping("resetUserPwd")
model.addAttribute("usersLogin",users);
return "view/user/updateLogin";
}
/*
* 跳转加载projectTypeManage.html
* */
@RequestMapping("toProjectTypeManage")
public String toProjectTypeManage() {
return "view/center/projectTypeManage";
}
/*
* 跳转加载paiban.html
* */
@RequestMapping("toPaiban")
public String toPaiban() {
return "view/center/paiban";
}
/*
* 跳转加载drugdictionary.html
* */
@RequestMapping("toDrugdictionary")
public String toDrugdictionary() {
return "view/center/drugdictionary";
}
return "view/center/registeredType";
}
/*
* 跳转加载icon.html
* */
@RequestMapping("icon")
public String icon() {
return "view/center/icon";
}
/*
* 跳转加载type.html
* */
@RequestMapping("toType")
}else{
return "修改失败";
}
}
@Autowired
private MenuService menuService;
@RequestMapping("editPwd")
@ResponseBody
public Object editPwd(User user,String loginname,String pwd,String pwd1){
//第一步:建立subject
Subject subject = SecurityUtils.getSubject();
//第二步:封装token 凭证
UsernamePasswordToken token = new UsernamePasswordToken(loginname, pwd);
try {
//只要能通过认证就能通过了
subject.login(token);
//加盐
tableData.put("data", pageInfo.getList());
return tableData;
}
/*
* 添加医生
* */
@RequestMapping("addDoctor")
@ResponseBody
public Object addDoctor(Doctor doctor, Paiban paiban){
int count = doctorService.count(doctor);
if(count==0){
int i = doctorService.addDoctor(doctor);
if(i==1){
return "添加成功";
}else{
return "添加失败";
}
}else{
return doctor.getDoctorName()+"已存在";
}
}
/*
* 跳转加载type.html
* */
@RequestMapping("toType")
public String toType() {
return "view/center/type";
}
/*
* 跳转加载area.html
* */
@RequestMapping("toArea")
public String toArea() {
return "view/center/area";
}
/*
* 跳转加载skull.html
* */
@RequestMapping("toSkull")
public String toSkull() {
return "view/center/skull";
}
/*
* 跳转加载warehuose.html
@RequestMapping("addDoctor")
@ResponseBody
public Object addDoctor(Doctor doctor, Paiban paiban){
int count = doctorService.count(doctor);
if(count==0){
int i = doctorService.addDoctor(doctor);
if(i==1){
return "添加成功";
}else{
return "添加失败";
}
}else{
return doctor.getDoctorName()+"已存在";
}
}
/*
* 修改医生
* */
@RequestMapping("editDoctor")
@ResponseBody
public Object editDoctor(Doctor doctor){
int i = doctorService.editDoctor(doctor);
if(i==1){
return "修改成功";
public Object deleteUser(Integer userid){
userService.deleteUser(userid);
return "删除成功";
}
/*
* 初始化用户分配角色
* */
@RequestMapping("initUserRole")
@ResponseBody
public DataGridView initUserRole(Integer userid){
return userService.queryUserRole(userid);
}
/*
* 添加用户
* */
@RequestMapping("addUser")
@ResponseBody
public Object addUser(User user){
int i1 = userService.checkUser(user);
if(i1==1){
return "当前登陆名已存在";
}else {
//加盐
String salt = UserCredentialsMatcher.generateSalt(6);
//MD5加密迭代两次
} /*
* 修改资料
* */
@RequestMapping("editLogin")
@ResponseBody
public Object editLogin(User user){
int i = userService.editLogin(user);
if(i==1){
return "修改成功";
}else{
return "修改失败";
}
}
@Autowired
private MenuService menuService;
@RequestMapping("editPwd")
@ResponseBody
public Object editPwd(User user,String loginname,String pwd,String pwd1){
//第一步:建立subject
Subject subject = SecurityUtils.getSubject();
//第二步:封装token 凭证
UsernamePasswordToken token = new UsernamePasswordToken(loginname, pwd);
try {
//只要能通过认证就能通过了
@ResponseBody
public Object doctorList(Doctor doctor, Integer page, Integer limit){
PageHelper.startPage(page, limit);
List<Doctor> listAll = doctorService.doctorList(doctor);
PageInfo pageInfo = new PageInfo(listAll);
Map<String, Object> tableData = new HashMap<String, Object>();
//这是layui要求返回的json数据格式
tableData.put("code", 0);
tableData.put("msg", "");
//将全部数据的条数作为count传给前台(一共多少条)
tableData.put("count", pageInfo.getTotal());
//将分页后的数据返回(每页要显示的数据)
tableData.put("data", pageInfo.getList());
return tableData;