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搭建訪客管理系統內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Lombok使用@Tolerate實現沖突兼容問題
- 解決springboot引入swagger2不生效問題
- SpringBoot實現阿裡雲快遞物流查詢的示例代碼
- Swagger中@ApiIgnore註解的使用詳解
- SpringBoot 統一公共返回類的實現