1. 程式人生 > 程式設計 >springboot搭建訪客管理系統的實現示例

springboot搭建訪客管理系統的實現示例

專案介紹

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="登入帳號",name="account")
 private String account;
 @ApiModelProperty(value="使用者名稱稱",name="name")
 private String name;
 @ApiModelProperty(value="使用者年齡",dataType="Integer",name="age")
 private int age;
 @ApiModelProperty(value="手機號",name="phone")
 private String phone;
 @ApiModelProperty(value="密碼",name="password")
 private String password;
 @ApiModelProperty(value="mac",name="mac")
 private String mac;
 @ApiModelProperty(value="備註",name="remark")
 private String remark ;
 @ApiModelProperty(value="建立時間",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搭建訪客管理系統內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!