一、摘要
1.1 項目介紹
基于JAVA+Vue+SpringBoot+MySQL的民宿預(yù)定管理系統(tǒng),包含了民宿檔案模塊、民宿訂單模塊、民宿評價模塊、民宿留言模塊,還包含系統(tǒng)自帶的用戶管理、部門管理、角色管理、菜單管理、日志管理、數(shù)據(jù)字典管理、文件管理、圖表展示等基礎(chǔ)模塊,民宿預(yù)定管理系統(tǒng)基于角色的訪問控制,給民宿管理員、旅客使用,可將權(quán)限精確到按鈕級別,您可以自定義角色并分配權(quán)限,系統(tǒng)適合設(shè)計精確的權(quán)限約束需求。
1.2 項目錄屏
二、功能模塊
2.1 用例設(shè)計
民宿預(yù)訂管理系統(tǒng),使用Spring Boot、Vue.js 框架進行開發(fā),后臺服務(wù)器使用了Tomcat,數(shù)據(jù)庫使用MySQL。
該系統(tǒng)實現(xiàn)了登錄注冊、上傳房源、預(yù)訂民宿、我的留言、評價功能、訂單生成等模塊功能。
本系統(tǒng)分為以下三種用戶類型。
租客:指那些在平臺上注冊的想要租民宿的消費者。
房主:指上傳房源的當(dāng)前民宿經(jīng)營者。
系統(tǒng)管理員:指管理房源、用戶與評論,幫助租客和房主解決問題的系統(tǒng)管理者。
2.2 功能設(shè)計
民宿預(yù)訂管理系統(tǒng)本系統(tǒng)分為使用用戶類型分為租客、房主、系統(tǒng)管理員三種,具體功能結(jié)構(gòu)如下。
2.2.1 租客角色
- 注冊、登錄功能
- 搜索功能:根據(jù)某些特定項模糊匹配民宿。
- 預(yù)訂功能:在線預(yù)訂民宿房間。
- 留言和評論功能:可以跟其他角色留言、評論民宿房間。
- 訂單功能:查看生成的訂單詳情,進行退訂操作。
2.2.2 房主角色
- 注冊、登錄功能
- 搜索功能:根據(jù)某些特定項模糊匹配民宿。
- 民宿房源管理功能:修改房源狀態(tài)與信息、上傳房源照片、新增房源、搜索房源。
- 留言和評論功能:可以跟其他角色留言、評論民宿房間。
- 訂單功能:可以查看生成的訂單信息。
2.2.3 系統(tǒng)管理員角色
- 注冊、登錄功能
- 搜索功能:根據(jù)某些特定項模糊匹配民宿。
- 用戶管理:按條件查詢所有類型的用戶,刪除用戶,修改自己的信息。
- 房源管理:修改房源上下線狀態(tài)。
- 留言和評論管理:可以回復(fù)租客和房主的問題且可以刪除評論。
三、系統(tǒng)展示
四、核心代碼
4.1 查詢民宿
@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查詢民宿")
public Result<IPage<Homestay>> getByPage(@ModelAttribute Homestay homestay ,@ModelAttribute PageVo page){
QueryWrapper<Homestay> 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 = '1635922262441988096'");
if(iUserService.count(userQw) > 0L) {
qw.eq("user_id",currUser.getId());
}
if(!ZwzNullUtils.isNull(homestay.getTitle())) {
qw.like("title",homestay.getTitle());
}
if(!ZwzNullUtils.isNull(homestay.getStatus())) {
qw.eq("status",homestay.getStatus());
}
IPage<Homestay> data = iHomestayService.page(PageUtil.initMpPage(page),qw);
return new ResultUtil<IPage<Homestay>>().setData(data);
}
4.2 新增民宿
@RequestMapping(value = "/insert", method = RequestMethod.POST)
@ApiOperation(value = "新增民宿")
public Result<Homestay> insert(Homestay homestay){
User currUser = securityUtil.getCurrUser();
homestay.setUserId(currUser.getId());
iHomestayService.saveOrUpdate(homestay);
return new ResultUtil<Homestay>().setData(homestay);
}
4.3 新增民宿評價
@RequestMapping(value = "/insert", method = RequestMethod.POST)
@ApiOperation(value = "新增評價")
public Result<Appraise> insert(Appraise appraise){
Homestay h = iHomestayService.getById(appraise.getDormId());
if(h == null) {
return ResultUtil.error("民宿不存在");
}
appraise.setDormName(h.getTitle());
User currUser = securityUtil.getCurrUser();
appraise.setUserId(currUser.getId());
appraise.setUserName(currUser.getNickname());
iAppraiseService.saveOrUpdate(appraise);
return new ResultUtil<Appraise>().setData(appraise);
}
4.4 查詢留言
@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查詢留言")
public Result<IPage<Message>> getByPage(@ModelAttribute Message message ,@ModelAttribute PageVo page){
QueryWrapper<Message> 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 = '1536606659751841795'");
if(iUserService.count(userQw) > 0L) {
qw.eq("user_id",currUser.getId());
}
if(!ZwzNullUtils.isNull(message.getContent())) {
qw.like("content",message.getContent());
}
if(!ZwzNullUtils.isNull(message.getUserName())) {
qw.like("user_name",message.getUserName());
}
IPage<Message> data = iMessageService.page(PageUtil.initMpPage(page),qw);
return new ResultUtil<IPage<Message>>().setData(data);
}
4.5 新增民宿訂單
@RequestMapping(value = "/insert", method = RequestMethod.POST)
@ApiOperation(value = "新增訂單")
public Result<Order> insert(Order order){
Homestay h = iHomestayService.getById(order.getDormId());
if(h == null) {
return ResultUtil.error("民宿不存在");
}
order.setDormName(h.getTitle());
User currUser = securityUtil.getCurrUser();
order.setUserId(currUser.getId());
order.setUserName(currUser.getNickname());
order.setUserMobile(currUser.getMobile());
order.setDate(DateUtil.today());
iOrderService.saveOrUpdate(order);
return new ResultUtil<Order>().setData(order);
}
五、免責(zé)說明
- 本項目僅供個人學(xué)習(xí)使用,商用授權(quán)請聯(lián)系博主,否則后果自負。
- 博主擁有本軟件構(gòu)建后的應(yīng)用系統(tǒng)全部內(nèi)容所有權(quán)及獨立的知識產(chǎn)權(quán),擁有最終解釋權(quán)。
- 如有問題,歡迎在倉庫 Issue 留言,看到后會第一時間回復(fù),相關(guān)意見會酌情考慮,但沒有一定被采納的承諾或保證。
下載本系統(tǒng)代碼或使用本系統(tǒng)的用戶,必須同意以下內(nèi)容,否則請勿下載!文章來源:http://www.zghlxwxcb.cn/news/detail-818173.html
- 出于自愿而使用/開發(fā)本軟件,了解使用本軟件的風(fēng)險,且同意自己承擔(dān)使用本軟件的風(fēng)險。
- 利用本軟件構(gòu)建的網(wǎng)站的任何信息內(nèi)容以及導(dǎo)致的任何版權(quán)糾紛和法律爭議及后果和博主無關(guān),博主對此不承擔(dān)任何責(zé)任。
- 在任何情況下,對于因使用或無法使用本軟件而導(dǎo)致的任何難以合理預(yù)估的損失(包括但不僅限于商業(yè)利潤損失、業(yè)務(wù)中斷與業(yè)務(wù)信息丟失),博主概不承擔(dān)任何責(zé)任。
- 必須了解使用本軟件的風(fēng)險,博主不承諾提供一對一的技術(shù)支持、使用擔(dān)保,也不承擔(dān)任何因本軟件而產(chǎn)生的難以預(yù)料的問題的相關(guān)責(zé)任。
文章來源地址http://www.zghlxwxcb.cn/news/detail-818173.html
到了這里,關(guān)于基于JAVA的民宿預(yù)定管理系統(tǒng) 開源項目的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!