Java项目实战–健康管理系统设计实现【Springboot+mybatis+layui等实现】
前言:
健康管理不仅是一种理念,更是一种方法,是一套完善而彻底的服务程序,其目的是为了使患者和健康的人更好地拥有健康、恢复健康、促进健康,努力节约资金,有效降低医疗费用。健康管理具有以下主要功能:一是了解居民的身体年龄,判断疾病方向;第二,可以根据日常行为判断发病概率,在此基础上,医生可以提供降低慢性病风险的行为干预方案。三是对高危人群的健康状况进行长时间(终身)跟踪,最大限度地减少重大疾病的发生;第四,它可以节省时间和金钱在维持健康和提高医疗效率。
面向教师的健康管理平台的目的,对于个人来说,就是如何利用健康检查系统中的信息,为人们的健康保驾护航。而卫生信息管理和信息管理系统的使用,不仅需要具备基础医学知识、临床医学知识、流行病学知识、计算机技术、数理统计等综合素质的专业人员,还需要具备庞大的保健医学、预防医学、专业的临床医学、康复医学等,有资深专家团队支持,可为个人提供一系列健康管理服务。当今世界,数字化信息管理不是计算机,只有利用计算机技术,采用我国各高校统一标准的健康考试系统形式,开发高校健康考试系统系统软件,设置计算机编号的教师健康考试系统,制作教师健康体检档案,并详细记录体检过程中发现的健康问题及处理情况等,实现用户的健康体检系统信息在校园网信息的交换与共享,利用计算机技术,实现了用户健康检查系统的连续动态管理。健康信息管理系统以计算机为工具,通过对用户体检所获得的数据进行信息管理,将管理人员从繁琐的数据计算处理中解脱出来,帮助组用户更好地监督体检,从而全面提高质量。具体来说,系统可以对[用户的基本健康状况进行各种必要的统计和分析。
视频演示:Java毕业设计项目实战-健康推广信息管理系统.mp4
主要模块 :
普通用户:用户登录、注册、修改密码、修改个人信息、查看主页健康模块信息、分类查看健康推广模块信息、查看详情信息、数据排行榜、相关信息推荐、收藏、评论、关注发布者、健康信息发布、取消收藏、取消关注、我的收藏列表、我的关注列表等主要功能
管理员: 管理员登陆、首页统计用户信息、登录信息。注册信息等、
推广类型管理:查看列表、 模糊搜索、添加、修改、删除
推广详情管理:查看列表、 模糊搜索、添加、修改、删除
管理员信息管理:查看和修改密码
通知公告管理:查看列表、 模糊搜索、添加、修改、删除
用户信息管理:查看列表、 模糊搜索 、删除
评论回复管理:查看列表、 模糊搜索、删除
功能截图:
用户登录:
首页:
分类:
发布健康推广信息:
输入标题、作者信息、分类以及封面图片和富文本编辑器的主要内容
详情:可以收藏和点击查看作者信息
评论回复收藏:
个人中心:包括基本信息、我的推广笔记、收藏夹、我的关注等
后台管理:
健康分类:
健康推广详情:
添加修改:
管理员信息:
公告信息: 用户信息:
评论回复:
关键代码:
/**
* 用户控制器
* @author lyy
*
*/
@RestController
@RequestMapping("/admin/user")
public class UserAdminController {
@Resource
private UserService userService;
@Value("${MD5Salt}")
private String salt; // md5加密盐
/**
* 分页查询用户
* @param user
* @param page
* @return
*/
@RequestMapping("/list")
public Map<String, Object> list(User user,
@RequestParam(value = "latelyLoginTimes", required = false) String latelyLoginTimes,
@RequestParam(value = "page", required = false) Integer page,
@RequestParam(value = "pageSize", required = false) Integer pageSize) {
String s_bregistrationDate = null; // 开始时间
String s_eregistrationDate = null; // 结束时间
if (StringUtil.isNotEmpty(latelyLoginTimes)) {
String[] strs = latelyLoginTimes.split(" - "); // 拆分时间段
s_bregistrationDate = strs[0];
s_eregistrationDate = strs[1];
}
List<User> userList = userService.list(user, s_bregistrationDate, s_eregistrationDate, page - 1, pageSize);
Long total = userService.getCount(user, s_bregistrationDate, s_eregistrationDate);
Map<String, Object> resultMap = new HashMap<String, Object>();
resultMap.put("errorNo", 0);
resultMap.put("data", userList);
resultMap.put("total", total);
return resultMap;
}
/**
* 根据ID查找用户
* @param userId
* @return
*/
@RequestMapping("/findById")
public Map<String, Object> findById(Integer userId) {
Map<String, Object> resultMap = new HashMap<String, Object>();
User user = userService.findById(userId);
resultMap.put("errorNo", 0);
resultMap.put("data", user);
return resultMap;
}
/**
* unfollow
* @param request
* @param userId
* @return
*/
@RequestMapping("/removeFocusUser")
public ModelAndView removeFocusUser(HttpServletRequest request, String userId) {
ModelAndView mav = new ModelAndView();
User user = (User) request.getSession().getAttribute("user");// 当前登录用户
String userIds = user.getUserIds();
List<String> tempList = Arrays.asList(userIds.split(","));
List<String> lineIdList = new ArrayList<>(tempList);
lineIdList.remove(userId);
String ret = StringUtils.join(lineIdList, ",");
user.setUserIds(ret);
userService.save(user);
mav.setViewName("redirect:/viewFocusUser");
return mav;
}
/**
* 关注用户
* @param request
* @param userId
* @return
*/
@RequestMapping("/addFocusUser")
public ModelAndView addFocusUser(HttpServletRequest request, String userId) {
ModelAndView mav = new ModelAndView();
User user = (User) request.getSession().getAttribute("user");// 当前登录用户
String userIds = user.getUserIds();
List<String> tempList = Arrays.asList(userIds.split(","));
List<String> lineIdList = new ArrayList<>(tempList);
lineIdList.add(userId);
String ret = StringUtils.join(lineIdList, ",");
user.setUserIds(ret);
userService.save(user);
mav.setViewName("redirect:/viewFocusUser");
return mav;
}
@RequestMapping("/addFocusUser/{userId}")
public ModelAndView addFocusUser(@PathVariable(value = "userId", required = false) Integer userId,
HttpSession session) {
ModelAndView mav = new ModelAndView();
User user = (User) session.getAttribute("user");// 当前登录用户
String userIds = user.getUserIds();
List<String> tempList = new ArrayList<>();
if (userIds != null) {
tempList = Arrays.asList(userIds.split(","));
}
List<String> lineIdList = new ArrayList<>(tempList);
lineIdList.add(userId.toString());
String ret = StringUtils.join(lineIdList, ",");
user.setUserIds(ret);
userService.save(user);
mav.setViewName("redirect:/viewFocusUser");
return mav;
}
/**
* 取消收藏
* @param request
* @return
*/
@RequestMapping("/removeCollection")
public ModelAndView removeCollection(HttpServletRequest request, String artId) {
ModelAndView mav = new ModelAndView();
User user = (User) request.getSession().getAttribute("user");// 当前登录用户
String artIds = user.getArticleIds();
List<String> tempList = Arrays.asList(artIds.split(","));
List<String> lineIdList = new ArrayList<>(tempList);
lineIdList.remove(artId);
String ret = StringUtils.join(lineIdList, ",");
user.setArticleIds(ret);
userService.save(user);
mav.setViewName("redirect:/viewCollection");
return mav;
}
/**
* 收藏
* @param request
* @return
*/
@RequestMapping("/addCollection")
public ModelAndView addCollection(HttpServletRequest request, String artId) {
ModelAndView mav = new ModelAndView();
User user = (User) request.getSession().getAttribute("user");// 当前登录用户
String artIds = user.getArticleIds();
List<String> tempList= Arrays.asList(artIds.split(","));
List<String> lineIdList = new ArrayList<>(tempList);
lineIdList.add(artId);
String ret = StringUtils.join(lineIdList, ",");
user.setArticleIds(ret);
userService.save(user);
mav.setViewName("redirect:/viewCollection");
return mav;
}
@RequestMapping("/delete")
public Map<String, Object> delete(Integer userId) {
Map<String, Object> resultMap = new HashMap<String, Object>();
userService.delete(userId);
resultMap.put("errorNo", 0);
return resultMap;
}
}
数据表设计:
数据库名:boot_health
文档版本:V1.0.0
文档描述:数据库表设计描述
表hibernate_sequence
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
说明 |
1 |
next_val |
bigint |
20 |
0 |
Y |
N |
表t_admin
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
说明 |
1 |
admin_id |
int |
10 |
0 |
N |
Y |
|
2 |
head_portrait |
varchar |
200 |
0 |
Y |
N |
|
3 |
password |
varchar |
200 |
0 |
Y |
N |
|
4 |
phone |
varchar |
200 |
0 |
Y |
N |
|
5 |
sex |
varchar |
50 |
0 |
Y |
N |
|
6 |
signature |
varchar |
500 |
0 |
Y |
N |
|
7 |
true_name |
varchar |
200 |
0 |
Y |
N |
|
8 |
user_name |
varchar |
200 |
0 |
Y |
N |
表t_article
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
说明 |
1 |
article_id |
int |
10 |
0 |
N |
Y |
|
2 |
author |
varchar |
200 |
0 |
N |
N |
|
3 |
click |
int |
10 |
0 |
Y |
N |
|
4 |
comment_num |
int |
10 |
0 |
Y |
N |
|
5 |
content |
text |
65535 |
0 |
Y |
N |
|
6 |
image_name |
varchar |
255 |
0 |
Y |
N |
|
7 |
is_original |
int |
10 |
0 |
Y |
N |
|
8 |
is_top |
int |
10 |
0 |
Y |
N |
|
9 |
publish_date |
datetime |
19 |
0 |
Y |
N |
|
10 |
title |
varchar |
200 |
0 |
N |
N |
|
11 |
classify_id |
int |
10 |
0 |
Y |
N |
|
12 |
user_id |
int |
10 |
0 |
Y |
N |
表t_blogger
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
说明 |
1 |
blogger_id |
int |
10 |
0 |
N |
Y |
|
2 |
head_portrait |
varchar |
200 |
0 |
Y |
N |
|
3 |
motto |
varchar |
500 |
0 |
Y |
N |
|
4 |
nick_name |
varchar |
200 |
0 |
Y |
N |
|
5 |
site |
varchar |
200 |
0 |
Y |
N |
|
6 |
signature |
varchar |
500 |
0 |
Y |
N |
表t_classify
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
说明 |
1 |
classify_id |
int |
10 |
0 |
N |
Y |
|
2 |
classify_name |
varchar |
200 |
0 |
N |
N |
表t_comment
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
说明 |
1 |
comment_id |
int |
10 |
0 |
N |
Y |
|
2 |
comment_date |
datetime |
19 |
0 |
Y |
N |
|
3 |
content |
varchar |
500 |
0 |
Y |
N |
|
4 |
article_id |
int |
10 |
0 |
Y |
N |
|
5 |
user_id |
int |
10 |
0 |
Y |
N |
表t_link
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
说明 |
1 |
link_id |
int |
10 |
0 |
N |
Y |
|
2 |
link_email |
varchar |
200 |
0 |
Y |
N |
|
3 |
link_name |
varchar |
200 |
0 |
Y |
N |
|
4 |
link_url |
varchar |
200 |
0 |
Y |
N |
|
5 |
order_num |
int |
10 |
0 |
Y |
N |
表t_notice
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
说明 |
1 |
notice_id |
int |
10 |
0 |
N |
Y |
|
2 |
grade |
int |
10 |
0 |
Y |
N |
|
3 |
content |
varchar |
500 |
0 |
Y |
N |
|
4 |
publish_date |
datetime |
19 |
0 |
Y |
N |
表t_reply
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
说明 |
1 |
reply_id |
int |
10 |
0 |
N |
Y |
|
2 |
content |
varchar |
500 |
0 |
Y |
N |
|
3 |
reply_date |
datetime |
19 |
0 |
Y |
N |
|
4 |
comment_id |
int |
10 |
0 |
Y |
N |
|
5 |
user_id |
int |
10 |
0 |
Y |
N |
表t_timeline
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
说明 |
1 |
timeline_id |
int |
10 |
0 |
N |
Y |
|
2 |
content |
varchar |
200 |
0 |
Y |
N |
|
3 |
publish_date |
datetime |
19 |
0 |
Y |
N |
|
4 |
month |
varchar |
200 |
0 |
Y |
N |
|
5 |
year |
varchar |
200 |
0 |
Y |
N |