linux怎么查看本机内存大小
274
2023-02-09
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 Shttp://tring 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
SmartUser smartUser=new SmartUser();
smartUser.setPhone(visitor.getUserPhone());
smartUser.setName(visitor.getUserName());
smartUser=smartUserService.login(smartUser);
ifhttp://(null!=smartUser){
return visitorService.saveOrUpdate(visitor);
}else{
return Response.error(300);//查无一人
}
}
访客记录导出
@GetMapping("/exportExcel")
public void exportExcel(HttpServletResponse response) {
try{
List> rows =new ArrayList<>();
List
rows.add(row1);
List
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
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()));
}
}
}
}
注意事项
预约地址需要有管理端分享地址给房主,由房主分享给到访的做预约登记
后期增加房主端,新增房主查看记录
备注:基础版做的比较简单,有条件的同学可以对接硬件设备,跑完整体流程
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~