一、摘要
二、研究内容
第三章 界面展示
第一部分 登录注册功能或系统登录/注册功能
第二部分 车辆管理模块
第三部分 停车位管理模块
第四部分 停车数据管理模块
第五部分 IC卡档案管理模块
第六部分 IC卡挂失管理模块
第七部分 系统基础管理部分
四、免责说明
随着我国经济发展势头持续向好,在线购物与旅游意愿愈发强烈,在线消费需求也在不断增加。在一些大型购物中心中无论是顾客数量还是车辆流动都显著提升 随之而来的是道路承载压力的显著增加 这使得城市停车场饱和度持续攀升 解决城市停车场问题已成为缓解交通拥堵的重要举措 由此可见 如何优化商场等人流量大的停车场配置 是缓解交通拥堵的关键举措
综上所述,在开发一个智能停车场管理系统方面取得了显著进展。该系统有助于简化人们的停车流程并提升了停车效率以缓解停车拥挤状况同时为人们节省了大量时间进而间接地推动了经济发展。本研究开发了一个基于JAVA语言的智能停车场管理系统应用取得了显著成效通过运行该系统后不仅实现了车辆进出操作自动化处理还提高了精细化管理水平并实现了收费流程的标准运营以提升整体 parking 管理效率和准确性为 parking 决策提供了更为全面精准的数据支持
前端 :Vue 2.7.10
后端 :Spring Boot 3.1.10
数据库 :MySQL 8.0.31
本系统包含的主要功能模块包括车主信息管理系统、车辆信息管理系统以及多场景下的停车场资源管理系统等核心业务系统。这些核心业务系统又可分为基础功能部分以及智能升级功能两大类。其中基础功能部分涵盖了用户管理和部门配置等功能配置界面;智能升级功能则通过基于角色的访问控制方案实现对车主及管理人员的不同权限设置,并支持对车主及管理人员的不同权限设置
包括:我的车辆模块、我的停车模块、我的IC卡等模块。
我的车辆模块:提供车主查询本人的车辆信息服务,在前端应用中采用View UI组件库中的Table组件构建预览界面,并涵盖车牌号码、行驶证信息、车辆性质以及车主姓名等基础数据;当用户对记录存在疑虑时,则可通过关联Button组件发起与后端系统的API交互请求以获取进一步验证或修正功能。
我的停车模块:为车主提供查询其车辆停车数据的功能。该模块前端应用了View UI组件库中的Form组件进行功能构建,并通过接收并处理用户填写的各种车辆信息(包括车牌号、停放起止时间及费用等),为车主提供便捷的服务。如有任何数据疑议,请联系系统管理员进行核实处理。
我的停车模块:为车主提供查询其IC卡数据的功能。其中包含车主IC卡号、开卡日期、经办人信息以及服务电话号码等详细信息。前端采用View UI组件库中的List组件来实现功能。如遇IC卡遗失情况,系统可自动发起相关挂失流程。
涵盖以下三个方面:车辆调度、停车预约以及基于电子标签的支付系统。(建议可自行配置用户权限设置)
车辆管理模块:负责接收车主提交的新增请求,并处理编辑与删除操作。该系统支持增删改查四种操作功能
停车管理模块负责接受车主提交的停车数据更新请求,并由mybatis负责开发相应的后端功能。
IC卡管理:该系统能够处理车主提出的所有与IC卡相关事务包括但不限于丢失/无法使用卡片的情况以及卡片开通/申请的任务其中系统会自动识别并响应这些请求并根据预设规则执行相应的操作支持对账户中的可用余额进行充入操作其中功能后端的部分将通过MyBatis技术进行开发实现
基于车主及停车工作人员的全部功能基础上,在此基础上
停车场是现代城市发展不可或缺的重要组成部分,在社会经济活动与居民日常生活方面发挥着关键作用。随着城市发展进程中车辆保有量不断增加以及城市化进程不断推进,在这一背景下城市交通问题愈发突出。充足停车场资源不仅有助于引导合理交通流行为避免交通拥堵现象发生更为有效的缓解措施能够在一定程度上减轻城市交通压力从而提高道路通行效率提升市民日常出行便利性良好的停车场规划与管理能够让车辆停放更加科学有序从而进一步减少道路拥堵状况改善城市的综合运行效率停车场资源的有效利用不仅能够提高市民出行体验程度还能为商业中心区域营造更加适宜的投资环境与消费环境没有足够的停车位资源将会导致商业中心区域吸引力下降进而影响区域经济发展水平
车辆模块是该系统的重要组成部分之一,在智能停车场管理系统中扮演关键角色。它不仅用于记录、管理和监控车辆信息及其状态,并且还具备自动化的车辆进出控制及数据处理功能。借助该模块的应用,停车系统能够提供更加智能化的服务体验,并显著提升工作效益与准确性。通过该系统的设计与优化,在提升用户体验的同时也减少了用户等待时间并缩短不良用户体验周期;同时具有实时记录与监控的能力,并能有效预防非法入侵及盗窃事件的发生;此外还能够有效调节交通流量以缓解道路拥堵状况并改善城市交通状况;同时还能在一定程度上缓解道路拥堵问题并促进城市交通流量的有效调控;最后它还能起到加强安全监督管理的作用,在提升整体服务质量的同时也为停车系统的优化提供了有力支持
停车场记录系统旨在准确跟踪并系统性管理车辆在停车场的具体停放位置、停留时长以及费用计费相关信息。这种精确的信息收集与处理机制能够有效提升车主对车辆停放状态的认知准确性,并在此基础上优化停车位资源利用效率。基于精准的位置数据采集技术以及高效的信息化管理系统整合应用,在获取停车位使用状况、车流运行特征等方面具有显著优势。此外,在精细化运营管理方面也展现出独特价值:例如通过针对特定高峰时段与特殊情况下实施差异化的动态定价策略与运营模式优化方案设计,在提高车位利用率的同时也能显著提升整体运营管理效能水平。这种基于数据驱动的信息收集与分析能力不仅能够识别出车主们的偏好与需求特点,并在此基础上提供更加个性化的服务方案设计思路:从而能够在提升整体运营管理效能水平的同时也为车主提供更加优质便捷的服务体验保障
IC卡是智能卡的全称。车主可以拥有一张或多张的IC卡片用于支付停车费用。该卡片包含以下字段:卡片号发源于发证日期持证人经办人员联系电话余额信息以及创建者和记录时间。车主可以选择办理一张新的IC卡片。停车场管理员能够审核新增申请并进行注销操作并对相关卡片的信息进行查看或修改。
IC卡是一张实体卡片,车主很可能会遗失或损坏这张卡片,一旦发生此类情况就无法完成停车费用的缴纳,因此需要建立一个IC卡挂失模块,用作车主遗失或损坏后的替代方案,该模块包含以下信息字段:原卡片号、新卡片号、申请者、申请日期、申请状态、审核状态、经办人及卡片创建时间等信息,车主可以通过自己名下的任意一张IC卡发起相关操作,而停车场管理人员则负责审核并处理车主提交的 IC 卡挂失请求
登录界面的 Vue 代码如下。
<Tabs v-model="tabName" @on-click="changeTabName" class="loginTab"> <TabPane label="账号密码登录" name="userAndPassword"> <Form ref="usernameLoginForm" :model="form" :rules="usernameLoginFormRules" class="form"> <FormItem prop="username" class="loginInput"> <Row> <Input v-model="form.username" size="large" clearable placeholder="登录账号" autocomplete="off"> <Icon class="iconfont icon-yonghu" slot="prefix" style="line-height:50px" /> </Input> </Row> </FormItem> <FormItem prop="password"> <Input style="height:50px;line-height:50px" type="password" v-model="form.password" size="large" placeholder="请输入登录密码" password autocomplete="off"> <Icon class="iconfont icon-mima1" slot="prefix" style="line-height:50px" /> </Input> </FormItem> <FormItem prop="imgCode"> <Row type="flex" justify="space-between" style="align-items: center;overflow: hidden;"> <Input v-model="form.imgCode" size="large" clearable placeholder="请输入验证码" :maxlength="10" class="input-verify" /> <div class="code-image" style="position:relative;font-size:12px;"> <Spin v-if="loadingCaptcha" fix></Spin> <img :src="captchaImg" @click="getCaptchaImg" alt="验证码加载失败" style="width:110px;cursor:pointer;display:block" /> </div> </Row> </FormItem> </Form> <Row type="flex" justify="space-between" align="middle"> <Checkbox v-model="saveLogin" size="large">是否自动登录</Checkbox> <router-link to="/regist"> <a class="forget-pass">没有账号?点我注册</a> </router-link> </Row> <Row> <Button class="login-btn" type="primary" size="large" :loading="loading" @click="submitLogin" long> <span v-if="!loading" style="letter-spacing:20px; font-weight:bold">登录</span> <span v-else>正在登录...请稍后}</span> </Button> </Row> </TabPane> <TabPane label="企业微信扫码" name="mobile"> <div id="qywxsmqywxsm"></div> </TabPane> </Tabs> AI写代码
查询用户(车主)的核心代码如下。
@RequestMapping(value = "/getUserList", method = RequestMethod.GET) @ApiOperation(value = "查询所有车主") public Result<List<User>> getUserList(@RequestParam Integer type){ QueryWrapper<User> qw = new QueryWrapper<>(); qw.eq("type",type); return new ResultUtil<List<User>>().setData(iUserService.list(qw)); } AI写代码
@RequestMapping(value = "/getByPage", method = RequestMethod.GET) @ApiOperation(value = "查询车辆") public Result<IPage<Vehicle>> getByPage(@ModelAttribute Vehicle vehicle ,@ModelAttribute PageVo page){ QueryWrapper<Vehicle> qw = new QueryWrapper<>(); User currUser = securityUtil.getCurrUser(); QueryWrapper<User> userQw = new QueryWrapper<>(); userQw.eq("id",currUser.getId()); userQw.inSql("id","SELECT user_id FROM a_user_role WHERE del_flag = 0 AND role_id = '1536606659751841799'"); if(iUserService.count(userQw) < 1L) { qw.eq("owner_id",currUser.getId()); } if(!ZwzNullUtils.isNull(vehicle.getCarNumber())) { qw.like("car_number",vehicle.getCarNumber()); } if(!ZwzNullUtils.isNull(vehicle.getCarType())) { qw.like("car_type",vehicle.getCarType()); } if(!ZwzNullUtils.isNull(vehicle.getOwnerName())) { qw.like("owner_name",vehicle.getOwnerName()); } IPage<Vehicle> data = iVehicleService.page(PageUtil.initMpPage(page),qw); return new ResultUtil<IPage<Vehicle>>().setData(data); } AI写代码
@RequestMapping(value = "/insert", method = RequestMethod.POST) @ApiOperation(value = "新增车辆") public Result<Vehicle> insert(Vehicle vehicle){ User user = iUserService.getById(vehicle.getOwnerId()); if(user == null) { return ResultUtil.error("车主不存在"); } vehicle.setOwnerName(user.getNickname()); iVehicleService.saveOrUpdate(vehicle); return new ResultUtil<Vehicle>().setData(vehicle); } AI写代码
@RequestMapping(value = "/update", method = RequestMethod.POST) @ApiOperation(value = "编辑车辆") public Result<Vehicle> update(Vehicle vehicle){ User user = iUserService.getById(vehicle.getOwnerId()); if(user == null) { return ResultUtil.error("车主不存在"); } vehicle.setOwnerName(user.getNickname()); iVehicleService.saveOrUpdate(vehicle); return new ResultUtil<Vehicle>().setData(vehicle); } AI写代码
@RequestMapping(value = "/getByPage", method = RequestMethod.GET) @ApiOperation(value = "查询停车位") public Result<IPage<ParkingSpace>> getByPage(@ModelAttribute ParkingSpace parkingSpace ,@ModelAttribute PageVo page){ QueryWrapper<ParkingSpace> qw = new QueryWrapper<>(); if(!ZwzNullUtils.isNull(parkingSpace.getTitle())) { qw.like("title",parkingSpace.getTitle()); } if(!ZwzNullUtils.isNull(parkingSpace.getStatus())) { qw.eq("status",parkingSpace.getStatus()); } IPage<ParkingSpace> data = iParkingSpaceService.page(PageUtil.initMpPage(page),qw); return new ResultUtil<IPage<ParkingSpace>>().setData(data); } AI写代码
@RequestMapping(value = "/insert", method = RequestMethod.POST) @ApiOperation(value = "新增停车位") public Result<ParkingSpace> insert(ParkingSpace parkingSpace){ if(Objects.equals(0, parkingSpace.getSortOrder().compareTo(BigDecimal.ZERO))) { parkingSpace.setSortOrder(BigDecimal.valueOf(iParkingSpaceService.count() + 1L)); } iParkingSpaceService.saveOrUpdate(parkingSpace); return new ResultUtil<ParkingSpace>().setData(parkingSpace); } AI写代码
@RequestMapping(value = "/getByPage", method = RequestMethod.GET) @ApiOperation(value = "查询停车记录") public Result<IPage<ParkingData>> getByPage(@ModelAttribute ParkingData parkingData ,@ModelAttribute PageVo page){ QueryWrapper<ParkingData> qw = new QueryWrapper<>(); User currUser = securityUtil.getCurrUser(); QueryWrapper<User> userQw = new QueryWrapper<>(); userQw.eq("id",currUser.getId()); userQw.inSql("id","SELECT user_id FROM a_user_role WHERE del_flag = 0 AND role_id = '1536606659751841799'"); if(iUserService.count(userQw) < 1L) { qw.eq("owner_id",currUser.getId()); } if(!ZwzNullUtils.isNull(parkingData.getCarNumber())) { qw.like("car_number",parkingData.getCarNumber()); } if(!ZwzNullUtils.isNull(parkingData.getOwner())) { qw.like("owner",parkingData.getOwner()); } IPage<ParkingData> data = iParkingDataService.page(PageUtil.initMpPage(page),qw); return new ResultUtil<IPage<ParkingData>>().setData(data); } AI写代码
@RequestMapping(value = "/insert", method = RequestMethod.POST) @ApiOperation(value = "新增停车记录") public Result<ParkingData> insert(ParkingData parkingData){ Vehicle car = iVehicleService.getById(parkingData.getCarId()); if(car == null) { return ResultUtil.error("车辆不存在"); } // 判断余额 QueryWrapper<IcCard> icQw = new QueryWrapper<>(); icQw.eq("user_id",car.getOwnerId()); icQw.last("limit 1"); IcCard ic = iIcCardService.getOne(icQw); if(ic == null) { return ResultUtil.error("您没有IC卡,请申请"); } if(parkingData.getCost().compareTo(ic.getBalance()) > 0) { return ResultUtil.error("您IC卡余额不足"); } // 记录数据 parkingData.setCarNumber(car.getCarNumber()); parkingData.setOwnerId(car.getOwnerId()); parkingData.setOwner(car.getOwnerName()); iParkingDataService.saveOrUpdate(parkingData); ic.setBalance(ic.getBalance().subtract(parkingData.getCost())); iIcCardService.saveOrUpdate(ic); return new ResultUtil<ParkingData>().setData(parkingData); } AI写代码
@RequestMapping(value = "/getByPage", method = RequestMethod.GET) @ApiOperation(value = "查询IC卡") public Result<IPage<IcCard>> getByPage(@ModelAttribute IcCard icCard ,@ModelAttribute PageVo page){ QueryWrapper<IcCard> qw = new QueryWrapper<>(); User currUser = securityUtil.getCurrUser(); QueryWrapper<User> userQw = new QueryWrapper<>(); userQw.eq("id",currUser.getId()); userQw.inSql("id","SELECT user_id FROM a_user_role WHERE del_flag = 0 AND role_id = '1536606659751841799'"); if(iUserService.count(userQw) < 1L) { qw.eq("user_id",currUser.getId()); } if(!ZwzNullUtils.isNull(icCard.getCarNumber())) { qw.like("car_number",icCard.getCarNumber()); } if(!ZwzNullUtils.isNull(icCard.getWorkUser())) { qw.like("work_user",icCard.getWorkUser()); } IPage<IcCard> data = iIcCardService.page(PageUtil.initMpPage(page),qw); return new ResultUtil<IPage<IcCard>>().setData(data); } AI写代码
@RequestMapping(value = "/insert", method = RequestMethod.POST) @ApiOperation(value = "新增IC卡") public Result<IcCard> insert(IcCard icCard){ User user = iUserService.getById(icCard.getUserId()); if(user == null) { return ResultUtil.error("归属人不存在"); } icCard.setUserName(user.getNickname()); User currUser = securityUtil.getCurrUser(); icCard.setWorkUser(currUser.getNickname()); icCard.setDate(DateUtil.today()); iIcCardService.saveOrUpdate(icCard); return new ResultUtil<IcCard>().setData(icCard); } AI写代码
@RequestMapping(value = "/recharge", method = RequestMethod.POST) @ApiOperation(value = "充值") public Result<Object> recharge(@RequestParam String id, @RequestParam BigDecimal number){ IcCard ic = iIcCardService.getById(id); if(ic == null) { return ResultUtil.error("IC卡不存在"); } ic.setBalance(ic.getBalance().add(number)); iIcCardService.saveOrUpdate(ic); return ResultUtil.success(); } AI写代码
@RequestMapping(value = "/getByPage", method = RequestMethod.GET) @ApiOperation(value = "查询IC卡挂失") public Result<IPage<IcCardLoss>> getByPage(@ModelAttribute IcCardLoss icCardLoss ,@ModelAttribute PageVo page){ QueryWrapper<IcCardLoss> qw = new QueryWrapper<>(); User currUser = securityUtil.getCurrUser(); QueryWrapper<User> userQw = new QueryWrapper<>(); userQw.eq("id",currUser.getId()); userQw.inSql("id","SELECT user_id FROM a_user_role WHERE del_flag = 0 AND role_id = '1536606659751841799'"); if(iUserService.count(userQw) < 1L) { qw.eq("apply_id",currUser.getId()); } if(!ZwzNullUtils.isNull(icCardLoss.getCarNumber())) { qw.like("car_number",icCardLoss.getCarNumber()); } if(!ZwzNullUtils.isNull(icCardLoss.getApplyUser())) { qw.like("apply_user",icCardLoss.getApplyUser()); } if(!ZwzNullUtils.isNull(icCardLoss.getStatus())) { qw.eq("status",icCardLoss.getStatus()); } IPage<IcCardLoss> data = iIcCardLossService.page(PageUtil.initMpPage(page),qw); return new ResultUtil<IPage<IcCardLoss>>().setData(data); } AI写代码
@RequestMapping(value = "/insert", method = RequestMethod.POST) @ApiOperation(value = "新增IC卡挂失") public Result<IcCardLoss> insert(IcCardLoss icCardLoss){ IcCard ic = iIcCardService.getById(icCardLoss.getCarId()); if(ic == null) { return ResultUtil.error("IC卡不存在"); } icCardLoss.setCarNumber(ic.getCarNumber()); User currUser = securityUtil.getCurrUser(); icCardLoss.setApplyId(currUser.getId()); icCardLoss.setApplyUser(currUser.getNickname()); iIcCardLossService.saveOrUpdate(icCardLoss); return new ResultUtil<IcCardLoss>().setData(icCardLoss); } AI写代码
@RequestMapping(value = "/audit", method = RequestMethod.POST) @ApiOperation(value = "审核IC卡挂失") public Result<Object> audit(@RequestParam String id){ IcCardLoss cl = iIcCardLossService.getById(id); if(cl == null) { return ResultUtil.error("挂失单不存在"); } cl.setStatus("已审核"); iIcCardLossService.saveOrUpdate(cl); IcCard ic = iIcCardService.getById(cl.getCarId()); if(ic != null) { ic.setCarNumber(cl.getNewNumber()); iIcCardService.saveOrUpdate(ic); } return ResultUtil.success(); } AI写代码
智能停车场管理系统属于一类高科技软件应用,在计算机系统中实现全方位维护管理。经专家分析认为该系统自2013年问世以来持续优化升级,并已逐步适应并提升本地的实际应用需求。其运行模式更加注重人性化的服务体验。
伴随我国公共停车场数量的激增而逐步发展起来的一体化管理模式逐渐完善,在最初版本则借鉴了国外同类系统的先进理念,并在其基础上不断发展和完善。其重要性更加突出,在智能化程度方面已取得了一定的高度进展。总体而言,在智能化程度方面已取得了一定的高度进展。但这些标准并非一劳永逸的要求,在一段时间内会随着技术的发展与社会需求的变化不断优化与提升。
下载本系统代码或使用本系统的用户,必须同意以下内容,否则请勿下载!
目录 一、摘要 1.1项目介绍 1.2项目录屏 二、研究内容 A.车主端功能 B.停车工作人员功能 C.系统管理员功能 1\.停车位模块 2\.车辆模块 3\.停车记录模块 4\.IC卡模块 5\.I...
1.实现的功能: 用户登录,用户信息的管理,车位信息的管理,ic卡信息的管理,停车收费系统的管理 2.系统分层: 将整个系统划分为model层,controller层,service层,DAO层四层 ...
摘要 随着科学技术的飞速发展,各行各业都在努力与现代先进技术接轨,通过科技手段提高自身的优势;对于停车场智能化管理系统当然也不能排除在外,随着网络技术的不断成熟,带动了停车场智能化管理系统,它彻底改变...
🍓🍓文末获取联系🍓🍓 基于SpringBoot+Vue的智能停车场 基础环境 JDK1.8、Maven、Mysql、IntelliJIDEA、payCloud 相关组件 okadmin vue...
暂无描述
摘要 本论文主要论述了如何使用JSP技术开发一个车牌识别停车场智能管理系统,本系统将严格按照软件开发流程进行各个阶段的工作,采用B/S架构,面向对象编程思想进行项目开发。
项目截图 Java语言介绍 Java语言是目前最受欢迎的一种高级语言,它是一种类C的语言,将C和C++的优势结合在一起,但又舍弃了各自的劣势,在Java语言中,所有的东西都是对象。这使得Java语言的...
开发工具:IDEA 服务器:Tomcat9.0,jdk1.8 项目构建:maven 数据库:mysql5.7 项目采用前后端分离 前端技术:vue+elementUI 服务端技术:springboot...
智能停车费管理系统是基于java编程语言和mysql开发的,bs架构的系统。系统只有管理人员对车位信息,IC卡信息,固定车主停车信息,汽车入场出场管理等功能。本设计功能较为简单,适合作为简单的java...