Advertisement

Java项目:师生健康信息管理系统(java+SpringBoot+Mybaits+Vue+elementui+mysql)

阅读量:

源码获取:俺的博客首页 "资源" 里下载!

项目介绍
springboot师生健康信息管理系统 环境需要
1.运行环境:主要推荐使用Java JDK 1.8的版本,在此平台上运行非常流畅和支持使用其他版本的JDK;
2.IDE环境:支持使用IDEA、Eclipse或Myeclipse等多种开发工具,并建议优先选择IDEA作为推荐 IDE;
3.硬件环境:系统需运行在Windows 7、8或10环境下,并且至少配备1G内存以上;此外Mac OS也同样适用;
4.数据库:支持MySQL 5.7及以上的版本进行数据存储与管理;
5.是否Maven项目:该项目采用了Maven作为构建工具

技术栈
后端:SpringBoot+Mybaits
前端:Vue + elementui

使用说明
项目运行步骤如下:

  1. 采用Navicat或其他工具,在MySQL中创建与SQL文件名对应的数据库,并引入项目的SQL文件;
  2. 在IDEA、Eclipse或MyEclipse中导入项目,并在成功导入后依次执行mvn clean和mvn install命令;
  3. 修改项目application.yml中的数据库配置内容为自定义设置;
  4. 运行项目后,在浏览器中访问以下地址:
    前台端地址:http://localhost:8080/springbootrpj39/front/index.html

后端地址设置
http://localhost:8080/springbootrpj39/admin/dist/index.html
账号信息:账号名称 - admin: admin
用户名 - 用户1;账号密码 - 123456

注意项目文件路径中不能包含汉字、空格字符以及非标准字符等,否则图片会上传不成功

医生管理控制层:

复制代码
 /** * * @author:yy
    
  */
    
 package vip.penint.dandp.controller;
    
  
    
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
    
 import org.springframework.beans.factory.annotation.Autowired;
    
 import org.springframework.web.bind.annotation.*;
    
 import vip.penint.dandp.entity.User;
    
 import vip.penint.dandp.service.IUserService;
    
 import vip.penint.dandp.utils.MD5Util;
    
 import vip.penint.dandp.utils.QueryRequest;
    
 import vip.penint.dandp.utils.ResultVo;
    
  
    
 import javax.servlet.http.HttpServletRequest;
    
 import java.util.Date;
    
  
    
  
    
 @RestController
    
 @RequestMapping("/adminApi/doctor")
    
 public class DoctorController {
    
  
    
     @Autowired
    
     private IUserService userService;
    
  
    
     @GetMapping("/list")
    
     public ResultVo list(QueryRequest queryRequest, User user) {
    
     return ResultVo.oK(userService.queryDoctorFuzz(queryRequest, user));
    
     }
    
  
    
     /** * 修改账户状态,禁用或者取消
    
      * * @param user
    
      * @param request
    
      * @return
    
      */
    
     @PutMapping("/changeStatus")
    
     public ResultVo changeStatus(@RequestBody User user, HttpServletRequest request) {
    
     userService.updateById(user);
    
     return ResultVo.oK();
    
     }
    
  
    
     /** * 根据ID查询用户详情
    
      * * @param userId
    
      * @return
    
      */
    
     @GetMapping("/{userId}")
    
     public ResultVo getUserInfo(@PathVariable Integer userId) {
    
     User info = userService.getById(userId);
    
     return ResultVo.oK(info);
    
     }
    
  
    
  
    
     /** * 新增用户
    
      */
    
     @PostMapping
    
     public ResultVo add(@RequestBody User user) {
    
  
    
     // 查询用户名是否存在数据库中
    
     LambdaQueryWrapper<User> lambdaQueryWrapper = new LambdaQueryWrapper<>();
    
     lambdaQueryWrapper.eq(User::getUsername, user.getUsername());
    
     User entity = userService.getOne(lambdaQueryWrapper);
    
     if (entity == null) {
    
         user.setCreateTime(new Date());
    
         // 设置默认密码1234qwer
    
         user.setPassword(MD5Util.md5("1234qwer"));
    
         user.setRoleId(1);
    
         userService.save(user);
    
         return ResultVo.oK("用户:" + user.getUsername() + "新增成功,默认密码为:" + "1234qwer");
    
     } else {
    
         return ResultVo.failed(201, "用户新增失败,用户名:" + user.getUsername() + "已存在");
    
     }
    
     }
    
  
    
     /** * 删除用户
    
      */
    
     @DeleteMapping("/{userIds}")
    
     public ResultVo remove(@PathVariable Integer[] userIds) {
    
     for (Integer userId : userIds) {
    
         userService.removeById(userId);
    
         return ResultVo.oK();
    
     }
    
     return null;
    
     }
    
  
    
     /** * 修改用户
    
      * * @return
    
      */
    
     @PutMapping
    
     public ResultVo edit(@RequestBody User user) {
    
     user.setModifyTime(new Date());
    
     userService.updateById(user);
    
     return ResultVo.oK();
    
     }
    
  
    
     /** * 重置密码
    
      */
    
     @PutMapping("/resetPwd")
    
     public ResultVo reSetPwd(@RequestBody User user) {
    
     user.setPassword(MD5Util.md5(user.getPassword()));
    
     userService.updateById(user);
    
     return ResultVo.oK();
    
     }
    
  
    
 }

