|体检|基于Spring Boot的互联网智慧医院体检平台

|体检|基于Spring Boot的互联网智慧医院体检平台互联网智慧医院体检平台的目的是让使用者可以更方便的将人 设备和场景更立体的连接在一起

大家好,欢迎来到IT知识分享网。

目录

前言

 一、技术栈

二、系统功能介绍

三、核心代码

1、登录模块

 2、文件上传模块

3、代码封装


前言

互联网智慧医院体检平台的目的是让使用者可以更方便的将人、设备和场景更立体的连接在一起。能让用户以更科幻的方式使用产品,体验高科技时代带给人们的方便,同时也能让用户体会到与以往常规产品不同的体验风格

安卓,iOS相比较起来,互联网智慧医院体检平台在流畅性,续航能力,等方方面面都有着很大的优势。这就意味着互联网智慧医院体检平台的设计可以比其他系统更为出色的能力,可以更高效的完成最新的体检项目、套餐信息、健康问卷等功能。

系统设计主要采用的是JAVA语言来进行开发,采用Spring Boot框架技术,框架分为三层,分别是控制层Controller,业务处理层Service,持久层dao,能够采用多层次管理开发,对于各个模块设计制作有一定的安全性;数据库方面主要采用的是MySQL来进行开发,其特点是稳定性好,数据库存储容量大,处理能力快等优势;服务器采用的是Tomcat服务,能够提供稳固的运行平台,确保系统稳定运行。通过互联网智慧医院体检平台来提升课题的各项功能的工作效率,提供了一个多样功能,具有良好实用性的互联网智慧医院体检平台 

 一、技术栈

末尾获取源码
Spring Boot+JS+ jQuery+Ajax…

二、系统功能介绍

游客打开系统的网址后,首先看到的就是首页界面在这里,游客能够看到互联网智慧医院体检平台导航条显示首页、体检项目、套餐信息、健康问卷、知识库、公告信息、后台管理、个人中心等。系统首页界面如41所示

|体检|基于Spring Boot的互联网智慧医院体检平台 在系统首页点击注册/登录按钮,然后页面跳转到注册登录界面,后来输入信息完成后,单击注册或者登录操作,如42所示

|体检|基于Spring Boot的互联网智慧医院体检平台 

|体检|基于Spring Boot的互联网智慧医院体检平台 用户点击体检项目;在体检项目页面搜索栏输入项目名称进行查询然后可以查项目名称、封面、价格、发布时间、点击次数信息,如果有需要可以点击体检预约或者收藏等操作;如图43所示。

|体检|基于Spring Boot的互联网智慧医院体检平台 用户点击套餐信息;在套餐信息页面搜索栏输入套餐名称进行查询然后可以查套餐编号、套餐名称、封面、价格、发布时间、点击次数信息,如果有需要可以点击购买套餐或者收藏等操作如图44所示。

|体检|基于Spring Boot的互联网智慧医院体检平台 用户点击健康问卷;在健康问卷页面搜索栏输入标题、问卷类型进行查询然后可以查标题、问卷类型、截止时间、发布时间、点击次数信息,如果有需要可以进行问卷提交或者收藏等操作如图45所示。

|体检|基于Spring Boot的互联网智慧医院体检平台 在个人中心页面可以输入个人详细信息进行信息更新操作,还可以对我的收藏进行详细操作,46所示

|体检|基于Spring Boot的互联网智慧医院体检平台 管理员通过登录页面填写用户名和密码,完成后进行登录,如图47所示。

|体检|基于Spring Boot的互联网智慧医院体检平台 管理员登录进入互联网智慧医院体检平台的实现可以查看系统首页、个人中心、用户管理、健康档案管理、健康干预管理、体检项目管理、套餐信息管理、体检预约管理、体检报告管理、购买套餐管理、健康问卷管理、问卷提交管理、健康评估管理、知识库管理、分类信息管理、系统管理等信息,如图48所示。

|体检|基于Spring Boot的互联网智慧医院体检平台 管理员点击用户管理;在用户管理页面对账号、姓名、年龄、性别、手机、头像信息,进行查询,新增或删除用户信息操作如图49所示。

|体检|基于Spring Boot的互联网智慧医院体检平台 管理员点击健康档案管理;在健康档案管理页面对账号、姓名、性别、手机、年龄、身高、体重、血压、血糖、心跳、联系人、联系电话、档案文件、健康状态、登记日期信息,进行查询,新增或删除健康档案等操作如图410所示。

