專案介紹
springboot搭建的訪客管理系統,針對高階基地做嚴格把控來訪人員資訊管理,使用者後端可以設定多個管理員帳號,給予不同部門的管理層使用,使用者管理可以增加/修改內部成員的基本資訊,需要到訪的人員必須透過進入程式,在訪客預約裡面提交預約申請,預約後管理員可查詢預約記錄以及訪客出入記錄。
專案適用人群正在做畢設的學生,或者需要專案實戰練習的Java學習者
開發環境jdk 8intellij ideatomcat 8.5.40mysql 5.7所用技術springbootmybatislayUiJSP專案訪問地址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())); } } }}
注意事項預約地址需要有管理端分享地址給房主,由房主分享給到訪的做預約登記後期增加房主端,新增房主檢視記錄來源:https://www.tuicool.com/articles/viAN7fA
最新評論