基于javaweb的SpringBoot核酸疫苗预约管理系统(java+springboot+layui+jsp+mysql)

运行环境

Java≥8、MySQL≥5.7

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

090023302402

100023302402

110023302402

120023302402

130023302402

150023302402

基于javaweb的SpringBoot核酸疫苗预约管理系统(java+springboot+layui+jsp+mysql)

项目简述:

功能: 本系统共分为三个角色:系统管理员、医生、用户 功能模块:系统管理-用户管理、页面管理、角色管理 接诊人管理-接诊人列表、接诊人健康史 预约管理-预约时间、医生时间 日常健康-健康指南、健康监测、健康标准 接诊人档案 医院管理

项目运行:

环境配置:

Jdk1.8 + mysql + Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)

项目技术:

JSP +SpringBoot + MyBatis + html+ css + JavaScript + JQuery + Ajax + layui+ maven等等。

预约记录相关数据接口:

@Api(tags = “预约记录相关数据接口”)

@CrossOrigin

@RestController

@RequestMapping(“/yuyue”)

public class YuyueController {

@Autowired

private IYuyueService iYuyueService;

@Autowired

private UserService userService;

@Autowired

private IJiezhongdianService jiezhongdianService;

@ApiOperation(“分页获取疫苗记录的信息”)

@CrossOrigin

@RequestMapping(value = “/pageQuery”,method = {RequestMethod.POST,RequestMethod.GET})

public DataVo pageQuery(String user, Integer page, Integer limit){

//如果起始页为空则默认为第一页

if(page==null)page=1;

//如果每页数为空则默认为10条数据

if(limit==null)limit=10;

//分页插件

Page districtPage =new Page<>();

//将每页数设置进去

districtPage.setSize(limit);

//将起始页设置进去

districtPage.setCurrent(page);

//针对预约表查询

QueryWrapper qw =new QueryWrapper<>();

//从用户表查询出搜索栏中的用户集合

QueryWrapper qwUser = new QueryWrapper<>();

if (!StringUtils.isEmpty(user)) {

qwUser.like(“real_name”, user);

List list = userService.list(qwUser);

//这里是将查询出来的接种者集合遍历出来id,再去预约表中查询userID,将userID作为条件在预约表中查询

for (int i = 0; i < list.size(); i++) {

Long id = list.get(i).getId();

qw.eq(“user_id”, id);

// qw.orderByAsc(“code”);// 按照编码的升序显示;

districtPage = iYuyueService.page(districtPage,qw);

//将查询出来的预约记录导入list中

List records = districtPage.getRecords();

//将上面的记录进行封装,实体类为vo中的Iyuyue

List iyuyues=new ArrayList<>();

for (int i=0;i<records.size();i++){

//创建一个Iyuyue对象,对数据进行封装

Iyuyue iyuyue = new Iyuyue();

iyuyue.setId(records.get(i).getId());

//从用户表中查询用户,通过预约表中的用户ID

User byId = userService.getById(records.get(i).getUserId());

iyuyue.setUser(byId.getRealName());

//从接种点表中查询出接种点信息,通过预约表中的接种点ID

Jiezhongdian byId1 = jiezhongdianService.getById(records.get(i).getJiezhongdianId());

iyuyue.setJiezhongdianName(byId1.getName());

iyuyue.setJiezhongdianAddress(byId1.getAddress());

iyuyue.setYuyueriqi(records.get(i).getYuyueriqi());

iyuyue.setStatus(records.get(i).getStatus());

iyuyue.setQrCodePath(records.get(i).getQrCodePath());

iyuyues.add(iyuyue);

DataVo dataVo =new DataVo<>();

dataVo.setMsg(“成功获取数据”);

dataVo.setCode(0);

dataVo.setCount((int) districtPage.getTotal());

dataVo.setData(iyuyues);

return dataVo;

// @ApiOperation(“分页获取疫苗记录的信息”)

// @CrossOrigin

// @RequestMapping(value = “/pageQuery”,method = {RequestMethod.POST,RequestMethod.GET})

// public DataVo pageQuery(LocalDateTime yuyueriqi, Integer page, Integer limit){

// if(page==null)page=1;

// if(limit==null)limit=10;

// Page districtPage =new Page<>();

// districtPage.setSize(limit);

// districtPage.setCurrent(page);

// QueryWrapper qw =new QueryWrapper<>();

// if(yuyueriqi != null){

// qw.eq(“yuyueriqi”,yuyueriqi);

// }

qw.orderByAsc(“code”);// 按照编码的升序显示;

// districtPage = iYuyueService.page(districtPage,qw);

// DataVo dataVo =new DataVo<>();

// dataVo.setMsg(“成功获取数据”);

// dataVo.setCode(0);

// dataVo.setCount((int) districtPage.getTotal());

// dataVo.setData(districtPage.getRecords());

// return dataVo;

// }

疫苗相关数据接口:

@Api(tags = “疫苗相关数据接口”)

@CrossOrigin

@RestController

@RequestMapping(“/yimiao”)

public class YimiaoController {

@Autowired

private IYimiaoService iYimiaoService;

@GetMapping(“/findAll”)

public Result findAll(){

return Result.ok(iYimiaoService.list());

@ApiOperation(“分页获取疫苗记录的信息”)

@CrossOrigin

@GetMapping(“/pageQuery”)

public DataVo pageQuery(String yimiaoZhonglei,Integer page, Integer limit){

if(page==null)page=1;

if(limit==null)limit=10;

Page districtPage =new Page<>();

districtPage.setSize(limit);

districtPage.setCurrent(page);

QueryWrapper qw =new QueryWrapper<>();

if(StringUtils.isNotEmpty(yimiaoZhonglei)){

qw.like(“yimiao_zhonglei”,yimiaoZhonglei);

// qw.orderByAsc(“code”);// 按照编码的升序显示;

districtPage = iYimiaoService.page(districtPage,qw);

DataVo dataVo =new DataVo<>();

dataVo.setMsg(“成功获取数据”);

dataVo.setCode(0);

dataVo.setCount((int) districtPage.getTotal());

dataVo.setData(districtPage.getRecords());

return dataVo;

@ApiOperation(“新增疫苗信息”)

@PostMapping(“/save”)

public Result save(Yimiao yimiao){

try{

iYimiaoService.save(yimiao);

return Result.ok(“新增成功”);

}catch (Exception e){

e.printStackTrace();

return Result.error(“新增失败:”+e.getMessage());

@ApiOperation(“修改疫苗信息”)

@PostMapping(“/update”)

public Result update(Yimiao yimiao){

try{

iYimiaoService.updateById(yimiao);

return Result.ok(“修改成功”);

}catch (Exception e){

e.printStackTrace();

return Result.error(“修改失败:”+e.getMessage());

@ApiOperation(“删除疫苗信息”)

@GetMapping(“/del/{id}”)

public Result del(@PathVariable Long id){

try{

System.out.println(id);

System.out.println(iYimiaoService.removeById(id));

return Result.ok(“删除成功”);

}catch (Exception e){

e.printStackTrace();

return Result.error(“删除失败:”+e.getMessage());

接种者用户管理相关接口:

@Api(tags=”接种者用户管理相关接口”)

@RestController

@RequestMapping(“/user”)

public class UserController {

@Resource

private UserService userService;

@Autowired

private IYuyueService iYuyueService;

@Autowired

private IJiezhongService iJiezhongService;

// 接种人员注册

@PostMapping(“/register”)

@ApiOperation(“用户注册”)

public Result register(@RequestBody User user){

try{

if(StringUtils.isEmpty(user.getUsername()))

user.setUsername(user.getPhone());// 手机号码作为登录账号

userService.register(user);

return Result.ok(“注册成功”);

}catch (Exception e){

return Result.error(“注册失败”);

/**

  • 预约

  • @param yuyue

  • @param token

  • @return

*/

@ApiOperation(“预约登记”)

@PostMapping(“/yuyue”)

public Result yuyue(@RequestBody Yuyue yuyue, @RequestHeader(“x-token”) String token){

// 获取 token 中的 user Name

try {

String userId = JwtUtils.getAudience(token);

yuyue.setUserId(Integer.parseInt(userId));// 设置预约人

// yuyue.setYuyueriqi(LocalDate.now());

yuyue.setStatus(0);// 0表示未完成;1表示已完成;

iYuyueService.yuyue(yuyue);

return Result.ok(“添加历史成功”);

}catch (TokenUnavailable e){

Result result = Result.error(“验证失败:”+e.getMessage());

result.setCode(501);

return result;

}catch (Exception e){

return Result.error(“发生错误:”+e.getMessage());

@ApiOperation(“获取接种人员预约记录”)

@GetMapping(value = “/findMyYuyues”)

public Result findMyYuyues( @RequestHeader(“x-token”) String token){

try{

String userId = JwtUtils.getAudience(token);

QueryWrapper qw =new QueryWrapper<>();

qw.eq(“user_id”,Integer.parseInt(userId));

qw.orderByDesc(“yuyueriqi”);

return Result.ok(iYuyueService.list(qw));

}catch (TokenUnavailable e){

Result result = Result.error(“验证失败:”+e.getMessage());

result.setCode(501);

return result;

}catch (Exception e){

return Result.error(“发生错误:”+e.getMessage());

@ApiOperation(“获取接种人员接种记录”)

@GetMapping(value = “/findMyJiezhong”)

public Result findMyJiezhong( @RequestHeader(“x-token”) String token){

try{

String userId = JwtUtils.getAudience(token);

QueryWrapper qw =new QueryWrapper<>();

qw.eq(“jiezhongren”,Integer.parseInt(userId));

qw.orderByDesc(“create_time”);

return Result.ok(iJiezhongService.list(qw));

}catch (TokenUnavailable e){

Result result = Result.error(“验证失败:”+e.getMessage());

result.setCode(501);

return result;

}catch (Exception e){

return Result.error(“发生错误:”+e.getMessage());

/**

*分页查询

  • @param page 当前页码

  • @param limit 最大记录数

  • @return 分页结果

*/

@ApiOperation(value = “分页获取所有用户”)

@PostMapping(“/list”)

@CrossOrigin

public DataVo list(@RequestParam(defaultValue = “1”) Integer page,

@RequestParam(defaultValue = “5”) Integer limit){

Page p1 = new Page<>();

p1.setCurrent(page);//当前页

p1.setSize((long)limit);//每页最多条数

Page page1 = userService.page(p1);

page1.getRecords().forEach(s-> System.out.println(s.toString()));

DataVo dataVo=new DataVo();

dataVo.setCode(0);

dataVo.setMsg(“成功”);

dataVo.setCount((int)page1.getTotal());

dataVo.setData(page1.getRecords());

// Result.ok(page1.getRecords()).setCode(0);

return dataVo;

///

@ApiOperation(value = “添加用户”)

@PostMapping(“/save”)

@CrossOrigin

public String sava1(User user){

//调用service

try {

boolean save = userService.save(user);

return “ok”;

}catch (Exception e){

return “错误:”+e.getMessage();

/**

  • 更新用户信息方法

  • 注意点:

  • 1.账号唯一

  • 2.密码长度2-12

  • @param admin

  • @return 执行结果

*/

@ApiOperation(value = “更新用户信息”)

@PostMapping(“/update”)

@CrossOrigin

public String update1(User admin){

//调用service

try {

boolean save = userService.updateById(admin);

return “ok”;

}catch (Exception e){

return “错误:”+e.getMessage();

/**

  • 删除用户

  • @param id 用户id

  • @return 执行结果

*/

@ApiOperation(value = “删除用户”)

@GetMapping(“/delate”)

@CrossOrigin

public String delate1(int id){

//调用service

try {

boolean b = userService.removeById(id);

System.out.println(b);

if (b){

return “ok”;

}else {

return “no”;

}catch (Exception e){

return “错误:”+e.getMessage();

// // 登录(不验证)

// @CrossOrigin(origins = “*”)

// @PassToken(required = false)

// @RequestMapping(value = “/validate”, method = RequestMethod.POST)

// public Result validate(@RequestBody UserToken userToken) {

// System.out.println(“>>>” + userToken);

// try {

// // 获取 token 中的 user Name

// String userType = JwtUtils.getClaimByName(userToken.getToken(),”userType”).asString();

// if(!”jiezhongzhe”.equals(userType)){

// throw new RuntimeException(“用户的身份不符”);

// }

// String userId = JwtUtils.getAudience(userToken.getToken());

// System.out.println(“>>>” + userId);

// JwtUtils.verifyToken(userToken.getToken(), userId);

// return Result.ok(“验证成功”);

// } catch (Exception e) {

// Result result = Result.error(“验证失败”);

// result.setCode(510);

// return result;

// }

//

// }


项目链接:
https://javayms.github.io?id=011422322105200jk
https://javayms.pages.dev?id=011422322105200jk