末尾获取源码
开发语言:Java
Java开发工具:JDK1.8
后端框架:SSM
前端:Vue
数据库:MySQL5.7和Navicat管理工具结合
服务器:Tomcat8.5
开发软件:IDEA / Eclipse
是否Maven项目:是


目录

一、项目简介

二、系统功能

三、系统项目截图

3.1前台首页

3.2后台管理

四、核心代码

4.1登录相关

4.2文件上传

4.3封装


一、项目简介

该毕业设计作品是一款疫苗接种平台,旨在为广大用户提供一个便捷的疫苗接种服务。该平台包括用户管理、医护人员管理、疫苗信息管理、疫苗种类管理、疫苗接种点管理、疫苗预约管理、接种信息管理、解疑中心、系统管理等功能,具有良好的可扩展性、易用性和安全性。

在用户管理方面,该平台支持用户注册、登录、信息维护等功能,用户可以通过该平台查看自己的接种记录、疫苗价格等信息。在医护人员管理方面,该平台支持医护人员注册、登录、信息维护等功能,医护人员可以通过该平台管理自己的接种点、接种信息等信息。

疫苗信息管理方面,该平台支持疫苗信息的维护、查询等功能,用户可以在该平台上查看各种疫苗的详细信息,包括疫苗名称、厂商、价格等。在疫苗种类管理方面,该平台支持对不同种类的疫苗进行管理,包括新增、修改、删除等操作。

在疫苗接种点管理方面,该平台支持对不同接种点进行管理,包括新增、修改、删除等操作。在疫苗预约管理方面,该平台支持用户在线预约疫苗接种,医护人员可以在后台审核、确认预约信息。

在接种信息管理方面,该平台支持对用户接种信息的维护、查询等操作,用户可以在该平台上查看自己的接种记录、接种记录详情等信息。在解疑中心方面,该平台提供疫苗使用相关问题的解答,帮助用户解决疑惑。在系统管理方面,该平台支持后台管理员对系统进行维护管理等操作。

该平台采用分层架构设计,具有较高的可扩展性和可维护性,配合良好的图形化界面,用户和医护人员易于操作。同时,系统采用HTTPS协议进行数据加密和安全传输,保障用户和系统的安全性。本论文将对该平台的实现细节和性能分析进行详细介绍,旨在为相关领域的研究者提供参考和启示。


二、系统功能

基于SSM的疫苗接种平台有以下角色:

(1)管理员主要功能有:用户管理、医护人员管理、疫苗信息管理、疫苗种类管理、疫苗接种点管理、疫苗预约管理、接种信息管理、解疑中心、系统管理等功能

(2)医护人员:疫苗信息管理、疫苗接种点管理、疫苗预约管理、接种信息管理。

(3)用户:疫苗信息管理、疫苗接种点管理、疫苗预约管理、接种信息管理。


三、系统项目截图

3.1前台首页

前台医护人员和用户的登录页面。

登录以后可以在前台首页查看疫苗信息、疫苗预约、接种信息等信息。

登录以后可以在前台查看自己要打的疫苗信息选择预约。

3.2后台管理

后台管理登录页面,管理员可以在后台进行登录。

管理员进入系统可以看到有用户管理、医护人员管理、疫苗信息管理、疫苗种类管理、疫苗接种点管理、疫苗预约管理、接种信息管理、解疑中心、系统管理等功能。

在用户管理中,管理员可以管理用户信息。

在医护人员管理中,管理员可以对医护人员进行管理。

在疫苗信息中,可以看到有疫苗编号、疫苗名称等信息情况,管理员可以对疫苗信息进行修改删除等操作。

管理员可以发布新的疫苗种类或者删除旧的种类。

接种点管理页面。

在疫苗预约中,管理员可以看到用户预约的信息。

在接种信息中,管理员可以查看用户已经接种的信息。


四、核心代码

4.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{@Autowiredprivate UserService userService;@Autowiredprivate 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("123456");userService.update(user,null);return R.ok("密码已重置为:123456");}/*** 列表*/@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();}
}

4.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{@Autowiredprivate 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);}}

4.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;}
}

