课程设计-基于SSM实现个人健康管理系统

简介: 课程设计-基于SSM实现个人健康管理系统

一,项目简介


本次开发设计的个人健康管理系统,主要基于SSM实现对个人健康信息的管理,实现在疫情期间进行个人健康状态的上报管理,便于对个人的健康状况及时进行了解,以便于疫情的防控。主要包含注册登陆,个人每日健康上报,历史上报记录查询,个人信息修改,图形报表展示报告等几个模块。

二,环境介绍


语言环境:Java:  jdk1.8

数据库:Mysql: mysql5.7

应用服务器:Tomcat:  tomcat8.5.31

开发工具:IDEA或eclipse

开发技术:spring+springmvc+mybatis+mysql+jsp+bootstrap

三,系统展示


项目展示:

用户登陆功能展示:

image.png

用户在线注册功能:

image.png

个人健康信息记录上报

image.png

每日健康打卡

image.png

查看个人历史上报记录:

image.png

修改个人上报详情信息:

image.png

个人健康报告查询:

image.png

四,核心代码展示


package top.beansprout.health.controller;
import javax.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired;
import top.beansprout.health.constant.SysConstant;
import top.beansprout.health.model.vo.BusinessException;
import top.beansprout.health.model.vo.UserLoginVo;
import top.beansprout.health.util.PublicUtils;
/**
  * <p> Title: BaseController </p>
  * <p> Description: 基本信息处理</p>
  * 
  */
public class BaseController {
  @Autowired
  private HttpServletRequest request;
  public UserLoginVo getUserInfo() {
    final Object userObject = request.getSession().getAttribute(SysConstant.INIT_FIELD_USER_VO);
    if (PublicUtils.isNotBlank(userObject))
      return (UserLoginVo) userObject;
    throw new BusinessException("login", "身份信息已过期,请重新登录");
  }
  public int getUserId() {
    return getUserInfo().getId();
  }
}
package top.beansprout.health.controller;
import java.util.Date;
import javax.validation.Valid;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import top.beansprout.health.model.dto.BodyInfoQuery;
import top.beansprout.health.model.dto.BodyInfoSaveDto;
import top.beansprout.health.model.vo.R;
import top.beansprout.health.service.HealthService;
/**
 * <p>Title: HealthController</p>
 * <p>Description: 健康管理接口</p>
 * 
 */
@Controller
@RequestMapping("/health")
public class HealthController extends BaseController {
  @Autowired
  private HealthService healthService;
  // 保存身体信息
  @ResponseBody
  @PostMapping("/saveBodyInfo")
  public R saveBodyInfo(@RequestBody @Valid BodyInfoSaveDto bodyInfoSaveDto) {
    healthService.saveBodyInfo(getUserId(), bodyInfoSaveDto);
    return R.okAsAjax();
  }
  // 身体信息列表
  @ResponseBody
  @GetMapping("/bodyInfoList")
  public R bodyInfoList(@Valid BodyInfoQuery bodyInfoQuery) {
    return R.okAsAjax(healthService.bodyInfoList(getUserId(), bodyInfoQuery));
  }
  // 删除身体信息
  @ResponseBody
  @DeleteMapping("/{id}")
  public R saveBodyInfo(@PathVariable int id) {
    healthService.deleteBodyInfo(getUserId(), id);
    return R.okAsAjax();
  }
  // 获取身体信息
  @ResponseBody
  @GetMapping("/{id}")
  public R getBodyInfo(@PathVariable int id) {
    return R.okAsAjax(healthService.getBodyInfo(getUserId(), id));
  }
  // 身体信息统计
  @ResponseBody
  @GetMapping("/bodyInfoStatistics")
  public R bodyInfoStatistics(@DateTimeFormat(pattern = "yyyy-MM-dd") Date date) {
    return R.okAsAjax(healthService.getBodyStatistics(getUserId(), date));
  }
}
package top.beansprout.health.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
/**
  * <p> Title: PageController </p>
  * <p> Description: 页面管理</p>
  * 
  */
@Controller
public class PageController {
  // 根页面
  @GetMapping("/")
  public String rootView() {
    return "redirect:/login";
  }
  // 登录页面
  @GetMapping("/login")
  public String loginView() {
    return "../../index";
  }
  // 注册页面
  @GetMapping("/register")
  public String registerView() {
    return "register";
  }
  // 主页面
  @GetMapping("/home")
  public String homeView() {
    return "home";
  }
  // 用户信息页面
  @GetMapping("/userInfo")
  public String userInfoView() {
    return "userInfo";
  }
  // 用户信息页面
  @GetMapping("/updatePassword")
  public String updatePasswordView() {
    return "updatePassword";
  }
  // 用户身体信息录入页面
  @GetMapping("/bodyInfoInput")
  public String bodyInfoInputView() {
    return "bodyInfoInput";
  }
  // 用户身体信息列表页面
  @GetMapping("/bodyInofList")
  public String bodyInofListView() {
    return "bodyInofList";
  }
  // 用户身体信息统计页面
  @GetMapping("/bodyInofStatistics")
  public String bodyInofStatisticsView() {
    return "bodyInofStatistics";
  }
}
package top.beansprout.health.controller;
import javax.servlet.http.HttpServletRequest;
import javax.validation.Valid;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import top.beansprout.health.model.dto.UserLoginDto;
import top.beansprout.health.model.dto.UserRegisterDto;
import top.beansprout.health.model.dto.UserUpdateInfoDto;
import top.beansprout.health.model.dto.UserUpdatePasswordDto;
import top.beansprout.health.model.vo.R;
import top.beansprout.health.service.UserService;
/**
 * <p>Title: UserController</p>
 * <p>Description: 用户管理接口</p>
 * 
 */
