springboot搭建访客管理系统的实现示例

 更新时间:2021年01月10日 10:19:38   作者:程序帮  
这篇文章主要介绍了springboot搭建访客管理系统的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

项目介绍

springboot搭建的访客管理系统,针对高端基地做严格把控来访人员信息管理,用户后端可以设置多个管理员帐号,给予不同部门的管理层使用,用户管理可以增加/修改内部成员的基本信息,需要到访的人员必须通过进入程序,在访客预约里面提交预约申请,预约后管理员可查询预约记录以及访客出入记录。

项目适用人群

正在做毕设的学生,或者需要项目实战练习的Java学习者

开发环境

  • jdk 8
  • intellij idea
  • tomcat 8.5.40
  • mysql 5.7

所用技术

  • springboot
  • mybatis
  • layUi
  • JSP

项目访问地址

http://localhost:8090
帐号:admin 密码:admin

项目截图

登录

子账号管理

新增成员

预约列表

历史预约

出入影像记录

表格导出

访客预约申请

关键代码:

用户信息

public class SmartUser {
 @ApiModelProperty(value="用户编号",dataType="String",name="password")
 private Long id;
 @ApiModelProperty(value="登录帐号",dataType="String",name="account")
 private String account;
 @ApiModelProperty(value="用户名称",dataType="String",name="name")
 private String name;
 @ApiModelProperty(value="用户年龄",dataType="Integer",name="age")
 private int age;
 @ApiModelProperty(value="手机号",dataType="String",name="phone")
 private String phone;
 @ApiModelProperty(value="密码",dataType="String",name="password")
 private String password;
 @ApiModelProperty(value="mac",dataType="String",name="mac")
 private String mac;
 @ApiModelProperty(value="备注",dataType="String",name="remark")
 private String remark ;
 @ApiModelProperty(value="创建时间",dataType="String",name="createTime")
 private String createTime;
 private String headPic;
}

添加访客记录

@ApiOperation(value="添加预约",notes="添加预约")
@ResponseBody
@PostMapping("/addVisitor")
public Response<String> addVisitor(Visitor visitor){
 SmartUser smartUser=new SmartUser();
 smartUser.setPhone(visitor.getUserPhone());
 smartUser.setName(visitor.getUserName());
 smartUser=smartUserService.login(smartUser);
 if(null!=smartUser){
  return visitorService.saveOrUpdate(visitor);
 }else{
  return Response.error(300);//查无一人
 }
}

访客记录导出

@GetMapping("/exportExcel")
public void exportExcel(HttpServletResponse response) {
 try{
  List<List<String>> rows =new ArrayList<>();
  List<String> row1 = CollUtil.newArrayList("访客姓名", "访客手机号", "被访人姓名", "被访人电话", "预约日期", "访问事由");
  rows.add(row1);
  List<VisitorRecord> list=smartUserService.getAll();
  for(VisitorRecord vr:list){
   rows.add(CollUtil.newArrayList(vr.getVisitorName(), vr.getPhone(),vr.getUserPhone(),vr.getUserName(),vr.getAppointmentTime(),vr.getReasons()));
  }
  ExcelWriter writer = ExcelUtil.getWriter();
  writer.write(rows);
  response.setContentType("application/vnd.ms-excel;charset=utf-8");
  response.setHeader("Content-Disposition","attachment;filename="+ DateUtils.getTime3()+"visitorRecord.xls");
  ServletOutputStream out=response.getOutputStream();
  writer.flush(out);
  writer.close();
  IoUtil.close(out);
 }catch (Exception e){
  e.printStackTrace();
 }
}

4.过期预约做定时清理