|体检|基于Spring Boot的互联网智慧医院体检平台 管理员点击健康干预管理;在健康干预管理页面对账号、姓名、干预标题、方案模板、干预时间信息,进行查询,新增或删除健康干预操作如图411所示。

|体检|基于Spring Boot的互联网智慧医院体检平台 管理员点击体检项目管理;在体检项目管理页面对项目名称、封面、价格、发布时间、点击次数信息,进行查询新增或删除体检项目操作如图412所示。

|体检|基于Spring Boot的互联网智慧医院体检平台 管理员点套餐信息管理;在套餐信息管理页面对套餐编号、套餐名称、封面、价格、发布时间、点击次数信息,进行查询新增或删除套餐信息操作如图413所示。

|体检|基于Spring Boot的互联网智慧医院体检平台 管理员点击体检预约管理;在体检预约管理页面对预约编号、项目名称、价格、预约时间、账号、姓名、手机、是否支付、审核回复、审核状态、审核信息,进行查询或删除体检预约操作如图414所示。

|体检|基于Spring Boot的互联网智慧医院体检平台 管理员点击体检报告管理;在体检报告管理页面对报告单号、账号、姓名、项目名称、体检报告、登记时间信息,进行查询或删除体检报告操作如图415所示。

|体检|基于Spring Boot的互联网智慧医院体检平台 管理员点击购买套餐管理;在购买套餐管理页面对订单编号、套餐名称、价格、购买时间、账号、姓名、手机、是否支付信息,进行查询或删除购买套餐操作如图416所示。

|体检|基于Spring Boot的互联网智慧医院体检平台 用户点击后台管理,然后页面跳转到用户主页面,可以对系统首页、个人中心、健康档案管理、健康干预管理、体检预约管理、体检报告管理、购买套餐管理、问卷提交管理、健康评估管理等功能进行相应操作,如图417所示。

|体检|基于Spring Boot的互联网智慧医院体检平台 

三、核心代码

