springboot搭建訪客管理系統(tǒng)的實(shí)現(xiàn)示例
springboot搭建的訪客管理系統(tǒng),針對(duì)高端基地做嚴(yán)格把控來(lái)訪人員信息管理,用戶后端可以設(shè)置多個(gè)管理員帳號(hào),給予不同部門(mén)的管理層使用,用戶管理可以增加/修改內(nèi)部成員的基本信息,需要到訪的人員必須通過(guò)進(jìn)入程序,在訪客預(yù)約里面提交預(yù)約申請(qǐng),預(yù)約后管理員可查詢預(yù)約記錄以及訪客出入記錄。
項(xiàng)目適用人群正在做畢設(shè)的學(xué)生,或者需要項(xiàng)目實(shí)戰(zhàn)練習(xí)的Java學(xué)習(xí)者
開(kāi)發(fā)環(huán)境 jdk 8 intellij idea tomcat 8.5.40 mysql 5.7所用技術(shù) springboot mybatis layUi JSP項(xiàng)目訪問(wèn)地址http://localhost:8090帳號(hào):admin 密碼:admin
項(xiàng)目截圖登錄
子賬號(hào)管理
新增成員
預(yù)約列表
歷史預(yù)約
出入影像記錄
表格導(dǎo)出
訪客預(yù)約申請(qǐng)
用戶信息
public class SmartUser { @ApiModelProperty(value='用戶編號(hào)',dataType='String',name='password') private Long id; @ApiModelProperty(value='登錄帳號(hào)',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='手機(jī)號(hào)',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='創(chuàng)建時(shí)間',dataType='String',name='createTime') private String createTime; private String headPic;}
添加訪客記錄
@ApiOperation(value='添加預(yù)約',notes='添加預(yù)約')@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);//查無(wú)一人 }}
訪客記錄導(dǎo)出
@GetMapping('/exportExcel')public void exportExcel(HttpServletResponse response) { try{ List<List<String>> rows =new ArrayList<>(); List<String> row1 = CollUtil.newArrayList('訪客姓名', '訪客手機(jī)號(hào)', '被訪人姓名', '被訪人電話', '預(yù)約日期', '訪問(wèn)事由'); 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.過(guò)期預(yù)約做定時(shí)清理
@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())); } } }}注意事項(xiàng) 預(yù)約地址需要有管理端分享地址給房主,由房主分享給到訪的做預(yù)約登記 后期增加房主端,新增房主查看記錄
備注:基礎(chǔ)版做的比較簡(jiǎn)單,有條件的同學(xué)可以對(duì)接硬件設(shè)備,跑完整體流程
到此這篇關(guān)于springboot搭建訪客管理系統(tǒng)的實(shí)現(xiàn)示例的文章就介紹到這了,更多相關(guān)springboot搭建訪客管理系統(tǒng)內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. 不要在HTML中濫用div2. HTML5實(shí)戰(zhàn)與剖析之觸摸事件(touchstart、touchmove和touchend)3. CSS百分比padding制作圖片自適應(yīng)布局4. React優(yōu)雅的封裝SvgIcon組件示例5. Vue如何使用ElementUI對(duì)表單元素進(jìn)行自定義校驗(yàn)及踩坑6. vue前端RSA加密java后端解密的方法實(shí)現(xiàn)7. CSS清除浮動(dòng)方法匯總8. Electron調(diào)用外接攝像頭并拍照上傳實(shí)現(xiàn)詳解9. HTTP協(xié)議常用的請(qǐng)求頭和響應(yīng)頭響應(yīng)詳解說(shuō)明(學(xué)習(xí))10. TypeScript實(shí)現(xiàn)十大排序算法之歸并排序示例詳解