登录用户控制层:

复制代码
 /** * * @author: yy
    
  */
    
 @RestController
    
 @RequestMapping("/adminApi/common")
    
 public class CommonController {
    
     @Autowired
    
     private IUserService userService;
    
  
    
     @Autowired
    
     private IDepartmentService departmentService;
    
  
    
     @PostMapping("/login")
    
     public Object adminLogin(String username, String password) {
    
     User user = userService.selectByUsername(username);
    
     if (user == null) {
    
         return ResultVo.failed(201, "账号不存在,请检查账号是否正确或联系管理员");
    
     } else {
    
         if (!MD5Util.md5(password).equals(user.getPassword())) {
    
             return ResultVo.failed(201, "密码错误");
    
         } else {
    
             JSONObject obj = new JSONObject();
    
             obj.put("userInfo", user);
    
             obj.put("token", TokenUtil.getAdminToken(user));
    
             return ResultVo.oK(obj);
    
         }
    
     }
    
     }
    
  
    
     @ApiOperation("根据Token获取用户信息")
    
     @GetMapping("/getUserInfo")
    
     @AdminLoginToken
    
     public Object getUserInfo(HttpServletRequest request) {
    
     User user = userService.getById(TokenUtil.getAdminUserId(request.getHeader("Authorization")));
    
     if (user == null) {
    
         return ResultVo.failed(201, "账号不存在,请检查账号是否正确或联系管理员");
    
     } else {
    
         JSONObject obj = new JSONObject();
    
         obj.put("userInfo", user);
    
         obj.put("token", TokenUtil.getAdminToken(user));
    
         return ResultVo.oK(obj);
    
     }
    
     }
    
  
    
     @ApiOperation("退出登录")
    
     @GetMapping("/outLogin")
    
     public Object outLogin() {
    
     return ResultVo.oK();
    
     }
    
  
    
  
    
     @ApiOperation("文件上传")
    
     @PostMapping("/file")
    
     public ResultVo uploadFile(@RequestParam("file") MultipartFile file) {
    
     String uploadUrl = FileUpload.uploadAccessory(file);
    
     if (uploadUrl != null && uploadUrl != "") {
    
         return ResultVo.oK(uploadUrl);
    
     }
    
     return ResultVo.failed(500, "失败");
    
     }
    
  
    
  
    
     @PostMapping("/getMeInfo")
    
     @AdminLoginToken
    
     public ResultVo getMeInfo(HttpServletRequest request) {
    
     User user = userService.getById(TokenUtil.getAdminUserId(request.getHeader("Authorization")));
    
     return ResultVo.oK(user);
    
     }
    
  
    
  
    
     /** * 判断库中用户名 有没有被使用
    
      * * @param username
    
      * @return
    
      */
    
     @GetMapping("/checkUsername/{username}")
    
     public ResultVo checkUsername(@PathVariable String username) {
    
     LambdaQueryWrapper<User> lambdaQueryWrapper = new LambdaQueryWrapper<>();
    
     lambdaQueryWrapper.eq(User::getUsername, username);
    
     if (userService.getOne(lambdaQueryWrapper) != null) {
    
         return ResultVo.oK(true);
    
     } else {
    
         return ResultVo.oK(false);
    
     }
    
     }
    
  
    
     /** * 判断请求方法的该用户原密码是否正确
    
      * * @param password
    
      * @return
    
      */
    
     @GetMapping("/checkPassword/{password}")
    
     public ResultVo checkPassword(@PathVariable String password, HttpServletRequest request) {
    
     Integer userId = TokenUtil.getAdminUserId(request.getHeader("Authorization"));
    
     String encrypt = MD5Util.md5(password);// 用户输入的密码加密字符串
    
  
    
     if (userService.getById(userId).getPassword().equalsIgnoreCase(encrypt)) {
    
         return ResultVo.oK(true);
    
     } else {
    
         return ResultVo.oK(false);
    
     }
    
     }
    
  
    
  
    
     /** * 获取科室下拉框
    
      */
    
     @GetMapping("/getDepartment")
    
     public ResultVo getDepartment() {
    
     LambdaQueryWrapper<Department> lambdaQueryWrapper = new LambdaQueryWrapper<>();
    
     lambdaQueryWrapper.select(Department::getId, Department::getDepName);
    
     return ResultVo.oK(departmentService.list(lambdaQueryWrapper));
    
     }
    
  
    
  
    
     /** * 通过科室id查询医生
    
      */
    
     @GetMapping("/getDoctor/{id}")
    
     public ResultVo getDoctor(@PathVariable Integer id) {
    
     LambdaQueryWrapper<User> lambdaQueryWrapper = new LambdaQueryWrapper<>();
    
     lambdaQueryWrapper.select(User::getNickName, User::getUserId);
    
     lambdaQueryWrapper.eq(User::getDepId, id);
    
     return ResultVo.oK(userService.list(lambdaQueryWrapper));
    
     }
    
  
    
  
    
     @PostMapping("/registerDoctor")
    
     public ResultVo registerStudent(User user) {
    
     user.setPassword(MD5Util.md5(user.getPassword()));
    
     user.setCreateTime(new Date());
    
     user.setRoleId(1);
    
     userService.save(user);
    
  
    
     return ResultVo.oK();
    
     }
    
  
    
     @PostMapping("/registerPatients")
    
     public ResultVo registerTeacher(User user) {
    
     user.setPassword(MD5Util.md5(user.getPassword()));
    
     user.setCreateTime(new Date());
    
     user.setRoleId(2);
    
     userService.save(user);
    
     return ResultVo.oK();
    
     }
    
  
    
     /** * 忘记密码
    
      */
    
     @PutMapping("/forgotPassword")
    
     public ResultVo forgotPassword(User sysUser) {
    
  
    
     LambdaQueryWrapper<User> lambdaQueryWrapper = new LambdaQueryWrapper<>();
    
     lambdaQueryWrapper.eq(!StringUtils.isEmpty(sysUser.getUsername()), User::getUsername, sysUser.getUsername());
    
     // 先判断用户名在不在库中
    
     User user = userService.getOne(lambdaQueryWrapper);
    
     if (user != null) {
    
         sysUser.setPassword(MD5Util.md5(sysUser.getPassword()));
    
         sysUser.setUserId(user.getUserId());
    
         userService.updateById(sysUser);
    
         return ResultVo.oK();
    
     } else {
    
         return ResultVo.failed(201, "请输入正确的用户名");
    
     }
    
     }
    
  
    
     /** * 通过用户名查询医生详情,科室
    
      */
    
     @GetMapping("/getDoctorInfoByUsername/{username}")
    
     public ResultVo getDoctorInfoByUsername(@PathVariable String username){
    
     return ResultVo.oK(userService.getDoctorInfoByUsername(username));
    
     }
    
  
    
 }

