基于springboot的房屋租赁系统
博主主页:猫头鹰源码
博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万+、专注Java技术领域和毕业设计项目实战
主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询
文末联系获取
项目介绍:
该系统基于springboot技术,数据层为MyBatis,mysql数据库,具有完整的业务逻辑,适合选题:房屋租赁、房屋、酒店、民宿等。
项目功能:
系统主要角色为租客和管理员用户两种角色。租客登录系统首页后就能看到推荐的房屋,同时也可以按照城市和房屋类型等条件查询房屋。租客可以查看房屋详细信息,如租金、房产证号、房间面积等,另外还可以查看房屋图片和地理位置。在查看房屋详细信息时,租客还可以收藏这个房屋,也可以直接预定。租客可以查看收藏的房屋和已经租赁的房屋,查看合同信息,申请退租。管理员用户主要功能权限是对其他实体的管理,包括对房屋的上架、下架、审核等,对租客账号的启用和冻结,对新闻的管理,对合同的管理。租客用户和管理员用户都有对自己信息的管理权限。
1.租客用户功能需求描述:
租客用户功能包括:注册、登录、租房、查看新闻、个人信息管理、反馈,下面是本文分别详细对租客用户各个功能需求进行描述。
(1)注册:进入到首页的游客只能查看相关信息,不能执行具体的操作,只有通过在系统注册页面中填写账号密码等相关信息注册成为租客用户后才能执行租房、收藏等具体操作。
(2)登录:租客用户使用自己的账号密码登录到系统中,系统会对账号密码进行判断,若用户输入的账号密码不正确,则返回给用户一条提示信息。登录成功后,系统会根据用户的身份展示租客用户的功能权限。
(3)租房:用户在页面中通过组合条件查询房屋信息,搜索出未出租的房屋列表。用户在查看房屋详细信息后可以预定这个房子,完成支付后,将会生成一条合同信息,用户可以查看自己租赁的房屋。 用户在查看房屋详细信息后还可以选择收藏这条房屋信息,收藏的房屋将会被记录下来,用户可以在自己的收藏中看到。
(4)查看新闻:租客可以在首页看到管理员发布的一些新闻资讯,在系统首页通过列表的形式展示出全部新闻,租客可以通过点击某条新闻的标题进入到新闻详情页面,新闻详情页面展示了新闻的详细信息和新闻的发布时间。
(5)个人信息管理:个人信息管理中显示当前用户的详细信息,如:姓名、手机号、性别等,租客可以在这部分修改自己的密码和相关信息,修改密码时,用户需要输入原密码进行验证,通过验证后才能成功修改密码。
(6)反馈:系统为用户提供了反馈功能,当租客用户发现了系统的一些问题时,租客可以给管理员发送一些反馈信息,用户可以查看到自己的反馈信息的状态,管理员可以在后台看到反馈信息并进行处理。
2.管理员功能需求描述:
管理员用户功能包括:用户管理、房屋管理、新闻管理、反馈管理和订单管理,下面本文分别详细对租客用户各个功能需求进行描述如下。
(1)用户管理:管理员可以在这部分查看到本系统所有的租客用户和对应的详细信息,包括用户名,联系方式和状态。管理员可以对用户进行冻结操作,被冻结的用户就不能再登录本系统,当然管理员也可以再次启用这个用户。
(2)房屋管理:管理员可以在这部分查看所有的房屋和其对应信息,房屋信息包括房屋图片、房屋地址、房屋名称等。管理员可以下架某一个房屋,也可以对房屋信息进行编辑和删除操作,管理员还可以在这部分发布新的房屋。
(3)新闻管理:与房屋管理类似,管理员可以在新闻管理中查看所有的新闻信息,还可以修改新闻信息,可以删除新闻,也可以发布新闻。管理员新发布的新闻会展示在首页,被管理员删除的新闻就不会再展示出来。
(4)反馈管理:管理员在这部分查看租客用户提交的反馈信息,管理员可以对反馈进行回复,被回复后的反馈信息的状态会发生变化,提交这条反馈的用户也可以查看到管理员的回复。管理员还可以删除已经处理过的反馈信息。
(5)订单管理:管理员可以查看全部用户的租房订单信息,包括已取消的订单,待付款的订单和退款申请中的订单,管理员可以同意用户的退款申请,也可以拒绝用户的退款申请。
系统包含技术:
后端:springBoot、mybatis-plus
前端:bootstrap、js、css等
开发工具:idea
数据库:mysql 5.7
JDK版本:jdk1.8
部分截图说明:
下面是首页,展示最新的房屋信息
可以对房屋根据是否整租,价格,面积进行筛选
查看房屋详情,具有地图展示位置,可以收藏,预定
预定后打印合同
然后支付房费,成功后我的家就有信息了
下面是我的收藏
我的反馈
个人信息管理
管理员可以对用户管理
对房屋进行上架,下架,编辑等操作
部分代码:
配置拦截器等
/*** @CreatedBy: mty* @Date: 2021-08-27* @Content: 配置静态资源*/@Overridepublic void addResourceHandlers(ResourceHandlerRegistry registry) {registry.addResourceHandler("/**").addResourceLocations("classpath:/static/");registry.addResourceHandler("/uploads/**").addResourceLocations("file:///"+Constant.UPLOADS_PATH);}/*** @CreatedBy: mty* @Date: 2021-08-27* @Content: 配置jsp的访问前后缀*/@Beanpublic InternalResourceViewResolver setViewViewResolver(){InternalResourceViewResolver resolver = new InternalResourceViewResolver();resolver.setPrefix("/jsp/");resolver.setSuffix(".jsp");return resolver;}@Overridepublic void addInterceptors(InterceptorRegistry registry) {registry.addInterceptor(new CustomerInterceptor()).addPathPatterns("/admin/order").addPathPatterns("/admin/profile").addPathPatterns("/admin/mark").addPathPatterns("/admin/feedback").addPathPatterns("/admin/home").addPathPatterns("/admin/password");registry.addInterceptor(new OwnerInterceptor()).addPathPatterns("/admin/house");registry.addInterceptor(new AdminInterceptor()).addPathPatterns("/admin/news").addPathPatterns("/admin/user");}
文件上传
/*** @CreatedBy: mty* @Date: 2021-08-30* @Content: 图片入口*/public static Map<String, String> uploadToFile(MultipartFile file) throws Exception {Map<String, String> map = new HashMap<>();File path = new File(Constant.UPLOADS_PATH);if (!path.exists()){if (!path.mkdirs()){throw new Exception("文件上传失败,无法创建文件夹");}}//原始文件名String originalFilename = file.getOriginalFilename();//后缀 jpgString fileSuffix = originalFilename.substring(originalFilename.lastIndexOf(".") + 1);//新文件名String nameWithoutSuffix = UUID.randomUUID().toString().replaceAll("-","");//带后缀的新文件名String newFileName = nameWithoutSuffix + "." + fileSuffix;//上传File descFile = new File(path.getAbsolutePath(),newFileName);file.transferTo(descFile);//映射路径String filePath = Constant.UPLOADS_ABSOLUTE_PATH + newFileName;map.put("fileName",originalFilename);map.put("filePath",filePath);map.put("fileSuffix",fileSuffix);return map;}
反馈操作代码
@RequestMapping("/admin/feedback")public String adminFeedback(@RequestParam(value = "page",defaultValue = "1")Long pageNumber,@RequestParam(value = "size",defaultValue = "6")Long pageSize,Model model) {Page page = PageUtil.initMpgPage(pageNumber, pageSize);Feedback feedback = new Feedback();if (!loginUserIsAdmin()){feedback.setUserId(getLoginUserId());}Page<Feedback> feedbackServiceAll = this.feedbackService.findAll(page, feedback);model.addAttribute("pageInfo",feedbackServiceAll);model.addAttribute("tab","feedback-list");model.addAttribute("pagePrefix","/admin/feedback?");model.addAttribute("isAdmin",loginUserIsAdmin());return "admin/feedback-list";}/*** @CreatedBy: mty* @Date: 2021-09-09* @Content: 提交反馈回复*/@ResponseBody@RequestMapping("/admin/feedback/reply/submit")public JsonResult replySubmit(Feedback feedback){this.feedbackService.update(feedback);return JsonResult.success("回复成功");}/*** @CreatedBy: mty* @Date: 2021-09-09* @Content: 删除反馈*/@ResponseBody@RequestMapping("/admin/feedback/delete")public JsonResult feedbackDelete(@RequestParam("id")Long id){Feedback feedback = this.feedbackService.get(id);if (feedback == null){return JsonResult.error("反馈不存在");}if (!loginUserIsAdmin() && !Objects.equals(feedback.getUserId(),getLoginUserId())){return JsonResult.error("没有权限");}this.feedbackService.delete(id);return JsonResult.success("删除成功");}
以上就是部分功能展示,从整体上来看,本系统功能是十分完整的,界面设计简洁大方,交互友好,数据库设计也很合理,规模适中,代码工整,清晰,适合学习使用。
好了,今天就到这儿吧,小伙伴们点赞、收藏、评论,一键三连走起呀,下期见~~
基于springboot的房屋租赁系统相关推荐
- 基于Java毕业设计房屋租赁系统源码+系统+mysql+lw文档+部署软件
基于Java毕业设计房屋租赁系统源码+系统+mysql+lw文档+部署软件 基于Java毕业设计房屋租赁系统源码+系统+mysql+lw文档+部署软件 本源码技术栈: 项目架构:B/S架构 开发语言: ...
- 基于SpringBoot的房屋租赁管理系统的设计与实现
基于SpringBoot的房屋租赁管理系统的设计与实现 1 绪论 1.1 课题来源 随着社会的不断发展以及大家生活水平的提高,越来越多的年轻人选择在大城市发展.在大城市发展就意味着要在外面有一处安身的 ...
- 基于JAVA二手房屋租赁系统计算机毕业设计源码+系统+lw文档+部署
基于JAVA二手房屋租赁系统计算机毕业设计源码+系统+lw文档+部署 基于JAVA二手房屋租赁系统计算机毕业设计源码+系统+lw文档+部署 本源码技术栈: 项目架构:B/S架构 开发语言:Java语言 ...
- KS001 基于Springboot机票预订系统
基于Springboot机票预订系统 本项目基于Springboot框架构建,使用SpringMvc和Mybatis框架进行相应的开发,数据库采用mysql,前端页面采用html实现,基于Jquery ...
- 基于springboot小型命题系统毕业设计源码011508
基于springboot小型命题系统 摘 要 随着科学技术的飞速发展,各行各业都在努力与现代先进技术接轨,通过科技手段提高自身的优势:对于小型命题系统当然也不能排除在外,随着网络技术的不断成熟,带 ...
- 基于Android的房屋租赁系统
需求信息: 房东客户端: 1:注册登录:使用分配的账号进行登录: 2:发布房源:房主可以发布自己的房源信息: 3:预约信息:查看租客的预约看房信息: 4:租房资讯:查看发布的租房资讯信息 5:个人信息 ...
- 基于springboot电影购票系统(源代码+数据库)012
部分代码地址 https://gitee.com/ynwynwy/Movie-Ticket-Purchasing-public 基于springboot电影购票系统(源代码+数据库) 一.系统介绍 前 ...
- 基于springboot地方旅游系统的设计与实现
摘 要 本次设计内容是基于Springboot的旅游系统的设计与实现,采用B/S三层架构分别是Web表现层.Service业务层.Dao数据访问层,并使用Springboot,MyBatis二大 ...
- 基于SpringBOOT的订餐系统
1,项目功能: 卖家端: (1)商品管理:卖家可以在该模块下进行商品信息添加,商品信息查看,商品信息修改以及商品商品信息删除等功能. (2)订单管理:卖家可以查看订单信息,并对订单信息进行确认,同时也 ...
- 基于SpringBoot2的房屋租赁系统的设计与实现-计算机、软件工程、网络工程等专业毕设
基于SpringBoot2的房屋租赁系统的设计与实现-毕业设计 摘要 主要内容 系统整体设计 系统功能展示 首页搜索 房屋推荐 租赁房屋 数据可视化 上传待租房源 总结 摘要 好吧,毕业半年了,随着工 ...
最新文章
- Comparable接口和Comparator接口
- 2.let和const命令
- JVM运行时对它所管理的内存划分区域(为面试准备)
- 远程接入-天翼5系统让ERP穿越时空!
- Python中@staticmethod和@classmethod之间的区别
- GitBucket管理员添加人员
- php页面的特点_带你认识PHP的四大特性八大优势
- [已破案] 镜像出问题了
- 杨霖演讲实录∣从模块化架构到跨链生态,NULS这一年下了一盘怎么样的棋
- 记录某次利用word邮件功能 由excel数据中批量生成奖状 遇到的问题及解决措施
- 价值百万的企业大数据分析报告是如何炼成的?
- L2-027. 名人堂与代金券
- 机器学习算法系列(一)- 感知器学习算法(PLA)
- python常用接口调用
- 局域网arp攻击_网络安全工程师教Kali Linux:ARP欺骗概述
- Kubernetes(K8s)优势究竟是什么?
- 小米红米Note4X(高配版)解BL锁教程申请BootLoader解锁教程
- go tool pprof与trace的简单使用
- Android QQ登录,分享,分享图片
- 北京大学,新增设置数据科学与工程博士点!