溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

利用springboot怎么搭建一個訪客管理系統(tǒng)

發(fā)布時間:2021-01-11 14:53:57 來源:億速云 閱讀:177 作者:Leah 欄目:開發(fā)技術(shù)

利用springboot怎么搭建一個訪客管理系統(tǒng)?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

開發(fā)環(huán)境

  • jdk 8

  • intellij idea

  • tomcat 8.5.40

  • mysql 5.7

所用技術(shù)

  • springboot

  • mybatis

  • layUi

  • JSP

項目訪問地址

http://localhost:8090
帳號:admin 密碼:admin

項目截圖

登錄

利用springboot怎么搭建一個訪客管理系統(tǒng)

子賬號管理

利用springboot怎么搭建一個訪客管理系統(tǒng)

新增成員

利用springboot怎么搭建一個訪客管理系統(tǒng)

預(yù)約列表

利用springboot怎么搭建一個訪客管理系統(tǒng)

歷史預(yù)約

利用springboot怎么搭建一個訪客管理系統(tǒng)

出入影像記錄

利用springboot怎么搭建一個訪客管理系統(tǒng)

表格導(dǎo)出

利用springboot怎么搭建一個訪客管理系統(tǒng)

訪客預(yù)約申請

利用springboot怎么搭建一個訪客管理系統(tǒng)

關(guān)鍵代碼:

用戶信息

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="手機(jī)號",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)建時間",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);//查無一人
 }
}

訪客記錄導(dǎo)出

@GetMapping("/exportExcel")
public void exportExcel(HttpServletResponse response) {
 try{
  List<List<String>> rows =new ArrayList<>();
  List<String> row1 = CollUtil.newArrayList("訪客姓名", "訪客手機(jī)號", "被訪人姓名", "被訪人電話", "預(yù)約日期", "訪問事由");
  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.過期預(yù)約做定時清理

@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()));
   }
  }
 }
}

注意事項

  • 預(yù)約地址需要有管理端分享地址給房主,由房主分享給到訪的做預(yù)約登記

  • 后期增加房主端,新增房主查看記錄

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注億速云行業(yè)資訊頻道,感謝您對億速云的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI