Java毕业设计--健康推广管理系统项目实战【Springboot+mybatis+layui等实现】

前言:

  健康管理不仅是一种理念,更是一种方法,是一套完善而彻底的服务程序,其目的是为了使患者和健康的人更好地拥有健康、恢复健康、促进健康,努力节约资金,有效降低医疗费用。健康管理具有以下主要功能:一是了解居民的身体年龄,判断疾病方向;第二,可以根据日常行为判断发病概率,在此基础上,医生可以提供降低慢性病风险的行为干预方案。三是对高危人群的健康状况进行长时间(终身)跟踪,最大限度地减少重大疾病的发生;第四,它可以节省时间和金钱在维持健康和提高医疗效率。

面向教师的健康管理平台的目的,对于个人来说,就是如何利用健康检查系统中的信息,为人们的健康保驾护航。而卫生信息管理和信息管理系统的使用,不仅需要具备基础医学知识、临床医学知识、流行病学知识、计算机技术、数理统计等综合素质的专业人员,还需要具备庞大的保健医学、预防医学、专业的临床医学、康复医学等,有资深专家团队支持,可为个人提供一系列健康管理服务。当今世界,数字化信息管理不是计算机,只有利用计算机技术,采用我国各高校统一标准的健康考试系统形式,开发高校健康考试系统系统软件,设置计算机编号的教师健康考试系统,制作教师健康体检档案,并详细记录体检过程中发现的健康问题及处理情况等,实现用户的健康体检系统信息在校园网信息的交换与共享,利用计算机技术,实现了用户健康检查系统的连续动态管理。健康信息管理系统以计算机为工具,通过对用户体检所获得的数据进行信息管理,将管理人员从繁琐的数据计算处理中解脱出来,帮助组用户更好地监督体检,从而全面提高质量。具体来说,系统可以对[用户的基本健康状况进行各种必要的统计和分析。

主要模块 :

普通用户: 用户登录、注册、修改密码、修改个人信息、查看主页健康模块信息、分类查看健康推广模块信息、查看详情信息、数据排行榜、相关信息推荐、收藏、评论、关注发布者、健康信息发布、取消收藏、取消关注、我的收藏列表、我的关注列表等主要功能

管理员:  管理员登陆、首页统计用户信息、登录信息。注册信息等、

推广类型管理:查看列表、 模糊搜索、添加、修改、删除

推广详情管理:查看列表、 模糊搜索、添加、修改、删除

管理员信息管理:查看和修改密码

通知公告管理:查看列表、 模糊搜索、添加、修改、删除

用户信息管理:查看列表、 模糊搜索 、删除

评论回复管理:查看列表、 模糊搜索、删除

功能截图:

用户登录:

​​ 首页:

分类:

发布健康推广信息:

输入标题、作者信息、分类以及封面图片和富文本编辑器的主要内容 

详情:可以收藏和点击查看作者信息

评论回复收藏:

个人中心:包括基本信息、我的推广笔记、收藏夹、我的关注等

后台管理:

健康分类:

​​ 健康推广详情:

添加修改:

管理员信息:

​​ 公告信息:

​​ 用户信息:

评论回复:

关键代码:

/**
 * 用户控制器
 * @author lyy
 *
 */
@RestController
@RequestMapping("/admin/user")
public class UserAdminController {

  @Resource
  private UserService userService;

  @Value("${MD5Salt}")
  private String salt; // md5加密盐

  /**
   * 根据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;
  }

  /**
   * 分页查询用户
   * @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;
  }

  /**
   * 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

编号名称数据类型长度小数位允许空值主键默认值说明
1next_valbigint200YN

表t_admin

编号名称数据类型长度小数位允许空值主键默认值说明
1admin_idint100NY
2head_portraitvarchar2000YN
3passwordvarchar2000YN
4phonevarchar2000YN
5sexvarchar500YN
6signaturevarchar5000YN
7true_namevarchar2000YN
8user_namevarchar2000YN

表t_article

编号名称数据类型长度小数位允许空值主键默认值说明
1article_idint100NY
2authorvarchar2000NN
3clickint100YN
4comment_numint100YN
5contenttext655350YN
6image_namevarchar2550YN
7is_originalint100YN
8is_topint100YN
9publish_datedatetime190YN
10titlevarchar2000NN
11classify_idint100YN
12user_idint100YN

表t_blogger

编号名称数据类型长度小数位允许空值主键默认值说明
1blogger_idint100NY
2head_portraitvarchar2000YN
3mottovarchar5000YN
4nick_namevarchar2000YN
5sitevarchar2000YN
6signaturevarchar5000YN

表t_classify

编号名称数据类型长度小数位允许空值主键默认值说明
1classify_idint100NY
2classify_namevarchar2000NN

表t_comment

编号名称数据类型长度小数位允许空值主键默认值说明
1comment_idint100NY
2comment_datedatetime190YN
3contentvarchar5000YN
4article_idint100YN
5user_idint100YN

表t_link

编号名称数据类型长度小数位允许空值主键默认值说明
1link_idint100NY
2link_emailvarchar2000YN
3link_namevarchar2000YN
4link_urlvarchar2000YN
5order_numint100YN

表t_notice

编号名称数据类型长度小数位允许空值主键默认值说明
1notice_idint100NY
2gradeint100YN
3contentvarchar5000YN
4publish_datedatetime190YN

表t_reply

编号名称数据类型长度小数位允许空值主键默认值说明
1reply_idint100NY
2contentvarchar5000YN
3reply_datedatetime190YN
4comment_idint100YN
5user_idint100YN

表t_timeline

编号名称数据类型长度小数位允许空值主键默认值说明
1timeline_idint100NY
2contentvarchar2000YN
3publish_datedatetime190YN
4monthvarchar2000YN
5yearvarchar2000YN
  • 10
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
学生成绩管理系统是一个常见的项目,基于SpringBoot+Mybatis+Layui进行开发可以快速构建一个高效、稳定、易于维护的Web应用程序。下面是一个简单的学生成绩管理系统实现思路: 1. 搭建项目框架 使用SpringBoot框架搭建项目,通过Maven或Gradle来管理依赖。可以使用Mybatis框架来访问数据库,并使用Layui框架实现前端交互。 2. 确定数据库表结构 根据需求,设计学生成绩管理系统的数据库表结构。可以使用MySQL等关系型数据库,也可以使用NoSQL数据库(如MongoDB)。 3. 实现数据访问层 使用Mybatis框架实现数据访问层,包括DAO接口和Mapper文件。在Mapper文件中编写SQL语句来操作数据库,例如查询成绩、添加学生信息等。 4. 实现业务逻辑层 在业务逻辑层中,实现各种操作的具体逻辑,例如查询学生成绩、添加学生信息、更新学生成绩等。可以使用@Service注解来标注服务类。 5. 实现控制器层 使用SpringMVC框架实现控制器层,处理前端请求并调用业务逻辑层实现相应的操作。可以使用@Controller注解来标注控制器类。 6. 实现前端页面 使用Layui框架实现前端页面,包括登录页面、学生信息管理页面、成绩查询页面等。在前端页面中,通过Ajax向后台发送请求并获取数据,实现动态更新页面。 7. 运行测试 完成以上步骤后,可以运行测试来验证程序的正确性。可以使用JUnit框架来实现单元测试,或使用Postman等工具来模拟前端请求并验证后台响应。 以上是一个简单的学生成绩管理系统实现思路,您可以根据具体需求进行修改和扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

进击的代码家

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值