@Controller
@RequestMapping("/user")
public class UserController extends BaseController {
  @Autowired
  private UserService userService;
  // 登录
  @ResponseBody
  @PostMapping("/login")
  public R login(@Valid UserLoginDto userLoginDto) {
    return R.okAsAjax(userService.login(userLoginDto));
  }
  // 注册
  @ResponseBody
  @PostMapping("/register")
  public R register(@Valid UserRegisterDto userRegisterDto) {
    userService.register(userRegisterDto);
    return R.okAsAjax();
  }
  // 登出
  @GetMapping("/logout")
  public String logout(HttpServletRequest request) {
    userService.logout(request);
    return "redirect:/login?target=redirect";
  }
  // 修改密码
  @ResponseBody
  @PutMapping("/updatePassword")
  public R updatePassword(HttpServletRequest request, @RequestBody @Valid UserUpdatePasswordDto updatePasswordDto) {
    userService.updatePassword(request, getUserId(), updatePasswordDto);
    return R.okAsAjax();
  }
  // 修改用户信息
  @ResponseBody
  @PostMapping(value = "/updateUserInfo", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
  public R updateUserInfo(@Valid UserUpdateInfoDto userUpdateInfoDto) {
    return R.okAsAjax(userService.updateUserInfo(getUserId(), userUpdateInfoDto));
  }
}

五,项目总结


本项目实现,简洁大方,主要完成个人健康状况申报功能,适合做课设或作业使用

相关文章
|
4月前
|
Java 数据库连接 Maven
手把手教你如何搭建SSM框架、图书商城系统案例
这篇文章是关于如何搭建SSM框架以及实现一个图书商城系统的详细教程,包括了项目的配置文件整合、依赖管理、项目结构和运行效果展示,并提供了GitHub源码链接。
手把手教你如何搭建SSM框架、图书商城系统案例
|
3月前
|
Java 应用服务中间件 数据库连接
ssm项目整合,简单的用户管理系统
文章介绍了一个使用SSM框架(Spring、SpringMVC、MyBatis)构建的简单用户管理系统的整合过程,包括项目搭建、数据库配置、各层代码实现以及视图展示。
ssm项目整合,简单的用户管理系统
|
3月前
|
XML Java 数据库连接
如何搭建SSM框架、图书商城系统
这是一份详尽的《Spring + SpringMVC + Mybatis 整合指南》,作者耗时良久整理出约五万字的内容,现已经全部笔记公开。此文档详细地介绍了如何搭建与整合SSM框架,具体步骤包括创建Maven项目、添加web骨架、配置pom文件以及整合Spring、SpringMVC和Mybatis等。无论是对初学者还是有一定基础的开发者来说,都是很好的学习资源。此外,作者还提供了项目源码的GitHub链接,方便读者实践。虽然当前主流推荐学习SpringBoot,但了解SSM框架仍然是不可或缺的基础。
47 0
|
4月前
|
SQL Java 应用服务中间件
使用SSM搭建图书商城管理系统(完整过程介绍、售后服务哈哈哈)
这篇文章是关于如何使用SSM框架搭建图书商城管理系统的教程,包括完整过程介绍、常见问题解答和售后服务,提供了项目地址、运行环境配置、效果图展示以及运行代码的步骤。
使用SSM搭建图书商城管理系统(完整过程介绍、售后服务哈哈哈)
|
5月前
|
存储 关系型数据库 测试技术
基于ssm+vue的校园驿站管理系统+(源码+部署说明+演示视频+源码介绍)(2)
基于ssm+vue的校园驿站管理系统+(源码+部署说明+演示视频+源码介绍)
81 1
|
5月前
|
安全 数据挖掘 测试技术
基于SSM+Vue的家居商城系统(源码+部署说明+演示视频)(2)
基于SSM+Vue的家居商城系统(源码+部署说明+演示视频)
80 0
|
5月前
|
Java 关系型数据库 MySQL
基于SSM+Vue的家居商城系统(源码+部署说明+演示视频)(1)
基于SSM+Vue的家居商城系统(源码+部署说明+演示视频)
76 0
|
5月前
|
Java 关系型数据库 测试技术
基于ssm+vue的校园驿站管理系统+(源码+部署说明+演示视频+源码介绍)(1)
基于ssm+vue的校园驿站管理系统+(源码+部署说明+演示视频+源码介绍)
67 0
|
6月前
|
前端开发 JavaScript Java
杨校老师项目之基于SSM大学生创新创业项目管理系统
杨校老师项目之基于SSM大学生创新创业项目管理系统
91 0
|
6月前
|
前端开发 Java 关系型数据库
杨校老师项目之基于SSM企业物流快递配送管理系统
杨校老师项目之基于SSM企业物流快递配送管理系统
56 0