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

作者:程序帮 时间:2023-09-02 13:10:41 

项目介绍

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

项目适用人群

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

开发环境

  • jdk 8

  • intellij idea

  • tomcat 8.5.40

  • mysql 5.7

所用技术

  • springboot

  • mybatis

  • layUi

  • JSP

项目访问地址

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

项目截图

登录

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

子账号管理

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

新增成员

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

预约列表

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

历史预约

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

出入影像记录

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

表格导出

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

访客预约申请

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

关键代码:

用户信息


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()));
  }
 }
}
}

注意事项

  • 预约地址需要有管理端分享地址给房主,由房主分享给到访的做预约登记

  • 后期增加房主端,新增房主查看记录

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

来源:https://segmentfault.com/a/1190000038909850

标签:springboot,访客管理系统
0
投稿

猜你喜欢

  • Java 使用getClass().getResourceAsStream()方法获取资源

    2023-07-23 08:59:56
  • Android实现图像灰度化、线性灰度变化和二值化处理方法

    2021-10-17 15:49:10
  • Android 创建与解析XML(四)——详解Pull方式

    2023-06-03 07:10:23
  • c# winform时钟的实现代码

    2023-04-05 07:40:53
  • C#实现简单文本编辑器

    2022-04-28 06:42:30
  • java web项目里ehcache.xml介绍

    2022-02-25 20:46:25
  • C#计算字符串相似性的方法

    2022-08-18 11:32:15
  • C#检查键盘大小写锁定状态的方法

    2022-01-11 18:00:39
  • 阿里开源Java诊断工具神器使用及场景详解

    2023-11-06 17:24:21
  • java设计模式:建造者模式之生产线

    2023-11-04 10:47:24
  • Java自动添加重写的toString方法详解

    2021-11-05 14:29:13
  • C# 正则表达式进阶

    2022-12-26 01:56:32
  • C# 调用WebService的方法

    2022-03-19 12:42:37
  • C#利用时间和随即字符串创建唯一的订单编号

    2022-01-21 15:18:56
  • SpringMVC后端返回数据到前端代码示例

    2023-06-20 13:12:47
  • IDEA中项目集成git提交代码的详细步骤

    2021-09-08 04:33:39
  • C#基于Socket实现多人聊天功能

    2021-12-06 12:00:47
  • java实现基于TCP协议网络socket编程(C/S通信)

    2021-10-15 23:41:26
  • Java压缩文件工具类ZipUtil使用方法代码示例

    2022-11-26 02:21:32
  • Java面向接口编程之简单工厂模式示例

    2021-07-14 21:40:27
  • asp之家 软件编程 m.aspxhome.com