@Scheduled(cron = "0 0/1 * * * ?")
private void configureTasks() {
 List<Visitor> list=visitorService.findVisitorList("");
 if(list.size()>0){
  for(Visitor v:list){
   Long now=Long.valueOf(DateUtils.getTime2());
   Long appointmentTime=Long.valueOf(v.getAppointmentTime().replaceAll("-","").replaceAll(" ",""));
   if(appointmentTime-now<=0){
    VisitorRecord visitorRecord=new VisitorRecord();
    BeanUtils.copyProperties(v,visitorRecord);
    visitorRecordService.save(visitorRecord);
    visitorService.deleteUserById(Long.valueOf(v.getId()));
   }
  }
 }
}

注意事项

  • 预约地址需要有管理端分享地址给房主,由房主分享给到访的做预约登记
  • 后期增加房主端,新增房主查看记录

备注:基础版做的比较简单,有条件的同学可以对接硬件设备,跑完整体流程

到此这篇关于springboot搭建访客管理系统的实现示例的文章就介绍到这了,更多相关springboot搭建访客管理系统内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • MyBatis-Plus实现连表查询的方法实例

    MyBatis-Plus实现连表查询的方法实例

    这篇文章主要给大家介绍了关于MyBatis-Plus实现连表查询的相关资料,文中通过实例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2022-01-01
  • java.lang.UnsupportedOperationException分析及解决办法

    java.lang.UnsupportedOperationException分析及解决办法

    日常开发中我遇到java.lang.UnsupportedOperationException:异常两次了,下面这篇文章主要给对大家介绍了关于java.lang.UnsupportedOperationException分析及解决办法,需要的朋友可以参考下
    2024-03-03
  • 关于Java反射机制 你需要知道的事情

    关于Java反射机制 你需要知道的事情

    这篇文章主要介绍了Java反射机制的相关内容,涉及了class类的动态加载,获取成员变量、构造函数信息等信息,需要的朋友可以参考下。
    2017-09-09
  • 深入分析Comparable与Comparator及Clonable三个Java接口

    深入分析Comparable与Comparator及Clonable三个Java接口

    接口不是类,而是对类的一组需求描述,这些类要遵从接口描述的统一格式进行定义,这篇文章主要为大家详细介绍了Java的Comparable,Comparator和Cloneable的接口,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-05-05
  • Java 十大排序算法之选择排序刨析

    Java 十大排序算法之选择排序刨析

    选择排序是一种简单直观的排序算法,无论什么数据进去都是 O(n&sup2;) 的时间复杂度。所以用到它的时候,数据规模越小越好。唯一的好处可能就是不占用额外的内存空间了吧
    2021-11-11
  • SpringBoot解析yml全流程详解

    SpringBoot解析yml全流程详解

    本文主要介绍了SpringBoot解析yml全流程详解,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • mybatis(mybatis-plus)映射文件(XML文件)中特殊字符转义的实现

    mybatis(mybatis-plus)映射文件(XML文件)中特殊字符转义的实现

    XML 文件在解析时会将五种特殊字符进行转义,本文主要介绍了mybatis(mybatis-plus)映射文件(XML文件)中特殊字符转义的实现,具有一定的参考价值,感兴趣的可以了解一下
    2023-12-12
  • Servlet注解之@WebInitParam多个InitParam的使用

    Servlet注解之@WebInitParam多个InitParam的使用

    这篇文章主要介绍了Servlet注解之@WebInitParam多个InitParam的使用,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-04-04
  • hibernate4快速入门实例详解

    hibernate4快速入门实例详解

    Hibernate是一个轻量级的ORMapping框架,本文重点给大家介绍hibernate4 入门实例详细,需要的朋友参考下吧
    2017-09-09
  • IDEA错误:找不到或无法加载主类的完美解决方法

    IDEA错误:找不到或无法加载主类的完美解决方法

    使用IDEA开始就一直在搭建java环境,许久没有使用过java,刚开始有些生疏,先建了一个最简单的类可是运行的时候出现错误:找不到或无法加载主类,下面这篇文章主要给大家介绍了关于IDEA错误:找不到或无法加载主类的完美解决方法,需要的朋友可以参考下
    2022-07-07

最新评论