不會(huì)被封的網(wǎng)站誰(shuí)做搜索優(yōu)化seo
目錄
- 一、摘要
- 1.1 項(xiàng)目介紹
- 1.2 項(xiàng)目錄屏
- 二、功能模塊
- 2.1 停車(chē)位模塊
- 2.2 車(chē)輛模塊
- 2.3 停車(chē)收費(fèi)模塊
- 2.4 IC卡模塊
- 2.5 IC卡掛失模塊
- 三、系統(tǒng)設(shè)計(jì)
- 3.1 用例設(shè)計(jì)
- 3.2 數(shù)據(jù)庫(kù)設(shè)計(jì)
- 3.2.1 停車(chē)場(chǎng)表
- 3.2.2 車(chē)輛表
- 3.2.3 停車(chē)收費(fèi)表
- 3.2.4 IC 卡表
- 3.2.5 IC 卡掛失表
- 四、系統(tǒng)實(shí)現(xiàn)
- 五、核心代碼
- 5.1 查詢停車(chē)位
- 5.2 查詢車(chē)輛
- 5.3 新增停車(chē)記錄
- 5.4 查詢 IC 卡
- 5.5 新增 IC 卡掛失
- 六、免責(zé)說(shuō)明
一、摘要
1.1 項(xiàng)目介紹
基于JAVA+Vue+SpringBoot+MySQL的停車(chē)場(chǎng)收費(fèi)系統(tǒng),包含了車(chē)輛管理模塊、停車(chē)場(chǎng)模塊、停車(chē)記錄模塊、IC卡檔案模塊和IC卡掛失模塊,還包含系統(tǒng)自帶的用戶管理、部門(mén)管理、角色管理、菜單管理、日志管理、數(shù)據(jù)字典管理、文件管理、圖表展示等基礎(chǔ)模塊,停車(chē)場(chǎng)收費(fèi)系統(tǒng)基于角色的訪問(wèn)控制,給停車(chē)管理員、車(chē)主、工作人員使用,可將權(quán)限精確到按鈕級(jí)別,您可以自定義角色并分配權(quán)限,系統(tǒng)適合設(shè)計(jì)精確的權(quán)限約束需求。
隨著我國(guó)經(jīng)濟(jì)的不斷發(fā)展,人民生活水平的也日益提高,外出購(gòu)物、旅游意向也越來(lái)越強(qiáng),對(duì)交通出行的需求也越來(lái)越大。在一些大型商貿(mào)場(chǎng)所,無(wú)論是人流量還是車(chē)流都格外大,而道路承載壓力也隨之增加,所以城市停車(chē)問(wèn)題的解決也越發(fā)急迫。由此觀之,如何解決商場(chǎng)等人流量多等地的停車(chē)問(wèn)題,是解決交通擁堵的關(guān)鍵點(diǎn)。
綜上所述,設(shè)計(jì)一個(gè)停車(chē)場(chǎng)收費(fèi)系統(tǒng)能夠簡(jiǎn)化人們停車(chē)流程,提高停車(chē)效率,從而解決擁擠問(wèn)題,節(jié)省人們時(shí)間的同時(shí)也間接推動(dòng)經(jīng)濟(jì)發(fā)展。本文研究的系統(tǒng)采用JAVA開(kāi)發(fā),停車(chē)場(chǎng)收費(fèi)系統(tǒng)的應(yīng)用取得了顯著的效果。通過(guò)停車(chē)場(chǎng)收費(fèi)系統(tǒng)的運(yùn)行,停車(chē)場(chǎng)實(shí)現(xiàn)了車(chē)輛進(jìn)出的自動(dòng)化、停車(chē)場(chǎng)管理的精細(xì)化和收費(fèi)流程的標(biāo)準(zhǔn)化,從而提高停車(chē)場(chǎng)管理效率和準(zhǔn)確性,為停車(chē)場(chǎng)管理決策提供更完整、準(zhǔn)確的數(shù)據(jù)支持。
1.2 項(xiàng)目錄屏
二、功能模塊
2.1 停車(chē)位模塊
停車(chē)位是城市不可或缺的一部分,在城市和人民的生活、工作和流動(dòng)中具有重要意義。隨著城市化進(jìn)程的加快和汽車(chē)保有量的增加,城市交通擁堵問(wèn)題越來(lái)越明顯。如果有足夠的停車(chē)位,可以更好地引導(dǎo)交通,防止交通混亂,緩解交通擁堵,在城市內(nèi)駕駛車(chē)輛的效率取決于停車(chē)位的數(shù)量和位置。良好的停車(chē)位規(guī)劃和管理可以提高車(chē)輛停車(chē)效率,減少道路擁堵,提高城市交通效率。停車(chē)位的可用性直接影響市民的出行體驗(yàn)。當(dāng)停車(chē)位緊張時(shí),市民很難開(kāi)車(chē)出去,如果有足夠的停車(chē)位,市民出行將更加方便和舒適。停車(chē)位的可用性也會(huì)影響商業(yè)中心區(qū)域的吸引力,如果沒(méi)有足夠的停車(chē)位,消費(fèi)者會(huì)選擇其他商業(yè)中心,這將影響經(jīng)濟(jì)發(fā)展。
2.2 車(chē)輛模塊
車(chē)輛模塊是停車(chē)場(chǎng)收費(fèi)系統(tǒng)的關(guān)鍵組件之一,用于記錄、管理和監(jiān)控車(chē)輛信息和狀態(tài)。車(chē)輛模塊可以實(shí)現(xiàn)車(chē)輛進(jìn)出的自動(dòng)化和數(shù)據(jù)處理的自動(dòng)化,從而提高停車(chē)管理的效率和準(zhǔn)確性。通過(guò)車(chē)輛模塊,停車(chē)可以為用戶提供更智能、更方便的服務(wù),減少用戶等待時(shí)間和不良體驗(yàn)。車(chē)輛模塊可以有效控制車(chē)輛的交通流量,緩解道路擁堵,改善城市交通擁堵問(wèn)題。車(chē)輛模塊可以記錄和監(jiān)控車(chē)輛的進(jìn)出,可以減少非法侵入和車(chē)輛盜竊等安全問(wèn)題。車(chē)輛模塊在停車(chē)管理系統(tǒng)中具有重要的研究意義,可以提高停車(chē)管理的效率和服務(wù)質(zhì)量,改善城市交通擁堵,加強(qiáng)安全監(jiān)督管理,為停車(chē)管理提供數(shù)據(jù)支持。
2.3 停車(chē)收費(fèi)模塊
停車(chē)收費(fèi)是對(duì)車(chē)輛的停車(chē)位置、停留時(shí)間和計(jì)費(fèi)狀態(tài)等信息的有效記錄和管理。停車(chē)收費(fèi)可以讓車(chē)主清楚地知道他們的車(chē)輛停在哪里和什么時(shí)候停,避免車(chē)輛被盜和其他安全問(wèn)題。通過(guò)停車(chē)收費(fèi),可以獲得停車(chē)位使用情況、停車(chē)流量等信息,讓停車(chē)場(chǎng)管理者更好地分析和制定停車(chē)策略,幫助維護(hù)停車(chē)場(chǎng)的秩序和安全。停車(chē)收費(fèi)也可以用于精細(xì)化管理,例如通過(guò)針對(duì)特定高峰時(shí)間和特定情況的差異化定價(jià)政策來(lái)提高停車(chē)?yán)寐屎凸芾硇省Mㄟ^(guò)停車(chē)收費(fèi),可以了解車(chē)主的停車(chē)習(xí)慣和需求,為車(chē)主提供更好的停車(chē)服務(wù),提高停車(chē)場(chǎng)的服務(wù)質(zhì)量和用戶體驗(yàn)。
2.4 IC卡模塊
IC卡是智能卡的縮寫(xiě),車(chē)主可以擁有一張或多張的IC卡,用于停車(chē)費(fèi)用的繳納,IC卡字段包括IC卡號(hào)、開(kāi)卡日期、所屬人、經(jīng)辦人、服務(wù)電話、余額、創(chuàng)建人、創(chuàng)建時(shí)間,車(chē)主可以申請(qǐng)新的IC卡,停車(chē)場(chǎng)管理員可以新增、掛失、編輯、條件查詢車(chē)主的IC卡。
2.5 IC卡掛失模塊
IC卡是一張實(shí)體卡,車(chē)主難免會(huì)遺失或損壞,當(dāng)出現(xiàn)這類(lèi)情況時(shí)則無(wú)法完成停車(chē)費(fèi)用繳納,這就需要建一個(gè)IC卡掛失模塊,給車(chē)主的掛失卡替換為新的IC卡,IC卡掛失字段包括原卡號(hào)、新卡號(hào)、申請(qǐng)人、申請(qǐng)日期、申請(qǐng)狀態(tài)、審核狀態(tài)、經(jīng)辦人、創(chuàng)建時(shí)間,車(chē)主可以選擇自己名下的IC卡發(fā)起掛失申請(qǐng),停車(chē)場(chǎng)管理員可以審核車(chē)主的IC卡掛失申請(qǐng)。
三、系統(tǒng)設(shè)計(jì)
3.1 用例設(shè)計(jì)
3.2 數(shù)據(jù)庫(kù)設(shè)計(jì)
3.2.1 停車(chē)場(chǎng)表
3.2.2 車(chē)輛表
3.2.3 停車(chē)收費(fèi)表
3.2.4 IC 卡表
3.2.5 IC 卡掛失表
四、系統(tǒng)實(shí)現(xiàn)
五、核心代碼
5.1 查詢停車(chē)位
@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查詢停車(chē)位")
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);
}
5.2 查詢車(chē)輛
@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查詢車(chē)輛")
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' OR role_id = '1720347028472598528')");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);
}
5.3 新增停車(chē)記錄
@RequestMapping(value = "/insert", method = RequestMethod.POST)
@ApiOperation(value = "新增停車(chē)記錄")
public Result<ParkingData> insert(ParkingData parkingData){Vehicle car = iVehicleService.getById(parkingData.getCarId());if(car == null) {return ResultUtil.error("車(chē)輛不存在");}// 判斷余額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("您沒(méi)有IC卡,請(qǐng)申請(qǐng)");}if(parkingData.getCost().compareTo(ic.getBalance()) > 0) {return ResultUtil.error("您IC卡余額不足");}// 記錄數(shù)據(jù)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);
}
5.4 查詢 IC 卡
@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' OR role_id = '1720347028472598528')");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);
}
5.5 新增 IC 卡掛失
@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);
}
六、免責(zé)說(shuō)明
- 本項(xiàng)目?jī)H供個(gè)人學(xué)習(xí)使用,商用授權(quán)請(qǐng)聯(lián)系博主,否則后果自負(fù)。
- 博主擁有本軟件構(gòu)建后的應(yīng)用系統(tǒng)全部?jī)?nèi)容所有權(quán)及獨(dú)立的知識(shí)產(chǎn)權(quán),擁有最終解釋權(quán)。
- 如有問(wèn)題,歡迎在倉(cāng)庫(kù) Issue 留言,看到后會(huì)第一時(shí)間回復(fù),相關(guān)意見(jiàn)會(huì)酌情考慮,但沒(méi)有一定被采納的承諾或保證。
下載本系統(tǒng)代碼或使用本系統(tǒng)的用戶,必須同意以下內(nèi)容,否則請(qǐng)勿下載!
- 出于自愿而使用/開(kāi)發(fā)本軟件,了解使用本軟件的風(fēng)險(xiǎn),且同意自己承擔(dān)使用本軟件的風(fēng)險(xiǎn)。
- 利用本軟件構(gòu)建的網(wǎng)站的任何信息內(nèi)容以及導(dǎo)致的任何版權(quán)糾紛和法律爭(zhēng)議及后果和博主無(wú)關(guān),博主對(duì)此不承擔(dān)任何責(zé)任。
- 在任何情況下,對(duì)于因使用或無(wú)法使用本軟件而導(dǎo)致的任何難以合理預(yù)估的損失(包括但不僅限于商業(yè)利潤(rùn)損失、業(yè)務(wù)中斷與業(yè)務(wù)信息丟失),博主概不承擔(dān)任何責(zé)任。
- 必須了解使用本軟件的風(fēng)險(xiǎn),博主不承諾提供一對(duì)一的技術(shù)支持、使用擔(dān)保,也不承擔(dān)任何因本軟件而產(chǎn)生的難以預(yù)料的問(wèn)題的相關(guān)責(zé)任。