公寓管理系统是一个公寓租赁平台项目,后台管理系统面向管理员,提供公寓(房源)管理、租赁管理、用户管理等功能。
接口功能说明:
-
公寓信息管理
这个模块负责管理所有公寓的基本信息,包括公寓名称、地址、联系方式等。管理员可以在这里添加、编辑、删除公寓信息。
-
房间信息管理
该模块负责管理每个公寓内各个房间的详细信息,包括房间号、户型、面积、租金等。管理员可以在这里进行房间信息的添加、编辑和删除。
-
公寓/房间属性管理
这个模块允许管理员定义公寓和房间的各种属性,比如公寓和房间的配套设施,方便管理员在维护公寓信息和房间信息时进行选择。
-
看房预约管理
该模块用于管理用户的看房预约请求。用户可以在移动端提交看房预约,管理员可以在后台管理系统中查看和处理这些请求,以方便安排人员接待用户。
-
租约管理
这个模块用于管理租约的创建、修改和终止。管理员可以在这里生成租约合同,并发送给用户签约。
-
后台系统用户管理
该模块用于管理后台系统的用户账户信息,管理员可以创建、编辑、删除、禁用账户信息。
-
移动端用户管理
这个模块负责管理移动端用户的信息。管理员可以查看用户信息,处理账户相关问题。
该后台管理系统用到的技术栈有:springboot、redis、mybatis plus、minio、spring wvc、mysql、
代码主要实现web-admin:apartment包业务与登录login包业务。
本次项目接口测试通过knife4j来测试各功能相关接口测试。
redis场景实现:在看房接口上,可能存在高并发的场景于是加入缓存,解决接口高并发的压力。
实现逻辑:根据用户查询房间号,先查询缓存,看看是否命中缓存,如命中则返回redis的值。
如果未命中缓存则查询数据据,并将该数据存入缓存。(本次缓存key并未使用ttl方式存储,应为并非电商购物网站,领卷中心业务存在短期高并发的场景,所以本场景采用更新数据,同步更新缓存的方式来使缓存与数据同步。)
根据房间号查询存入缓存的逻辑实现如下:
若更新或者删除数据则直接更新缓存(例:更新数据并更新缓存的逻辑)
登录接口实现:
MinIO:对象存储功能(上传图片),由于MinIO提供了HTTP访问功能,所以可以通过浏览器直接访问对象。对象URL为MinIO的 本项目中主要使用minio用作上传图片到系统中。
其他的公寓信息管理查询中多为简单的curd通过mybatis plus来实现,遇到多表查询则需自己在mapping编写sql语句。
多表查询:编写sql语句