1、登录模块

 package com.controller; import java.util.Arrays; import java.util.Calendar; import java.util.Date; import java.util.Map; import javax.servlet.http.HttpServletRequest; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; 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.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; import com.annotation.IgnoreAuth; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.entity.TokenEntity; import com.entity.UserEntity; import com.service.TokenService; import com.service.UserService; import com.utils.CommonUtil; import com.utils.MD5Util; import com.utils.MPUtil; import com.utils.PageUtils; import com.utils.R; import com.utils.ValidatorUtils; / * 登录相关 */ @RequestMapping("users") @RestController public class UserController{ @Autowired private UserService userService; @Autowired private TokenService tokenService; / * 登录 */ @IgnoreAuth @PostMapping(value = "/login") public R login(String username, String password, String captcha, HttpServletRequest request) { UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username)); if(user==null || !user.getPassword().equals(password)) { return R.error("账号或密码不正确"); } String token = tokenService.generateToken(user.getId(),username, "users", user.getRole()); return R.ok().put("token", token); } / * 注册 */ @IgnoreAuth @PostMapping(value = "/register") public R register(@RequestBody UserEntity user){ // ValidatorUtils.validateEntity(user); if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) { return R.error("用户已存在"); } userService.insert(user); return R.ok(); } / * 退出 */ @GetMapping(value = "logout") public R logout(HttpServletRequest request) { request.getSession().invalidate(); return R.ok("退出成功"); } / * 密码重置 */ @IgnoreAuth @RequestMapping(value = "/resetPass") public R resetPass(String username, HttpServletRequest request){ UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username)); if(user==null) { return R.error("账号不存在"); } user.setPassword(""); userService.update(user,null); return R.ok("密码已重置为:"); } / * 列表 */ @RequestMapping("/page") public R page(@RequestParam Map<String, Object> params,UserEntity user){ EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>(); PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params)); return R.ok().put("data", page); } / * 列表 */ @RequestMapping("/list") public R list( UserEntity user){ EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>(); ew.allEq(MPUtil.allEQMapPre( user, "user")); return R.ok().put("data", userService.selectListView(ew)); } / * 信息 */ @RequestMapping("/info/{id}") public R info(@PathVariable("id") String id){ UserEntity user = userService.selectById(id); return R.ok().put("data", user); } / * 获取用户的session用户信息 */ @RequestMapping("/session") public R getCurrUser(HttpServletRequest request){ Long id = (Long)request.getSession().getAttribute("userId"); UserEntity user = userService.selectById(id); return R.ok().put("data", user); } / * 保存 */ @PostMapping("/save") public R save(@RequestBody UserEntity user){ // ValidatorUtils.validateEntity(user); if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) { return R.error("用户已存在"); } userService.insert(user); return R.ok(); } / * 修改 */ @RequestMapping("/update") public R update(@RequestBody UserEntity user){ // ValidatorUtils.validateEntity(user); userService.updateById(user);//全部更新 return R.ok(); } / * 删除 */ @RequestMapping("/delete") public R delete(@RequestBody Long[] ids){ userService.deleteBatchIds(Arrays.asList(ids)); return R.ok(); } }

 2、文件上传模块

package com.controller; import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; import java.util.Arrays; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Random; import java.util.UUID; import org.apache.commons.io.FileUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.util.ResourceUtils; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; import com.annotation.IgnoreAuth; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.entity.ConfigEntity; import com.entity.EIException; import com.service.ConfigService; import com.utils.R; / * 上传文件映射表 */ @RestController @RequestMapping("file") @SuppressWarnings({"unchecked","rawtypes"}) public class FileController{ @Autowired private ConfigService configService; / * 上传文件 */ @RequestMapping("/upload") public R upload(@RequestParam("file") MultipartFile file,String type) throws Exception { if (file.isEmpty()) { throw new EIException("上传文件不能为空"); } String fileExt = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")+1); File path = new File(ResourceUtils.getURL("classpath:static").getPath()); if(!path.exists()) { path = new File(""); } File upload = new File(path.getAbsolutePath(),"/upload/"); if(!upload.exists()) { upload.mkdirs(); } String fileName = new Date().getTime()+"."+fileExt; File dest = new File(upload.getAbsolutePath()+"/"+fileName); file.transferTo(dest); FileUtils.copyFile(dest, new File("C:\\Users\\Desktop\\jiadian\\springbootl7own\\src\\main\\resources\\static\\upload"+"/"+fileName)); if(StringUtils.isNotBlank(type) && type.equals("1")) { ConfigEntity configEntity = configService.selectOne(new EntityWrapper<ConfigEntity>().eq("name", "faceFile")); if(configEntity==null) { configEntity = new ConfigEntity(); configEntity.setName("faceFile"); configEntity.setValue(fileName); } else { configEntity.setValue(fileName); } configService.insertOrUpdate(configEntity); } return R.ok().put("file", fileName); } / * 下载文件 */ @IgnoreAuth @RequestMapping("/download") public ResponseEntity<byte[]> download(@RequestParam String fileName) { try { File path = new File(ResourceUtils.getURL("classpath:static").getPath()); if(!path.exists()) { path = new File(""); } File upload = new File(path.getAbsolutePath(),"/upload/"); if(!upload.exists()) { upload.mkdirs(); } File file = new File(upload.getAbsolutePath()+"/"+fileName); if(file.exists()){ /*if(!fileService.canRead(file, SessionManager.getSessionUser())){ getResponse().sendError(403); }*/ HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_OCTET_STREAM); headers.setContentDispositionFormData("attachment", fileName); return new ResponseEntity<byte[]>(FileUtils.readFileToByteArray(file),headers, HttpStatus.CREATED); } } catch (IOException e) { e.printStackTrace(); } return new ResponseEntity<byte[]>(HttpStatus.INTERNAL_SERVER_ERROR); } }

3、代码封装

package com.utils; import java.util.HashMap; import java.util.Map; / * 返回数据 */ public class R extends HashMap<String, Object> { private static final long serialVersionUID = 1L; public R() { put("code", 0); } public static R error() { return error(500, "未知异常,请联系管理员"); } public static R error(String msg) { return error(500, msg); } public static R error(int code, String msg) { R r = new R(); r.put("code", code); r.put("msg", msg); return r; } public static R ok(String msg) { R r = new R(); r.put("msg", msg); return r; } public static R ok(Map<String, Object> map) { R r = new R(); r.putAll(map); return r; } public static R ok() { return new R(); } public R put(String key, Object value) { super.put(key, value); return this; } }

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/122149.html

(0)
上一篇 2025-10-18 21:45
下一篇 2025-10-18 22:10

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信