用户管理控制层:

复制代码
 /** * <p>
    
  * 系统用户 前端控制器
    
  * </p>
    
  * * @author yy
    
  */
    
 @RestController
    
 @RequestMapping("/adminApi/user")
    
 public class UserController {
    
  
    
     @Autowired
    
     private IUserService userService;
    
  
    
     @GetMapping("/list")
    
     public ResultVo list(QueryRequest queryRequest, User user) {
    
     return ResultVo.oK(userService.queryFuzz(queryRequest, user));
    
     }
    
  
    
     /** * 修改账户状态,禁用或者取消
    
      * * @param user
    
      * @return
    
      */
    
     @PutMapping("/changeStatus")
    
     public ResultVo changeStatus(@RequestBody User user) {
    
     userService.updateById(user);
    
     return ResultVo.oK();
    
     }
    
  
    
     /** * 根据ID查询用户详情
    
      * * @param userId
    
      * @return
    
      */
    
     @GetMapping("/{userId}")
    
     public ResultVo getUserInfo(@PathVariable Integer userId) {
    
     User info = userService.getById(userId);
    
     return ResultVo.oK(info);
    
     }
    
  
    
  
    
     /** * 新增用户
    
      */
    
     @PostMapping
    
     public ResultVo add(@RequestBody User entity) {
    
     // 查询用户名是否存在数据库中
    
     LambdaQueryWrapper<User> lambdaQueryWrapper = new LambdaQueryWrapper<>();
    
     lambdaQueryWrapper.eq(User::getUsername, entity.getUsername());
    
     User user = userService.getOne(lambdaQueryWrapper);
    
     if (user == null) {
    
         entity.setCreateTime(new Date());
    
         // 设置默认密码1234qwer
    
         entity.setPassword(MD5Util.md5("1234qwer"));
    
         entity.setRoleId(0);
    
         userService.save(entity);
    
         // 插入返回ID
    
         return ResultVo.oK("用户:" + entity.getUsername() + "新增成功,默认密码为:1234qwer");
    
     } else {
    
         return ResultVo.failed(201, "用户新增失败,用户名:" + entity.getUsername() + "已存在");
    
     }
    
     }
    
  
    
     /** * 删除用户
    
      */
    
     @DeleteMapping("/{userIds}")
    
     public ResultVo remove(@PathVariable Integer[] userIds) {
    
     boolean flag = false;
    
     for (Integer userId : userIds) {
    
         User entity = userService.getById(userId);
    
         if (!entity.getUsername().equals("admin")) {
    
             userService.removeById(userId);
    
         } else {
    
             flag = true;
    
         }
    
     }
    
     if (flag) {
    
         return ResultVo.failed(201, "admin用户不能删除");
    
     } else {
    
         return ResultVo.oK();
    
     }
    
     }
    
  
    
     /** * 修改用户
    
      */
    
     @PutMapping
    
     public ResultVo edit(@RequestBody User user) {
    
     userService.updateById(user);
    
     return ResultVo.oK();
    
     }
    
  
    
     /** * 重置密码
    
      */
    
     @PutMapping("/resetPwd")
    
     public ResultVo reSetPwd(@RequestBody User user) {
    
     user.setPassword(MD5Util.md5(user.getPassword()));
    
     userService.updateById(user);
    
     return ResultVo.oK();
    
     }
    
  
    
  
    
     /** * 个人中心配置
    
      */
    
     @GetMapping("/profile")
    
     public ResultVo profile(HttpServletRequest request) {
    
     Integer userId = TokenUtil.getAdminUserId(request.getHeader("Authorization"));
    
     return ResultVo.oK(userService.getById(userId));
    
     }
    
  
    
     /** * 个人中心配置
    
      */
    
     @PutMapping("/profile")
    
     public ResultVo updateProfile(@RequestBody User user) {
    
     userService.updateById(user);
    
     return ResultVo.oK();
    
     }
    
  
    
     @PutMapping("/profile/updatePwd")
    
     public ResultVo profileUpdatePwd(QueryRequest queryRequest, HttpServletRequest request) {
    
     Integer userId = TokenUtil.getAdminUserId(request.getHeader("Authorization"));
    
  
    
     User user = userService.getById(userId);
    
     if (user.getPassword().equalsIgnoreCase(MD5Util.md5(queryRequest.getOldPassword()))) {
    
         User u = new User();
    
         u.setUserId(userId);
    
         u.setPassword(MD5Util.md5(queryRequest.getNewPassword()));
    
         userService.updateById(u);
    
         return ResultVo.oK();
    
     } else {
    
         return ResultVo.failed(201, "原密码不正确");
    
     }
    
     }
    
  
    
     @PostMapping("/profile/avatar")
    
     public ResultVo avatarUpload(@RequestParam("avatarfile") MultipartFile file, HttpServletRequest request) {
    
     Integer userId = TokenUtil.getAdminUserId(request.getHeader("Authorization"));
    
     JSONObject result = UploadFileUtils.upload(file);
    
     if (result.getInteger("status") == 200) {
    
         if (result.getBoolean("isImage")) {
    
             User user = new User();
    
             user.setAvatar(result.getString("requestUrl"));
    
             user.setUserId(userId);
    
             userService.updateById(user);
    
             // 缓存
    
             return ResultVo.oK(result.getString("requestUrl"));
    
         } else {
    
             return ResultVo.failed(201, "不是图片文件");
    
         }
    
     } else {
    
         return ResultVo.failed(201, "文件上传失败,请联系管理员");
    
     }
    
  
    
     }
    
 }

源码获取:俺的博客首页 "资源" 里下载!

全部评论 (0)

还没有任何评论哟~