基于SSM的疫苗接种平台相关推荐

  1. 基于SSM的作业调度平台-java作业调度平台

    基于SSM的作业调度平台 支持时间调度.作业依赖触发.手工执行三种调度方式. 时间调度:底层基于quartz实现,支持cron命令,实现灵活的时间调度方式. 作业依赖触发:一个子作业可以依赖多个父作业 ...

  2. 计算机毕业设计ssm基于SSM的资产管理平台的设计与实现hx448系统+程序+源码+lw+远程部署

    计算机毕业设计ssm基于SSM的资产管理平台的设计与实现hx448系统+程序+源码+lw+远程部署 计算机毕业设计ssm基于SSM的资产管理平台的设计与实现hx448系统+程序+源码+lw+远程部署 ...

  3. 基于SSM框架+安卓平台实现培训机构管理系统【附项目源码】分享

    基于SSM框架+安卓平台实现培训机构管理系统演示 简介 培训机构管理是一项繁琐而重要的任务.为了更好地管理机构和提高教学质量,许多培训机构开始寻找一种高效的方法来管理它们的课程.学生和教师.基于SSM ...

  4. 基于SSM实现租房平台管理系统

    作者主页:编程指南针 简介:Java领域优质创作者.CSDN博客专家  Java项目.简历模板.学习资料.面试题库.技术互助 文末获取源码 项目编号:BS-PT-028 本系统基于SSM框架实现开发, ...

  5. 基于ssm的家政平台

    摘要 计算机网络如果结合使用信息管理系统,能够提高管理员管理的效率,改善服务质量.优秀的家政平台能够更有效管理用户预约家政服务业务规范,帮助管理者更加有效管理用户预约家政服务,可以帮助提高克服人工管理 ...

  6. Java+MySQL基于ssm家教服务平台

    随着互联网趋势的到来,各行各业都在考虑利用互联网将自己推广出去,最好方式就是建立自己的互联网系统,并对其进行维护和管理.在现实运用中,应用软件的工作规则和开发步骤,采用SSM框架建设家教服务平台. 本 ...

  7. 基于SSM的律师平台管理系统

    项目编号:BS-XX-031 律师管理系统分为三个角色:管理员.律师.客户 在后端管理界面有两个角色使用:管理员和律师 管理员:管理首页轮播图.管理事务所新闻.管理客户.律师.历史案件 律师:可以查看 ...

  8. 毕设-基于SSM大学生兼职平台系统

    环境:开发工具:idea,数据库:MySQL5.7 jdk1.8 架构:springMVC,前端jsp 主要功能 用户:查看兼职.发布兼职.聊天.收藏.评论.论坛等: 管理员:用户管理.兼职管理.帖子 ...

  9. java毕业设计全套基于SSM+Vue的SSM学业预警平台信息管理|学生课程成绩管理系统作业[包运行成功]

    一.项目介绍 计算机毕业设计java毕设之SSM学业预警平台信息管理系统_哔哩哔哩_bilibili计算机毕业设计java毕设之SSM学业预警平台信息管理系统共计2条视频,包括:B149 248-SS ...

最新文章

  1. 博客园2013年4月份第2周源码发布详情
  2. 梯度下降回归SGDRegressor、岭回归(Ridge)和套索(Lasso)回归、套索最小角回归、ElasticNet回归、正交匹配追踪回归
  3. java 语言实现的随机数生成算法
  4. 全球第三的晶圆代工厂 也要被卖了?
  5. 视频播放页php,html jquery简易视频播放器
  6. 【赠书】深入浅出Python量化交易实战
  7. 百合数c语言360问答,百合花的朵数代表的意义???
  8. 后台如何通过Request取得多个含有相同name的控件的值?
  9. 【最新版】Java速成路线(急于找工作!)
  10. [人工智能教程] 人工智能暑期课实践项目建议
  11. 解决:/bin/bash: mvn: 未找到命令
  12. 常用的免费好用的DNS有哪些?
  13. Crosses and Crosses (Multi-SG+打表 博弈)
  14. 教你怎么去apple developer center(苹果开发者中心)下载Xcode的dmg安装包
  15. 150. 逆波兰表达式求值(中等 栈 数组)
  16. padavan mysql密码_newifi mini 刷 不死Breed 及 Padavan 教程
  17. Hive 异常,长期更新帖
  18. Matlab常用图像处理命令108例(二)
  19. [小设计] 之 抽奖算法
  20. ss terminal下客户端sslocal+proxychains或者privoxy

热门文章

  1. 专访Gowild邱楠:典型AI时代的非典型AI创业公司
  2. pyecharsts 柱,饼,线,地图, Bar, Pie, Line, Map,改excel表头 地址 标题即用
  3. python下载视频用youget_视频下载神器youget在 Python 中怎么使用
  4. 苹果官宣:除了 iOS 14,这些也将会亮相 WWDC20
  5. 设计模式之【装饰器模式】
  6. C# HexEdit
  7. 化石能源类有哪些最新发表的毕业论文呢?
  8. keras 线性回归 预测
  9. 忆恩师周伯勋先生讲群论的情景
  10. iOS 保存图片和视频