——————————DescriptionStart——————————
运行环境
Java≥8、MySQL≥5.7
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明









基于javaweb的SpringBoot房屋租赁系统(java+springboot+maven+ssm+jsp+jquery+mysql)
项目介绍
基于springboot房屋出租系统 有前台和后台
登陆角色:用户+房东+管理员
前台功能模块:登陆+注册+整租+合租+租房+新闻资讯+用户反馈+搜索+忘记密码+联系房东等
后台功能模块: 用户端:订单管理+个人信息+我的家+我的收藏+密码修改+我的反馈 管理员端:房子管理+订单管理+新闻资讯管理+反馈管理+用户管理+个人信息+我的收藏+密码修改 房东端:房子管理+订单管理+个人信息+我的收藏+密码修改+我的反馈
环境需要
1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA; 3.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; 4.数据库:MySql 5.7/8.0版本均可; 5.是否Maven项目:是;
技术栈
后端:SpringBoot(Spring+SpringMVC+Mybatis)
前端: JSP、css、JavaScript、JQuery、Ajax
使用说明
项目运行: 1. 使用Navicat或者其它工具,在mysql中创建对应sql文件名称的数据库,并导入项目的sql文件; 2. 使用IDEA/Eclipse/MyEclipse导入项目,导入成功后请执行maven clean;maven install命令,然后运行; 3. 将项目中application.yml配置文件中的数据库配置改为自己的配置; 4. 运行项目,控制台提示运行成功后再去运行前端项目; 5. 管理员用户名密码:admin/admin 普通用户名密码:user/123456
文档介绍(课题背景与意义、系统实现功能、课题研究现状、系统相关技术、java技术、B/S架构、Mysql介绍、Mysql环境配置、Springboot框架、系统需求分析、系统功能、可行性研究、经济可行性、技术可行性、运行可行性、事件可行性、系统业务过程分析、系统业务过程分析、系统用例图、系统设计、数据库设计、系统整体设计、系统设计思想、系统流程图、系统详情设计、系统功能模块、系统功能模块、管理员功能模块):
房屋租赁系统-首页展示:
最新整租咨询展示:
租房列表展示:
旅游景点展示页面:
后台管理展示页:
后台订单管理展示页:
——————————CodeStart——————————
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
| model.addAttribute("house", house); return "admin/house-publish"; }
@RequestMapping("/publish/submit") @ResponseBody public JsonResult publishSubmit(House house, @RequestParam("key") String key, HttpSession session) { try { if (house.getId() == null) { house.setCreateTime(new Date()); house.setUserId(getLoginUserId()); } else { House queryHouse = houseService.get(house.getId()); if (queryHouse == null) { return JsonResult.error("发布失败,未找到此房屋"); } if (!loginUserIsAdmin() && Objects.equals(house.getUserId(), getLoginUserId())) { return JsonResult.error("发布失败,无法编辑他人房屋信息。"); } } house.setStatus(HouseStatusEnum.NOT_CHECK.getValue()); String sessionKey = Constant.SESSION_IMG_PREFIX + key; List<String> imgList = (List<String>) session.getAttribute(sessionKey); if (imgList != null && imgList.size() > 0) { house.setSlideUrl(JSON.toJSONString(imgList)); house.setThumbnailUrl(imgList.get(0)); } houseService.insertOrUpdate(house); } catch (Exception e) { return JsonResult.error("发布失败,请填写完整信息"); } return JsonResult.success("发布成功", house.getId()); }
@RequestMapping("/down") @ResponseBody public JsonResult downHouse(@RequestParam("id") Long id) { try { House house = houseService.get(id); if (house == null) { return JsonResult.error("下架失败,没有选择的房屋。"); }
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
| if (!loginUserIsAdmin()) { return JsonResult.error("您无权限审核房屋信息"); } if (!Objects.equals(house.getStatus(), HouseStatusEnum.NOT_CHECK.getValue())) { return JsonResult.error("房屋状态不为待审核状态,无法审核。"); } house.setStatus(HouseStatusEnum.NOT_RENT.getValue()); houseService.update(house); } catch (Exception e) { return JsonResult.error("审核房屋信息失败,请重试。"); }
return JsonResult.success("审核成功!"); }
@RequestMapping("/checkReject") @ResponseBody public JsonResult checkRejectHouse(@RequestParam("id") Long id) { try { House house = houseService.get(id); if (house == null) { return JsonResult.error("审核失败,您未选中需要审核的房屋。"); } if (!loginUserIsAdmin()) { return JsonResult.error("您无权限审核房屋信息"); } if (!Objects.equals(house.getStatus(), HouseStatusEnum.NOT_CHECK.getValue())) { return JsonResult.error("房屋状态不为待审核状态,无法审核。"); } house.setStatus(HouseStatusEnum.CHECK_REJECT.getValue()); houseService.update(house); } catch (Exception e) { return JsonResult.error("审核房屋信息失败,请重试。"); }
return JsonResult.success("审核成功!"); }
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| model.addAttribute("pageInfo", feedbackPage); model.addAttribute("pagePrefix", "/news?");
List<Order> newestOrder = orderService.newestOrderInfo(); List<News> newestNews = newsService.newestNews(); String userCount = userService.findAllUserNums(); String ownerCount = userService.findOwnerNums(); String userFeedbackCount = userService.userFeedbackCount(); String orderNum = orderService.orderNum(); String houseCount = houseService.houseCount();
model.addAttribute("userCount", userCount); model.addAttribute("ownerCount", ownerCount); model.addAttribute("houseCount", houseCount); model.addAttribute("userFeedbackCount", userFeedbackCount); model.addAttribute("orderNum", orderNum); model.addAttribute("newestOrder", newestOrder); model.addAttribute("newestNews", newestNews);
return "admin/admin-control"; }
}
@Controller @RequestMapping("/register") public class RegisterController extends BaseController { @Autowired private UserService userService;
@RequestMapping(value = "/submit", method = RequestMethod.POST)
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
@Controller @RequestMapping("/admin/giftcard") public class GiftcardController extends BaseController { @Autowired private UserService userService;
@Autowired private GiftcardService giftcardService;
@RequestMapping("/redeem") @ResponseBody public JsonResult redeem(@RequestParam("series") String series) { if(series.equals("")){ return JsonResult.error("请填写礼品卡代码或PIN!"); } User user = userService.get(getLoginUserId()); if (user == null) { return JsonResult.error("您还未登录!"); } Double redeem_value = giftcardService.checkValidGiftcard(series, GiftcardStatusEnum.NORMAL.getValue()); if (Objects.equals(redeem_value, null) || Objects.equals(redeem_value, "")) { return JsonResult.error("兑换码不存在或已被使用或已到期"); } Date date = new Date(); giftcardService.redeemGiftcard(series, GiftcardStatusEnum.USED.getValue(), date, user.getUserName()); Double currentBalance = giftcardService.currentBalance(user.getUserName()); String afterBalance = String.format("%.2f", redeem_value + currentBalance); giftcardService.addToUserBalance(afterBalance, user.getUserName()); return JsonResult.success("兑换成功!礼品卡为您兑换了" + redeem_value + "元");
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
| if (news.getId() == null) { news.setCreateTime(new Date()); } else { News queryNews = newsService.get(news.getId()); if (queryNews == null) { return JsonResult.error("发布失败,未找到此新闻资讯ID"); } } int postSummary = 300; String summaryText = HtmlUtil.cleanHtmlTag(news.getContent()); if (summaryText.length() > postSummary) { String summary = summaryText.substring(0, postSummary); news.setSummary(summary); } else { news.setSummary(summaryText); }
newsService.insertOrUpdate(news); } catch (Exception e) { return JsonResult.error("发布失败,请将内容补充完整!"); }
return JsonResult.success("发布成功", news.getId()); }
@RequestMapping("/delete") @ResponseBody public JsonResult deleteNews(@RequestParam("id") Long id) { try { News news = newsService.get(id); if (news == null) { return JsonResult.error("删除失败,未找到新闻资讯ID。"); } newsService.delete(id); } catch (Exception e) { return JsonResult.error("删除新闻资讯信息失败,请重试。"); }
return JsonResult.success("删除成功!"); }
}
|
——————————PayStart——————————
项目链接:
https://javayms.github.io?id=231524180701201ie
https://javayms.pages.dev?id=231524180701201ie