From 8312e81829cfa1697f1c7438f11dc572526aa34d Mon Sep 17 00:00:00 2001 From: Y1NanPing <735289578@qq.com> Date: Tue, 17 Jun 2025 19:10:21 +0800 Subject: [PATCH] gongyu project --- common/pom.xml | 70 ++++ .../common/config/Knife4jConfiguration.java | 83 +++++ .../common/config/MinioConfiguration.java | 26 ++ .../lease/common/constant/RedisConstant.java | 10 + .../exception/GlobalExceptionHandler.java | 32 ++ .../common/exception/LeaseException.java | 38 +++ .../lease/common/minio/MinioProperties.java | 23 ++ .../mybatisplus/MybatisPlusConfiguration.java | 25 ++ .../atguigu/lease/common/result/Result.java | 57 ++++ .../lease/common/result/ResultCodeEnum.java | 53 +++ .../atguigu/lease/common/utils/HttpUtils.java | 311 ++++++++++++++++++ .../atguigu/lease/common/utils/JwtUtil.java | 63 ++++ .../atguigu/lease/common/utils/LoginUser.java | 14 + .../lease/common/utils/LoginUserContext.java | 21 ++ .../lease/common/utils/VerifyCodeUtil.java | 14 + model/pom.xml | 37 +++ .../lease/model/entity/ApartmentFacility.java | 26 ++ .../lease/model/entity/ApartmentFeeValue.java | 26 ++ .../lease/model/entity/ApartmentInfo.java | 68 ++++ .../lease/model/entity/ApartmentLabel.java | 25 ++ .../atguigu/lease/model/entity/AttrKey.java | 21 ++ .../atguigu/lease/model/entity/AttrValue.java | 22 ++ .../lease/model/entity/BaseEntity.java | 31 ++ .../lease/model/entity/BrowsingHistory.java | 37 +++ .../atguigu/lease/model/entity/CityInfo.java | 23 ++ .../lease/model/entity/DistrictInfo.java | 23 ++ .../lease/model/entity/FacilityInfo.java | 33 ++ .../atguigu/lease/model/entity/FeeKey.java | 23 ++ .../atguigu/lease/model/entity/FeeValue.java | 27 ++ .../atguigu/lease/model/entity/GraphInfo.java | 32 ++ .../atguigu/lease/model/entity/LabelInfo.java | 31 ++ .../lease/model/entity/LeaseAgreement.java | 79 +++++ .../atguigu/lease/model/entity/LeaseTerm.java | 32 ++ .../lease/model/entity/PaymentType.java | 35 ++ .../lease/model/entity/ProvinceInfo.java | 19 ++ .../lease/model/entity/RoomAttrValue.java | 24 ++ .../lease/model/entity/RoomFacility.java | 25 ++ .../atguigu/lease/model/entity/RoomInfo.java | 36 ++ .../atguigu/lease/model/entity/RoomLabel.java | 25 ++ .../lease/model/entity/RoomLeaseTerm.java | 32 ++ .../lease/model/entity/RoomPaymentType.java | 26 ++ .../lease/model/entity/SystemPost.java | 37 +++ .../lease/model/entity/SystemUser.java | 56 ++++ .../atguigu/lease/model/entity/UserInfo.java | 41 +++ .../lease/model/entity/ViewAppointment.java | 45 +++ .../lease/model/enums/AppointmentStatus.java | 37 +++ .../atguigu/lease/model/enums/BaseEnum.java | 8 + .../atguigu/lease/model/enums/BaseStatus.java | 35 ++ .../atguigu/lease/model/enums/ItemType.java | 51 +++ .../lease/model/enums/LeaseSourceType.java | 32 ++ .../lease/model/enums/LeaseStatus.java | 37 +++ .../lease/model/enums/ReleaseStatus.java | 35 ++ .../lease/model/enums/SystemUserType.java | 32 ++ pom.xml | 112 +++++++ web/pom.xml | 59 ++++ web/web-admin/pom.xml | 34 ++ .../atguigu/lease/AdminWebApplication.java | 15 + .../apartment/ApartmentController.java | 91 +++++ .../controller/apartment/AttrController.java | 68 ++++ .../apartment/FacilityController.java | 56 ++++ .../controller/apartment/FeeController.java | 73 ++++ .../apartment/FileUploadController.java | 29 ++ .../controller/apartment/LabelController.java | 55 ++++ .../apartment/LeaseTermController.java | 50 +++ .../apartment/PaymentTypeController.java | 68 ++++ .../apartment/RegionInfoController.java | 57 ++++ .../controller/apartment/RoomController.java | 99 ++++++ .../lease/LeaseAgreementController.java | 69 ++++ .../lease/ViewAppointmentController.java | 43 +++ .../controller/login/LoginController.java | 54 +++ .../system/SystemPostController.java | 75 +++++ .../system/SystemUserController.java | 82 +++++ .../controller/user/UserInfoController.java | 62 ++++ .../StringToBaseEnumConverterFactory.java | 26 ++ .../custom/converter/WebMvcConfiguration.java | 18 + .../AuthenticationInterceptor.java | 52 +++ .../interceptor/LoginWebMvcConfigurer.java | 20 ++ .../admin/mapper/ApartmentFacilityMapper.java | 18 + .../admin/mapper/ApartmentFeeValueMapper.java | 18 + .../web/admin/mapper/ApartmentInfoMapper.java | 26 ++ .../admin/mapper/ApartmentLabelMapper.java | 18 + .../lease/web/admin/mapper/AttrKeyMapper.java | 24 ++ .../web/admin/mapper/AttrValueMapper.java | 24 ++ .../admin/mapper/BrowsingHistoryMapper.java | 18 + .../web/admin/mapper/CityInfoMapper.java | 18 + .../web/admin/mapper/DistrictInfoMapper.java | 18 + .../web/admin/mapper/FacilityInfoMapper.java | 25 ++ .../lease/web/admin/mapper/FeeKeyMapper.java | 23 ++ .../web/admin/mapper/FeeValueMapper.java | 24 ++ .../web/admin/mapper/GraphInfoMapper.java | 29 ++ .../web/admin/mapper/LabelInfoMapper.java | 26 ++ .../admin/mapper/LeaseAgreementMapper.java | 25 ++ .../web/admin/mapper/LeaseTermMapper.java | 24 ++ .../web/admin/mapper/PaymentTypeMapper.java | 24 ++ .../web/admin/mapper/ProvinceInfoMapper.java | 18 + .../web/admin/mapper/RoomAttrValueMapper.java | 18 + .../web/admin/mapper/RoomFacilityMapper.java | 20 ++ .../web/admin/mapper/RoomInfoMapper.java | 29 ++ .../web/admin/mapper/RoomLabelMapper.java | 18 + .../web/admin/mapper/RoomLeaseTermMapper.java | 18 + .../admin/mapper/RoomPaymentTypeMapper.java | 18 + .../web/admin/mapper/SystemPostMapper.java | 18 + .../web/admin/mapper/SystemUserMapper.java | 27 ++ .../web/admin/mapper/UserInfoMapper.java | 24 ++ .../admin/mapper/ViewAppointmentMapper.java | 26 ++ .../web/admin/schedule/ScheduleTask.java | 44 +++ .../service/ApartmentFacilityService.java | 13 + .../service/ApartmentFeeValueService.java | 13 + .../admin/service/ApartmentInfoService.java | 26 ++ .../admin/service/ApartmentLabelService.java | 13 + .../web/admin/service/AttrKeyService.java | 17 + .../web/admin/service/AttrValueService.java | 13 + .../admin/service/BrowsingHistoryService.java | 13 + .../web/admin/service/CityInfoService.java | 13 + .../admin/service/DistrictInfoService.java | 13 + .../admin/service/FacilityInfoService.java | 13 + .../web/admin/service/FeeKeyService.java | 16 + .../web/admin/service/FeeValueService.java | 13 + .../lease/web/admin/service/FileService.java | 8 + .../web/admin/service/GraphInfoService.java | 13 + .../web/admin/service/LabelInfoService.java | 13 + .../admin/service/LeaseAgreementService.java | 20 ++ .../web/admin/service/LeaseTermService.java | 13 + .../lease/web/admin/service/LoginService.java | 14 + .../web/admin/service/PaymentTypeService.java | 13 + .../admin/service/ProvinceInfoService.java | 13 + .../admin/service/RoomAttrValueService.java | 13 + .../admin/service/RoomFacilityService.java | 13 + .../web/admin/service/RoomInfoService.java | 26 ++ .../web/admin/service/RoomLabelService.java | 13 + .../admin/service/RoomLeaseTermService.java | 13 + .../admin/service/RoomPaymentTypeService.java | 13 + .../web/admin/service/SystemPostService.java | 13 + .../web/admin/service/SystemUserService.java | 22 ++ .../web/admin/service/UserInfoService.java | 18 + .../admin/service/ViewAppointmentService.java | 18 + .../impl/ApartmentFacilityServiceImpl.java | 22 ++ .../impl/ApartmentFeeValueServiceImpl.java | 22 ++ .../impl/ApartmentInfoServiceImpl.java | 230 +++++++++++++ .../impl/ApartmentLabelServiceImpl.java | 22 ++ .../service/impl/AttrKeyServiceImpl.java | 33 ++ .../service/impl/AttrValueServiceImpl.java | 22 ++ .../impl/BrowsingHistoryServiceImpl.java | 22 ++ .../service/impl/CityInfoServiceImpl.java | 22 ++ .../service/impl/DistrictInfoServiceImpl.java | 22 ++ .../service/impl/FacilityInfoServiceImpl.java | 22 ++ .../admin/service/impl/FeeKeyServiceImpl.java | 35 ++ .../service/impl/FeeValueServiceImpl.java | 22 ++ .../admin/service/impl/FileServiceImpl.java | 81 +++++ .../service/impl/GraphInfoServiceImpl.java | 22 ++ .../service/impl/LabelInfoServiceImpl.java | 22 ++ .../impl/LeaseAgreementServiceImpl.java | 78 +++++ .../service/impl/LeaseTermServiceImpl.java | 22 ++ .../admin/service/impl/LoginServiceImpl.java | 120 +++++++ .../service/impl/PaymentTypeServiceImpl.java | 22 ++ .../service/impl/ProvinceInfoServiceImpl.java | 22 ++ .../impl/RoomAttrValueServiceImpl.java | 22 ++ .../service/impl/RoomFacilityServiceImpl.java | 22 ++ .../service/impl/RoomInfoServiceImpl.java | 249 ++++++++++++++ .../service/impl/RoomLabelServiceImpl.java | 22 ++ .../impl/RoomLeaseTermServiceImpl.java | 22 ++ .../impl/RoomPaymentTypeServiceImpl.java | 22 ++ .../service/impl/SystemPostServiceImpl.java | 22 ++ .../service/impl/SystemUserServiceImpl.java | 58 ++++ .../service/impl/UserInfoServiceImpl.java | 27 ++ .../impl/ViewAppointmentServiceImpl.java | 34 ++ .../admin/vo/agreement/AgreementQueryVo.java | 31 ++ .../web/admin/vo/agreement/AgreementVo.java | 22 ++ .../admin/vo/apartment/ApartmentDetailVo.java | 30 ++ .../admin/vo/apartment/ApartmentItemVo.java | 18 + .../admin/vo/apartment/ApartmentQueryVo.java | 18 + .../admin/vo/apartment/ApartmentSubmitVo.java | 28 ++ .../vo/appointment/AppointmentQueryVo.java | 29 ++ .../admin/vo/appointment/AppointmentVo.java | 15 + .../lease/web/admin/vo/attr/AttrKeyVo.java | 16 + .../lease/web/admin/vo/attr/AttrValueVo.java | 14 + .../lease/web/admin/vo/fee/FeeKeyVo.java | 16 + .../lease/web/admin/vo/fee/FeeValueVo.java | 13 + .../lease/web/admin/vo/graph/GraphVo.java | 24 ++ .../lease/web/admin/vo/login/CaptchaVo.java | 19 ++ .../lease/web/admin/vo/login/LoginVo.java | 21 ++ .../lease/web/admin/vo/room/RoomDetailVo.java | 36 ++ .../lease/web/admin/vo/room/RoomItemVo.java | 24 ++ .../lease/web/admin/vo/room/RoomQueryVo.java | 21 ++ .../lease/web/admin/vo/room/RoomSubmitVo.java | 33 ++ .../vo/system/user/SystemUserInfoVo.java | 17 + .../vo/system/user/SystemUserItemVo.java | 17 + .../vo/system/user/SystemUserQueryVo.java | 16 + .../web/admin/vo/user/UserInfoQueryVo.java | 17 + .../src/main/resources/application.yml | 49 +++ web/web-admin/src/main/resources/banner.txt | 22 ++ .../mapper/ApartmentFacilityMapper.xml | 7 + .../mapper/ApartmentFeeValueMapper.xml | 7 + .../resources/mapper/ApartmentInfoMapper.xml | 67 ++++ .../resources/mapper/ApartmentLabelMapper.xml | 7 + .../main/resources/mapper/AttrKeyMapper.xml | 29 ++ .../main/resources/mapper/AttrValueMapper.xml | 17 + .../mapper/BrowsingHistoryMapper.xml | 7 + .../main/resources/mapper/CityInfoMapper.xml | 7 + .../resources/mapper/DistrictInfoMapper.xml | 7 + .../resources/mapper/FacilityInfoMapper.xml | 14 + .../main/resources/mapper/FeeKeyMapper.xml | 32 ++ .../main/resources/mapper/FeeValueMapper.xml | 12 + .../main/resources/mapper/GraphInfoMapper.xml | 23 ++ .../main/resources/mapper/LabelInfoMapper.xml | 22 ++ .../resources/mapper/LeaseAgreementMapper.xml | 99 ++++++ .../main/resources/mapper/LeaseTermMapper.xml | 11 + .../resources/mapper/PaymentTypeMapper.xml | 15 + .../resources/mapper/ProvinceInfoMapper.xml | 7 + .../resources/mapper/RoomAttrValueMapper.xml | 7 + .../resources/mapper/RoomFacilityMapper.xml | 7 + .../main/resources/mapper/RoomInfoMapper.xml | 32 ++ .../main/resources/mapper/RoomLabelMapper.xml | 7 + .../resources/mapper/RoomLeaseTermMapper.xml | 7 + .../mapper/RoomPaymentTypeMapper.xml | 7 + .../resources/mapper/SystemPostMapper.xml | 7 + .../resources/mapper/SystemUserMapper.xml | 28 ++ .../main/resources/mapper/UserInfoMapper.xml | 7 + .../mapper/ViewAppointmentMapper.xml | 42 +++ web/web-app/pom.xml | 77 +++++ .../com/atguigu/lease/AppWebApplication.java | 12 + .../agreement/LeaseAgreementController.java | 43 +++ .../apartment/ApartmentController.java | 26 ++ .../ViewAppointmentController.java | 39 +++ .../history/BrowsingHistoryController.java | 26 ++ .../leasaterm/LeaseTermController.java | 28 ++ .../app/controller/login/LoginController.java | 37 +++ .../payment/PaymentTypeController.java | 33 ++ .../controller/region/RegionController.java | 40 +++ .../app/controller/room/RoomController.java | 41 +++ .../app/mapper/ApartmentFacilityMapper.java | 18 + .../app/mapper/ApartmentFeeValueMapper.java | 18 + .../web/app/mapper/ApartmentInfoMapper.java | 22 ++ .../web/app/mapper/ApartmentLabelMapper.java | 18 + .../lease/web/app/mapper/AttrKeyMapper.java | 18 + .../lease/web/app/mapper/AttrValueMapper.java | 21 ++ .../web/app/mapper/BrowsingHistoryMapper.java | 21 ++ .../lease/web/app/mapper/CityInfoMapper.java | 18 + .../web/app/mapper/DistrictInfoMapper.java | 18 + .../web/app/mapper/FacilityInfoMapper.java | 20 ++ .../lease/web/app/mapper/FeeKeyMapper.java | 18 + .../lease/web/app/mapper/FeeValueMapper.java | 21 ++ .../lease/web/app/mapper/GraphInfoMapper.java | 22 ++ .../lease/web/app/mapper/LabelInfoMapper.java | 21 ++ .../web/app/mapper/LeaseAgreementMapper.java | 22 ++ .../lease/web/app/mapper/LeaseTermMapper.java | 20 ++ .../web/app/mapper/PaymentTypeMapper.java | 21 ++ .../web/app/mapper/ProvinceInfoMapper.java | 18 + .../web/app/mapper/RoomAttrValueMapper.java | 18 + .../web/app/mapper/RoomFacilityMapper.java | 18 + .../lease/web/app/mapper/RoomInfoMapper.java | 20 ++ .../lease/web/app/mapper/RoomLabelMapper.java | 18 + .../web/app/mapper/RoomLeaseTermMapper.java | 18 + .../web/app/mapper/RoomPaymentTypeMapper.java | 18 + .../lease/web/app/mapper/UserInfoMapper.java | 20 ++ .../web/app/mapper/ViewAppointmentMapper.java | 22 ++ .../app/service/ApartmentFacilityService.java | 13 + .../app/service/ApartmentFeeValueService.java | 13 + .../web/app/service/ApartmentInfoService.java | 14 + .../app/service/ApartmentLabelService.java | 13 + .../lease/web/app/service/AttrKeyService.java | 13 + .../web/app/service/AttrValueService.java | 13 + .../app/service/BrowsingHistoryService.java | 16 + .../web/app/service/CityInfoService.java | 13 + .../web/app/service/DistrictInfoService.java | 13 + .../web/app/service/FacilityInfoService.java | 13 + .../lease/web/app/service/FeeKeyService.java | 13 + .../web/app/service/FeeValueService.java | 13 + .../web/app/service/GraphInfoService.java | 13 + .../web/app/service/LabelInfoService.java | 13 + .../app/service/LeaseAgreementService.java | 17 + .../web/app/service/LeaseTermService.java | 15 + .../lease/web/app/service/LoginService.java | 12 + .../web/app/service/PaymentTypeService.java | 16 + .../web/app/service/ProvinceInfoService.java | 13 + .../web/app/service/RoomAttrValueService.java | 13 + .../web/app/service/RoomFacilityService.java | 13 + .../web/app/service/RoomInfoService.java | 19 ++ .../web/app/service/RoomLabelService.java | 13 + .../web/app/service/RoomLeaseTermService.java | 13 + .../app/service/RoomPaymentTypeService.java | 13 + .../lease/web/app/service/SmsService.java | 5 + .../web/app/service/UserInfoService.java | 13 + .../app/service/ViewAppointmentService.java | 17 + .../impl/ApartmentFacilityServiceImpl.java | 22 ++ .../impl/ApartmentFeeValueServiceImpl.java | 22 ++ .../impl/ApartmentInfoServiceImpl.java | 33 ++ .../impl/ApartmentLabelServiceImpl.java | 22 ++ .../app/service/impl/AttrKeyServiceImpl.java | 22 ++ .../service/impl/AttrValueServiceImpl.java | 22 ++ .../impl/BrowsingHistoryServiceImpl.java | 33 ++ .../app/service/impl/CityInfoServiceImpl.java | 22 ++ .../service/impl/DistrictInfoServiceImpl.java | 22 ++ .../service/impl/FacilityInfoServiceImpl.java | 22 ++ .../app/service/impl/FeeKeyServiceImpl.java | 22 ++ .../app/service/impl/FeeValueServiceImpl.java | 22 ++ .../service/impl/GraphInfoServiceImpl.java | 22 ++ .../service/impl/LabelInfoServiceImpl.java | 22 ++ .../impl/LeaseAgreementServiceImpl.java | 31 ++ .../service/impl/LeaseTermServiceImpl.java | 26 ++ .../app/service/impl/LoginServiceImpl.java | 131 ++++++++ .../service/impl/PaymentTypeServiceImpl.java | 25 ++ .../service/impl/ProvinceInfoServiceImpl.java | 22 ++ .../impl/RoomAttrValueServiceImpl.java | 22 ++ .../service/impl/RoomFacilityServiceImpl.java | 22 ++ .../app/service/impl/RoomInfoServiceImpl.java | 42 +++ .../service/impl/RoomLabelServiceImpl.java | 22 ++ .../impl/RoomLeaseTermServiceImpl.java | 22 ++ .../impl/RoomPaymentTypeServiceImpl.java | 22 ++ .../web/app/service/impl/SmsServiceImpl.java | 10 + .../app/service/impl/UserInfoServiceImpl.java | 22 ++ .../impl/ViewAppointmentServiceImpl.java | 23 ++ .../app/vo/agreement/AgreementDetailVo.java | 35 ++ .../web/app/vo/agreement/AgreementItemVo.java | 49 +++ .../app/vo/apartment/ApartmentDetailVo.java | 32 ++ .../web/app/vo/apartment/ApartmentItemVo.java | 22 ++ .../vo/appointment/AppointmentDetailVo.java | 15 + .../app/vo/appointment/AppointmentItemVo.java | 31 ++ .../lease/web/app/vo/attr/AttrKeyVo.java | 16 + .../lease/web/app/vo/attr/AttrValueVo.java | 14 + .../lease/web/app/vo/fee/FeeKeyVo.java | 17 + .../lease/web/app/vo/fee/FeeValueVo.java | 13 + .../lease/web/app/vo/graph/GraphVo.java | 24 ++ .../web/app/vo/history/HistoryItemVo.java | 38 +++ .../lease/web/app/vo/room/RoomDetailVo.java | 46 +++ .../lease/web/app/vo/room/RoomItemVo.java | 36 ++ .../lease/web/app/vo/room/RoomQueryVo.java | 34 ++ .../lease/web/app/vo/user/LoginVo.java | 16 + .../lease/web/app/vo/user/UserInfoVo.java | 18 + .../lease/web/app/vo/user/UserSubmitVo.java | 16 + .../src/main/resources/application.yml | 23 ++ .../mapper/ApartmentFacilityMapper.xml | 7 + .../mapper/ApartmentFeeValueMapper.xml | 7 + .../resources/mapper/ApartmentInfoMapper.xml | 8 + .../resources/mapper/ApartmentLabelMapper.xml | 7 + .../main/resources/mapper/AttrKeyMapper.xml | 7 + .../main/resources/mapper/AttrValueMapper.xml | 8 + .../mapper/BrowsingHistoryMapper.xml | 7 + .../main/resources/mapper/CityInfoMapper.xml | 7 + .../resources/mapper/DistrictInfoMapper.xml | 7 + .../resources/mapper/FacilityInfoMapper.xml | 8 + .../main/resources/mapper/FeeKeyMapper.xml | 7 + .../main/resources/mapper/FeeValueMapper.xml | 8 + .../main/resources/mapper/GraphInfoMapper.xml | 8 + .../main/resources/mapper/LabelInfoMapper.xml | 8 + .../resources/mapper/LeaseAgreementMapper.xml | 8 + .../main/resources/mapper/LeaseTermMapper.xml | 8 + .../resources/mapper/PaymentTypeMapper.xml | 8 + .../resources/mapper/ProvinceInfoMapper.xml | 7 + .../resources/mapper/RoomAttrValueMapper.xml | 7 + .../resources/mapper/RoomFacilityMapper.xml | 7 + .../main/resources/mapper/RoomInfoMapper.xml | 7 + .../main/resources/mapper/RoomLabelMapper.xml | 7 + .../resources/mapper/RoomLeaseTermMapper.xml | 7 + .../mapper/RoomPaymentTypeMapper.xml | 7 + .../main/resources/mapper/UserInfoMapper.xml | 7 + .../mapper/ViewAppointmentMapper.xml | 8 + 357 files changed, 9814 insertions(+) create mode 100644 common/pom.xml create mode 100644 common/src/main/java/com/atguigu/lease/common/config/Knife4jConfiguration.java create mode 100644 common/src/main/java/com/atguigu/lease/common/config/MinioConfiguration.java create mode 100644 common/src/main/java/com/atguigu/lease/common/constant/RedisConstant.java create mode 100644 common/src/main/java/com/atguigu/lease/common/exception/GlobalExceptionHandler.java create mode 100644 common/src/main/java/com/atguigu/lease/common/exception/LeaseException.java create mode 100644 common/src/main/java/com/atguigu/lease/common/minio/MinioProperties.java create mode 100644 common/src/main/java/com/atguigu/lease/common/mybatisplus/MybatisPlusConfiguration.java create mode 100644 common/src/main/java/com/atguigu/lease/common/result/Result.java create mode 100644 common/src/main/java/com/atguigu/lease/common/result/ResultCodeEnum.java create mode 100644 common/src/main/java/com/atguigu/lease/common/utils/HttpUtils.java create mode 100644 common/src/main/java/com/atguigu/lease/common/utils/JwtUtil.java create mode 100644 common/src/main/java/com/atguigu/lease/common/utils/LoginUser.java create mode 100644 common/src/main/java/com/atguigu/lease/common/utils/LoginUserContext.java create mode 100644 common/src/main/java/com/atguigu/lease/common/utils/VerifyCodeUtil.java create mode 100644 model/pom.xml create mode 100644 model/src/main/java/com/atguigu/lease/model/entity/ApartmentFacility.java create mode 100644 model/src/main/java/com/atguigu/lease/model/entity/ApartmentFeeValue.java create mode 100644 model/src/main/java/com/atguigu/lease/model/entity/ApartmentInfo.java create mode 100644 model/src/main/java/com/atguigu/lease/model/entity/ApartmentLabel.java create mode 100644 model/src/main/java/com/atguigu/lease/model/entity/AttrKey.java create mode 100644 model/src/main/java/com/atguigu/lease/model/entity/AttrValue.java create mode 100644 model/src/main/java/com/atguigu/lease/model/entity/BaseEntity.java create mode 100644 model/src/main/java/com/atguigu/lease/model/entity/BrowsingHistory.java create mode 100644 model/src/main/java/com/atguigu/lease/model/entity/CityInfo.java create mode 100644 model/src/main/java/com/atguigu/lease/model/entity/DistrictInfo.java create mode 100644 model/src/main/java/com/atguigu/lease/model/entity/FacilityInfo.java create mode 100644 model/src/main/java/com/atguigu/lease/model/entity/FeeKey.java create mode 100644 model/src/main/java/com/atguigu/lease/model/entity/FeeValue.java create mode 100644 model/src/main/java/com/atguigu/lease/model/entity/GraphInfo.java create mode 100644 model/src/main/java/com/atguigu/lease/model/entity/LabelInfo.java create mode 100644 model/src/main/java/com/atguigu/lease/model/entity/LeaseAgreement.java create mode 100644 model/src/main/java/com/atguigu/lease/model/entity/LeaseTerm.java create mode 100644 model/src/main/java/com/atguigu/lease/model/entity/PaymentType.java create mode 100644 model/src/main/java/com/atguigu/lease/model/entity/ProvinceInfo.java create mode 100644 model/src/main/java/com/atguigu/lease/model/entity/RoomAttrValue.java create mode 100644 model/src/main/java/com/atguigu/lease/model/entity/RoomFacility.java create mode 100644 model/src/main/java/com/atguigu/lease/model/entity/RoomInfo.java create mode 100644 model/src/main/java/com/atguigu/lease/model/entity/RoomLabel.java create mode 100644 model/src/main/java/com/atguigu/lease/model/entity/RoomLeaseTerm.java create mode 100644 model/src/main/java/com/atguigu/lease/model/entity/RoomPaymentType.java create mode 100644 model/src/main/java/com/atguigu/lease/model/entity/SystemPost.java create mode 100644 model/src/main/java/com/atguigu/lease/model/entity/SystemUser.java create mode 100644 model/src/main/java/com/atguigu/lease/model/entity/UserInfo.java create mode 100644 model/src/main/java/com/atguigu/lease/model/entity/ViewAppointment.java create mode 100644 model/src/main/java/com/atguigu/lease/model/enums/AppointmentStatus.java create mode 100644 model/src/main/java/com/atguigu/lease/model/enums/BaseEnum.java create mode 100644 model/src/main/java/com/atguigu/lease/model/enums/BaseStatus.java create mode 100644 model/src/main/java/com/atguigu/lease/model/enums/ItemType.java create mode 100644 model/src/main/java/com/atguigu/lease/model/enums/LeaseSourceType.java create mode 100644 model/src/main/java/com/atguigu/lease/model/enums/LeaseStatus.java create mode 100644 model/src/main/java/com/atguigu/lease/model/enums/ReleaseStatus.java create mode 100644 model/src/main/java/com/atguigu/lease/model/enums/SystemUserType.java create mode 100644 pom.xml create mode 100644 web/pom.xml create mode 100644 web/web-admin/pom.xml create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/AdminWebApplication.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/controller/apartment/ApartmentController.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/controller/apartment/AttrController.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/controller/apartment/FacilityController.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/controller/apartment/FeeController.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/controller/apartment/FileUploadController.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/controller/apartment/LabelController.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/controller/apartment/LeaseTermController.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/controller/apartment/PaymentTypeController.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/controller/apartment/RegionInfoController.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/controller/apartment/RoomController.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/controller/lease/LeaseAgreementController.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/controller/lease/ViewAppointmentController.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/controller/login/LoginController.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/controller/system/SystemPostController.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/controller/system/SystemUserController.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/controller/user/UserInfoController.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/custom/converter/StringToBaseEnumConverterFactory.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/custom/converter/WebMvcConfiguration.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/interceptor/AuthenticationInterceptor.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/interceptor/LoginWebMvcConfigurer.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/ApartmentFacilityMapper.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/ApartmentFeeValueMapper.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/ApartmentInfoMapper.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/ApartmentLabelMapper.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/AttrKeyMapper.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/AttrValueMapper.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/BrowsingHistoryMapper.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/CityInfoMapper.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/DistrictInfoMapper.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/FacilityInfoMapper.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/FeeKeyMapper.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/FeeValueMapper.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/GraphInfoMapper.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/LabelInfoMapper.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/LeaseAgreementMapper.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/LeaseTermMapper.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/PaymentTypeMapper.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/ProvinceInfoMapper.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/RoomAttrValueMapper.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/RoomFacilityMapper.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/RoomInfoMapper.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/RoomLabelMapper.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/RoomLeaseTermMapper.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/RoomPaymentTypeMapper.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/SystemPostMapper.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/SystemUserMapper.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/UserInfoMapper.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/ViewAppointmentMapper.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/schedule/ScheduleTask.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/ApartmentFacilityService.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/ApartmentFeeValueService.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/ApartmentInfoService.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/ApartmentLabelService.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/AttrKeyService.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/AttrValueService.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/BrowsingHistoryService.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/CityInfoService.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/DistrictInfoService.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/FacilityInfoService.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/FeeKeyService.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/FeeValueService.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/FileService.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/GraphInfoService.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/LabelInfoService.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/LeaseAgreementService.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/LeaseTermService.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/LoginService.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/PaymentTypeService.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/ProvinceInfoService.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/RoomAttrValueService.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/RoomFacilityService.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/RoomInfoService.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/RoomLabelService.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/RoomLeaseTermService.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/RoomPaymentTypeService.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/SystemPostService.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/SystemUserService.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/UserInfoService.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/ViewAppointmentService.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/ApartmentFacilityServiceImpl.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/ApartmentFeeValueServiceImpl.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/ApartmentInfoServiceImpl.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/ApartmentLabelServiceImpl.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/AttrKeyServiceImpl.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/AttrValueServiceImpl.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/BrowsingHistoryServiceImpl.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/CityInfoServiceImpl.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/DistrictInfoServiceImpl.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/FacilityInfoServiceImpl.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/FeeKeyServiceImpl.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/FeeValueServiceImpl.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/FileServiceImpl.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/GraphInfoServiceImpl.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/LabelInfoServiceImpl.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/LeaseAgreementServiceImpl.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/LeaseTermServiceImpl.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/LoginServiceImpl.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/PaymentTypeServiceImpl.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/ProvinceInfoServiceImpl.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/RoomAttrValueServiceImpl.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/RoomFacilityServiceImpl.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/RoomInfoServiceImpl.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/RoomLabelServiceImpl.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/RoomLeaseTermServiceImpl.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/RoomPaymentTypeServiceImpl.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/SystemPostServiceImpl.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/SystemUserServiceImpl.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/UserInfoServiceImpl.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/ViewAppointmentServiceImpl.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/agreement/AgreementQueryVo.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/agreement/AgreementVo.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/apartment/ApartmentDetailVo.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/apartment/ApartmentItemVo.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/apartment/ApartmentQueryVo.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/apartment/ApartmentSubmitVo.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/appointment/AppointmentQueryVo.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/appointment/AppointmentVo.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/attr/AttrKeyVo.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/attr/AttrValueVo.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/fee/FeeKeyVo.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/fee/FeeValueVo.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/graph/GraphVo.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/login/CaptchaVo.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/login/LoginVo.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/room/RoomDetailVo.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/room/RoomItemVo.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/room/RoomQueryVo.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/room/RoomSubmitVo.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/system/user/SystemUserInfoVo.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/system/user/SystemUserItemVo.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/system/user/SystemUserQueryVo.java create mode 100644 web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/user/UserInfoQueryVo.java create mode 100644 web/web-admin/src/main/resources/application.yml create mode 100644 web/web-admin/src/main/resources/banner.txt create mode 100644 web/web-admin/src/main/resources/mapper/ApartmentFacilityMapper.xml create mode 100644 web/web-admin/src/main/resources/mapper/ApartmentFeeValueMapper.xml create mode 100644 web/web-admin/src/main/resources/mapper/ApartmentInfoMapper.xml create mode 100644 web/web-admin/src/main/resources/mapper/ApartmentLabelMapper.xml create mode 100644 web/web-admin/src/main/resources/mapper/AttrKeyMapper.xml create mode 100644 web/web-admin/src/main/resources/mapper/AttrValueMapper.xml create mode 100644 web/web-admin/src/main/resources/mapper/BrowsingHistoryMapper.xml create mode 100644 web/web-admin/src/main/resources/mapper/CityInfoMapper.xml create mode 100644 web/web-admin/src/main/resources/mapper/DistrictInfoMapper.xml create mode 100644 web/web-admin/src/main/resources/mapper/FacilityInfoMapper.xml create mode 100644 web/web-admin/src/main/resources/mapper/FeeKeyMapper.xml create mode 100644 web/web-admin/src/main/resources/mapper/FeeValueMapper.xml create mode 100644 web/web-admin/src/main/resources/mapper/GraphInfoMapper.xml create mode 100644 web/web-admin/src/main/resources/mapper/LabelInfoMapper.xml create mode 100644 web/web-admin/src/main/resources/mapper/LeaseAgreementMapper.xml create mode 100644 web/web-admin/src/main/resources/mapper/LeaseTermMapper.xml create mode 100644 web/web-admin/src/main/resources/mapper/PaymentTypeMapper.xml create mode 100644 web/web-admin/src/main/resources/mapper/ProvinceInfoMapper.xml create mode 100644 web/web-admin/src/main/resources/mapper/RoomAttrValueMapper.xml create mode 100644 web/web-admin/src/main/resources/mapper/RoomFacilityMapper.xml create mode 100644 web/web-admin/src/main/resources/mapper/RoomInfoMapper.xml create mode 100644 web/web-admin/src/main/resources/mapper/RoomLabelMapper.xml create mode 100644 web/web-admin/src/main/resources/mapper/RoomLeaseTermMapper.xml create mode 100644 web/web-admin/src/main/resources/mapper/RoomPaymentTypeMapper.xml create mode 100644 web/web-admin/src/main/resources/mapper/SystemPostMapper.xml create mode 100644 web/web-admin/src/main/resources/mapper/SystemUserMapper.xml create mode 100644 web/web-admin/src/main/resources/mapper/UserInfoMapper.xml create mode 100644 web/web-admin/src/main/resources/mapper/ViewAppointmentMapper.xml create mode 100644 web/web-app/pom.xml create mode 100644 web/web-app/src/main/java/com/atguigu/lease/AppWebApplication.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/controller/agreement/LeaseAgreementController.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/controller/apartment/ApartmentController.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/controller/appointment/ViewAppointmentController.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/controller/history/BrowsingHistoryController.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/controller/leasaterm/LeaseTermController.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/controller/login/LoginController.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/controller/payment/PaymentTypeController.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/controller/region/RegionController.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/controller/room/RoomController.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/ApartmentFacilityMapper.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/ApartmentFeeValueMapper.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/ApartmentInfoMapper.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/ApartmentLabelMapper.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/AttrKeyMapper.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/AttrValueMapper.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/BrowsingHistoryMapper.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/CityInfoMapper.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/DistrictInfoMapper.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/FacilityInfoMapper.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/FeeKeyMapper.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/FeeValueMapper.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/GraphInfoMapper.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/LabelInfoMapper.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/LeaseAgreementMapper.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/LeaseTermMapper.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/PaymentTypeMapper.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/ProvinceInfoMapper.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/RoomAttrValueMapper.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/RoomFacilityMapper.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/RoomInfoMapper.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/RoomLabelMapper.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/RoomLeaseTermMapper.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/RoomPaymentTypeMapper.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/UserInfoMapper.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/ViewAppointmentMapper.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/service/ApartmentFacilityService.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/service/ApartmentFeeValueService.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/service/ApartmentInfoService.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/service/ApartmentLabelService.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/service/AttrKeyService.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/service/AttrValueService.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/service/BrowsingHistoryService.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/service/CityInfoService.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/service/DistrictInfoService.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/service/FacilityInfoService.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/service/FeeKeyService.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/service/FeeValueService.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/service/GraphInfoService.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/service/LabelInfoService.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/service/LeaseAgreementService.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/service/LeaseTermService.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/service/LoginService.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/service/PaymentTypeService.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/service/ProvinceInfoService.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/service/RoomAttrValueService.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/service/RoomFacilityService.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/service/RoomInfoService.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/service/RoomLabelService.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/service/RoomLeaseTermService.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/service/RoomPaymentTypeService.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/service/SmsService.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/service/UserInfoService.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/service/ViewAppointmentService.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/ApartmentFacilityServiceImpl.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/ApartmentFeeValueServiceImpl.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/ApartmentInfoServiceImpl.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/ApartmentLabelServiceImpl.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/AttrKeyServiceImpl.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/AttrValueServiceImpl.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/BrowsingHistoryServiceImpl.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/CityInfoServiceImpl.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/DistrictInfoServiceImpl.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/FacilityInfoServiceImpl.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/FeeKeyServiceImpl.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/FeeValueServiceImpl.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/GraphInfoServiceImpl.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/LabelInfoServiceImpl.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/LeaseAgreementServiceImpl.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/LeaseTermServiceImpl.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/LoginServiceImpl.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/PaymentTypeServiceImpl.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/ProvinceInfoServiceImpl.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/RoomAttrValueServiceImpl.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/RoomFacilityServiceImpl.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/RoomInfoServiceImpl.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/RoomLabelServiceImpl.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/RoomLeaseTermServiceImpl.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/RoomPaymentTypeServiceImpl.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/SmsServiceImpl.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/UserInfoServiceImpl.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/ViewAppointmentServiceImpl.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/vo/agreement/AgreementDetailVo.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/vo/agreement/AgreementItemVo.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/vo/apartment/ApartmentDetailVo.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/vo/apartment/ApartmentItemVo.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/vo/appointment/AppointmentDetailVo.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/vo/appointment/AppointmentItemVo.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/vo/attr/AttrKeyVo.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/vo/attr/AttrValueVo.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/vo/fee/FeeKeyVo.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/vo/fee/FeeValueVo.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/vo/graph/GraphVo.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/vo/history/HistoryItemVo.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/vo/room/RoomDetailVo.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/vo/room/RoomItemVo.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/vo/room/RoomQueryVo.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/vo/user/LoginVo.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/vo/user/UserInfoVo.java create mode 100644 web/web-app/src/main/java/com/atguigu/lease/web/app/vo/user/UserSubmitVo.java create mode 100644 web/web-app/src/main/resources/application.yml create mode 100644 web/web-app/src/main/resources/mapper/ApartmentFacilityMapper.xml create mode 100644 web/web-app/src/main/resources/mapper/ApartmentFeeValueMapper.xml create mode 100644 web/web-app/src/main/resources/mapper/ApartmentInfoMapper.xml create mode 100644 web/web-app/src/main/resources/mapper/ApartmentLabelMapper.xml create mode 100644 web/web-app/src/main/resources/mapper/AttrKeyMapper.xml create mode 100644 web/web-app/src/main/resources/mapper/AttrValueMapper.xml create mode 100644 web/web-app/src/main/resources/mapper/BrowsingHistoryMapper.xml create mode 100644 web/web-app/src/main/resources/mapper/CityInfoMapper.xml create mode 100644 web/web-app/src/main/resources/mapper/DistrictInfoMapper.xml create mode 100644 web/web-app/src/main/resources/mapper/FacilityInfoMapper.xml create mode 100644 web/web-app/src/main/resources/mapper/FeeKeyMapper.xml create mode 100644 web/web-app/src/main/resources/mapper/FeeValueMapper.xml create mode 100644 web/web-app/src/main/resources/mapper/GraphInfoMapper.xml create mode 100644 web/web-app/src/main/resources/mapper/LabelInfoMapper.xml create mode 100644 web/web-app/src/main/resources/mapper/LeaseAgreementMapper.xml create mode 100644 web/web-app/src/main/resources/mapper/LeaseTermMapper.xml create mode 100644 web/web-app/src/main/resources/mapper/PaymentTypeMapper.xml create mode 100644 web/web-app/src/main/resources/mapper/ProvinceInfoMapper.xml create mode 100644 web/web-app/src/main/resources/mapper/RoomAttrValueMapper.xml create mode 100644 web/web-app/src/main/resources/mapper/RoomFacilityMapper.xml create mode 100644 web/web-app/src/main/resources/mapper/RoomInfoMapper.xml create mode 100644 web/web-app/src/main/resources/mapper/RoomLabelMapper.xml create mode 100644 web/web-app/src/main/resources/mapper/RoomLeaseTermMapper.xml create mode 100644 web/web-app/src/main/resources/mapper/RoomPaymentTypeMapper.xml create mode 100644 web/web-app/src/main/resources/mapper/UserInfoMapper.xml create mode 100644 web/web-app/src/main/resources/mapper/ViewAppointmentMapper.xml diff --git a/common/pom.xml b/common/pom.xml new file mode 100644 index 0000000..ea769bf --- /dev/null +++ b/common/pom.xml @@ -0,0 +1,70 @@ + + + + lease + com.atguigu + 1.0-SNAPSHOT + + 4.0.0 + + common + + + 17 + 17 + + + + + + com.atguigu + model + 1.0-SNAPSHOT + + + io.jsonwebtoken + jjwt-api + + + + io.jsonwebtoken + jjwt-impl + runtime + + + + io.jsonwebtoken + jjwt-jackson + runtime + + + commons-codec + commons-codec + + + + commons-lang + commons-lang + 2.6 + + + org.eclipse.jetty + jetty-util + 9.3.7.v20160115 + + + org.apache.httpcomponents + httpclient + 4.2.1 + + + org.apache.httpcomponents + httpcore + 4.2.1 + + + + + \ No newline at end of file diff --git a/common/src/main/java/com/atguigu/lease/common/config/Knife4jConfiguration.java b/common/src/main/java/com/atguigu/lease/common/config/Knife4jConfiguration.java new file mode 100644 index 0000000..2b766f2 --- /dev/null +++ b/common/src/main/java/com/atguigu/lease/common/config/Knife4jConfiguration.java @@ -0,0 +1,83 @@ +package com.atguigu.lease.common.config; + +import io.swagger.v3.oas.models.OpenAPI; +import io.swagger.v3.oas.models.info.Info; +import org.springdoc.core.models.GroupedOpenApi; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@Configuration +public class Knife4jConfiguration { + + @Bean + public OpenAPI customOpenAPI() { + + return new OpenAPI().info( + new Info() + .title("后台管理系统API") + .version("1.0") + .description("后台管理系统API")); + } + + @Bean + public GroupedOpenApi systemAPI() { + + return GroupedOpenApi.builder().group("系统信息管理"). + pathsToMatch( + "/admin/system/**" + ). + build(); + } + + @Bean + public GroupedOpenApi loginAPI() { + + return GroupedOpenApi.builder().group("后台登录管理"). + pathsToMatch( + "/admin/login/**", + "/admin/info" + ). + build(); + } + + @Bean + public GroupedOpenApi apartmentAPI() { + + return GroupedOpenApi.builder().group("公寓信息管理"). + pathsToMatch( + "/admin/apartment/**", + "/admin/room/**", + "/admin/label/**", + "/admin/facility/**", + "/admin/fee/**", + "/admin/attr/**", + "/admin/payment/**", + "/admin/region/**", + "/admin/term/**", + "/admin/file/**" + ).build(); + } + @Bean + public GroupedOpenApi leaseAPI() { + return GroupedOpenApi.builder().group("租赁信息管理"). + pathsToMatch( + "/admin/appointment/**", + "/admin/agreement/**" + ).build(); + } + @Bean + public GroupedOpenApi userAPI() { + return GroupedOpenApi.builder().group("平台用户管理"). + pathsToMatch( + "/admin/user/**" + ).build(); + } + + @Bean + public GroupedOpenApi allAPI() { + return GroupedOpenApi.builder().group("全部接口"). + pathsToMatch( + "/**" + ).build(); + } +} diff --git a/common/src/main/java/com/atguigu/lease/common/config/MinioConfiguration.java b/common/src/main/java/com/atguigu/lease/common/config/MinioConfiguration.java new file mode 100644 index 0000000..f7ab064 --- /dev/null +++ b/common/src/main/java/com/atguigu/lease/common/config/MinioConfiguration.java @@ -0,0 +1,26 @@ +package com.atguigu.lease.common.config; + +import com.atguigu.lease.common.minio.MinioProperties; +import io.minio.MinioClient; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Bean; +import org.springframework.stereotype.Component; + +/** + * @author Y1NanPing + * @create 2025/5/27 上午9:22 + */ +@Component +public class MinioConfiguration { + @Autowired + private MinioProperties minioProperties; + + @Bean + public MinioClient minioClient(){ + return MinioClient.builder() + .endpoint(minioProperties.getEndpoint()) + .credentials(minioProperties.getAccesskey(), + minioProperties.getSecretkey()) + .build(); + } +} diff --git a/common/src/main/java/com/atguigu/lease/common/constant/RedisConstant.java b/common/src/main/java/com/atguigu/lease/common/constant/RedisConstant.java new file mode 100644 index 0000000..d30c3b5 --- /dev/null +++ b/common/src/main/java/com/atguigu/lease/common/constant/RedisConstant.java @@ -0,0 +1,10 @@ +package com.atguigu.lease.common.constant; + +public class RedisConstant { + + public static final String ADMIN_LOGIN_PREFIX = "admin:login:"; + public static final Integer ADMIN_LOGIN_CAPTCHA_TTL_SEC = 60; + public static final String APP_LOGIN_PREFIX = "app:login:"; + public static final Integer APP_LOGIN_CODE_RESEND_TIME_SEC = 60; + public static final Integer APP_LOGIN_CODE_TTL_SEC = 60 * 10; +} \ No newline at end of file diff --git a/common/src/main/java/com/atguigu/lease/common/exception/GlobalExceptionHandler.java b/common/src/main/java/com/atguigu/lease/common/exception/GlobalExceptionHandler.java new file mode 100644 index 0000000..694fffa --- /dev/null +++ b/common/src/main/java/com/atguigu/lease/common/exception/GlobalExceptionHandler.java @@ -0,0 +1,32 @@ +package com.atguigu.lease.common.exception; + +import com.atguigu.lease.common.result.Result; +import org.springframework.web.bind.annotation.ControllerAdvice; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.ResponseBody; + +@ControllerAdvice +public class GlobalExceptionHandler { + + //切面类: 把增强 应用到 切入点 + //我们现在增强是什么: 异常处理 + //我们现在切入点:出现异常的方法 + //难点:知道哪个方法出现了异常 @ExceptionHandler + + //出现异常执行的方法 + @ExceptionHandler(Exception.class) + @ResponseBody + public Result error(Exception e) { + e.printStackTrace(); + return Result.fail(); + } + @ExceptionHandler(LeaseException.class) + @ResponseBody + public Result error(LeaseException e) { + e.printStackTrace(); + Integer code = e.getCode(); + String message = e.getMessage(); + return Result.fail(code,message); + } + +} \ No newline at end of file diff --git a/common/src/main/java/com/atguigu/lease/common/exception/LeaseException.java b/common/src/main/java/com/atguigu/lease/common/exception/LeaseException.java new file mode 100644 index 0000000..1350ac0 --- /dev/null +++ b/common/src/main/java/com/atguigu/lease/common/exception/LeaseException.java @@ -0,0 +1,38 @@ +package com.atguigu.lease.common.exception; + +import com.atguigu.lease.common.result.ResultCodeEnum; +import lombok.Data; + +@Data +public class LeaseException extends RuntimeException { + + //异常状态码 + private Integer code; + + /** + * 通过状态码和错误消息创建异常对象 + * @param message + * @param code + */ + public LeaseException(String message, Integer code) { + super(message); + this.code = code; + } + + /** + * 根据响应结果枚举对象创建异常对象 + * @param resultCodeEnum + */ + public LeaseException(ResultCodeEnum resultCodeEnum) { + super(resultCodeEnum.getMessage()); + this.code = resultCodeEnum.getCode(); + } + + @Override + public String toString() { + return "LeaseException{" + + "code=" + code + + ", message=" + this.getMessage() + + '}'; + } +} \ No newline at end of file diff --git a/common/src/main/java/com/atguigu/lease/common/minio/MinioProperties.java b/common/src/main/java/com/atguigu/lease/common/minio/MinioProperties.java new file mode 100644 index 0000000..164745f --- /dev/null +++ b/common/src/main/java/com/atguigu/lease/common/minio/MinioProperties.java @@ -0,0 +1,23 @@ +package com.atguigu.lease.common.minio; + +import lombok.Data; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.stereotype.Component; + +/** + * @author Y1NanPing + * @create 2025/5/27 上午9:18 + */ +@ConfigurationProperties(prefix = "minio") +@Data +@Component +public class MinioProperties { + + private String endpoint; + + private String accesskey; + + private String secretkey; + + private String bucketname; +} diff --git a/common/src/main/java/com/atguigu/lease/common/mybatisplus/MybatisPlusConfiguration.java b/common/src/main/java/com/atguigu/lease/common/mybatisplus/MybatisPlusConfiguration.java new file mode 100644 index 0000000..4006ff7 --- /dev/null +++ b/common/src/main/java/com/atguigu/lease/common/mybatisplus/MybatisPlusConfiguration.java @@ -0,0 +1,25 @@ +package com.atguigu.lease.common.mybatisplus; + +import com.baomidou.mybatisplus.annotation.DbType; +import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; +import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor; +import io.swagger.v3.oas.models.OpenAPI; +import io.swagger.v3.oas.models.info.Info; +import org.mybatis.spring.annotation.MapperScan; +import org.springdoc.core.models.GroupedOpenApi; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + + +@Configuration +@MapperScan("com.atguigu.lease.web.*.mapper") +public class MybatisPlusConfiguration { + @Bean + public MybatisPlusInterceptor mybatisPlusInterceptor() { + MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); + interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); + return interceptor; + } + + +} diff --git a/common/src/main/java/com/atguigu/lease/common/result/Result.java b/common/src/main/java/com/atguigu/lease/common/result/Result.java new file mode 100644 index 0000000..8dcbda0 --- /dev/null +++ b/common/src/main/java/com/atguigu/lease/common/result/Result.java @@ -0,0 +1,57 @@ +package com.atguigu.lease.common.result; + +import lombok.AllArgsConstructor; +import lombok.Data; + +/** + * 全局统一返回结果类 + */ +@Data + +public class Result { + + //返回码 + private Integer code; + + //返回消息 + private String message; + + //返回数据 + private T data; + + public Result() { + } + + private static Result build(T data) { + Result result = new Result<>(); + if (data != null) + result.setData(data); + return result; + } + + public static Result build(T body, ResultCodeEnum resultCodeEnum) { + Result result = build(body); + result.setCode(resultCodeEnum.getCode()); + result.setMessage(resultCodeEnum.getMessage()); + return result; + } + + + public static Result ok(T data) { + return build(data, ResultCodeEnum.SUCCESS); + } + + public static Result ok() { + return Result.ok(null); + } + + public static Result fail() { + return build(null, ResultCodeEnum.FAIL); + } + public static Result fail(Integer code, String message) { + Result result = build(null); + result.setCode(code); + result.setMessage(message); + return result; + } +} diff --git a/common/src/main/java/com/atguigu/lease/common/result/ResultCodeEnum.java b/common/src/main/java/com/atguigu/lease/common/result/ResultCodeEnum.java new file mode 100644 index 0000000..3443fb5 --- /dev/null +++ b/common/src/main/java/com/atguigu/lease/common/result/ResultCodeEnum.java @@ -0,0 +1,53 @@ +package com.atguigu.lease.common.result; + +import lombok.Getter; + +/** + * 统一返回结果状态信息类 + */ +@Getter +public enum ResultCodeEnum { + + SUCCESS(200, "成功"), + FAIL(201, "失败"), + PARAM_ERROR(202, "参数不正确"), + SERVICE_ERROR(203, "服务异常"), + DATA_ERROR(204, "数据异常"), + ILLEGAL_REQUEST(205, "非法请求"), + REPEAT_SUBMIT(206, "重复提交"), + DELETE_ERROR(207, "请先删除子集"), + + ADMIN_ACCOUNT_EXIST_ERROR(301, "账号已存在"), + ADMIN_CAPTCHA_CODE_ERROR(302, "验证码错误"), + ADMIN_CAPTCHA_CODE_EXPIRED(303, "验证码已过期"), + ADMIN_CAPTCHA_CODE_NOT_FOUND(304, "未输入验证码"), + + + ADMIN_LOGIN_AUTH(305, "未登陆"), + ADMIN_ACCOUNT_NOT_EXIST_ERROR(306, "账号不存在"), + ADMIN_ACCOUNT_ERROR(307, "用户名或密码错误"), + ADMIN_ACCOUNT_DISABLED_ERROR(308, "该用户已被禁用"), + ADMIN_ACCESS_FORBIDDEN(309, "无访问权限"), + + APP_LOGIN_AUTH(501, "未登陆"), + APP_LOGIN_PHONE_EMPTY(502, "手机号码为空"), + APP_LOGIN_CODE_EMPTY(503, "验证码为空"), + APP_SEND_SMS_TOO_OFTEN(504, "验证法发送过于频繁"), + APP_LOGIN_CODE_EXPIRED(505, "验证码已过期"), + APP_LOGIN_CODE_ERROR(506, "验证码错误"), + APP_ACCOUNT_DISABLED_ERROR(507, "该用户已被禁用"), + + + TOKEN_EXPIRED(601, "token过期"), + TOKEN_INVALID(602, "token非法"); + + + private final Integer code; + + private final String message; + + ResultCodeEnum(Integer code, String message) { + this.code = code; + this.message = message; + } +} diff --git a/common/src/main/java/com/atguigu/lease/common/utils/HttpUtils.java b/common/src/main/java/com/atguigu/lease/common/utils/HttpUtils.java new file mode 100644 index 0000000..dcaf6e7 --- /dev/null +++ b/common/src/main/java/com/atguigu/lease/common/utils/HttpUtils.java @@ -0,0 +1,311 @@ +package com.atguigu.lease.common.utils; + +import org.apache.commons.lang.StringUtils; +import org.apache.http.HttpResponse; +import org.apache.http.NameValuePair; +import org.apache.http.client.HttpClient; +import org.apache.http.client.entity.UrlEncodedFormEntity; +import org.apache.http.client.methods.HttpDelete; +import org.apache.http.client.methods.HttpGet; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.client.methods.HttpPut; +import org.apache.http.conn.ClientConnectionManager; +import org.apache.http.conn.scheme.Scheme; +import org.apache.http.conn.scheme.SchemeRegistry; +import org.apache.http.conn.ssl.SSLSocketFactory; +import org.apache.http.entity.ByteArrayEntity; +import org.apache.http.entity.StringEntity; +import org.apache.http.impl.client.DefaultHttpClient; +import org.apache.http.message.BasicNameValuePair; + +import javax.net.ssl.SSLContext; +import javax.net.ssl.TrustManager; +import javax.net.ssl.X509TrustManager; +import java.io.UnsupportedEncodingException; +import java.net.URLEncoder; +import java.security.KeyManagementException; +import java.security.NoSuchAlgorithmException; +import java.security.cert.X509Certificate; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +public class HttpUtils { + + /** + * get + * + * @param host + * @param path + * @param method + * @param headers + * @param querys + * @return + * @throws Exception + */ + public static HttpResponse doGet(String host, String path, String method, + Map headers, + Map querys) + throws Exception { + HttpClient httpClient = wrapClient(host); + + HttpGet request = new HttpGet(buildUrl(host, path, querys)); + for (Map.Entry e : headers.entrySet()) { + request.addHeader(e.getKey(), e.getValue()); + } + + return httpClient.execute(request); + } + + /** + * post form + * + * @param host + * @param path + * @param method + * @param headers + * @param querys + * @param bodys + * @return + * @throws Exception + */ + public static HttpResponse doPost(String host, String path, String method, + Map headers, + Map querys, + Map bodys) + throws Exception { + HttpClient httpClient = wrapClient(host); + + HttpPost request = new HttpPost(buildUrl(host, path, querys)); + for (Map.Entry e : headers.entrySet()) { + request.addHeader(e.getKey(), e.getValue()); + } + + if (bodys != null) { + List nameValuePairList = new ArrayList(); + + for (String key : bodys.keySet()) { + nameValuePairList.add(new BasicNameValuePair(key, bodys.get(key))); + } + UrlEncodedFormEntity formEntity = new UrlEncodedFormEntity(nameValuePairList, "utf-8"); + formEntity.setContentType("application/x-www-form-urlencoded; charset=UTF-8"); + request.setEntity(formEntity); + } + + return httpClient.execute(request); + } + + /** + * Post String + * + * @param host + * @param path + * @param method + * @param headers + * @param querys + * @param body + * @return + * @throws Exception + */ + public static HttpResponse doPost(String host, String path, String method, + Map headers, + Map querys, + String body) + throws Exception { + HttpClient httpClient = wrapClient(host); + + HttpPost request = new HttpPost(buildUrl(host, path, querys)); + for (Map.Entry e : headers.entrySet()) { + request.addHeader(e.getKey(), e.getValue()); + } + + if (StringUtils.isNotBlank(body)) { + request.setEntity(new StringEntity(body, "utf-8")); + } + + return httpClient.execute(request); + } + + /** + * Post stream + * + * @param host + * @param path + * @param method + * @param headers + * @param querys + * @param body + * @return + * @throws Exception + */ + public static HttpResponse doPost(String host, String path, String method, + Map headers, + Map querys, + byte[] body) + throws Exception { + HttpClient httpClient = wrapClient(host); + + HttpPost request = new HttpPost(buildUrl(host, path, querys)); + for (Map.Entry e : headers.entrySet()) { + request.addHeader(e.getKey(), e.getValue()); + } + + if (body != null) { + request.setEntity(new ByteArrayEntity(body)); + } + + return httpClient.execute(request); + } + + /** + * Put String + * @param host + * @param path + * @param method + * @param headers + * @param querys + * @param body + * @return + * @throws Exception + */ + public static HttpResponse doPut(String host, String path, String method, + Map headers, + Map querys, + String body) + throws Exception { + HttpClient httpClient = wrapClient(host); + + HttpPut request = new HttpPut(buildUrl(host, path, querys)); + for (Map.Entry e : headers.entrySet()) { + request.addHeader(e.getKey(), e.getValue()); + } + + if (StringUtils.isNotBlank(body)) { + request.setEntity(new StringEntity(body, "utf-8")); + } + + return httpClient.execute(request); + } + + /** + * Put stream + * @param host + * @param path + * @param method + * @param headers + * @param querys + * @param body + * @return + * @throws Exception + */ + public static HttpResponse doPut(String host, String path, String method, + Map headers, + Map querys, + byte[] body) + throws Exception { + HttpClient httpClient = wrapClient(host); + + HttpPut request = new HttpPut(buildUrl(host, path, querys)); + for (Map.Entry e : headers.entrySet()) { + request.addHeader(e.getKey(), e.getValue()); + } + + if (body != null) { + request.setEntity(new ByteArrayEntity(body)); + } + + return httpClient.execute(request); + } + + /** + * Delete + * + * @param host + * @param path + * @param method + * @param headers + * @param querys + * @return + * @throws Exception + */ + public static HttpResponse doDelete(String host, String path, String method, + Map headers, + Map querys) + throws Exception { + HttpClient httpClient = wrapClient(host); + + HttpDelete request = new HttpDelete(buildUrl(host, path, querys)); + for (Map.Entry e : headers.entrySet()) { + request.addHeader(e.getKey(), e.getValue()); + } + + return httpClient.execute(request); + } + + private static String buildUrl(String host, String path, Map querys) throws UnsupportedEncodingException { + StringBuilder sbUrl = new StringBuilder(); + sbUrl.append(host); + if (!StringUtils.isBlank(path)) { + sbUrl.append(path); + } + if (null != querys) { + StringBuilder sbQuery = new StringBuilder(); + for (Map.Entry query : querys.entrySet()) { + if (0 < sbQuery.length()) { + sbQuery.append("&"); + } + if (StringUtils.isBlank(query.getKey()) && !StringUtils.isBlank(query.getValue())) { + sbQuery.append(query.getValue()); + } + if (!StringUtils.isBlank(query.getKey())) { + sbQuery.append(query.getKey()); + if (!StringUtils.isBlank(query.getValue())) { + sbQuery.append("="); + sbQuery.append(URLEncoder.encode(query.getValue(), "utf-8")); + } + } + } + if (0 < sbQuery.length()) { + sbUrl.append("?").append(sbQuery); + } + } + + return sbUrl.toString(); + } + + private static HttpClient wrapClient(String host) { + HttpClient httpClient = new DefaultHttpClient(); + if (host.startsWith("https://")) { + sslClient(httpClient); + } + + return httpClient; + } + + private static void sslClient(HttpClient httpClient) { + try { + SSLContext ctx = SSLContext.getInstance("TLS"); + X509TrustManager tm = new X509TrustManager() { + public X509Certificate[] getAcceptedIssuers() { + return null; + } + public void checkClientTrusted(X509Certificate[] xcs, String str) { + + } + public void checkServerTrusted(X509Certificate[] xcs, String str) { + + } + }; + ctx.init(null, new TrustManager[] { tm }, null); + SSLSocketFactory ssf = new SSLSocketFactory(ctx); + ssf.setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER); + ClientConnectionManager ccm = httpClient.getConnectionManager(); + SchemeRegistry registry = ccm.getSchemeRegistry(); + registry.register(new Scheme("https", 443, ssf)); + } catch (KeyManagementException ex) { + throw new RuntimeException(ex); + } catch (NoSuchAlgorithmException ex) { + throw new RuntimeException(ex); + } + } +} diff --git a/common/src/main/java/com/atguigu/lease/common/utils/JwtUtil.java b/common/src/main/java/com/atguigu/lease/common/utils/JwtUtil.java new file mode 100644 index 0000000..6d71bd5 --- /dev/null +++ b/common/src/main/java/com/atguigu/lease/common/utils/JwtUtil.java @@ -0,0 +1,63 @@ +package com.atguigu.lease.common.utils; + +import com.atguigu.lease.common.result.ResultCodeEnum; +import io.jsonwebtoken.*; +import io.jsonwebtoken.security.Keys; + +import javax.crypto.SecretKey; +import java.util.Date; + +public class JwtUtil { + + //token过期时间固定值 + private static long tokenExpiration = 60 * 60 * 1000L; + + //加密秘钥 + private static SecretKey tokenSignKey = + Keys.hmacShaKeyFor("M0PKKI6pYGVWWfDZw90a0lTpGYX1d4AQ".getBytes()); + + //生成token方法,参数用户id和用户名称 + public static String createToken(Long userId, String username) { + String token = Jwts.builder(). + //设置分类 + setSubject("USER_INFO"). + //设置生成token过期时间 + setExpiration(new Date(System.currentTimeMillis() + tokenExpiration)). + //jwt负载内容,设置用户信息到token + claim("userId", userId). + claim("username", username). + //根据秘钥进行加密 + signWith(tokenSignKey). + //把生成token压缩 + compressWith(CompressionCodecs.GZIP). + compact(); + return token; + } + + //校验jwttoken,从token获取数据 + public static Claims parseToken(String token) { + try { + Jws claimsJws = Jwts.parserBuilder(). + //设置解密密钥 + setSigningKey(tokenSignKey). + //从解密字符串获取设置负载数据 + build().parseClaimsJws(token); + return claimsJws.getBody(); + + } catch (Exception e) { + throw new RuntimeException(); + } + } + + public static void main(String[] args) { + //1 生成token + String token = JwtUtil.createToken(9l, "lucy"); + System.out.println(token); + + //2 解析token + Claims claims = JwtUtil.parseToken(token); + Object username = claims.get("username"); + Object userId = claims.get("userId"); + System.out.println(userId+" :: "+username); + } +} \ No newline at end of file diff --git a/common/src/main/java/com/atguigu/lease/common/utils/LoginUser.java b/common/src/main/java/com/atguigu/lease/common/utils/LoginUser.java new file mode 100644 index 0000000..a8dc528 --- /dev/null +++ b/common/src/main/java/com/atguigu/lease/common/utils/LoginUser.java @@ -0,0 +1,14 @@ +package com.atguigu.lease.common.utils; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class LoginUser { + + private Long userId; + private String username; +} \ No newline at end of file diff --git a/common/src/main/java/com/atguigu/lease/common/utils/LoginUserContext.java b/common/src/main/java/com/atguigu/lease/common/utils/LoginUserContext.java new file mode 100644 index 0000000..329cc3c --- /dev/null +++ b/common/src/main/java/com/atguigu/lease/common/utils/LoginUserContext.java @@ -0,0 +1,21 @@ +package com.atguigu.lease.common.utils; + +public class LoginUserContext { + + private static final ThreadLocal userThreadLocal = new ThreadLocal<>(); + + //放 + public static void setLoginUser(LoginUser loginUser) { + userThreadLocal.set(loginUser); + } + + //获取 + public static LoginUser getLoginUser() { + return userThreadLocal.get(); + } + + //清除 + public static void clear() { + userThreadLocal.remove(); + } +} \ No newline at end of file diff --git a/common/src/main/java/com/atguigu/lease/common/utils/VerifyCodeUtil.java b/common/src/main/java/com/atguigu/lease/common/utils/VerifyCodeUtil.java new file mode 100644 index 0000000..737807d --- /dev/null +++ b/common/src/main/java/com/atguigu/lease/common/utils/VerifyCodeUtil.java @@ -0,0 +1,14 @@ +package com.atguigu.lease.common.utils; + +import java.util.Random; + +public class VerifyCodeUtil { + public static String getVerifyCode(int length) { + StringBuilder builder = new StringBuilder(); + Random random = new Random(); + for (int i = 0; i < length; i++) { + builder.append(random.nextInt(10)); + } + return builder.toString(); + } +} \ No newline at end of file diff --git a/model/pom.xml b/model/pom.xml new file mode 100644 index 0000000..83a9911 --- /dev/null +++ b/model/pom.xml @@ -0,0 +1,37 @@ + + + + lease + com.atguigu + 1.0-SNAPSHOT + + 4.0.0 + + model + + + 17 + 17 + + + + + + com.baomidou + mybatis-plus-boot-starter + + + + com.github.xiaoymin + knife4j-openapi3-jakarta-spring-boot-starter + 4.3.0 + + + + org.projectlombok + lombok + + + \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/lease/model/entity/ApartmentFacility.java b/model/src/main/java/com/atguigu/lease/model/entity/ApartmentFacility.java new file mode 100644 index 0000000..8b625ab --- /dev/null +++ b/model/src/main/java/com/atguigu/lease/model/entity/ApartmentFacility.java @@ -0,0 +1,26 @@ +package com.atguigu.lease.model.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Builder; +import lombok.Data; + +@Schema(description = "公寓&配套关系") +@TableName(value = "apartment_facility") +@Data + +public class ApartmentFacility extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @Schema(description = "公寓id") + @TableField(value = "apartment_id") + private Long apartmentId; + + @Schema(description = "设施id") + @TableField(value = "facility_id") + private Long facilityId; + + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/lease/model/entity/ApartmentFeeValue.java b/model/src/main/java/com/atguigu/lease/model/entity/ApartmentFeeValue.java new file mode 100644 index 0000000..4fbd520 --- /dev/null +++ b/model/src/main/java/com/atguigu/lease/model/entity/ApartmentFeeValue.java @@ -0,0 +1,26 @@ +package com.atguigu.lease.model.entity; + +import io.swagger.v3.oas.annotations.media.Schema; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Builder; +import lombok.Data; + +@Schema(description = "公寓&杂费关联表") +@TableName(value = "apartment_fee_value") +@Data + +public class ApartmentFeeValue extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @Schema(description = "公寓id") + @TableField(value = "apartment_id") + private Long apartmentId; + + @Schema(description = "收费项value_id") + @TableField(value = "fee_value_id") + private Long feeValueId; + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/lease/model/entity/ApartmentInfo.java b/model/src/main/java/com/atguigu/lease/model/entity/ApartmentInfo.java new file mode 100644 index 0000000..f4e9a9d --- /dev/null +++ b/model/src/main/java/com/atguigu/lease/model/entity/ApartmentInfo.java @@ -0,0 +1,68 @@ +package com.atguigu.lease.model.entity; + +import com.atguigu.lease.model.enums.ReleaseStatus; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Schema(description = "公寓信息表") +@TableName(value = "apartment_info") +@Data +public class ApartmentInfo extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @Schema(description = "公寓名称") + @TableField(value = "name") + private String name; + + @Schema(description = "公寓介绍") + @TableField(value = "introduction") + private String introduction; + + @Schema(description = "所处区域id") + @TableField(value = "district_id") + private Long districtId; + + @Schema(description = "所处区域名称") + @TableField(value = "district_name") + private String districtName; + + @Schema(description = "所处城市id") + @TableField(value = "city_id") + private Long cityId; + + @Schema(description = "所处城市名称") + @TableField(value = "city_name") + private String cityName; + + @Schema(description = "所处省份id") + @TableField(value = "province_id") + private Long provinceId; + + @Schema(description = "所处区域名称") + @TableField(value = "province_name") + private String provinceName; + + @Schema(description = "详细地址") + @TableField(value = "address_detail") + private String addressDetail; + + @Schema(description = "经度") + @TableField(value = "latitude") + private String latitude; + + @Schema(description = "纬度") + @TableField(value = "longitude") + private String longitude; + + @Schema(description = "公寓前台电话") + @TableField(value = "phone") + private String phone; + + @Schema(description = "是否发布") + @TableField(value = "is_release") + private ReleaseStatus isRelease; + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/lease/model/entity/ApartmentLabel.java b/model/src/main/java/com/atguigu/lease/model/entity/ApartmentLabel.java new file mode 100644 index 0000000..7aa37d9 --- /dev/null +++ b/model/src/main/java/com/atguigu/lease/model/entity/ApartmentLabel.java @@ -0,0 +1,25 @@ +package com.atguigu.lease.model.entity; + +import io.swagger.v3.oas.annotations.media.Schema; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Builder; +import lombok.Data; + +@Schema(description = "公寓标签关联表") +@TableName(value = "apartment_label") +@Data + +public class ApartmentLabel extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @Schema(description = "公寓id") + @TableField(value = "apartment_id") + private Long apartmentId; + + @Schema(description = "标签id") + @TableField(value = "label_id") + private Long labelId; + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/lease/model/entity/AttrKey.java b/model/src/main/java/com/atguigu/lease/model/entity/AttrKey.java new file mode 100644 index 0000000..b6eed5f --- /dev/null +++ b/model/src/main/java/com/atguigu/lease/model/entity/AttrKey.java @@ -0,0 +1,21 @@ +package com.atguigu.lease.model.entity; + +import io.swagger.v3.oas.annotations.media.Schema; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.util.List; + +@Schema(description = "房间基本属性表") +@TableName(value = "attr_key") +@Data +public class AttrKey extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @Schema(description = "属性key") + @TableField(value = "name") + private String name; + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/lease/model/entity/AttrValue.java b/model/src/main/java/com/atguigu/lease/model/entity/AttrValue.java new file mode 100644 index 0000000..fd46479 --- /dev/null +++ b/model/src/main/java/com/atguigu/lease/model/entity/AttrValue.java @@ -0,0 +1,22 @@ +package com.atguigu.lease.model.entity; + +import io.swagger.v3.oas.annotations.media.Schema; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +@Schema(description = "房间基本属性值表") +@TableName(value = "attr_value") +@Data +public class AttrValue extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @Schema(description = "属性value") + @TableField(value = "name") + private String name; + + @Schema(description = "对应的属性key_id") + @TableField(value = "attr_key_id") + private Long attrKeyId; +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/lease/model/entity/BaseEntity.java b/model/src/main/java/com/atguigu/lease/model/entity/BaseEntity.java new file mode 100644 index 0000000..66c18f3 --- /dev/null +++ b/model/src/main/java/com/atguigu/lease/model/entity/BaseEntity.java @@ -0,0 +1,31 @@ +package com.atguigu.lease.model.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +@Data +public class BaseEntity implements Serializable { + + @Schema(description = "主键") + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + @Schema(description = "创建时间") + @TableField(value = "create_time") + private Date createTime; + + @Schema(description = "更新时间") + @TableField(value = "update_time") + private Date updateTime; + + @Schema(description = "逻辑删除") + @TableField("is_deleted") + private Byte isDeleted; + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/lease/model/entity/BrowsingHistory.java b/model/src/main/java/com/atguigu/lease/model/entity/BrowsingHistory.java new file mode 100644 index 0000000..8d35a44 --- /dev/null +++ b/model/src/main/java/com/atguigu/lease/model/entity/BrowsingHistory.java @@ -0,0 +1,37 @@ +package com.atguigu.lease.model.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; + +/** + * @TableName browsing_history + */ +@TableName(value = "browsing_history") +@Data +@AllArgsConstructor +@NoArgsConstructor +public class BrowsingHistory extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @Schema(description = "用户id") + @TableField("user_id") + private Long userId; + + @Schema(description = "房间id") + @TableField("room_id") + private Long roomId; + + @Schema(description = "浏览时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @TableField("browse_time") + private Date browseTime; + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/lease/model/entity/CityInfo.java b/model/src/main/java/com/atguigu/lease/model/entity/CityInfo.java new file mode 100644 index 0000000..5275b6c --- /dev/null +++ b/model/src/main/java/com/atguigu/lease/model/entity/CityInfo.java @@ -0,0 +1,23 @@ +package com.atguigu.lease.model.entity; + +import io.swagger.v3.oas.annotations.media.Schema; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +@Schema(description = "城市信息表") +@TableName(value = "city_info") +@Data +public class CityInfo extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @Schema(description = "城市名称") + @TableField(value = "name") + private String name; + + @Schema(description = "所属省份id") + @TableField(value = "province_id") + private Integer provinceId; + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/lease/model/entity/DistrictInfo.java b/model/src/main/java/com/atguigu/lease/model/entity/DistrictInfo.java new file mode 100644 index 0000000..5d4b42b --- /dev/null +++ b/model/src/main/java/com/atguigu/lease/model/entity/DistrictInfo.java @@ -0,0 +1,23 @@ +package com.atguigu.lease.model.entity; + +import io.swagger.v3.oas.annotations.media.Schema; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +@Schema(description = "地区信息表") +@TableName(value = "district_info") +@Data +public class DistrictInfo extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @Schema(description = "区域名称") + @TableField(value = "name") + private String name; + + @Schema(description = "所属城市id") + @TableField(value = "city_id") + private Integer cityId; + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/lease/model/entity/FacilityInfo.java b/model/src/main/java/com/atguigu/lease/model/entity/FacilityInfo.java new file mode 100644 index 0000000..4874185 --- /dev/null +++ b/model/src/main/java/com/atguigu/lease/model/entity/FacilityInfo.java @@ -0,0 +1,33 @@ +package com.atguigu.lease.model.entity; + +import com.atguigu.lease.model.enums.ItemType; +import com.baomidou.mybatisplus.annotation.TableLogic; +import io.swagger.v3.oas.annotations.media.Schema; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +@Schema(description = "配套信息表") +@TableName(value = "facility_info") +@Data +public class FacilityInfo extends BaseEntity { + private static final long serialVersionUID = 1L; + + @Schema(description = "配套所属对象类型") + @TableField(value = "type") + private ItemType type; + + @Schema(description = "名称") + @TableField(value = "name") + private String name; + + @Schema(description = "图标") + @TableField(value = "icon") + private String icon; + + @Schema(description = "逻辑删除") + @TableField("is_deleted") + @TableLogic + private Byte isDeleted; + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/lease/model/entity/FeeKey.java b/model/src/main/java/com/atguigu/lease/model/entity/FeeKey.java new file mode 100644 index 0000000..ec098a0 --- /dev/null +++ b/model/src/main/java/com/atguigu/lease/model/entity/FeeKey.java @@ -0,0 +1,23 @@ +package com.atguigu.lease.model.entity; + +import io.swagger.v3.oas.annotations.media.Schema; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.util.List; + +@Schema(description = "杂项费用名称表") +@TableName(value = "fee_key") +@Data +public class FeeKey extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @Schema(description = "付款项key") + @TableField(value = "name") + private String name; + + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/lease/model/entity/FeeValue.java b/model/src/main/java/com/atguigu/lease/model/entity/FeeValue.java new file mode 100644 index 0000000..25a03d5 --- /dev/null +++ b/model/src/main/java/com/atguigu/lease/model/entity/FeeValue.java @@ -0,0 +1,27 @@ +package com.atguigu.lease.model.entity; + +import io.swagger.v3.oas.annotations.media.Schema; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +@Schema(description = "杂项费用值表") +@TableName(value = "fee_value") +@Data +public class FeeValue extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @Schema(description = "费用value") + @TableField(value = "name") + private String name; + + @Schema(description = "收费单位") + @TableField(value = "unit") + private String unit; + + @Schema(description = "费用所对的fee_key编码") + @TableField(value = "fee_key_id") + private Long feeKeyId; + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/lease/model/entity/GraphInfo.java b/model/src/main/java/com/atguigu/lease/model/entity/GraphInfo.java new file mode 100644 index 0000000..164a658 --- /dev/null +++ b/model/src/main/java/com/atguigu/lease/model/entity/GraphInfo.java @@ -0,0 +1,32 @@ +package com.atguigu.lease.model.entity; + +import io.swagger.v3.oas.annotations.media.Schema; +import com.atguigu.lease.model.enums.ItemType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.*; + +@Schema(description = "图片信息表") +@TableName(value = "graph_info") +@Data +public class GraphInfo extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @Schema(description = "图片名称") + @TableField(value = "name") + private String name; + + @Schema(description = "图片所属对象类型") + @TableField(value = "item_type") + private ItemType itemType; + + @Schema(description = "图片所有对象id") + @TableField(value = "item_id") + private Long itemId; + + @Schema(description = "图片地址") + @TableField(value = "url") + private String url; + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/lease/model/entity/LabelInfo.java b/model/src/main/java/com/atguigu/lease/model/entity/LabelInfo.java new file mode 100644 index 0000000..af61c7b --- /dev/null +++ b/model/src/main/java/com/atguigu/lease/model/entity/LabelInfo.java @@ -0,0 +1,31 @@ +package com.atguigu.lease.model.entity; + +import com.baomidou.mybatisplus.annotation.TableLogic; +import io.swagger.v3.oas.annotations.media.Schema; +import com.atguigu.lease.model.enums.ItemType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +@Schema(description = "标签信息表") +@TableName(value = "label_info") +@Data +public class LabelInfo extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @Schema(description = "类型") + @TableField(value = "type") + private ItemType type; + + @Schema(description = "标签名称") + @TableField(value = "name") + private String name; + + @Schema(description = "逻辑删除") + @TableField("is_deleted") + @TableLogic + private Byte isDeleted; + + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/lease/model/entity/LeaseAgreement.java b/model/src/main/java/com/atguigu/lease/model/entity/LeaseAgreement.java new file mode 100644 index 0000000..87203af --- /dev/null +++ b/model/src/main/java/com/atguigu/lease/model/entity/LeaseAgreement.java @@ -0,0 +1,79 @@ +package com.atguigu.lease.model.entity; + +import io.swagger.v3.oas.annotations.media.Schema; +import com.atguigu.lease.model.enums.LeaseSourceType; +import com.atguigu.lease.model.enums.LeaseStatus; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +@Schema(description = "租约信息表") +@TableName(value = "lease_agreement") +@Data +public class LeaseAgreement extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @Schema(description = "承租人手机号码") + @TableField(value = "phone") + private String phone; + + @Schema(description = "承租人姓名") + @TableField(value = "name") + private String name; + + @Schema(description = "承租人身份证号码") + @TableField(value = "identification_number") + private String identificationNumber; + + @Schema(description = "签约公寓id") + @TableField(value = "apartment_id") + private Long apartmentId; + + @Schema(description = "签约房间id") + @TableField(value = "room_id") + private Long roomId; + + @Schema(description = "租约开始日期") + @JsonFormat(pattern = "yyyy-MM-dd") + @TableField(value = "lease_start_date") + private Date leaseStartDate; + + @Schema(description = "租约结束日期") + @TableField(value = "lease_end_date") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date leaseEndDate; + + @Schema(description = "租期id") + @TableField(value = "lease_term_id") + private Long leaseTermId; + + @Schema(description = "租金(元/月)") + @TableField(value = "rent") + private BigDecimal rent; + + @Schema(description = "押金(元)") + @TableField(value = "deposit") + private BigDecimal deposit; + + @Schema(description = "支付类型id") + @TableField(value = "payment_type_id") + private Long paymentTypeId; + + @Schema(description = "租约状态") + @TableField(value = "status") + private LeaseStatus status; + + @Schema(description = "租约来源") + @TableField(value = "source_type") + private LeaseSourceType sourceType; + + @Schema(description = "备注信息") + @TableField(value = "additional_info") + private String additionalInfo; + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/lease/model/entity/LeaseTerm.java b/model/src/main/java/com/atguigu/lease/model/entity/LeaseTerm.java new file mode 100644 index 0000000..07cc0e3 --- /dev/null +++ b/model/src/main/java/com/atguigu/lease/model/entity/LeaseTerm.java @@ -0,0 +1,32 @@ +package com.atguigu.lease.model.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +/** + * @TableName lease_term + */ +@TableName(value = "lease_term") +@Data +@Schema(description = "租期信息") +public class LeaseTerm extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @Schema(description = "租期月数") + @TableField("month_count") + private Integer monthCount; + + @Schema(description = "租期单位:月") + @TableField("unit") + private String unit; + + @Schema(description = "逻辑删除") + @TableField("is_deleted") + @TableLogic + private Byte isDeleted; + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/lease/model/entity/PaymentType.java b/model/src/main/java/com/atguigu/lease/model/entity/PaymentType.java new file mode 100644 index 0000000..74868bf --- /dev/null +++ b/model/src/main/java/com/atguigu/lease/model/entity/PaymentType.java @@ -0,0 +1,35 @@ +package com.atguigu.lease.model.entity; + +import com.baomidou.mybatisplus.annotation.TableLogic; +import io.swagger.v3.oas.annotations.media.Schema; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Builder; +import lombok.Data; + +@Schema(description = "支付方式表") +@TableName(value = "payment_type") +@Data +public class PaymentType extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @Schema(description = "付款方式名称") + @TableField(value = "name") + private String name; + + @Schema(description = "每次支付租期数") + @TableField(value = "pay_month_count") + private String payMonthCount; + + @Schema(description = "付费说明") + @TableField(value = "additional_info") + private String additionalInfo; + + @Schema(description = "是否删除") + @TableField(value = "is_deleted") + @TableLogic + private Byte isDeleted; + + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/lease/model/entity/ProvinceInfo.java b/model/src/main/java/com/atguigu/lease/model/entity/ProvinceInfo.java new file mode 100644 index 0000000..a558b08 --- /dev/null +++ b/model/src/main/java/com/atguigu/lease/model/entity/ProvinceInfo.java @@ -0,0 +1,19 @@ +package com.atguigu.lease.model.entity; + +import io.swagger.v3.oas.annotations.media.Schema; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +@Schema(description = "省份信息表") +@TableName(value = "province_info") +@Data +public class ProvinceInfo extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @Schema(description = "省份名称") + @TableField(value = "name") + private String name; + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/lease/model/entity/RoomAttrValue.java b/model/src/main/java/com/atguigu/lease/model/entity/RoomAttrValue.java new file mode 100644 index 0000000..453f702 --- /dev/null +++ b/model/src/main/java/com/atguigu/lease/model/entity/RoomAttrValue.java @@ -0,0 +1,24 @@ +package com.atguigu.lease.model.entity; + +import io.swagger.v3.oas.annotations.media.Schema; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Builder; +import lombok.Data; + +@Schema(description = "房间&基本属性值关联表") +@TableName(value = "room_attr_value") +@Data + +public class RoomAttrValue extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @Schema(description = "房间id") + @TableField(value = "room_id") + private Long roomId; + + @Schema(description = "属性值id") + @TableField(value = "attr_value_id") + private Long attrValueId; +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/lease/model/entity/RoomFacility.java b/model/src/main/java/com/atguigu/lease/model/entity/RoomFacility.java new file mode 100644 index 0000000..f35f8ea --- /dev/null +++ b/model/src/main/java/com/atguigu/lease/model/entity/RoomFacility.java @@ -0,0 +1,25 @@ +package com.atguigu.lease.model.entity; + +import io.swagger.v3.oas.annotations.media.Schema; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Builder; +import lombok.Data; + +@Schema(description = "房间&配套关联表") +@TableName(value = "room_facility") +@Data + +public class RoomFacility extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @Schema(description = "房间id") + @TableField(value = "room_id") + private Long roomId; + + @Schema(description = "房间设施id") + @TableField(value = "facility_id") + private Long facilityId; + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/lease/model/entity/RoomInfo.java b/model/src/main/java/com/atguigu/lease/model/entity/RoomInfo.java new file mode 100644 index 0000000..3498ba1 --- /dev/null +++ b/model/src/main/java/com/atguigu/lease/model/entity/RoomInfo.java @@ -0,0 +1,36 @@ +package com.atguigu.lease.model.entity; + +import com.atguigu.lease.model.enums.ReleaseStatus; +import io.swagger.v3.oas.annotations.media.Schema; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +@Schema(description = "房间信息表") +@TableName(value = "room_info") +@Data +public class RoomInfo extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @Schema(description = "房间号") + @TableField(value = "room_number") + private String roomNumber; + + @Schema(description = "租金(元/月)") + @TableField(value = "rent") + private BigDecimal rent; + + @Schema(description = "所属公寓id") + @TableField(value = "apartment_id") + private Long apartmentId; + + @Schema(description = "是否发布") + @TableField(value = "is_release") + private ReleaseStatus isRelease; + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/lease/model/entity/RoomLabel.java b/model/src/main/java/com/atguigu/lease/model/entity/RoomLabel.java new file mode 100644 index 0000000..518eef1 --- /dev/null +++ b/model/src/main/java/com/atguigu/lease/model/entity/RoomLabel.java @@ -0,0 +1,25 @@ +package com.atguigu.lease.model.entity; + +import io.swagger.v3.oas.annotations.media.Schema; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Builder; +import lombok.Data; + +@Schema(description = "房间&标签关联表") +@TableName(value = "room_label") +@Data + +public class RoomLabel extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @Schema(description = "房间id") + @TableField(value = "room_id") + private Long roomId; + + @Schema(description = "标签id") + @TableField(value = "label_id") + private Long labelId; + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/lease/model/entity/RoomLeaseTerm.java b/model/src/main/java/com/atguigu/lease/model/entity/RoomLeaseTerm.java new file mode 100644 index 0000000..9962f54 --- /dev/null +++ b/model/src/main/java/com/atguigu/lease/model/entity/RoomLeaseTerm.java @@ -0,0 +1,32 @@ +package com.atguigu.lease.model.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @TableName room_lease_term + */ +@TableName(value = "room_lease_term") +@Data +@Schema(description = "房间租期关系表") +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class RoomLeaseTerm extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @Schema(description = "房间id") + @TableField("room_id") + private Long roomId; + + @Schema(description = "租期id") + @TableField("lease_term_id") + private Long leaseTermId; + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/lease/model/entity/RoomPaymentType.java b/model/src/main/java/com/atguigu/lease/model/entity/RoomPaymentType.java new file mode 100644 index 0000000..4622ca6 --- /dev/null +++ b/model/src/main/java/com/atguigu/lease/model/entity/RoomPaymentType.java @@ -0,0 +1,26 @@ +package com.atguigu.lease.model.entity; + +import io.swagger.v3.oas.annotations.media.Schema; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Builder; +import lombok.Data; + +@Schema(description = "房间&支付方式关联表") +@TableName(value = "room_payment_type") +@Data + +public class RoomPaymentType extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @Schema(description = "房间id") + @TableField(value = "room_id") + private Long roomId; + + @Schema(description = "支付类型id") + @TableField(value = "payment_type_id") + private Long paymentTypeId; + + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/lease/model/entity/SystemPost.java b/model/src/main/java/com/atguigu/lease/model/entity/SystemPost.java new file mode 100644 index 0000000..138682e --- /dev/null +++ b/model/src/main/java/com/atguigu/lease/model/entity/SystemPost.java @@ -0,0 +1,37 @@ +package com.atguigu.lease.model.entity; + +import com.atguigu.lease.model.enums.BaseStatus; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +/** + * 岗位信息表 + * + * @TableName system_post + */ +@TableName(value = "system_post") +@Data +public class SystemPost extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @Schema(description = "岗位编码") + @TableField(value = "code") + private String postCode; + + @Schema(description = "岗位名称") + @TableField(value = "name") + private String name; + + @Schema(description = "岗位描述信息") + @TableField(value = "description") + private String description; + + @Schema(description = "岗位状态") + @TableField(value = "status") + private BaseStatus status; + + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/lease/model/entity/SystemUser.java b/model/src/main/java/com/atguigu/lease/model/entity/SystemUser.java new file mode 100644 index 0000000..daad31d --- /dev/null +++ b/model/src/main/java/com/atguigu/lease/model/entity/SystemUser.java @@ -0,0 +1,56 @@ +package com.atguigu.lease.model.entity; + +import com.atguigu.lease.model.enums.BaseStatus; +import com.atguigu.lease.model.enums.SystemUserType; +import com.baomidou.mybatisplus.annotation.FieldStrategy; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Schema(description = "员工信息") +@TableName(value = "system_user") +@Data +public class SystemUser extends BaseEntity { + + + private static final long serialVersionUID = 1L; + + @Schema(description = "用户名") + @TableField(value = "username") + private String username; + + @Schema(description = "密码") + @TableField(value = "password") + private String password; + + @Schema(description = "姓名") + @TableField(value = "name") + private String name; + + @Schema(description = "用户类型") + @TableField(value = "type") + private SystemUserType type; + + @Schema(description = "手机号码") + @TableField(value = "phone") + private String phone; + + @Schema(description = "头像地址") + @TableField(value = "avatar_url") + private String avatarUrl; + + @Schema(description = "备注信息") + @TableField(value = "additional_info") + private String additionalInfo; + + @Schema(description = "岗位id") + @TableField(value = "post_id") + private Long postId; + + @Schema(description = "账号状态") + @TableField(value = "status") + private BaseStatus status; + + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/lease/model/entity/UserInfo.java b/model/src/main/java/com/atguigu/lease/model/entity/UserInfo.java new file mode 100644 index 0000000..8321a2a --- /dev/null +++ b/model/src/main/java/com/atguigu/lease/model/entity/UserInfo.java @@ -0,0 +1,41 @@ +package com.atguigu.lease.model.entity; + +import com.atguigu.lease.model.enums.BaseStatus; +import io.swagger.v3.oas.annotations.media.Schema; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Schema(description = "用户信息表") +@TableName(value = "user_info") +@Data +public class UserInfo extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @Schema(description = "手机号码(用做登录用户名)") + @TableField(value = "phone") + private String phone; + + @Schema(description = "密码") + @TableField(value = "password") + private String password; + + @Schema(description = "头像url") + @TableField(value = "avatar_url") + private String avatarUrl; + + @Schema(description = "昵称") + @TableField(value = "nickname") + private String nickname; + + @Schema(description = "账号状态") + @TableField(value = "status") + private BaseStatus status; + + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/lease/model/entity/ViewAppointment.java b/model/src/main/java/com/atguigu/lease/model/entity/ViewAppointment.java new file mode 100644 index 0000000..0b7f6cd --- /dev/null +++ b/model/src/main/java/com/atguigu/lease/model/entity/ViewAppointment.java @@ -0,0 +1,45 @@ +package com.atguigu.lease.model.entity; + +import com.atguigu.lease.model.enums.AppointmentStatus; +import io.swagger.v3.oas.annotations.media.Schema; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.util.Date; + +@Schema(description = "预约看房信息表") +@TableName(value = "view_appointment") +@Data +public class ViewAppointment extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @Schema(description = "用户id") + @TableField(value = "user_id") + private Long userId; + + @Schema(description = "用户姓名") + @TableField(value = "name") + private String name; + + @Schema(description = "用户手机号码") + @TableField(value = "phone") + private String phone; + + @Schema(description = "公寓id") + @TableField(value = "apartment_id") + private Long apartmentId; + + @Schema(description = "预约时间") + @TableField(value = "appointment_time") + private Date appointmentTime; + + @Schema(description = "备注信息") + @TableField(value = "additional_info") + private String additionalInfo; + + @Schema(description = "预约状态") + @TableField(value = "appointment_status") + private AppointmentStatus appointmentStatus; +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/lease/model/enums/AppointmentStatus.java b/model/src/main/java/com/atguigu/lease/model/enums/AppointmentStatus.java new file mode 100644 index 0000000..35b2556 --- /dev/null +++ b/model/src/main/java/com/atguigu/lease/model/enums/AppointmentStatus.java @@ -0,0 +1,37 @@ +package com.atguigu.lease.model.enums; + +import com.baomidou.mybatisplus.annotation.EnumValue; +import com.fasterxml.jackson.annotation.JsonValue; + +public enum AppointmentStatus implements BaseEnum { + + + WAITING(1, "待看房"), + + CANCELED(2, "已取消"), + + VIEWED(3, "已看房"); + + + @EnumValue + @JsonValue + private Integer code; + + + private String name; + + AppointmentStatus(Integer code, String name) { + this.code = code; + this.name = name; + } + + @Override + public Integer getCode() { + return this.code; + } + + @Override + public String getName() { + return this.name; + } +} diff --git a/model/src/main/java/com/atguigu/lease/model/enums/BaseEnum.java b/model/src/main/java/com/atguigu/lease/model/enums/BaseEnum.java new file mode 100644 index 0000000..b90127f --- /dev/null +++ b/model/src/main/java/com/atguigu/lease/model/enums/BaseEnum.java @@ -0,0 +1,8 @@ +package com.atguigu.lease.model.enums; + +public interface BaseEnum { + + Integer getCode(); + + String getName(); +} diff --git a/model/src/main/java/com/atguigu/lease/model/enums/BaseStatus.java b/model/src/main/java/com/atguigu/lease/model/enums/BaseStatus.java new file mode 100644 index 0000000..70939be --- /dev/null +++ b/model/src/main/java/com/atguigu/lease/model/enums/BaseStatus.java @@ -0,0 +1,35 @@ +package com.atguigu.lease.model.enums; + +import com.baomidou.mybatisplus.annotation.EnumValue; +import com.fasterxml.jackson.annotation.JsonValue; + + +public enum BaseStatus implements BaseEnum { + + + ENABLE(1, "正常"), + + DISABLE(0, "禁用"); + + + @EnumValue + @JsonValue + private Integer code; + + private String name; + + BaseStatus(Integer code, String name) { + this.code = code; + this.name = name; + } + + @Override + public Integer getCode() { + return this.code; + } + + @Override + public String getName() { + return this.name; + } +} diff --git a/model/src/main/java/com/atguigu/lease/model/enums/ItemType.java b/model/src/main/java/com/atguigu/lease/model/enums/ItemType.java new file mode 100644 index 0000000..be5231c --- /dev/null +++ b/model/src/main/java/com/atguigu/lease/model/enums/ItemType.java @@ -0,0 +1,51 @@ +package com.atguigu.lease.model.enums; + +import com.baomidou.mybatisplus.annotation.EnumValue; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + + + +public enum ItemType implements BaseEnum { + + APARTMENT(1, "公寓"), + + ROOM(2, "房间"); + + + @EnumValue + @JsonValue + private Integer code; + private String name; + + + + public void setCode(Integer code) { + this.code = code; + } + + public void setName(String name) { + this.name = name; + } + + + @Override + public Integer getCode() { + return this.code; + } + + + @Override + public String getName() { + return name; + } + + ItemType(Integer code, String name) { + this.code = code; + this.name = name; + } + +} diff --git a/model/src/main/java/com/atguigu/lease/model/enums/LeaseSourceType.java b/model/src/main/java/com/atguigu/lease/model/enums/LeaseSourceType.java new file mode 100644 index 0000000..3a9866e --- /dev/null +++ b/model/src/main/java/com/atguigu/lease/model/enums/LeaseSourceType.java @@ -0,0 +1,32 @@ +package com.atguigu.lease.model.enums; + +import com.baomidou.mybatisplus.annotation.EnumValue; +import com.fasterxml.jackson.annotation.JsonValue; + + +public enum LeaseSourceType implements BaseEnum { + + NEW(1, "新签"), + RENEW(2, "续约"); + + @JsonValue + @EnumValue + private Integer code; + + private String name; + + LeaseSourceType(Integer code, String name) { + this.code = code; + this.name = name; + } + + @Override + public Integer getCode() { + return this.code; + } + + @Override + public String getName() { + return this.name; + } +} diff --git a/model/src/main/java/com/atguigu/lease/model/enums/LeaseStatus.java b/model/src/main/java/com/atguigu/lease/model/enums/LeaseStatus.java new file mode 100644 index 0000000..d394872 --- /dev/null +++ b/model/src/main/java/com/atguigu/lease/model/enums/LeaseStatus.java @@ -0,0 +1,37 @@ +package com.atguigu.lease.model.enums; + +import com.baomidou.mybatisplus.annotation.EnumValue; +import com.fasterxml.jackson.annotation.JsonValue; + +public enum LeaseStatus implements BaseEnum { + + SIGNING(1, "签约待确认"), + SIGNED(2, "已签约"), + CANCELED(3, "已取消"), + EXPIRED(4, "已到期"), + WITHDRAWING(5, "退租待确认"), + WITHDRAWN(6, "已退租"), + RENEWING(7, "续约待确认"); + + @EnumValue + @JsonValue + private Integer code; + + private String name; + + LeaseStatus(Integer code, String name) { + this.code = code; + this.name = name; + } + + @Override + public Integer getCode() { + return this.code; + } + + @Override + public String getName() { + return this.name; + } + +} diff --git a/model/src/main/java/com/atguigu/lease/model/enums/ReleaseStatus.java b/model/src/main/java/com/atguigu/lease/model/enums/ReleaseStatus.java new file mode 100644 index 0000000..47c174d --- /dev/null +++ b/model/src/main/java/com/atguigu/lease/model/enums/ReleaseStatus.java @@ -0,0 +1,35 @@ +package com.atguigu.lease.model.enums; + +import com.baomidou.mybatisplus.annotation.EnumValue; +import com.fasterxml.jackson.annotation.JsonValue; + +public enum ReleaseStatus implements BaseEnum { + + RELEASED(1, "已发布"), + NOT_RELEASED(0, "未发布"); + + + @EnumValue + @JsonValue + private Integer code; + + private String name; + + + ReleaseStatus(Integer code, String name) { + this.code = code; + this.name = name; + } + + + @Override + public Integer getCode() { + return this.code; + } + + @Override + public String getName() { + return this.name; + } + +} diff --git a/model/src/main/java/com/atguigu/lease/model/enums/SystemUserType.java b/model/src/main/java/com/atguigu/lease/model/enums/SystemUserType.java new file mode 100644 index 0000000..25a5bd9 --- /dev/null +++ b/model/src/main/java/com/atguigu/lease/model/enums/SystemUserType.java @@ -0,0 +1,32 @@ +package com.atguigu.lease.model.enums; + +import com.baomidou.mybatisplus.annotation.EnumValue; +import com.fasterxml.jackson.annotation.JsonValue; + +public enum SystemUserType implements BaseEnum { + + ADMIN(0, "管理员"), + COMMON(1, "普通用户"); + + @EnumValue + @JsonValue + private Integer code; + + private String name; + + + SystemUserType(Integer code, String name) { + this.code = code; + this.name = name; + } + + @Override + public Integer getCode() { + return this.code; + } + + @Override + public String getName() { + return this.name; + } +} diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..3834479 --- /dev/null +++ b/pom.xml @@ -0,0 +1,112 @@ + + + 4.0.0 + + + org.springframework.boot + spring-boot-starter-parent + 3.0.5 + + + com.atguigu + lease + pom + 1.0-SNAPSHOT + + common + model + web + + + + 17 + 17 + UTF-8 + 3.5.3.1 + 2.9.2 + 0.11.2 + 1.6.2 + 8.2.0 + 4.1.0 + 2.0.23 + + + + + + + + + com.baomidou + mybatis-plus-boot-starter + ${mybatis-plus.version} + + + + + + com.github.xiaoymin + knife4j-openapi3-jakarta-spring-boot-starter + ${knife4j.version} + + + + + + io.jsonwebtoken + jjwt-api + ${jwt.version} + + + io.jsonwebtoken + jjwt-impl + runtime + ${jwt.version} + + + io.jsonwebtoken + jjwt-jackson + runtime + ${jwt.version} + + + + + + com.github.whvcse + easy-captcha + ${easycaptcha.version} + + + + + + io.minio + minio + ${minio.version} + + + + + + com.aliyun + dysmsapi20170525 + ${aliyun.sms.version} + + + + + + com.github.xiaoymin + knife4j-openapi3-jakarta-spring-boot-starter + 4.3.0 + + + io.minio + minio + 8.5.3 + + + \ No newline at end of file diff --git a/web/pom.xml b/web/pom.xml new file mode 100644 index 0000000..da321b3 --- /dev/null +++ b/web/pom.xml @@ -0,0 +1,59 @@ + + + + lease + com.atguigu + 1.0-SNAPSHOT + + 4.0.0 + + web + pom + + web-admin + web-app + + + + 17 + 17 + + + + + com.atguigu + common + 1.0-SNAPSHOT + + + + + org.springframework.boot + spring-boot-starter-web + + + + + org.springframework.boot + spring-boot-starter-test + test + + + + + com.mysql + mysql-connector-j + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + \ No newline at end of file diff --git a/web/web-admin/pom.xml b/web/web-admin/pom.xml new file mode 100644 index 0000000..b3f6533 --- /dev/null +++ b/web/web-admin/pom.xml @@ -0,0 +1,34 @@ + + + + web + com.atguigu + 1.0-SNAPSHOT + + 4.0.0 + + web-admin + + + 17 + 17 + + + + com.github.whvcse + easy-captcha + + + org.springframework.boot + spring-boot-starter-data-redis + + + commons-codec + commons-codec + + + + + \ No newline at end of file diff --git a/web/web-admin/src/main/java/com/atguigu/lease/AdminWebApplication.java b/web/web-admin/src/main/java/com/atguigu/lease/AdminWebApplication.java new file mode 100644 index 0000000..10479f7 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/AdminWebApplication.java @@ -0,0 +1,15 @@ +package com.atguigu.lease; + +import org.mybatis.spring.annotation.MapperScan; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.context.annotation.ComponentScan; +import org.springframework.scheduling.annotation.EnableScheduling; + +@SpringBootApplication +@EnableScheduling +public class AdminWebApplication { + public static void main(String[] args) { + SpringApplication.run(AdminWebApplication.class, args); + } +} diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/controller/apartment/ApartmentController.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/controller/apartment/ApartmentController.java new file mode 100644 index 0000000..4a8bfd1 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/controller/apartment/ApartmentController.java @@ -0,0 +1,91 @@ +package com.atguigu.lease.web.admin.controller.apartment; + + +import com.atguigu.lease.common.result.Result; +import com.atguigu.lease.model.entity.ApartmentInfo; +import com.atguigu.lease.model.enums.ReleaseStatus; +import com.atguigu.lease.web.admin.service.ApartmentInfoService; +import com.atguigu.lease.web.admin.vo.apartment.ApartmentDetailVo; +import com.atguigu.lease.web.admin.vo.apartment.ApartmentItemVo; +import com.atguigu.lease.web.admin.vo.apartment.ApartmentQueryVo; +import com.atguigu.lease.web.admin.vo.apartment.ApartmentSubmitVo; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + + +@Tag(name = "公寓信息管理") +@RestController +@RequestMapping("/admin/apartment") +public class ApartmentController { +@Autowired +private ApartmentInfoService apartmentInfoService; + @Operation(summary = "保存或更新公寓信息") + @PostMapping("saveOrUpdate") + public Result saveOrUpdate(@RequestBody ApartmentSubmitVo apartmentSubmitVo) { + apartmentInfoService.saveOrUpdateApartment(apartmentSubmitVo); + return Result.ok(); + } + + @Operation(summary = "根据条件分页查询公寓列表") + @GetMapping("pageItem") + public Result> pageItem(@RequestParam long current, @RequestParam long size, ApartmentQueryVo queryVo) { + Page page = new Page<>(current,size); + IPage pageModel = + apartmentInfoService.selectApartmentInfoPage(page,queryVo); + return Result.ok(pageModel); + } + + @Operation(summary = "根据ID获取公寓详细信息") + @GetMapping("getDetailById") + public Result getDetailById(@RequestParam Long id) { + ApartmentDetailVo detailById = apartmentInfoService.getDetailById(id); + return Result.ok(detailById); + } + + @Operation(summary = "根据id删除公寓信息") + @DeleteMapping("removeById") + public Result removeById(@RequestParam Long id) { + apartmentInfoService.removeApartmentById(id); + return Result.ok(); + + } + + @Operation(summary = "根据id修改公寓发布状态") + @PostMapping("updateReleaseStatusById") + public Result updateReleaseStatusById(@RequestParam Long id, @RequestParam ReleaseStatus status) { + ApartmentInfo byId = apartmentInfoService.getById(id); + byId.setIsRelease(status); + apartmentInfoService.updateById(byId); + return Result.ok(); + } + + @Operation(summary = "根据区县id查询公寓信息列表") + @GetMapping("listInfoByDistrictId") + public Result> listInfoByDistrictId(@RequestParam Long id) { + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); + query.eq(ApartmentInfo::getDistrictId,id); + List list = apartmentInfoService.list(query); + return Result.ok(list); + } +} + + + + + + + + + + + + + + diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/controller/apartment/AttrController.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/controller/apartment/AttrController.java new file mode 100644 index 0000000..db801ad --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/controller/apartment/AttrController.java @@ -0,0 +1,68 @@ +package com.atguigu.lease.web.admin.controller.apartment; + + +import com.atguigu.lease.common.result.Result; +import com.atguigu.lease.model.entity.AttrKey; +import com.atguigu.lease.model.entity.AttrValue; +import com.atguigu.lease.web.admin.service.AttrKeyService; +import com.atguigu.lease.web.admin.service.AttrValueService; +import com.atguigu.lease.web.admin.vo.attr.AttrKeyVo; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + + +@Tag(name = "房间属性管理") +@RestController +@RequestMapping("/admin/attr") +public class AttrController { + @Autowired + private AttrKeyService attrKeyService; + @Autowired + private AttrValueService attrValueService; + @Operation(summary = "新增或更新属性名称") + @PostMapping("key/saveOrUpdate") + public Result saveOrUpdateAttrKey(@RequestBody AttrKey attrKey) { + attrKeyService.saveOrUpdate(attrKey); + return Result.ok(); + } + + @Operation(summary = "新增或更新属性值") + @PostMapping("value/saveOrUpdate") + public Result saveOrUpdateAttrValue(@RequestBody AttrValue attrValue) { + attrValueService.saveOrUpdate(attrValue); + + return Result.ok(); + } + + + @Operation(summary = "查询全部属性名称和属性值列表") + @GetMapping("list") + public Result> listAttrInfo() { + List attrKeyVos = attrKeyService.listAttrInfo(); + return Result.ok(attrKeyVos); + + + } + + @Operation(summary = "根据id删除属性名称") + @DeleteMapping("key/deleteById") + public Result removeAttrKeyById(@RequestParam Long attrKeyId) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(AttrValue::getAttrKeyId,attrKeyId); + attrValueService.remove(wrapper); + return Result.ok(); + } + + @Operation(summary = "根据id删除属性值") + @DeleteMapping("value/deleteById") + public Result removeAttrValueById(@RequestParam Long id) { + attrValueService.removeById(id); + return Result.ok(); + } + +} diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/controller/apartment/FacilityController.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/controller/apartment/FacilityController.java new file mode 100644 index 0000000..3aa8f70 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/controller/apartment/FacilityController.java @@ -0,0 +1,56 @@ +package com.atguigu.lease.web.admin.controller.apartment; + + +import com.atguigu.lease.common.result.Result; +import com.atguigu.lease.model.entity.FacilityInfo; +import com.atguigu.lease.model.enums.ItemType; +import com.atguigu.lease.web.admin.service.FacilityInfoService; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + + +@Tag(name = "配套管理") +@RestController +@RequestMapping("/admin/facility") +public class FacilityController { +@Autowired +private FacilityInfoService facilityInfoService; + @Operation(summary = "[根据类型]查询配套信息列表") + @GetMapping("list") + public Result> listFacility(@RequestParam(required = false) ItemType type) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + LambdaQueryWrapper eq = queryWrapper.eq(FacilityInfo::getType, type); + List list = facilityInfoService.list(eq); + return Result.ok(list); + + + } + + @Operation(summary = "新增或修改配套信息") + @PostMapping("saveOrUpdate") + public Result saveOrUpdate(@RequestBody FacilityInfo facilityInfo) { + boolean b = facilityInfoService.saveOrUpdate(facilityInfo); + if (b){ + return Result.ok(); + }else { + return Result.fail(); + } + } + + @Operation(summary = "根据id删除配套信息") + @DeleteMapping("deleteById") + public Result removeFacilityById(@RequestParam Long id) { + boolean b = facilityInfoService.removeById(id); + if (b){ + return Result.ok(); + }else { + return Result.fail(); + } + } + +} diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/controller/apartment/FeeController.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/controller/apartment/FeeController.java new file mode 100644 index 0000000..f31a2c1 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/controller/apartment/FeeController.java @@ -0,0 +1,73 @@ +package com.atguigu.lease.web.admin.controller.apartment; + + +import com.atguigu.lease.common.result.Result; +import com.atguigu.lease.model.entity.FeeKey; +import com.atguigu.lease.model.entity.FeeValue; + +import com.atguigu.lease.web.admin.service.FeeKeyService; +import com.atguigu.lease.web.admin.service.FeeValueService; +import com.atguigu.lease.web.admin.vo.fee.FeeKeyVo; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + + +import java.util.List; + + +@Tag(name = "房间杂费管理") +@RestController +@RequestMapping("/admin/fee") +public class FeeController { + + @Autowired + private FeeKeyService feeKeyService; + @Autowired + private FeeValueService feeValueService; + + @Operation(summary = "保存或更新杂费名称") + @PostMapping("key/saveOrUpdate") + public Result saveOrUpdateFeeKey(@RequestBody FeeKey feeKey) { + feeKeyService.saveOrUpdate(feeKey); + return Result.ok(); + } + + @Operation(summary = "保存或更新杂费值") + @PostMapping("value/saveOrUpdate") + public Result saveOrUpdateFeeValue(@RequestBody FeeValue feeValue) { + feeValueService.saveOrUpdate(feeValue); + return Result.ok(); + + } + + + @Operation(summary = "查询全部杂费名称和杂费值列表") + @GetMapping("list") + public Result> feeInfoList() { + List feeKeyVos = feeKeyService.saveOrUpdateFeeKey(); + return Result.ok(feeKeyVos); + } + + @Operation(summary = "根据id删除杂费名称") + @DeleteMapping("key/deleteById") + public Result deleteFeeKeyById(@RequestParam Long feeKeyId) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(FeeKey::getId, feeKeyId); + feeKeyService.remove(wrapper); + return Result.ok(); + } + + @Operation(summary = "根据id删除杂费值") + @DeleteMapping("value/deleteById") + public Result deleteFeeValueById(@RequestParam Long id) { + boolean b = feeValueService.removeById(id); + if (b){ + return Result.ok(); + }else { + return Result.fail(); + } + } +} diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/controller/apartment/FileUploadController.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/controller/apartment/FileUploadController.java new file mode 100644 index 0000000..e7ec2f9 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/controller/apartment/FileUploadController.java @@ -0,0 +1,29 @@ +package com.atguigu.lease.web.admin.controller.apartment; + + +import com.atguigu.lease.common.result.Result; +import com.atguigu.lease.web.admin.service.FileService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.multipart.MultipartFile; + + +@Tag(name = "文件管理") +@RequestMapping("/admin/file") +@RestController +public class FileUploadController { +@Autowired +private FileService fileService; + @Operation(summary = "上传文件") + @PostMapping("upload") + public Result upload(@RequestParam MultipartFile file) { + String url = fileService.upload(file); + return Result.ok(url); + } + +} diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/controller/apartment/LabelController.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/controller/apartment/LabelController.java new file mode 100644 index 0000000..6d968d1 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/controller/apartment/LabelController.java @@ -0,0 +1,55 @@ +package com.atguigu.lease.web.admin.controller.apartment; + + +import com.atguigu.lease.common.result.Result; +import com.atguigu.lease.model.entity.LabelInfo; +import com.atguigu.lease.model.enums.ItemType; +import com.atguigu.lease.web.admin.service.LabelInfoService; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@Tag(name = "标签管理") +@RestController +@RequestMapping("/admin/label") +public class LabelController { + @Autowired + private LabelInfoService labelInfoService; + + @Operation(summary = "(根据类型)查询标签列表") + @GetMapping("list") + public Result> labelList(@RequestParam(required = false) ItemType itemType) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(LabelInfo::getType,itemType); + List list = labelInfoService.list(queryWrapper); + return Result.ok(list); + } + + @Operation(summary = "新增或修改标签信息") + @PostMapping("saveOrUpdate") + public Result saveOrUpdateLabel(@RequestBody LabelInfo labelInfo) { + boolean b = labelInfoService.saveOrUpdate(labelInfo); + if (b){ + return Result.ok(); + }else { + return Result.fail(); + } + + } + + @Operation(summary = "根据id删除标签信息") + @DeleteMapping("deleteById") + public Result deleteLabelById(@RequestParam Long id) { + boolean b = labelInfoService.removeById(id); + if (b){ + return Result.ok(); + }else { + return Result.fail(); + } + + } +} diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/controller/apartment/LeaseTermController.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/controller/apartment/LeaseTermController.java new file mode 100644 index 0000000..8c75bd2 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/controller/apartment/LeaseTermController.java @@ -0,0 +1,50 @@ +package com.atguigu.lease.web.admin.controller.apartment; + + +import com.atguigu.lease.common.result.Result; +import com.atguigu.lease.model.entity.LeaseTerm; +import com.atguigu.lease.web.admin.service.LeaseTermService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@Tag(name = "租期管理") +@RequestMapping("/admin/term") +@RestController +public class LeaseTermController { +@Autowired + private LeaseTermService leaseTermService; + @GetMapping("list") + @Operation(summary = "查询全部租期列表") + public Result> listLeaseTerm() { + List list = leaseTermService.list(); + + return Result.ok(list); + } + + @PostMapping("saveOrUpdate") + @Operation(summary = "保存或更新租期信息") + public Result saveOrUpdate(@RequestBody LeaseTerm leaseTerm) { + boolean b = leaseTermService.saveOrUpdate(leaseTerm); + if (b){ + return Result.ok(); + }else { + return Result.fail(); + } + + } + + @DeleteMapping("deleteById") + @Operation(summary = "根据ID删除租期") + public Result deleteLeaseTermById(@RequestParam Long id) { + boolean b = leaseTermService.removeById(id); + if (b){ + return Result.ok(); + }else { + return Result.fail(); + } + } +} diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/controller/apartment/PaymentTypeController.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/controller/apartment/PaymentTypeController.java new file mode 100644 index 0000000..b88fcc9 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/controller/apartment/PaymentTypeController.java @@ -0,0 +1,68 @@ +package com.atguigu.lease.web.admin.controller.apartment; + + +import com.atguigu.lease.common.result.Result; +import com.atguigu.lease.model.entity.PaymentType; +import com.atguigu.lease.web.admin.service.PaymentTypeService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + + +@Tag(name = "支付方式管理") +@RequestMapping("/admin/payment") +@RestController +public class PaymentTypeController { + + @Autowired +private PaymentTypeService paymentTypeService; + @Operation(summary = "查询全部支付方式列表") + @GetMapping("list") + public Result> listPaymentType() { + List list = paymentTypeService.list(); + + return Result.ok(list); + } + + @Operation(summary = "保存或更新支付方式") + @PostMapping("saveOrUpdate") + public Result saveOrUpdatePaymentType(@RequestBody PaymentType paymentType) { + boolean b = paymentTypeService.saveOrUpdate(paymentType); + if (b){ + return Result.ok(); + }else { + return Result.fail(); + } + + } + + @Operation(summary = "根据ID删除支付方式") + @DeleteMapping("deleteById") + public Result deletePaymentById(@RequestParam Long id) { + boolean b = paymentTypeService.removeById(id); + if (b){ + return Result.ok(); + } + return Result.fail(); + + } + +} + + + + + + + + + + + + + + + diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/controller/apartment/RegionInfoController.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/controller/apartment/RegionInfoController.java new file mode 100644 index 0000000..309203e --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/controller/apartment/RegionInfoController.java @@ -0,0 +1,57 @@ +package com.atguigu.lease.web.admin.controller.apartment; + + +import com.atguigu.lease.common.result.Result; +import com.atguigu.lease.model.entity.CityInfo; +import com.atguigu.lease.model.entity.DistrictInfo; +import com.atguigu.lease.model.entity.ProvinceInfo; +import com.atguigu.lease.web.admin.service.CityInfoService; +import com.atguigu.lease.web.admin.service.DistrictInfoService; +import com.atguigu.lease.web.admin.service.ProvinceInfoService; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +@Tag(name = "地区信息管理") +@RestController +@RequestMapping("/admin/region") +public class RegionInfoController { +@Autowired +private ProvinceInfoService provinceInfoService; +@Autowired +private CityInfoService cityInfoService; +@Autowired +private DistrictInfoService districtInfoService; + @Operation(summary = "查询省份信息列表") + @GetMapping("province/list") + public Result> listProvince() { + List list = provinceInfoService.list(); + return Result.ok(list); + } + + @Operation(summary = "根据省份id查询城市信息列表") + @GetMapping("city/listByProvinceId") + public Result> listCityInfoByProvinceId(@RequestParam Long id) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(CityInfo::getProvinceId, id); + List list = cityInfoService.list(queryWrapper); + return Result.ok(list); + } + + @GetMapping("district/listByCityId") + @Operation(summary = "根据城市id查询区县信息") + public Result> listDistrictInfoByCityId(@RequestParam Long id) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(DistrictInfo::getCityId, id); + List list = districtInfoService.list(queryWrapper); + return Result.ok(list); + } + +} diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/controller/apartment/RoomController.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/controller/apartment/RoomController.java new file mode 100644 index 0000000..ddd6aa2 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/controller/apartment/RoomController.java @@ -0,0 +1,99 @@ +package com.atguigu.lease.web.admin.controller.apartment; + + +import com.atguigu.lease.common.result.Result; +import com.atguigu.lease.model.entity.ApartmentLabel; +import com.atguigu.lease.model.entity.RoomInfo; +import com.atguigu.lease.model.enums.ReleaseStatus; +import com.atguigu.lease.web.admin.service.RoomInfoService; +import com.atguigu.lease.web.admin.vo.room.RoomDetailVo; +import com.atguigu.lease.web.admin.vo.room.RoomItemVo; +import com.atguigu.lease.web.admin.vo.room.RoomQueryVo; +import com.atguigu.lease.web.admin.vo.room.RoomSubmitVo; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@Tag(name = "房间信息管理") +@RestController +@RequestMapping("/admin/room") +public class RoomController { + @Autowired + private RoomInfoService roomInfoService; + + @Operation(summary = "保存或更新房间信息") + @PostMapping("saveOrUpdate") + public Result saveOrUpdate(@RequestBody RoomSubmitVo roomSubmitVo) { + roomInfoService.saveOrUpdateRoomInfo(roomSubmitVo); + return Result.ok(); + } + + @Operation(summary = "根据条件分页查询房间列表") + @GetMapping("pageItem") + public Result> pageItem(@RequestParam long current, @RequestParam long size, RoomQueryVo queryVo) { + Page page =new Page<>(current,size); + IPage pageModel = roomInfoService.selectRoomInfoPage(page,queryVo); + return Result.ok(pageModel); + } + + @Operation(summary = "根据id获取房间详细信息") + @GetMapping("getDetailById") + public Result getDetailById(@RequestParam Long id) { + RoomDetailVo detailById = roomInfoService.getDetailById(id); + return Result.ok(detailById); + } + + @Operation(summary = "根据id删除房间信息") + @DeleteMapping("removeById") + public Result removeById(@RequestParam Long id) { + roomInfoService.removeRoomById(id); + return Result.ok(); + } + + @Operation(summary = "根据id修改房间发布状态") + @PostMapping("updateReleaseStatusById") + public Result updateReleaseStatusById(Long id, ReleaseStatus status) { + LambdaUpdateWrapper queryWrapper = new LambdaUpdateWrapper<>(); + queryWrapper.eq(RoomInfo::getId, id); + queryWrapper.set(RoomInfo::getIsRelease, status); + roomInfoService.update(queryWrapper); + return Result.ok(); + + } + + @GetMapping("listBasicByApartmentId") + @Operation(summary = "根据公寓id查询房间列表") + public Result> listBasicByApartmentId(Long id) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(RoomInfo::getApartmentId, id); + queryWrapper.eq(RoomInfo::getIsRelease, ReleaseStatus.RELEASED); + List list = roomInfoService.list(queryWrapper); + return Result.ok(list); + } + +} + + + + + + + + + + + + + + + + + + diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/controller/lease/LeaseAgreementController.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/controller/lease/LeaseAgreementController.java new file mode 100644 index 0000000..61b2eef --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/controller/lease/LeaseAgreementController.java @@ -0,0 +1,69 @@ +package com.atguigu.lease.web.admin.controller.lease; + + +import com.atguigu.lease.common.result.Result; +import com.atguigu.lease.model.entity.LeaseAgreement; +import com.atguigu.lease.model.enums.LeaseStatus; +import com.atguigu.lease.web.admin.service.LeaseAgreementService; +import com.atguigu.lease.web.admin.vo.agreement.AgreementQueryVo; +import com.atguigu.lease.web.admin.vo.agreement.AgreementVo; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + + +@Tag(name = "租约管理") +@RestController +@RequestMapping("/admin/agreement") +public class LeaseAgreementController { +@Autowired + private LeaseAgreementService leaseAgreementService; + @Operation(summary = "保存或修改租约信息") + @PostMapping("saveOrUpdate") + public Result saveOrUpdate(@RequestBody LeaseAgreement leaseAgreement) { + leaseAgreementService.saveOrUpdate(leaseAgreement); + return Result.ok(); + } + + @Operation(summary = "根据条件分页查询租约列表") + @GetMapping("page") + public Result> page(@RequestParam long current, @RequestParam long size, AgreementQueryVo queryVo) { + Page page = new Page<>(current, size); + IPage pageModel = leaseAgreementService.selectPageAgreement(page,queryVo); + return Result.ok(pageModel); + } + + @Operation(summary = "根据id查询租约信息") + @GetMapping(name = "getById") + public Result getById(@RequestParam Long id) { + AgreementVo agreementVo = leaseAgreementService.getAgreement(id); + return Result.ok(agreementVo); + } + + @Operation(summary = "根据id删除租约信息") + @DeleteMapping("removeById") + public Result removeById(@RequestParam Long id) { + boolean b = leaseAgreementService.removeById(id); + if (b){ + return Result.ok(); + }else{ + return Result.fail(); + } + } + + @Operation(summary = "根据id更新租约状态") + @PostMapping("updateStatusById") + public Result updateStatusById(@RequestParam Long id, @RequestParam LeaseStatus status) { + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(LeaseAgreement::getId, id); + updateWrapper.set(LeaseAgreement::getStatus, status); + leaseAgreementService.update(updateWrapper); + return Result.ok(); + } + +} + diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/controller/lease/ViewAppointmentController.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/controller/lease/ViewAppointmentController.java new file mode 100644 index 0000000..3059ef6 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/controller/lease/ViewAppointmentController.java @@ -0,0 +1,43 @@ +package com.atguigu.lease.web.admin.controller.lease; + + +import com.atguigu.lease.common.result.Result; +import com.atguigu.lease.model.entity.ViewAppointment; +import com.atguigu.lease.model.enums.AppointmentStatus; +import com.atguigu.lease.web.admin.service.ViewAppointmentService; +import com.atguigu.lease.web.admin.vo.appointment.AppointmentQueryVo; +import com.atguigu.lease.web.admin.vo.appointment.AppointmentVo; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + + +@Tag(name = "预约看房管理") +@RequestMapping("/admin/appointment") +@RestController +public class ViewAppointmentController { +@Autowired +private ViewAppointmentService viewAppointmentService; + @Operation(summary = "分页查询预约信息") + @GetMapping("page") + public Result> page(@RequestParam long current, @RequestParam long size, AppointmentQueryVo queryVo) { + Page page = new Page<>(current, size); + IPage pageModel = + viewAppointmentService.selectAppointmentInfoPage(page, queryVo); + return Result.ok(pageModel); + } + + @Operation(summary = "根据id更新预约状态") + @PostMapping("updateStatusById") + public Result updateStatusById(@RequestParam Long id, @RequestParam AppointmentStatus status) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(ViewAppointment::getId, id); + viewAppointmentService.update(wrapper); + return Result.ok(); + } + +} diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/controller/login/LoginController.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/controller/login/LoginController.java new file mode 100644 index 0000000..40cb509 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/controller/login/LoginController.java @@ -0,0 +1,54 @@ +package com.atguigu.lease.web.admin.controller.login; + + +import com.atguigu.lease.common.result.Result; +import com.atguigu.lease.common.utils.LoginUser; +import com.atguigu.lease.common.utils.LoginUserContext; +import com.atguigu.lease.web.admin.service.LoginService; +import com.atguigu.lease.web.admin.vo.login.CaptchaVo; +import com.atguigu.lease.web.admin.vo.login.LoginVo; +import com.atguigu.lease.web.admin.vo.system.user.SystemUserInfoVo; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +@Tag(name = "后台管理系统登录管理") +@RestController +@RequestMapping("/admin") +public class LoginController { +@Autowired +private LoginService loginService; + @Operation(summary = "获取图形验证码") + @GetMapping("login/captcha") + public Result getCaptcha() { + CaptchaVo captchaVo = loginService.getCaptcha(); + return Result.ok(captchaVo); + } + + @Operation(summary = "登录") + @PostMapping("login") + public Result login(@RequestBody LoginVo loginVo) { + String token = loginService.login(loginVo); + return Result.ok(token); + } + + @Operation(summary = "获取登陆用户个人信息") + @GetMapping("info") + public Result info() { + //1 从请求头,获取当前登录用户id + // 用户id在请求头token里面 + //String token = request.getHeader("access-token"); + // 解析token 使用jwt + //Claims claims = JwtUtil.parseToken(token); + //Long userId = claims.get("userId",Long.class); + + //直接从ThreadLocal获取userId + LoginUser loginUser = LoginUserContext.getLoginUser(); + Long userId = loginUser.getUserId(); + + //TODO 2 根据用户id查询数据库表获取用户信息 + SystemUserInfoVo user = loginService.getSystemUserInfoById(LoginUserContext.getLoginUser().getUserId()); + return Result.ok(user); + } +} \ No newline at end of file diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/controller/system/SystemPostController.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/controller/system/SystemPostController.java new file mode 100644 index 0000000..4110252 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/controller/system/SystemPostController.java @@ -0,0 +1,75 @@ +package com.atguigu.lease.web.admin.controller.system; + +import com.atguigu.lease.common.result.Result; +import com.atguigu.lease.model.entity.SystemPost; +import com.atguigu.lease.model.enums.BaseStatus; +import com.atguigu.lease.web.admin.service.SystemPostService; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + + +@RestController +@Tag(name = "后台用户岗位管理") +@RequestMapping("/admin/system/post") +public class SystemPostController { +@Autowired +private SystemPostService systemPostService; + @Operation(summary = "分页获取岗位信息") + @GetMapping("page") + private Result> page(@RequestParam long current, @RequestParam long size) { + Page page = new Page<>(current, size); + IPage pageModel = systemPostService.page(page); + return Result.ok(pageModel); + } + + @Operation(summary = "保存或更新岗位信息") + @PostMapping("saveOrUpdate") + public Result saveOrUpdate(@RequestBody SystemPost systemPost) { + systemPostService.saveOrUpdate(systemPost); + return Result.ok(); + } + + @DeleteMapping("deleteById") + @Operation(summary = "根据id删除岗位") + public Result removeById(@RequestParam Long id) { + + boolean b = systemPostService.removeById(id); + if(b){ + return Result.ok(); + }else { + return Result.fail(); + } + + } + + @GetMapping("getById") + @Operation(summary = "根据id获取岗位信息") + public Result getById(@RequestParam Long id) { + SystemPost byId = systemPostService.getById(id); + return Result.ok(byId); + } + + @Operation(summary = "获取全部岗位列表") + @GetMapping("list") + public Result> list() { + List list = systemPostService.list(); + return Result.ok(list); + } + + @Operation(summary = "根据岗位id修改状态") + @PostMapping("updateStatusByPostId") + public Result updateStatusByPostId(@RequestParam Long id, @RequestParam BaseStatus status) { + LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper<>(); + wrapper.eq(SystemPost::getId, id); + wrapper.set(SystemPost::getStatus, status); + systemPostService.update(wrapper); + return Result.ok(); + } +} diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/controller/system/SystemUserController.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/controller/system/SystemUserController.java new file mode 100644 index 0000000..54bc29b --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/controller/system/SystemUserController.java @@ -0,0 +1,82 @@ +package com.atguigu.lease.web.admin.controller.system; + + +import com.atguigu.lease.common.result.Result; +import com.atguigu.lease.model.entity.SystemUser; +import com.atguigu.lease.model.enums.BaseStatus; +import com.atguigu.lease.web.admin.service.SystemUserService; +import com.atguigu.lease.web.admin.service.impl.SystemUserServiceImpl; +import com.atguigu.lease.web.admin.vo.system.user.SystemUserItemVo; +import com.atguigu.lease.web.admin.vo.system.user.SystemUserQueryVo; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.apache.commons.codec.digest.DigestUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + + +@Tag(name = "后台用户信息管理") +@RestController +@RequestMapping("/admin/system/user") +public class SystemUserController { + @Autowired + private SystemUserService systemUserService; + @Operation(summary = "根据条件分页查询后台用户列表") + @GetMapping("page") + public Result> page(@RequestParam long current, @RequestParam long size, SystemUserQueryVo queryVo) { + Page page = new Page<>(current,size); + IPage pageModel = systemUserService.selectPageSystemUser(page,queryVo); + return Result.ok(pageModel); + } + + @Operation(summary = "根据ID查询后台用户信息") + @GetMapping("getById") + public Result getById(@RequestParam Long id) { + SystemUserItemVo list = systemUserService.getUserById(id); + return Result.ok(list); + } + + @Operation(summary = "保存或更新后台用户信息") + @PostMapping("saveOrUpdate") + public Result saveOrUpdate(@RequestBody SystemUser systemUser) { + if (systemUser.getId() == null){ + systemUser.setPassword(DigestUtils.md5Hex(systemUser.getPassword())); + } + systemUserService.saveOrUpdate(systemUser); + return Result.ok(); + } + + @Operation(summary = "判断后台用户名是否可用") + @GetMapping("isUserNameAvailable") + public Result isUsernameExists(@RequestParam String username) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(SystemUser::getUsername,username); + long count = systemUserService.count(wrapper); + if(count==0){ + return Result.ok(); + }else { + return Result.fail(); + } + } + + @DeleteMapping("deleteById") + @Operation(summary = "根据ID删除后台用户信息") + public Result removeById(@RequestParam Long id) { + systemUserService.removeById(id); + return Result.ok(); + } + + @Operation(summary = "根据ID修改后台用户状态") + @PostMapping("updateStatusByUserId") + public Result updateStatusByUserId(@RequestParam Long id, @RequestParam BaseStatus status) { + LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper<>(); + wrapper.eq(SystemUser::getId, id); + wrapper.set(SystemUser::getStatus, status); + systemUserService.update(wrapper); + return Result.ok(); + } +} diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/controller/user/UserInfoController.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/controller/user/UserInfoController.java new file mode 100644 index 0000000..6fe3d59 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/controller/user/UserInfoController.java @@ -0,0 +1,62 @@ +package com.atguigu.lease.web.admin.controller.user; + + +import com.atguigu.lease.common.result.Result; +import com.atguigu.lease.model.entity.UserInfo; +import com.atguigu.lease.model.enums.BaseStatus; +import com.atguigu.lease.web.admin.service.UserInfoService; +import com.atguigu.lease.web.admin.vo.user.UserInfoQueryVo; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.StringUtils; +import org.springframework.web.bind.annotation.*; + +@Tag(name = "用户信息管理") +@RestController +@RequestMapping("/admin/user") +public class UserInfoController { +@Autowired +private UserInfoService userInfoService; + @Operation(summary = "分页查询用户信息") + @GetMapping("page") + public Result> pageUserInfo(@RequestParam long current, @RequestParam long size, UserInfoQueryVo queryVo) { + Page pageParam = new Page<>(current,size); + //封装条件 + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + + //wrapper.like(queryVo.getPhone() != null, UserInfo::getPhone, queryVo.getPhone()); + + //if(!StringUtils.isEmpty(queryVo.getPhone())) { + //} + + if(StringUtils.hasText(queryVo.getPhone())) { + wrapper.eq(UserInfo::getPhone,queryVo.getPhone()); + } + if(queryVo.getStatus() != null){ + wrapper.eq(UserInfo::getStatus,queryVo.getStatus()); + } + + IPage pageModel = userInfoService.page(pageParam, wrapper); + + return Result.ok(pageModel); + } + + @Operation(summary = "根据用户id更新账号状态") + @PostMapping("updateStatusById") + public Result updateStatusById(@RequestParam Long id, @RequestParam BaseStatus status) { + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(UserInfo::getId, id); + + updateWrapper.set(UserInfo::getStatus, status); + + userInfoService.update(updateWrapper); + return Result.ok(); + + + } +} diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/custom/converter/StringToBaseEnumConverterFactory.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/custom/converter/StringToBaseEnumConverterFactory.java new file mode 100644 index 0000000..1ccfb8e --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/custom/converter/StringToBaseEnumConverterFactory.java @@ -0,0 +1,26 @@ +package com.atguigu.lease.web.admin.custom.converter; + +import com.atguigu.lease.model.enums.BaseEnum; +import org.springframework.core.convert.converter.Converter; +import org.springframework.core.convert.converter.ConverterFactory; +import org.springframework.stereotype.Component; + +@Component +public class StringToBaseEnumConverterFactory implements ConverterFactory { + + @Override + public Converter getConverter(Class targetType) { + return new Converter() { + @Override + public T convert(String source) { + //Class.getEnumConstants() 方法是 Java 反射 API 中的一个方法,用于获取表示枚举类型的 Class 对象中所有枚举常量的数组 + for (T enumConstant : targetType.getEnumConstants()) { + if (enumConstant.getCode().equals(Integer.valueOf(source))) { + return enumConstant; + } + } + throw new IllegalArgumentException("非法的枚举值:" + source); + } + }; + } +} diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/custom/converter/WebMvcConfiguration.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/custom/converter/WebMvcConfiguration.java new file mode 100644 index 0000000..aaac622 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/custom/converter/WebMvcConfiguration.java @@ -0,0 +1,18 @@ +package com.atguigu.lease.web.admin.custom.converter; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Configuration; +import org.springframework.format.FormatterRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; + +@Configuration +public class WebMvcConfiguration implements WebMvcConfigurer { + + @Autowired + private StringToBaseEnumConverterFactory stringToBaseEnumConverterFactory; + + @Override + public void addFormatters(FormatterRegistry registry) { + registry.addConverterFactory(this.stringToBaseEnumConverterFactory); + } +} diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/interceptor/AuthenticationInterceptor.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/interceptor/AuthenticationInterceptor.java new file mode 100644 index 0000000..d342a14 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/interceptor/AuthenticationInterceptor.java @@ -0,0 +1,52 @@ +package com.atguigu.lease.web.admin.interceptor; + +import com.atguigu.lease.common.utils.JwtUtil; +import com.atguigu.lease.common.utils.LoginUser; +import com.atguigu.lease.common.utils.LoginUserContext; +import io.jsonwebtoken.Claims; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; +import org.springframework.lang.Nullable; +import org.springframework.stereotype.Component; +import org.springframework.web.servlet.HandlerInterceptor; + +@Component +public class AuthenticationInterceptor implements HandlerInterceptor { + + //之前执行 + @Override + public boolean preHandle(HttpServletRequest request, + HttpServletResponse response, + Object handler) throws Exception { + //进行是否登录判断 + //1 获取请求头token access-token和前端一致 + String token = request.getHeader("access-token"); + + //String token = "abdcds"; + //String token = "eyJhbGciOiJIUzI1NiIsInppcCI6IkdaSVAifQ.H4sIAAAAAAAA_6tWKi5NUrJSCg12DYr39HPzV9JRSq0oULIyNDexMLWwNDEx1FEqLU4t8kxRsrKEMPMSc1OBWnJKkyuVagENPxd4QQAAAA.a1GC3ew6N35MURDSHjDUUcD05M7BLJS8-jBS1ovOwHM"; + + //2 判断token是否为空,如果空,提示用户 + if(token == null) { + throw new RuntimeException(); + } else { //3 如果不为空,解析token + Claims claims = JwtUtil.parseToken(token); + Long userId = claims.get("userId",Long.class); + String username = claims.get("username", String.class); + //TODO 解析token成功之后,根据userId查询数据库,用户是否正常 + + //把userId放到ThreadLocal里面 + LoginUser loginUser = new LoginUser(); + loginUser.setUserId(userId); + loginUser.setUsername(username); + LoginUserContext.setLoginUser(loginUser); + } + return true; + } + + //清除ThreadLocal值,防止内存泄漏 + @Override + public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, @Nullable Exception ex) throws Exception { + LoginUserContext.clear(); + } + +} \ No newline at end of file diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/interceptor/LoginWebMvcConfigurer.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/interceptor/LoginWebMvcConfigurer.java new file mode 100644 index 0000000..5d6cc6c --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/interceptor/LoginWebMvcConfigurer.java @@ -0,0 +1,20 @@ +package com.atguigu.lease.web.admin.interceptor; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.servlet.config.annotation.InterceptorRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; + +@Configuration +public class LoginWebMvcConfigurer implements WebMvcConfigurer { + + @Autowired + private AuthenticationInterceptor authenticationInterceptor; + + @Override + public void addInterceptors(InterceptorRegistry registry) { + registry.addInterceptor(authenticationInterceptor) + .addPathPatterns("/admin/**") + .excludePathPatterns("/admin/login/**"); + } +} \ No newline at end of file diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/ApartmentFacilityMapper.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/ApartmentFacilityMapper.java new file mode 100644 index 0000000..b9a3e54 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/ApartmentFacilityMapper.java @@ -0,0 +1,18 @@ +package com.atguigu.lease.web.admin.mapper; + +import com.atguigu.lease.model.entity.ApartmentFacility; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** +* @author liubo +* @description 针对表【apartment_facility(公寓&配套关联表)】的数据库操作Mapper +* @createDate 2023-07-24 15:48:00 +* @Entity com.atguigu.lease.model.ApartmentFacility +*/ +public interface ApartmentFacilityMapper extends BaseMapper { + +} + + + + diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/ApartmentFeeValueMapper.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/ApartmentFeeValueMapper.java new file mode 100644 index 0000000..95db25b --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/ApartmentFeeValueMapper.java @@ -0,0 +1,18 @@ +package com.atguigu.lease.web.admin.mapper; + +import com.atguigu.lease.model.entity.ApartmentFeeValue; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** +* @author liubo +* @description 针对表【apartment_fee_value(公寓&杂费关联表)】的数据库操作Mapper +* @createDate 2023-07-24 15:48:00 +* @Entity com.atguigu.lease.model.ApartmentFeeValue +*/ +public interface ApartmentFeeValueMapper extends BaseMapper { + +} + + + + diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/ApartmentInfoMapper.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/ApartmentInfoMapper.java new file mode 100644 index 0000000..4dd5d0f --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/ApartmentInfoMapper.java @@ -0,0 +1,26 @@ +package com.atguigu.lease.web.admin.mapper; + +import com.atguigu.lease.model.entity.ApartmentInfo; +import com.atguigu.lease.web.admin.vo.apartment.ApartmentItemVo; +import com.atguigu.lease.web.admin.vo.apartment.ApartmentQueryVo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.springframework.stereotype.Repository; + +/** +* @author liubo +* @description 针对表【apartment_info(公寓信息表)】的数据库操作Mapper +* @createDate 2023-07-24 15:48:00 +* @Entity com.atguigu.lease.model.ApartmentInfo +*/ +@Repository +public interface ApartmentInfoMapper extends BaseMapper { + + + IPage selectApartmentInfoPage(Page page, ApartmentQueryVo queryVo); +} + + + + diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/ApartmentLabelMapper.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/ApartmentLabelMapper.java new file mode 100644 index 0000000..c477a48 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/ApartmentLabelMapper.java @@ -0,0 +1,18 @@ +package com.atguigu.lease.web.admin.mapper; + +import com.atguigu.lease.model.entity.ApartmentLabel; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** +* @author liubo +* @description 针对表【apartment_label(公寓标签关联表)】的数据库操作Mapper +* @createDate 2023-07-24 15:48:00 +* @Entity com.atguigu.lease.model.ApartmentLabel +*/ +public interface ApartmentLabelMapper extends BaseMapper { + +} + + + + diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/AttrKeyMapper.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/AttrKeyMapper.java new file mode 100644 index 0000000..d347f80 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/AttrKeyMapper.java @@ -0,0 +1,24 @@ +package com.atguigu.lease.web.admin.mapper; + +import com.atguigu.lease.model.entity.AttrKey; +import com.atguigu.lease.web.admin.vo.attr.AttrKeyVo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** +* @author liubo +* @description 针对表【attr_key(房间基本属性表)】的数据库操作Mapper +* @createDate 2023-07-24 15:48:00 +* @Entity com.atguigu.lease.model.AttrKey +*/ +@Repository +public interface AttrKeyMapper extends BaseMapper { + + List listAttrInfo(); +} + + + + diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/AttrValueMapper.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/AttrValueMapper.java new file mode 100644 index 0000000..14bacb2 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/AttrValueMapper.java @@ -0,0 +1,24 @@ +package com.atguigu.lease.web.admin.mapper; + +import com.atguigu.lease.model.entity.AttrValue; +import com.atguigu.lease.web.admin.vo.attr.AttrValueVo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** +* @author liubo +* @description 针对表【attr_value(房间基本属性值表)】的数据库操作Mapper +* @createDate 2023-07-24 15:48:00 +* @Entity com.atguigu.lease.model.AttrValue +*/ +@Repository +public interface AttrValueMapper extends BaseMapper { + + List selectListByRoomId(Long id); +} + + + + diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/BrowsingHistoryMapper.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/BrowsingHistoryMapper.java new file mode 100644 index 0000000..a407f91 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/BrowsingHistoryMapper.java @@ -0,0 +1,18 @@ +package com.atguigu.lease.web.admin.mapper; + +import com.atguigu.lease.model.entity.BrowsingHistory; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** +* @author liubo +* @description 针对表【browsing_history(浏览历史)】的数据库操作Mapper +* @createDate 2023-07-24 15:48:00 +* @Entity com.atguigu.lease.model.BrowsingHistory +*/ +public interface BrowsingHistoryMapper extends BaseMapper { + +} + + + + diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/CityInfoMapper.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/CityInfoMapper.java new file mode 100644 index 0000000..3da96fd --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/CityInfoMapper.java @@ -0,0 +1,18 @@ +package com.atguigu.lease.web.admin.mapper; + +import com.atguigu.lease.model.entity.CityInfo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** +* @author liubo +* @description 针对表【city_info】的数据库操作Mapper +* @createDate 2023-07-24 15:48:00 +* @Entity com.atguigu.lease.model.CityInfo +*/ +public interface CityInfoMapper extends BaseMapper { + +} + + + + diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/DistrictInfoMapper.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/DistrictInfoMapper.java new file mode 100644 index 0000000..4f404df --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/DistrictInfoMapper.java @@ -0,0 +1,18 @@ +package com.atguigu.lease.web.admin.mapper; + +import com.atguigu.lease.model.entity.DistrictInfo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** +* @author liubo +* @description 针对表【district_info】的数据库操作Mapper +* @createDate 2023-07-24 15:48:00 +* @Entity com.atguigu.lease.model.DistrictInfo +*/ +public interface DistrictInfoMapper extends BaseMapper { + +} + + + + diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/FacilityInfoMapper.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/FacilityInfoMapper.java new file mode 100644 index 0000000..df54403 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/FacilityInfoMapper.java @@ -0,0 +1,25 @@ +package com.atguigu.lease.web.admin.mapper; + +import com.atguigu.lease.model.entity.FacilityInfo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** +* @author liubo +* @description 针对表【facility_info(配套信息表)】的数据库操作Mapper +* @createDate 2023-07-24 15:48:00 +* @Entity com.atguigu.lease.model.FacilityInfo +*/ +@Repository +public interface FacilityInfoMapper extends BaseMapper { + List findFacilityListByApartmentId(Long id); + + List findFacilityListByRoomId(Long id); +} + + + + + diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/FeeKeyMapper.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/FeeKeyMapper.java new file mode 100644 index 0000000..5134f09 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/FeeKeyMapper.java @@ -0,0 +1,23 @@ +package com.atguigu.lease.web.admin.mapper; + +import com.atguigu.lease.model.entity.FeeKey; +import com.atguigu.lease.web.admin.vo.fee.FeeKeyVo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** +* @author liubo +* @description 针对表【fee_key(杂项费用名称表)】的数据库操作Mapper +* @createDate 2023-07-24 15:48:00 +* @Entity com.atguigu.lease.model.FeeKey +*/ +@Repository +public interface FeeKeyMapper extends BaseMapper { + List saveOrUpdateFeeKey(); +} + + + + diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/FeeValueMapper.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/FeeValueMapper.java new file mode 100644 index 0000000..7874d7e --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/FeeValueMapper.java @@ -0,0 +1,24 @@ +package com.atguigu.lease.web.admin.mapper; + +import com.atguigu.lease.model.entity.FeeValue; +import com.atguigu.lease.web.admin.vo.fee.FeeValueVo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** +* @author liubo +* @description 针对表【fee_value(杂项费用值表)】的数据库操作Mapper +* @createDate 2023-07-24 15:48:00 +* @Entity com.atguigu.lease.model.FeeValue +*/ +@Repository +public interface FeeValueMapper extends BaseMapper { + List findLabelListByApartmentId(Long id); + +} + + + + diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/GraphInfoMapper.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/GraphInfoMapper.java new file mode 100644 index 0000000..d4b8fd9 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/GraphInfoMapper.java @@ -0,0 +1,29 @@ +package com.atguigu.lease.web.admin.mapper; + +import com.atguigu.lease.model.entity.GraphInfo; +import com.atguigu.lease.model.enums.ItemType; +import com.atguigu.lease.web.admin.vo.graph.GraphVo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** +* @author liubo +* @description 针对表【graph_info(图片信息表)】的数据库操作Mapper +* @createDate 2023-07-24 15:48:00 +* @Entity com.atguigu.lease.model.GraphInfo +*/ +@Repository +public interface GraphInfoMapper extends BaseMapper { + List selectGraphListByApartmentId(@Param("itemType") ItemType itemType, + @Param("itemId") Long itemId); + + List selectGraphListByRoomId(@Param("itemType")ItemType itemType, + @Param("itemId") Long itemId); +} + + + + diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/LabelInfoMapper.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/LabelInfoMapper.java new file mode 100644 index 0000000..6c52582 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/LabelInfoMapper.java @@ -0,0 +1,26 @@ +package com.atguigu.lease.web.admin.mapper; + +import com.atguigu.lease.model.entity.LabelInfo; +import com.atguigu.lease.model.enums.ItemType; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** +* @author liubo +* @description 针对表【label_info(标签信息表)】的数据库操作Mapper +* @createDate 2023-07-24 15:48:00 +* @Entity com.atguigu.lease.model.LabelInfo +*/ +@Repository +public interface LabelInfoMapper extends BaseMapper { + List findLabelListByApartmentId(Long id); + + List selectListByRoomId(Long id); +} + + + + + diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/LeaseAgreementMapper.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/LeaseAgreementMapper.java new file mode 100644 index 0000000..6011bad --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/LeaseAgreementMapper.java @@ -0,0 +1,25 @@ +package com.atguigu.lease.web.admin.mapper; + +import com.atguigu.lease.model.entity.LeaseAgreement; +import com.atguigu.lease.web.admin.vo.agreement.AgreementQueryVo; +import com.atguigu.lease.web.admin.vo.agreement.AgreementVo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.springframework.stereotype.Repository; + +/** +* @author liubo +* @description 针对表【lease_agreement(租约信息表)】的数据库操作Mapper +* @createDate 2023-07-24 15:48:00 +* @Entity com.atguigu.lease.model.LeaseAgreement +*/ +@Repository +public interface LeaseAgreementMapper extends BaseMapper { + + IPage selectPageAgreement(Page page, AgreementQueryVo queryVo); +} + + + + diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/LeaseTermMapper.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/LeaseTermMapper.java new file mode 100644 index 0000000..763e249 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/LeaseTermMapper.java @@ -0,0 +1,24 @@ +package com.atguigu.lease.web.admin.mapper; + +import com.atguigu.lease.model.entity.LeaseTerm; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** +* @author liubo +* @description 针对表【lease_term(租期)】的数据库操作Mapper +* @createDate 2023-07-24 15:48:00 +* @Entity com.atguigu.lease.model.LeaseTerm +*/ +@Repository +public interface LeaseTermMapper extends BaseMapper { + + List selectListByRoomId(Long id); +} + + + + + diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/PaymentTypeMapper.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/PaymentTypeMapper.java new file mode 100644 index 0000000..af35e3c --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/PaymentTypeMapper.java @@ -0,0 +1,24 @@ +package com.atguigu.lease.web.admin.mapper; + +import com.atguigu.lease.model.entity.PaymentType; +import com.atguigu.lease.model.entity.RoomPaymentType; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + * @author liubo + * @description 针对表【payment_type(支付方式表)】的数据库操作Mapper + * @createDate 2023-07-24 15:48:00 + * @Entity com.atguigu.lease.model.PaymentType + */ +@Repository +public interface PaymentTypeMapper extends BaseMapper { + + List selectListByRoomId(Long id); +} + + + + diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/ProvinceInfoMapper.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/ProvinceInfoMapper.java new file mode 100644 index 0000000..20d8c46 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/ProvinceInfoMapper.java @@ -0,0 +1,18 @@ +package com.atguigu.lease.web.admin.mapper; + +import com.atguigu.lease.model.entity.ProvinceInfo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** +* @author liubo +* @description 针对表【province_info】的数据库操作Mapper +* @createDate 2023-07-24 15:48:00 +* @Entity com.atguigu.lease.model.ProvinceInfo +*/ +public interface ProvinceInfoMapper extends BaseMapper { + +} + + + + diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/RoomAttrValueMapper.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/RoomAttrValueMapper.java new file mode 100644 index 0000000..b905b0e --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/RoomAttrValueMapper.java @@ -0,0 +1,18 @@ +package com.atguigu.lease.web.admin.mapper; + +import com.atguigu.lease.model.entity.RoomAttrValue; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** +* @author liubo +* @description 针对表【room_attr_value(房间&基本属性值关联表)】的数据库操作Mapper +* @createDate 2023-07-24 15:48:00 +* @Entity com.atguigu.lease.model.RoomAttrValue +*/ +public interface RoomAttrValueMapper extends BaseMapper { + +} + + + + diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/RoomFacilityMapper.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/RoomFacilityMapper.java new file mode 100644 index 0000000..39651cf --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/RoomFacilityMapper.java @@ -0,0 +1,20 @@ +package com.atguigu.lease.web.admin.mapper; + +import com.atguigu.lease.model.entity.RoomFacility; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.springframework.stereotype.Repository; + +/** +* @author liubo +* @description 针对表【room_facility(房间&配套关联表)】的数据库操作Mapper +* @createDate 2023-07-24 15:48:00 +* @Entity com.atguigu.lease.model.RoomFacility +*/ +@Repository +public interface RoomFacilityMapper extends BaseMapper { + +} + + + + diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/RoomInfoMapper.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/RoomInfoMapper.java new file mode 100644 index 0000000..60adfe6 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/RoomInfoMapper.java @@ -0,0 +1,29 @@ +package com.atguigu.lease.web.admin.mapper; + +import com.atguigu.lease.model.entity.RoomInfo; +import com.atguigu.lease.web.admin.vo.room.RoomDetailVo; +import com.atguigu.lease.web.admin.vo.room.RoomItemVo; +import com.atguigu.lease.web.admin.vo.room.RoomQueryVo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.springframework.stereotype.Repository; + +/** +* @author liubo +* @description 针对表【room_info(房间信息表)】的数据库操作Mapper +* @createDate 2023-07-24 15:48:00 +* @Entity com.atguigu.lease.model.RoomInfo +*/ +@Repository +public interface RoomInfoMapper extends BaseMapper { + + IPage selectRoomInfoPage(Page page, RoomQueryVo queryVo); + Long countRoomMany(); + + +} + + + + diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/RoomLabelMapper.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/RoomLabelMapper.java new file mode 100644 index 0000000..f512b39 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/RoomLabelMapper.java @@ -0,0 +1,18 @@ +package com.atguigu.lease.web.admin.mapper; + +import com.atguigu.lease.model.entity.RoomLabel; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** +* @author liubo +* @description 针对表【room_label(房间&标签关联表)】的数据库操作Mapper +* @createDate 2023-07-24 15:48:00 +* @Entity com.atguigu.lease.model.RoomLabel +*/ +public interface RoomLabelMapper extends BaseMapper { + +} + + + + diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/RoomLeaseTermMapper.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/RoomLeaseTermMapper.java new file mode 100644 index 0000000..0dc4a59 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/RoomLeaseTermMapper.java @@ -0,0 +1,18 @@ +package com.atguigu.lease.web.admin.mapper; + +import com.atguigu.lease.model.entity.RoomLeaseTerm; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** +* @author liubo +* @description 针对表【room_lease_term(房间租期管理表)】的数据库操作Mapper +* @createDate 2023-07-24 15:48:00 +* @Entity com.atguigu.lease.model.RoomLeaseTerm +*/ +public interface RoomLeaseTermMapper extends BaseMapper { + +} + + + + diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/RoomPaymentTypeMapper.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/RoomPaymentTypeMapper.java new file mode 100644 index 0000000..8f6bd12 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/RoomPaymentTypeMapper.java @@ -0,0 +1,18 @@ +package com.atguigu.lease.web.admin.mapper; + +import com.atguigu.lease.model.entity.RoomPaymentType; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** +* @author liubo +* @description 针对表【room_payment_type(房间&支付方式关联表)】的数据库操作Mapper +* @createDate 2023-07-24 15:48:00 +* @Entity com.atguigu.lease.model.RoomPaymentType +*/ +public interface RoomPaymentTypeMapper extends BaseMapper { + +} + + + + diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/SystemPostMapper.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/SystemPostMapper.java new file mode 100644 index 0000000..71ddddf --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/SystemPostMapper.java @@ -0,0 +1,18 @@ +package com.atguigu.lease.web.admin.mapper; + +import com.atguigu.lease.model.entity.SystemPost; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** +* @author liubo +* @description 针对表【system_post(岗位信息表)】的数据库操作Mapper +* @createDate 2023-07-24 15:48:00 +* @Entity com.atguigu.lease.model.SystemPost +*/ +public interface SystemPostMapper extends BaseMapper { + +} + + + + diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/SystemUserMapper.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/SystemUserMapper.java new file mode 100644 index 0000000..cf69aea --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/SystemUserMapper.java @@ -0,0 +1,27 @@ +package com.atguigu.lease.web.admin.mapper; + +import com.atguigu.lease.model.entity.SystemUser; +import com.atguigu.lease.web.admin.vo.system.user.SystemUserItemVo; +import com.atguigu.lease.web.admin.vo.system.user.SystemUserQueryVo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Repository; + +/** +* @author liubo +* @description 针对表【system_user(员工信息表)】的数据库操作Mapper +* @createDate 2023-07-24 15:48:00 +* @Entity com.atguigu.lease.model.SystemUser +*/ +@Repository +public interface SystemUserMapper extends BaseMapper { + + IPage selectPageSystemUser(Page page, SystemUserQueryVo queryVo); + +} + + + + diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/UserInfoMapper.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/UserInfoMapper.java new file mode 100644 index 0000000..2e66b4f --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/UserInfoMapper.java @@ -0,0 +1,24 @@ +package com.atguigu.lease.web.admin.mapper; + +import com.atguigu.lease.model.entity.UserInfo; +import com.atguigu.lease.web.admin.vo.user.UserInfoQueryVo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.springframework.stereotype.Repository; + +/** +* @author liubo +* @description 针对表【user_info(用户信息表)】的数据库操作Mapper +* @createDate 2023-07-24 15:48:00 +* @Entity com.atguigu.lease.model.UserInfo +*/ +@Repository +public interface UserInfoMapper extends BaseMapper { + + IPage selectPageUserInfo(Page page, UserInfoQueryVo queryVo); +} + + + + diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/ViewAppointmentMapper.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/ViewAppointmentMapper.java new file mode 100644 index 0000000..6837011 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/mapper/ViewAppointmentMapper.java @@ -0,0 +1,26 @@ +package com.atguigu.lease.web.admin.mapper; + +import com.atguigu.lease.model.entity.ViewAppointment; +import com.atguigu.lease.web.admin.vo.appointment.AppointmentQueryVo; +import com.atguigu.lease.web.admin.vo.appointment.AppointmentVo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Repository; + +/** +* @author liubo +* @description 针对表【view_appointment(预约看房信息表)】的数据库操作Mapper +* @createDate 2023-07-24 15:48:00 +* @Entity com.atguigu.lease.model.ViewAppointment +*/ +@Repository +public interface ViewAppointmentMapper extends BaseMapper { + + IPage selectAppointmentInfoPage(Page page, AppointmentQueryVo queryVo); +} + + + + diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/schedule/ScheduleTask.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/schedule/ScheduleTask.java new file mode 100644 index 0000000..33dab5c --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/schedule/ScheduleTask.java @@ -0,0 +1,44 @@ +package com.atguigu.lease.web.admin.schedule; + +import com.atguigu.lease.model.entity.LeaseAgreement; +import com.atguigu.lease.model.enums.LeaseStatus; +import com.atguigu.lease.web.admin.service.LeaseAgreementService; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; + +import java.util.Date; + +@Component +public class ScheduleTask { + + //每隔5秒执行一次 + //注解+cron表达式 +// @Scheduled(cron = "0/5 * * * * ?") +// public void test1() { +// System.out.println(new Date().toLocaleString()); +// } + + @Autowired + private LeaseAgreementService leaseAgreementService; + + //每天晚上八点,查询哪些出租过期了,更新租约状态 + @Scheduled(cron = "0 0 20 * * ? ") + public void updateLeaseStatus() { + //update lease_agreement la set la.status=4 + //where la.lease_end_date wrapper = new LambdaUpdateWrapper<>(); + //设置修改条件 la.lease_end_date { + +} diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/ApartmentFeeValueService.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/ApartmentFeeValueService.java new file mode 100644 index 0000000..cc67a19 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/ApartmentFeeValueService.java @@ -0,0 +1,13 @@ +package com.atguigu.lease.web.admin.service; + +import com.atguigu.lease.model.entity.ApartmentFeeValue; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author liubo +* @description 针对表【apartment_fee_value(公寓&杂费关联表)】的数据库操作Service +* @createDate 2023-07-24 15:48:00 +*/ +public interface ApartmentFeeValueService extends IService { + +} diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/ApartmentInfoService.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/ApartmentInfoService.java new file mode 100644 index 0000000..ae997c8 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/ApartmentInfoService.java @@ -0,0 +1,26 @@ +package com.atguigu.lease.web.admin.service; + +import com.atguigu.lease.model.entity.ApartmentInfo; +import com.atguigu.lease.web.admin.vo.apartment.ApartmentDetailVo; +import com.atguigu.lease.web.admin.vo.apartment.ApartmentItemVo; +import com.atguigu.lease.web.admin.vo.apartment.ApartmentQueryVo; +import com.atguigu.lease.web.admin.vo.apartment.ApartmentSubmitVo; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author liubo +* @description 针对表【apartment_info(公寓信息表)】的数据库操作Service +* @createDate 2023-07-24 15:48:00 +*/ +public interface ApartmentInfoService extends IService { + + void saveOrUpdateApartment(ApartmentSubmitVo apartmentSubmitVo); + + ApartmentDetailVo getDetailById(Long id); + + IPage selectApartmentInfoPage(Page page, ApartmentQueryVo queryVo); + + void removeApartmentById(Long id); +} diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/ApartmentLabelService.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/ApartmentLabelService.java new file mode 100644 index 0000000..64665e8 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/ApartmentLabelService.java @@ -0,0 +1,13 @@ +package com.atguigu.lease.web.admin.service; + +import com.atguigu.lease.model.entity.ApartmentLabel; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author liubo +* @description 针对表【apartment_label(公寓标签关联表)】的数据库操作Service +* @createDate 2023-07-24 15:48:00 +*/ +public interface ApartmentLabelService extends IService { + +} diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/AttrKeyService.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/AttrKeyService.java new file mode 100644 index 0000000..2598c5a --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/AttrKeyService.java @@ -0,0 +1,17 @@ +package com.atguigu.lease.web.admin.service; + +import com.atguigu.lease.model.entity.AttrKey; +import com.atguigu.lease.web.admin.vo.attr.AttrKeyVo; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** +* @author liubo +* @description 针对表【attr_key(房间基本属性表)】的数据库操作Service +* @createDate 2023-07-24 15:48:00 +*/ +public interface AttrKeyService extends IService { + + List listAttrInfo(); +} diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/AttrValueService.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/AttrValueService.java new file mode 100644 index 0000000..45fc392 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/AttrValueService.java @@ -0,0 +1,13 @@ +package com.atguigu.lease.web.admin.service; + +import com.atguigu.lease.model.entity.AttrValue; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author liubo +* @description 针对表【attr_value(房间基本属性值表)】的数据库操作Service +* @createDate 2023-07-24 15:48:00 +*/ +public interface AttrValueService extends IService { + +} diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/BrowsingHistoryService.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/BrowsingHistoryService.java new file mode 100644 index 0000000..6ab839e --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/BrowsingHistoryService.java @@ -0,0 +1,13 @@ +package com.atguigu.lease.web.admin.service; + +import com.atguigu.lease.model.entity.BrowsingHistory; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author liubo +* @description 针对表【browsing_history(浏览历史)】的数据库操作Service +* @createDate 2023-07-24 15:48:00 +*/ +public interface BrowsingHistoryService extends IService { + +} diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/CityInfoService.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/CityInfoService.java new file mode 100644 index 0000000..b1d10d5 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/CityInfoService.java @@ -0,0 +1,13 @@ +package com.atguigu.lease.web.admin.service; + +import com.atguigu.lease.model.entity.CityInfo; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author liubo +* @description 针对表【city_info】的数据库操作Service +* @createDate 2023-07-24 15:48:00 +*/ +public interface CityInfoService extends IService { + +} diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/DistrictInfoService.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/DistrictInfoService.java new file mode 100644 index 0000000..992d065 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/DistrictInfoService.java @@ -0,0 +1,13 @@ +package com.atguigu.lease.web.admin.service; + +import com.atguigu.lease.model.entity.DistrictInfo; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author liubo +* @description 针对表【district_info】的数据库操作Service +* @createDate 2023-07-24 15:48:00 +*/ +public interface DistrictInfoService extends IService { + +} diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/FacilityInfoService.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/FacilityInfoService.java new file mode 100644 index 0000000..0f18e98 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/FacilityInfoService.java @@ -0,0 +1,13 @@ +package com.atguigu.lease.web.admin.service; + +import com.atguigu.lease.model.entity.FacilityInfo; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author liubo +* @description 针对表【facility_info(配套信息表)】的数据库操作Service +* @createDate 2023-07-24 15:48:00 +*/ +public interface FacilityInfoService extends IService { + +} diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/FeeKeyService.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/FeeKeyService.java new file mode 100644 index 0000000..908fa8e --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/FeeKeyService.java @@ -0,0 +1,16 @@ +package com.atguigu.lease.web.admin.service; + +import com.atguigu.lease.model.entity.FeeKey; +import com.atguigu.lease.web.admin.vo.fee.FeeKeyVo; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** +* @author liubo +* @description 针对表【fee_key(杂项费用名称表)】的数据库操作Service +* @createDate 2023-07-24 15:48:00 +*/ +public interface FeeKeyService extends IService { + List saveOrUpdateFeeKey(); +} diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/FeeValueService.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/FeeValueService.java new file mode 100644 index 0000000..cc848cd --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/FeeValueService.java @@ -0,0 +1,13 @@ +package com.atguigu.lease.web.admin.service; + +import com.atguigu.lease.model.entity.FeeValue; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author liubo +* @description 针对表【fee_value(杂项费用值表)】的数据库操作Service +* @createDate 2023-07-24 15:48:00 +*/ +public interface FeeValueService extends IService { + +} diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/FileService.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/FileService.java new file mode 100644 index 0000000..a358b57 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/FileService.java @@ -0,0 +1,8 @@ +package com.atguigu.lease.web.admin.service; + +import org.springframework.web.multipart.MultipartFile; + +public interface FileService { + + String upload(MultipartFile file); +} diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/GraphInfoService.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/GraphInfoService.java new file mode 100644 index 0000000..71781c4 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/GraphInfoService.java @@ -0,0 +1,13 @@ +package com.atguigu.lease.web.admin.service; + +import com.atguigu.lease.model.entity.GraphInfo; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author liubo +* @description 针对表【graph_info(图片信息表)】的数据库操作Service +* @createDate 2023-07-24 15:48:00 +*/ +public interface GraphInfoService extends IService { + +} diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/LabelInfoService.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/LabelInfoService.java new file mode 100644 index 0000000..758a455 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/LabelInfoService.java @@ -0,0 +1,13 @@ +package com.atguigu.lease.web.admin.service; + +import com.atguigu.lease.model.entity.LabelInfo; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author liubo +* @description 针对表【label_info(标签信息表)】的数据库操作Service +* @createDate 2023-07-24 15:48:00 +*/ +public interface LabelInfoService extends IService { + +} diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/LeaseAgreementService.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/LeaseAgreementService.java new file mode 100644 index 0000000..0954e03 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/LeaseAgreementService.java @@ -0,0 +1,20 @@ +package com.atguigu.lease.web.admin.service; + +import com.atguigu.lease.model.entity.LeaseAgreement; +import com.atguigu.lease.web.admin.vo.agreement.AgreementQueryVo; +import com.atguigu.lease.web.admin.vo.agreement.AgreementVo; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author liubo +* @description 针对表【lease_agreement(租约信息表)】的数据库操作Service +* @createDate 2023-07-24 15:48:00 +*/ +public interface LeaseAgreementService extends IService { + + IPage selectPageAgreement(Page page, AgreementQueryVo queryVo); + + AgreementVo getAgreement(Long id); +} diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/LeaseTermService.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/LeaseTermService.java new file mode 100644 index 0000000..ef5ec5c --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/LeaseTermService.java @@ -0,0 +1,13 @@ +package com.atguigu.lease.web.admin.service; + +import com.atguigu.lease.model.entity.LeaseTerm; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author liubo +* @description 针对表【lease_term(租期)】的数据库操作Service +* @createDate 2023-07-24 15:48:00 +*/ +public interface LeaseTermService extends IService { + +} diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/LoginService.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/LoginService.java new file mode 100644 index 0000000..46c1e78 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/LoginService.java @@ -0,0 +1,14 @@ +package com.atguigu.lease.web.admin.service; + +import com.atguigu.lease.web.admin.vo.login.CaptchaVo; +import com.atguigu.lease.web.admin.vo.login.LoginVo; +import com.atguigu.lease.web.admin.vo.system.user.SystemUserInfoVo; + +public interface LoginService { + + CaptchaVo getCaptcha(); + + String login(LoginVo loginVo); + + SystemUserInfoVo getSystemUserInfoById(Long userId); +} diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/PaymentTypeService.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/PaymentTypeService.java new file mode 100644 index 0000000..e77659c --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/PaymentTypeService.java @@ -0,0 +1,13 @@ +package com.atguigu.lease.web.admin.service; + +import com.atguigu.lease.model.entity.PaymentType; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author liubo +* @description 针对表【payment_type(支付方式表)】的数据库操作Service +* @createDate 2023-07-24 15:48:00 +*/ +public interface PaymentTypeService extends IService { + +} diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/ProvinceInfoService.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/ProvinceInfoService.java new file mode 100644 index 0000000..2f50d11 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/ProvinceInfoService.java @@ -0,0 +1,13 @@ +package com.atguigu.lease.web.admin.service; + +import com.atguigu.lease.model.entity.ProvinceInfo; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author liubo +* @description 针对表【province_info】的数据库操作Service +* @createDate 2023-07-24 15:48:00 +*/ +public interface ProvinceInfoService extends IService { + +} diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/RoomAttrValueService.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/RoomAttrValueService.java new file mode 100644 index 0000000..20c492c --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/RoomAttrValueService.java @@ -0,0 +1,13 @@ +package com.atguigu.lease.web.admin.service; + +import com.atguigu.lease.model.entity.RoomAttrValue; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author liubo +* @description 针对表【room_attr_value(房间&基本属性值关联表)】的数据库操作Service +* @createDate 2023-07-24 15:48:00 +*/ +public interface RoomAttrValueService extends IService { + +} diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/RoomFacilityService.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/RoomFacilityService.java new file mode 100644 index 0000000..d4242cf --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/RoomFacilityService.java @@ -0,0 +1,13 @@ +package com.atguigu.lease.web.admin.service; + +import com.atguigu.lease.model.entity.RoomFacility; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author liubo +* @description 针对表【room_facility(房间&配套关联表)】的数据库操作Service +* @createDate 2023-07-24 15:48:00 +*/ +public interface RoomFacilityService extends IService { + +} diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/RoomInfoService.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/RoomInfoService.java new file mode 100644 index 0000000..4caabc2 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/RoomInfoService.java @@ -0,0 +1,26 @@ +package com.atguigu.lease.web.admin.service; + +import com.atguigu.lease.model.entity.RoomInfo; +import com.atguigu.lease.web.admin.vo.room.RoomDetailVo; +import com.atguigu.lease.web.admin.vo.room.RoomItemVo; +import com.atguigu.lease.web.admin.vo.room.RoomQueryVo; +import com.atguigu.lease.web.admin.vo.room.RoomSubmitVo; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author liubo +* @description 针对表【room_info(房间信息表)】的数据库操作Service +* @createDate 2023-07-24 15:48:00 +*/ +public interface RoomInfoService extends IService { + + void saveOrUpdateRoomInfo(RoomSubmitVo roomSubmitVo); + + IPage selectRoomInfoPage(Page page, RoomQueryVo queryVo); + + RoomDetailVo getDetailById(Long id); + + void removeRoomById(Long id); +} diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/RoomLabelService.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/RoomLabelService.java new file mode 100644 index 0000000..bde24f8 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/RoomLabelService.java @@ -0,0 +1,13 @@ +package com.atguigu.lease.web.admin.service; + +import com.atguigu.lease.model.entity.RoomLabel; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author liubo +* @description 针对表【room_label(房间&标签关联表)】的数据库操作Service +* @createDate 2023-07-24 15:48:00 +*/ +public interface RoomLabelService extends IService { + +} diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/RoomLeaseTermService.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/RoomLeaseTermService.java new file mode 100644 index 0000000..79627d3 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/RoomLeaseTermService.java @@ -0,0 +1,13 @@ +package com.atguigu.lease.web.admin.service; + +import com.atguigu.lease.model.entity.RoomLeaseTerm; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author liubo +* @description 针对表【room_lease_term(房间租期管理表)】的数据库操作Service +* @createDate 2023-07-24 15:48:00 +*/ +public interface RoomLeaseTermService extends IService { + +} diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/RoomPaymentTypeService.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/RoomPaymentTypeService.java new file mode 100644 index 0000000..5e41076 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/RoomPaymentTypeService.java @@ -0,0 +1,13 @@ +package com.atguigu.lease.web.admin.service; + +import com.atguigu.lease.model.entity.RoomPaymentType; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author liubo +* @description 针对表【room_payment_type(房间&支付方式关联表)】的数据库操作Service +* @createDate 2023-07-24 15:48:00 +*/ +public interface RoomPaymentTypeService extends IService { + +} diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/SystemPostService.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/SystemPostService.java new file mode 100644 index 0000000..deddf2d --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/SystemPostService.java @@ -0,0 +1,13 @@ +package com.atguigu.lease.web.admin.service; + +import com.atguigu.lease.model.entity.SystemPost; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author liubo +* @description 针对表【system_post(岗位信息表)】的数据库操作Service +* @createDate 2023-07-24 15:48:00 +*/ +public interface SystemPostService extends IService { + +} diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/SystemUserService.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/SystemUserService.java new file mode 100644 index 0000000..8f4c757 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/SystemUserService.java @@ -0,0 +1,22 @@ +package com.atguigu.lease.web.admin.service; + +import com.atguigu.lease.model.entity.SystemUser; +import com.atguigu.lease.web.admin.vo.system.user.SystemUserItemVo; +import com.atguigu.lease.web.admin.vo.system.user.SystemUserQueryVo; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author liubo +* @description 针对表【system_user(员工信息表)】的数据库操作Service +* @createDate 2023-07-24 15:48:00 +*/ +public interface SystemUserService extends IService { + + IPage selectPageSystemUser(Page page, SystemUserQueryVo queryVo); + + SystemUserItemVo getUserById(Long id); +} + + diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/UserInfoService.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/UserInfoService.java new file mode 100644 index 0000000..855fa8b --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/UserInfoService.java @@ -0,0 +1,18 @@ +package com.atguigu.lease.web.admin.service; + +import com.atguigu.lease.model.entity.UserInfo; +import com.atguigu.lease.web.admin.vo.user.UserInfoQueryVo; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author liubo +* @description 针对表【user_info(用户信息表)】的数据库操作Service +* @createDate 2023-07-24 15:48:00 +*/ +public interface UserInfoService extends IService { + + + +} diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/ViewAppointmentService.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/ViewAppointmentService.java new file mode 100644 index 0000000..42faa1b --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/ViewAppointmentService.java @@ -0,0 +1,18 @@ +package com.atguigu.lease.web.admin.service; + +import com.atguigu.lease.model.entity.ViewAppointment; +import com.atguigu.lease.web.admin.vo.appointment.AppointmentQueryVo; +import com.atguigu.lease.web.admin.vo.appointment.AppointmentVo; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author liubo +* @description 针对表【view_appointment(预约看房信息表)】的数据库操作Service +* @createDate 2023-07-24 15:48:00 +*/ +public interface ViewAppointmentService extends IService { + + IPage selectAppointmentInfoPage(Page page, AppointmentQueryVo queryVo); +} diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/ApartmentFacilityServiceImpl.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/ApartmentFacilityServiceImpl.java new file mode 100644 index 0000000..666dde4 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/ApartmentFacilityServiceImpl.java @@ -0,0 +1,22 @@ +package com.atguigu.lease.web.admin.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.atguigu.lease.model.entity.ApartmentFacility; +import com.atguigu.lease.web.admin.service.ApartmentFacilityService; +import com.atguigu.lease.web.admin.mapper.ApartmentFacilityMapper; +import org.springframework.stereotype.Service; + +/** +* @author liubo +* @description 针对表【apartment_facility(公寓&配套关联表)】的数据库操作Service实现 +* @createDate 2023-07-24 15:48:00 +*/ +@Service +public class ApartmentFacilityServiceImpl extends ServiceImpl + implements ApartmentFacilityService{ + +} + + + + diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/ApartmentFeeValueServiceImpl.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/ApartmentFeeValueServiceImpl.java new file mode 100644 index 0000000..c7ff106 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/ApartmentFeeValueServiceImpl.java @@ -0,0 +1,22 @@ +package com.atguigu.lease.web.admin.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.atguigu.lease.model.entity.ApartmentFeeValue; +import com.atguigu.lease.web.admin.service.ApartmentFeeValueService; +import com.atguigu.lease.web.admin.mapper.ApartmentFeeValueMapper; +import org.springframework.stereotype.Service; + +/** +* @author liubo +* @description 针对表【apartment_fee_value(公寓&杂费关联表)】的数据库操作Service实现 +* @createDate 2023-07-24 15:48:00 +*/ +@Service +public class ApartmentFeeValueServiceImpl extends ServiceImpl + implements ApartmentFeeValueService{ + +} + + + + diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/ApartmentInfoServiceImpl.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/ApartmentInfoServiceImpl.java new file mode 100644 index 0000000..dcda7b7 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/ApartmentInfoServiceImpl.java @@ -0,0 +1,230 @@ +package com.atguigu.lease.web.admin.service.impl; + +import com.atguigu.lease.common.result.ResultCodeEnum; +import com.atguigu.lease.model.entity.*; +import com.atguigu.lease.model.enums.ItemType; +import com.atguigu.lease.web.admin.mapper.*; +import com.atguigu.lease.web.admin.service.*; +import com.atguigu.lease.web.admin.vo.apartment.ApartmentDetailVo; +import com.atguigu.lease.web.admin.vo.apartment.ApartmentItemVo; +import com.atguigu.lease.web.admin.vo.apartment.ApartmentQueryVo; +import com.atguigu.lease.web.admin.vo.apartment.ApartmentSubmitVo; +import com.atguigu.lease.web.admin.vo.fee.FeeValueVo; +import com.atguigu.lease.web.admin.vo.graph.GraphVo; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author liubo + * @description 针对表【apartment_info(公寓信息表)】的数据库操作Service实现 + * @createDate 2023-07-24 15:48:00 + */ +@Service +public class ApartmentInfoServiceImpl extends ServiceImpl + implements ApartmentInfoService { + + //注入公寓基本信息的Mapper + @Autowired + private ApartmentInfoMapper apartmentInfoMapper; + //注入其他四个相关表的Service 在里面用表 + + //公寓基础数据 + @Autowired + private GraphInfoService graphInfoService; + //公寓标签 + @Autowired + private ApartmentLabelService apartmentLabelService; + //公寓费用 + @Autowired + private ApartmentFeeValueService apartmentFeeValueService; + //公寓设施 + @Autowired + private ApartmentFacilityService apartmentFacilityService; + @Autowired + private FacilityInfoMapper facilityInfoMapper; + @Autowired + private LabelInfoMapper labelInfoMapper; + + @Autowired + private FeeValueMapper feeValueMapper; + @Autowired + private GraphInfoMapper graphInfoMapper; + @Autowired + private RoomInfoMapper roomInfoMapper; + + + @Override + public void saveOrUpdateApartment(ApartmentSubmitVo apartmentSubmitVo) { + + //判定一下id有没有 如果为空的话就是添加,不为空就是修改 + //修改的话就先删除其他的已经存储的代码 再次用内部的数据去修改 + boolean b = apartmentSubmitVo.getId() != null; + this.saveOrUpdate(apartmentSubmitVo); + //修改的时候就删除数据库中储存的代码 + if(b){ + // + LambdaQueryWrapper wrapperApartmentFacility + = new LambdaQueryWrapper<>(); + wrapperApartmentFacility.eq(ApartmentFacility::getApartmentId,apartmentSubmitVo.getId()); + apartmentFacilityService.remove(wrapperApartmentFacility); + + LambdaQueryWrapper wrapperApartmentFeeValue + = new LambdaQueryWrapper<>(); + wrapperApartmentFeeValue.eq(ApartmentFeeValue::getApartmentId, + apartmentSubmitVo.getId()); + apartmentFeeValueService.remove(wrapperApartmentFeeValue); + + LambdaQueryWrapper wrapperApartmentLabel + = new LambdaQueryWrapper<>(); + wrapperApartmentLabel.eq(ApartmentLabel::getApartmentId, + apartmentSubmitVo.getId()); + apartmentLabelService.remove(wrapperApartmentLabel); + + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(GraphInfo::getItemId,apartmentSubmitVo.getId()); + wrapper.eq(GraphInfo::getItemType, ItemType.APARTMENT); + graphInfoService.remove(wrapper); + } +// 一个公寓id 对应多个配套数据,添加多条记录 + + List facilityInfoIds = apartmentSubmitVo.getFacilityInfoIds(); + if(!CollectionUtils.isEmpty(facilityInfoIds)) { + List afList = new ArrayList<>(); + for (Long facilityInfoId : facilityInfoIds){ + //创建apartmentFacility对象,向设置需要添加值 + ApartmentFacility apartmentFacility = new ApartmentFacility(); + //设置配套数据id + apartmentFacility.setFacilityId(facilityInfoId); + //设置公寓id + apartmentFacility.setApartmentId(apartmentSubmitVo.getId()); + //放到集合 + afList.add(apartmentFacility); + } + apartmentFacilityService.saveBatch(afList); + + } + + List feeValueIds = apartmentSubmitVo.getFeeValueIds(); + if(!CollectionUtils.isEmpty(feeValueIds)){ + List afvList = new ArrayList<>(); + for (Long feeValueId : feeValueIds) { + ApartmentFeeValue apartmentFeeValue = new ApartmentFeeValue(); + apartmentFeeValue.setApartmentId(apartmentSubmitVo.getId()); + apartmentFeeValue.setFeeValueId(feeValueId); + afvList.add(apartmentFeeValue); + } + apartmentFeeValueService.saveBatch(afvList); + } + + List labelIds = apartmentSubmitVo.getLabelIds(); + if(!CollectionUtils.isEmpty(labelIds)){ + List alList = new ArrayList<>(); + for (Long labelId : labelIds) { + ApartmentLabel apartmentLabel = new ApartmentLabel(); + apartmentLabel.setApartmentId(apartmentSubmitVo.getId()); + apartmentLabel.setLabelId(labelId); + alList.add(apartmentLabel); + } + apartmentLabelService.saveBatch(alList); + + } + List graphVoList = apartmentSubmitVo.getGraphVoList(); + if(!CollectionUtils.isEmpty(graphVoList)){ + List list = new ArrayList<>(); + for (GraphVo graphVo : graphVoList) { + GraphInfo graphInfo = new GraphInfo(); + graphInfo.setItemId(apartmentSubmitVo.getId()); + graphInfo.setItemType(ItemType.APARTMENT); + graphInfo.setName(graphVo.getName()); + graphInfo.setUrl(graphVo.getUrl()); + list.add(graphInfo); + } + graphInfoService.saveBatch(list); + } + } + + @Override + public ApartmentDetailVo getDetailById(Long id) { + ApartmentInfo apartmentInfo = this.getById(id); + if (apartmentInfo == null) { + return null; + } + List facilityListByApartmentId = facilityInfoMapper.findFacilityListByApartmentId(id); + List labelListByApartmentId = labelInfoMapper.findLabelListByApartmentId(id); + List labelListByApartmentId1 = feeValueMapper.findLabelListByApartmentId(id); + List graphInfos = graphInfoMapper.selectGraphListByApartmentId(ItemType.APARTMENT, id); + ApartmentDetailVo apartmentDetailVo = new ApartmentDetailVo(); + BeanUtils.copyProperties(apartmentInfo,apartmentDetailVo); + + apartmentDetailVo.setFacilityInfoList(facilityListByApartmentId); + apartmentDetailVo.setLabelInfoList(labelListByApartmentId); + apartmentDetailVo.setFeeValueVoList(labelListByApartmentId1); + apartmentDetailVo.setGraphVoList(graphInfos); + return apartmentDetailVo; + + + } + + @Override + public IPage selectApartmentInfoPage(Page page, ApartmentQueryVo queryVo) { + IPage apartmentItemVoIPage = apartmentInfoMapper.selectApartmentInfoPage(page, queryVo); + return apartmentItemVoIPage; + } + + @Override + public void removeApartmentById(Long id) { + //先判断是否有房间 有房间了不能删 + //条件判断:看有没有房间 + LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper<>(); + wrapper.eq(RoomInfo::getApartmentId,id); + //看看有没有房间 有了就提示信息 + Long l = roomInfoMapper.countRoomMany(); + if (l > 0){ + throw new RuntimeException("存在房间信息,不能删除"); + } + //删除 + this.removeById(id); + //删除配套信息 + LambdaQueryWrapper wrapper1 + = new LambdaQueryWrapper<>(); + wrapper1.eq(ApartmentFacility::getApartmentId,id); + apartmentFacilityService.remove(wrapper1); + + //删除标签信息 + LambdaQueryWrapper wrapper2 + = new LambdaQueryWrapper<>(); + wrapper2.eq(ApartmentLabel::getApartmentId,id); + apartmentLabelService.remove(wrapper2); + + //删除杂费信息 + LambdaQueryWrapper wrapper3 + = new LambdaQueryWrapper<>(); + wrapper3.eq(ApartmentFeeValue::getApartmentId,id); + apartmentFeeValueService.remove(wrapper3); + + //删除图片信息 + LambdaQueryWrapper wrapper4 + = new LambdaQueryWrapper<>(); + wrapper4.eq(GraphInfo::getItemId,id); + wrapper4.eq(GraphInfo::getItemType,ItemType.APARTMENT); + graphInfoService.remove(wrapper4); + + + + } + +} + + + + diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/ApartmentLabelServiceImpl.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/ApartmentLabelServiceImpl.java new file mode 100644 index 0000000..32c79a9 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/ApartmentLabelServiceImpl.java @@ -0,0 +1,22 @@ +package com.atguigu.lease.web.admin.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.atguigu.lease.model.entity.ApartmentLabel; +import com.atguigu.lease.web.admin.service.ApartmentLabelService; +import com.atguigu.lease.web.admin.mapper.ApartmentLabelMapper; +import org.springframework.stereotype.Service; + +/** +* @author liubo +* @description 针对表【apartment_label(公寓标签关联表)】的数据库操作Service实现 +* @createDate 2023-07-24 15:48:00 +*/ +@Service +public class ApartmentLabelServiceImpl extends ServiceImpl + implements ApartmentLabelService{ + +} + + + + diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/AttrKeyServiceImpl.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/AttrKeyServiceImpl.java new file mode 100644 index 0000000..c5995ef --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/AttrKeyServiceImpl.java @@ -0,0 +1,33 @@ +package com.atguigu.lease.web.admin.service.impl; + +import com.atguigu.lease.model.entity.AttrKey; +import com.atguigu.lease.web.admin.mapper.AttrKeyMapper; +import com.atguigu.lease.web.admin.service.AttrKeyService; +import com.atguigu.lease.web.admin.vo.attr.AttrKeyVo; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** +* @author liubo +* @description 针对表【attr_key(房间基本属性表)】的数据库操作Service实现 +* @createDate 2023-07-24 15:48:00 +*/ +@Service +public class AttrKeyServiceImpl extends ServiceImpl + implements AttrKeyService{ + + @Autowired + private AttrKeyMapper attrKeyMapper; + @Override + public List listAttrInfo() { + List attrKeyVos = attrKeyMapper.listAttrInfo(); + return attrKeyVos; + } +} + + + + diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/AttrValueServiceImpl.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/AttrValueServiceImpl.java new file mode 100644 index 0000000..d259ef2 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/AttrValueServiceImpl.java @@ -0,0 +1,22 @@ +package com.atguigu.lease.web.admin.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.atguigu.lease.model.entity.AttrValue; +import com.atguigu.lease.web.admin.service.AttrValueService; +import com.atguigu.lease.web.admin.mapper.AttrValueMapper; +import org.springframework.stereotype.Service; + +/** +* @author liubo +* @description 针对表【attr_value(房间基本属性值表)】的数据库操作Service实现 +* @createDate 2023-07-24 15:48:00 +*/ +@Service +public class AttrValueServiceImpl extends ServiceImpl + implements AttrValueService{ + +} + + + + diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/BrowsingHistoryServiceImpl.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/BrowsingHistoryServiceImpl.java new file mode 100644 index 0000000..eb48df2 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/BrowsingHistoryServiceImpl.java @@ -0,0 +1,22 @@ +package com.atguigu.lease.web.admin.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.atguigu.lease.model.entity.BrowsingHistory; +import com.atguigu.lease.web.admin.service.BrowsingHistoryService; +import com.atguigu.lease.web.admin.mapper.BrowsingHistoryMapper; +import org.springframework.stereotype.Service; + +/** +* @author liubo +* @description 针对表【browsing_history(浏览历史)】的数据库操作Service实现 +* @createDate 2023-07-24 15:48:00 +*/ +@Service +public class BrowsingHistoryServiceImpl extends ServiceImpl + implements BrowsingHistoryService{ + +} + + + + diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/CityInfoServiceImpl.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/CityInfoServiceImpl.java new file mode 100644 index 0000000..6069103 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/CityInfoServiceImpl.java @@ -0,0 +1,22 @@ +package com.atguigu.lease.web.admin.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.atguigu.lease.model.entity.CityInfo; +import com.atguigu.lease.web.admin.service.CityInfoService; +import com.atguigu.lease.web.admin.mapper.CityInfoMapper; +import org.springframework.stereotype.Service; + +/** +* @author liubo +* @description 针对表【city_info】的数据库操作Service实现 +* @createDate 2023-07-24 15:48:00 +*/ +@Service +public class CityInfoServiceImpl extends ServiceImpl + implements CityInfoService{ + +} + + + + diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/DistrictInfoServiceImpl.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/DistrictInfoServiceImpl.java new file mode 100644 index 0000000..3007e7f --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/DistrictInfoServiceImpl.java @@ -0,0 +1,22 @@ +package com.atguigu.lease.web.admin.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.atguigu.lease.model.entity.DistrictInfo; +import com.atguigu.lease.web.admin.service.DistrictInfoService; +import com.atguigu.lease.web.admin.mapper.DistrictInfoMapper; +import org.springframework.stereotype.Service; + +/** +* @author liubo +* @description 针对表【district_info】的数据库操作Service实现 +* @createDate 2023-07-24 15:48:00 +*/ +@Service +public class DistrictInfoServiceImpl extends ServiceImpl + implements DistrictInfoService{ + +} + + + + diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/FacilityInfoServiceImpl.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/FacilityInfoServiceImpl.java new file mode 100644 index 0000000..0219f71 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/FacilityInfoServiceImpl.java @@ -0,0 +1,22 @@ +package com.atguigu.lease.web.admin.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.atguigu.lease.model.entity.FacilityInfo; +import com.atguigu.lease.web.admin.service.FacilityInfoService; +import com.atguigu.lease.web.admin.mapper.FacilityInfoMapper; +import org.springframework.stereotype.Service; + +/** +* @author liubo +* @description 针对表【facility_info(配套信息表)】的数据库操作Service实现 +* @createDate 2023-07-24 15:48:00 +*/ +@Service +public class FacilityInfoServiceImpl extends ServiceImpl + implements FacilityInfoService{ + +} + + + + diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/FeeKeyServiceImpl.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/FeeKeyServiceImpl.java new file mode 100644 index 0000000..bd9294d --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/FeeKeyServiceImpl.java @@ -0,0 +1,35 @@ +package com.atguigu.lease.web.admin.service.impl; + +import com.atguigu.lease.model.entity.FeeKey; +import com.atguigu.lease.web.admin.mapper.FeeKeyMapper; +import com.atguigu.lease.web.admin.service.FeeKeyService; +import com.atguigu.lease.web.admin.vo.fee.FeeKeyVo; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** +* @author liubo +* @description 针对表【fee_key(杂项费用名称表)】的数据库操作Service实现 +* @createDate 2023-07-24 15:48:00 +*/ +@Service +public class FeeKeyServiceImpl extends ServiceImpl + implements FeeKeyService{ + + @Autowired +private FeeKeyMapper feeKeyMapper; + + +@Override + public List saveOrUpdateFeeKey() { + List feeKeyVos = feeKeyMapper.saveOrUpdateFeeKey(); + return feeKeyVos; + } +} + + + + diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/FeeValueServiceImpl.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/FeeValueServiceImpl.java new file mode 100644 index 0000000..40a9375 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/FeeValueServiceImpl.java @@ -0,0 +1,22 @@ +package com.atguigu.lease.web.admin.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.atguigu.lease.model.entity.FeeValue; +import com.atguigu.lease.web.admin.service.FeeValueService; +import com.atguigu.lease.web.admin.mapper.FeeValueMapper; +import org.springframework.stereotype.Service; + +/** +* @author liubo +* @description 针对表【fee_value(杂项费用值表)】的数据库操作Service实现 +* @createDate 2023-07-24 15:48:00 +*/ +@Service +public class FeeValueServiceImpl extends ServiceImpl + implements FeeValueService{ + +} + + + + diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/FileServiceImpl.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/FileServiceImpl.java new file mode 100644 index 0000000..76778f4 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/FileServiceImpl.java @@ -0,0 +1,81 @@ +package com.atguigu.lease.web.admin.service.impl; + +import com.atguigu.lease.common.minio.MinioProperties; +import com.atguigu.lease.web.admin.service.FileService; +import io.minio.*; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; + +import java.util.UUID; + +@Service +public class FileServiceImpl implements FileService { + @Autowired + private MinioClient client; + + @Autowired + private MinioProperties properties; + @Override + public String upload(MultipartFile file) { + try { + //判断bucket是否存在 + boolean bucketExists = + client.bucketExists(BucketExistsArgs.builder() + .bucket(properties.getBucketname()) + .build()); + //bucket不存在,创建 + if (!bucketExists) { + //创建bucket + client.makeBucket(MakeBucketArgs.builder() + .bucket(properties.getBucketname()).build()); + //设置bucket策略:私有、公共、自定义 + client.setBucketPolicy(SetBucketPolicyArgs.builder() + .bucket(properties.getBucketname()) + .config(createBucketPolicyConfig(properties.getBucketname())).build()); + } + + //String filename = new SimpleDateFormat("yyyyMMdd").format(new Date()) + "/" + UUID.randomUUID() + "-" + file.getOriginalFilename(); + String uuid = UUID.randomUUID().toString(); + String filename = uuid+"-"+file.getOriginalFilename(); + // UUID-01.jpg + //上传文件到minio + client.putObject(PutObjectArgs.builder(). + bucket(properties.getBucketname()). //bucket名称 + object(filename). //在bucket文件名称 + stream(file.getInputStream(), file.getSize(), -1). + contentType(file.getContentType()).build()); + + //返回文件在minio里面地址 + // http://127.0.0.1:9000/atguigu/01.jpg +// String url = properties.getEndpoint() +// +"/"+properties.getBucketname() +// +"/"+filename; + + return String.join("/", properties.getEndpoint(), + properties.getBucketname(), filename); + + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + private String createBucketPolicyConfig(String bucketName) { + + return """ + { + "Statement" : [ { + "Action" : "s3:GetObject", + "Effect" : "Allow", + "Principal" : "*", + "Resource" : "arn:aws:s3:::%s/*" + } ], + "Version" : "2012-10-17" + } + """.formatted(bucketName); + } + + + } + diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/GraphInfoServiceImpl.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/GraphInfoServiceImpl.java new file mode 100644 index 0000000..0527930 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/GraphInfoServiceImpl.java @@ -0,0 +1,22 @@ +package com.atguigu.lease.web.admin.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.atguigu.lease.model.entity.GraphInfo; +import com.atguigu.lease.web.admin.service.GraphInfoService; +import com.atguigu.lease.web.admin.mapper.GraphInfoMapper; +import org.springframework.stereotype.Service; + +/** +* @author liubo +* @description 针对表【graph_info(图片信息表)】的数据库操作Service实现 +* @createDate 2023-07-24 15:48:00 +*/ +@Service +public class GraphInfoServiceImpl extends ServiceImpl + implements GraphInfoService{ + +} + + + + diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/LabelInfoServiceImpl.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/LabelInfoServiceImpl.java new file mode 100644 index 0000000..7c58855 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/LabelInfoServiceImpl.java @@ -0,0 +1,22 @@ +package com.atguigu.lease.web.admin.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.atguigu.lease.model.entity.LabelInfo; +import com.atguigu.lease.web.admin.service.LabelInfoService; +import com.atguigu.lease.web.admin.mapper.LabelInfoMapper; +import org.springframework.stereotype.Service; + +/** +* @author liubo +* @description 针对表【label_info(标签信息表)】的数据库操作Service实现 +* @createDate 2023-07-24 15:48:00 +*/ +@Service +public class LabelInfoServiceImpl extends ServiceImpl + implements LabelInfoService{ + +} + + + + diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/LeaseAgreementServiceImpl.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/LeaseAgreementServiceImpl.java new file mode 100644 index 0000000..4044f27 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/LeaseAgreementServiceImpl.java @@ -0,0 +1,78 @@ +package com.atguigu.lease.web.admin.service.impl; + +import com.atguigu.lease.model.entity.*; +import com.atguigu.lease.web.admin.mapper.*; +import com.atguigu.lease.web.admin.service.LeaseAgreementService; +import com.atguigu.lease.web.admin.vo.agreement.AgreementQueryVo; +import com.atguigu.lease.web.admin.vo.agreement.AgreementVo; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * @author liubo + * @description 针对表【lease_agreement(租约信息表)】的数据库操作Service实现 + * @createDate 2023-07-24 15:48:00 + */ + + + +@Service +public class LeaseAgreementServiceImpl extends ServiceImpl + implements LeaseAgreementService { + @Autowired + private LeaseAgreementMapper leaseAgreementMapper; + @Autowired + private ApartmentInfoMapper apartmentInfoMapper; + @Autowired + private RoomInfoMapper roomInfoMapper; + @Autowired + private PaymentTypeMapper paymentTypeMapper; + @Autowired + private LeaseTermMapper leaseTermMapper; + @Override + public IPage selectPageAgreement(Page page, AgreementQueryVo queryVo) { + IPage agreementVoIPage = leaseAgreementMapper.selectPageAgreement(page, queryVo); + return agreementVoIPage; + } + + @Override + public AgreementVo getAgreement(Long id) { + LeaseAgreement leaseAgreement = leaseAgreementMapper.selectById(id); + if(leaseAgreement == null) { + return null; + } + //根据公寓id查询公寓信息 + ApartmentInfo apartmentInfo = + apartmentInfoMapper.selectById(leaseAgreement.getApartmentId()); + + //根据房间id获取签约房间信息 + RoomInfo roomInfo = + roomInfoMapper.selectById(leaseAgreement.getRoomId()); + + //支付方式 + PaymentType paymentType = + paymentTypeMapper.selectById(leaseAgreement.getPaymentTypeId()); + + //租期 + LeaseTerm leaseTerm = + leaseTermMapper.selectById(leaseAgreement.getLeaseTermId()); + + //封装到AgreementVo + AgreementVo agreementVo = new AgreementVo(); + BeanUtils.copyProperties(leaseAgreement,agreementVo); + agreementVo.setApartmentInfo(apartmentInfo); + agreementVo.setRoomInfo(roomInfo); + agreementVo.setPaymentType(paymentType); + agreementVo.setLeaseTerm(leaseTerm); + + return agreementVo; + } +} + + + + diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/LeaseTermServiceImpl.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/LeaseTermServiceImpl.java new file mode 100644 index 0000000..7657149 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/LeaseTermServiceImpl.java @@ -0,0 +1,22 @@ +package com.atguigu.lease.web.admin.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.atguigu.lease.model.entity.LeaseTerm; +import com.atguigu.lease.web.admin.service.LeaseTermService; +import com.atguigu.lease.web.admin.mapper.LeaseTermMapper; +import org.springframework.stereotype.Service; + +/** +* @author liubo +* @description 针对表【lease_term(租期)】的数据库操作Service实现 +* @createDate 2023-07-24 15:48:00 +*/ +@Service +public class LeaseTermServiceImpl extends ServiceImpl + implements LeaseTermService{ + +} + + + + diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/LoginServiceImpl.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/LoginServiceImpl.java new file mode 100644 index 0000000..fe739af --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/LoginServiceImpl.java @@ -0,0 +1,120 @@ +package com.atguigu.lease.web.admin.service.impl; + +import com.atguigu.lease.common.constant.RedisConstant; +import com.atguigu.lease.common.utils.JwtUtil; +import com.atguigu.lease.model.entity.SystemUser; +import com.atguigu.lease.model.enums.BaseStatus; +import com.atguigu.lease.web.admin.mapper.SystemUserMapper; +import com.atguigu.lease.web.admin.service.LoginService; +import com.atguigu.lease.web.admin.vo.login.CaptchaVo; +import com.atguigu.lease.web.admin.vo.login.LoginVo; +import com.atguigu.lease.web.admin.vo.system.user.SystemUserInfoVo; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.wf.captcha.SpecCaptcha; +import com.wf.captcha.base.Captcha; +import org.apache.commons.codec.digest.DigestUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.StringRedisTemplate; +import org.springframework.stereotype.Service; +import org.springframework.util.StringUtils; + +import java.util.UUID; +import java.util.concurrent.TimeUnit; + +@Service +public class LoginServiceImpl implements LoginService { +@Autowired +private StringRedisTemplate redisTemplate; +@Autowired +private SystemUserMapper systemUserMapper; + @Override + public CaptchaVo getCaptcha() { + SpecCaptcha specCaptcha = new SpecCaptcha(130,48,4); + specCaptcha.setCharType(Captcha.TYPE_DEFAULT); + String code = specCaptcha.text().toLowerCase(); + //根据生成验证码图片,把图片转换字符串 + String image = specCaptcha.toBase64(); + + //把验证码放到redis里面 + // redis key: 生成唯一的值 , value:验证码四位值 code + String key = RedisConstant.ADMIN_LOGIN_PREFIX + UUID.randomUUID(); + //放到redis里面 + //为了测试,过期时间设置长一点 + redisTemplate.opsForValue().set(key,code,5, TimeUnit.MINUTES); + + //封装vo对象 + CaptchaVo captchaVo = new CaptchaVo(); + captchaVo.setKey(key); + captchaVo.setImage(image); + return captchaVo; + } + + @Override + public String login(LoginVo loginVo) { + //1 从loginVo获取验证码 + String input_captchaCode = loginVo.getCaptchaCode(); + + //2 判断验证码是否为空,如果为空,提示用户 + if(!StringUtils.hasText(input_captchaCode)) { + //提示 + throw new RuntimeException(); + } + + //3 如果验证码不为空,从redis根据loginVo里面key获取redis存储验证码 + String captchaKey = loginVo.getCaptchaKey(); + String redis_captchaCode = redisTemplate.opsForValue().get(captchaKey); + + //4 如果根据key获取redis验证码为空,提示用户 + if(!StringUtils.hasText(redis_captchaCode)) { + //提示 + throw new RuntimeException(); + } + + //5 如果根据key获取redis验证码不为空,校验验证码 + // 把redis的验证码 和 输入的验证码比对,如果不同,提示用户 + if(!redis_captchaCode.equals(input_captchaCode)) { + //提示 + throw new RuntimeException(); + } + + //6 根据loginVo里面用户名查询数据库,如果查询结果为空,提示用户 + String username = loginVo.getUsername(); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(SystemUser::getUsername,username); + SystemUser systemUser = systemUserMapper.selectOne(wrapper); + if(systemUser == null) { + //提示 + throw new RuntimeException(); + } + + //7 如果查询结果不为空,判断用户是否被禁用,如果被禁用,提示用户 + if (systemUser.getStatus() == BaseStatus.DISABLE) { + throw new RuntimeException(); + } + + //8 如果用户没有禁用,比较密码 + // 把数据库存储密码 和输入的密码比对,输入密码进行加密之后再比对 + String database_password = systemUser.getPassword(); + + String input_password = loginVo.getPassword(); + //输入密码加密 + String input_password_md5 = DigestUtils.md5Hex(input_password); + ////9 如果密码不相同,提示用户 + if(!database_password.equals(input_password_md5)) { + throw new RuntimeException(); + } + + //10 使用jwt生成token,返回token + String token = JwtUtil.createToken(systemUser.getId(), systemUser.getUsername()); + return token; + } + + @Override + public SystemUserInfoVo getSystemUserInfoById(Long userId) { + SystemUser systemUser = systemUserMapper.selectById(userId); + SystemUserInfoVo systemUserInfoVo = new SystemUserInfoVo(); + systemUserInfoVo.setName(systemUser.getName()); + systemUserInfoVo.setAvatarUrl(systemUser.getAvatarUrl()); + return systemUserInfoVo; + } +} diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/PaymentTypeServiceImpl.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/PaymentTypeServiceImpl.java new file mode 100644 index 0000000..1012f25 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/PaymentTypeServiceImpl.java @@ -0,0 +1,22 @@ +package com.atguigu.lease.web.admin.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.atguigu.lease.model.entity.PaymentType; +import com.atguigu.lease.web.admin.service.PaymentTypeService; +import com.atguigu.lease.web.admin.mapper.PaymentTypeMapper; +import org.springframework.stereotype.Service; + +/** +* @author liubo +* @description 针对表【payment_type(支付方式表)】的数据库操作Service实现 +* @createDate 2023-07-24 15:48:00 +*/ +@Service +public class PaymentTypeServiceImpl extends ServiceImpl + implements PaymentTypeService{ + +} + + + + diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/ProvinceInfoServiceImpl.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/ProvinceInfoServiceImpl.java new file mode 100644 index 0000000..26211d8 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/ProvinceInfoServiceImpl.java @@ -0,0 +1,22 @@ +package com.atguigu.lease.web.admin.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.atguigu.lease.model.entity.ProvinceInfo; +import com.atguigu.lease.web.admin.service.ProvinceInfoService; +import com.atguigu.lease.web.admin.mapper.ProvinceInfoMapper; +import org.springframework.stereotype.Service; + +/** +* @author liubo +* @description 针对表【province_info】的数据库操作Service实现 +* @createDate 2023-07-24 15:48:00 +*/ +@Service +public class ProvinceInfoServiceImpl extends ServiceImpl + implements ProvinceInfoService{ + +} + + + + diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/RoomAttrValueServiceImpl.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/RoomAttrValueServiceImpl.java new file mode 100644 index 0000000..8c38f83 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/RoomAttrValueServiceImpl.java @@ -0,0 +1,22 @@ +package com.atguigu.lease.web.admin.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.atguigu.lease.model.entity.RoomAttrValue; +import com.atguigu.lease.web.admin.service.RoomAttrValueService; +import com.atguigu.lease.web.admin.mapper.RoomAttrValueMapper; +import org.springframework.stereotype.Service; + +/** +* @author liubo +* @description 针对表【room_attr_value(房间&基本属性值关联表)】的数据库操作Service实现 +* @createDate 2023-07-24 15:48:00 +*/ +@Service +public class RoomAttrValueServiceImpl extends ServiceImpl + implements RoomAttrValueService{ + +} + + + + diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/RoomFacilityServiceImpl.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/RoomFacilityServiceImpl.java new file mode 100644 index 0000000..427cbf8 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/RoomFacilityServiceImpl.java @@ -0,0 +1,22 @@ +package com.atguigu.lease.web.admin.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.atguigu.lease.model.entity.RoomFacility; +import com.atguigu.lease.web.admin.service.RoomFacilityService; +import com.atguigu.lease.web.admin.mapper.RoomFacilityMapper; +import org.springframework.stereotype.Service; + +/** +* @author liubo +* @description 针对表【room_facility(房间&配套关联表)】的数据库操作Service实现 +* @createDate 2023-07-24 15:48:00 +*/ +@Service +public class RoomFacilityServiceImpl extends ServiceImpl + implements RoomFacilityService{ + +} + + + + diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/RoomInfoServiceImpl.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/RoomInfoServiceImpl.java new file mode 100644 index 0000000..50e7769 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/RoomInfoServiceImpl.java @@ -0,0 +1,249 @@ +package com.atguigu.lease.web.admin.service.impl; + +import com.atguigu.lease.model.entity.*; +import com.atguigu.lease.model.enums.ItemType; +import com.atguigu.lease.web.admin.mapper.*; +import com.atguigu.lease.web.admin.service.*; +import com.atguigu.lease.web.admin.vo.attr.AttrValueVo; +import com.atguigu.lease.web.admin.vo.graph.GraphVo; +import com.atguigu.lease.web.admin.vo.room.RoomDetailVo; +import com.atguigu.lease.web.admin.vo.room.RoomItemVo; +import com.atguigu.lease.web.admin.vo.room.RoomQueryVo; +import com.atguigu.lease.web.admin.vo.room.RoomSubmitVo; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author liubo + * @description 针对表【room_info(房间信息表)】的数据库操作Service实现 + * @createDate 2023-07-24 15:48:00 + */ +@Service +public class RoomInfoServiceImpl extends ServiceImpl + implements RoomInfoService { + + @Autowired + private ApartmentInfoService apartmentInfoService; + @Autowired + private RoomInfoMapper roomInfoMapper; + @Autowired + private RoomAttrValueService roomAttrValueService; + @Autowired + private RoomFacilityService roomFacilityService; + @Autowired + private RoomLabelService roomLabelService; + @Autowired + private GraphInfoService graphInfoService; + @Autowired + private RoomPaymentTypeService roomPaymentTypeService; + @Autowired + private RoomLeaseTermService roomLeaseTermService; + @Autowired + private GraphInfoMapper graphInfoMapper; + @Autowired + private AttrValueMapper attrValueMapper; + @Autowired + private LabelInfoMapper labelInfoMapper; + @Autowired + private PaymentTypeMapper paymentTypeMapper; + @Autowired + private LeaseTermMapper leaseTermMapper; + + + @Autowired + private FacilityInfoMapper facilityInfoMapper; + + + @Override + public void saveOrUpdateRoomInfo(RoomSubmitVo roomSubmitVo) { + Long id = roomSubmitVo.getId(); + this.saveOrUpdate(roomSubmitVo); + if (id != null) { + LambdaQueryWrapper Wrapper1 = new LambdaQueryWrapper<>(); + Wrapper1.eq(RoomFacility::getRoomId, roomSubmitVo.getId()); + roomFacilityService.remove(Wrapper1); + + LambdaQueryWrapper Wrapper2 = new LambdaQueryWrapper<>(); + Wrapper2.eq(RoomAttrValue::getRoomId, roomSubmitVo.getId()); + roomAttrValueService.remove(Wrapper2); + + LambdaQueryWrapper Wrapper3 = new LambdaQueryWrapper<>(); + Wrapper3.eq(RoomLabel::getRoomId, roomSubmitVo.getId()); + roomLabelService.remove(Wrapper3); + + LambdaQueryWrapper Wrapper4 = new LambdaQueryWrapper<>(); + Wrapper4.eq(RoomPaymentType::getRoomId, roomSubmitVo.getId()); + roomPaymentTypeService.remove(Wrapper4); + + LambdaQueryWrapper Wrapper5 = new LambdaQueryWrapper<>(); + Wrapper5.eq(RoomLeaseTerm::getRoomId, roomSubmitVo.getId()); + roomLeaseTermService.remove(Wrapper5); + + LambdaQueryWrapper Wrapper6 = new LambdaQueryWrapper<>(); + Wrapper6.eq(GraphInfo::getItemId, roomSubmitVo.getId()); + Wrapper6.eq(GraphInfo::getItemType, ItemType.ROOM); + graphInfoService.remove(Wrapper6); + } + + // 配套信息添加数据 + List facilityInfoIds = roomSubmitVo.getFacilityInfoIds(); + if (!CollectionUtils.isEmpty(facilityInfoIds)) { + List roomFacilityList = new ArrayList<>(); + for (Long facilityInfoId : facilityInfoIds) { + RoomFacility roomFacility = new RoomFacility(); + roomFacility.setRoomId(roomSubmitVo.getId()); + roomFacility.setFacilityId(facilityInfoId); + roomFacilityList.add(roomFacility); + } + roomFacilityService.saveBatch(roomFacilityList); + } + + List labelInfoIds = roomSubmitVo.getLabelInfoIds(); + if (!CollectionUtils.isEmpty(labelInfoIds)) { + List roomLabelList = new ArrayList<>(); + for (Long labelInfoId : labelInfoIds) { + RoomLabel roomLabel = new RoomLabel(); + roomLabel.setRoomId(roomSubmitVo.getId()); + roomLabel.setLabelId(labelInfoId); + roomLabelList.add(roomLabel); + } + roomLabelService.saveBatch(roomLabelList); + } + + List attrValueIds = roomSubmitVo.getAttrValueIds(); + if (!CollectionUtils.isEmpty(attrValueIds)) { + List roomAttrValueList = new ArrayList<>(); + for (Long attrValueId : attrValueIds) { + RoomAttrValue roomAttrValue = new RoomAttrValue(); + roomAttrValue.setRoomId(roomSubmitVo.getId()); + roomAttrValue.setAttrValueId(attrValueId); + roomAttrValueList.add(roomAttrValue); + } + roomAttrValueService.saveBatch(roomAttrValueList); + } + List paymentTypeIds = roomSubmitVo.getPaymentTypeIds(); + if (!CollectionUtils.isEmpty(paymentTypeIds)) { + List roomPaymentTypeList = new ArrayList<>(); + for (Long paymentTypeId : paymentTypeIds) { + RoomPaymentType roomPaymentType = new RoomPaymentType(); + roomPaymentType.setRoomId(roomSubmitVo.getId()); + roomPaymentType.setPaymentTypeId(paymentTypeId); + roomPaymentTypeList.add(roomPaymentType); + } + roomPaymentTypeService.saveBatch(roomPaymentTypeList); + } + + List graphVoList = roomSubmitVo.getGraphVoList(); + if (!CollectionUtils.isEmpty(graphVoList)) { + List graphInfoList = new ArrayList<>(); + for (GraphVo graphVo : graphVoList) { + GraphInfo graphInfo = new GraphInfo(); + graphInfo.setItemId(roomSubmitVo.getId()); + graphInfo.setItemType(ItemType.ROOM); + graphInfo.setName(graphVo.getName()); + graphInfo.setUrl(graphVo.getUrl()); + graphInfoList.add(graphInfo); + } + graphInfoService.saveBatch(graphInfoList); + } + List leaseTermIds = roomSubmitVo.getLeaseTermIds(); + if (!CollectionUtils.isEmpty(leaseTermIds)) { + List roomLeaseTermList = new ArrayList<>(); + for (Long leaseTermId : leaseTermIds) { + RoomLeaseTerm roomLeaseTerm = new RoomLeaseTerm(); + roomLeaseTerm.setRoomId(roomSubmitVo.getId()); + roomLeaseTerm.setLeaseTermId(leaseTermId); + roomLeaseTermList.add(roomLeaseTerm); + } + roomLeaseTermService.saveBatch(roomLeaseTermList); + } + } + + @Override + public IPage selectRoomInfoPage(Page page, RoomQueryVo queryVo) { + IPage roomItemVoIPage = roomInfoMapper.selectRoomInfoPage(page, queryVo); + return roomItemVoIPage; + } + + @Override + public RoomDetailVo getDetailById(Long id) { + RoomInfo roomInfo = new RoomInfo(); + if (roomInfo == null) { + return null; + } + Long apartmentId = roomInfo.getApartmentId(); + ApartmentInfo apartmentInfo = apartmentInfoService.getById(apartmentId); + + List facilityInfoList = facilityInfoMapper.findFacilityListByRoomId(id); + List graphVoList = graphInfoMapper.selectGraphListByRoomId(ItemType.ROOM, id); + List attrvalueVoList = attrValueMapper.selectListByRoomId(id); + List labelInfoList = labelInfoMapper.selectListByRoomId(id); + List paymentTypeList = paymentTypeMapper.selectListByRoomId(id); + List leaseTermList = leaseTermMapper.selectListByRoomId(id); + + RoomDetailVo adminRoomDetailVo = new RoomDetailVo(); + BeanUtils.copyProperties(roomInfo, adminRoomDetailVo); + + adminRoomDetailVo.setApartmentInfo(apartmentInfo); + adminRoomDetailVo.setGraphVoList(graphVoList); + adminRoomDetailVo.setAttrValueVoList(attrvalueVoList); + adminRoomDetailVo.setFacilityInfoList(facilityInfoList); + adminRoomDetailVo.setLabelInfoList(labelInfoList); + adminRoomDetailVo.setPaymentTypeList(paymentTypeList); + adminRoomDetailVo.setLeaseTermList(leaseTermList); + + return adminRoomDetailVo; + + + } + + @Override + public void removeRoomById(Long id) { + this.removeById(id); + + + LambdaQueryWrapper wrapper1 = new LambdaQueryWrapper<>(); + wrapper1.eq(RoomFacility::getRoomId,id); + roomFacilityService.remove(wrapper1); + + + LambdaQueryWrapper wrapper2 = new LambdaQueryWrapper<>(); + wrapper2.eq(RoomLabel::getRoomId,id); + roomLabelService.remove(wrapper2); + + + LambdaQueryWrapper wrapper3 = new LambdaQueryWrapper<>(); + wrapper3.eq(RoomAttrValue::getRoomId,id); + roomAttrValueService.remove(wrapper3); + + LambdaQueryWrapper wrapper4 = new LambdaQueryWrapper<>(); + wrapper4.eq(RoomPaymentType::getRoomId,id); + roomPaymentTypeService.remove(wrapper4); + + LambdaQueryWrapper wrapper5 = new LambdaQueryWrapper<>(); + wrapper5.eq(RoomLeaseTerm::getRoomId,id); + roomLeaseTermService.remove(wrapper5); + + LambdaQueryWrapper wrapper6 = new LambdaQueryWrapper<>(); + wrapper6.eq(GraphInfo::getItemId,id); + wrapper6.eq(GraphInfo::getItemType,ItemType.ROOM); + graphInfoService.remove(wrapper6); + + } + + +} + + + + + diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/RoomLabelServiceImpl.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/RoomLabelServiceImpl.java new file mode 100644 index 0000000..53d072e --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/RoomLabelServiceImpl.java @@ -0,0 +1,22 @@ +package com.atguigu.lease.web.admin.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.atguigu.lease.model.entity.RoomLabel; +import com.atguigu.lease.web.admin.service.RoomLabelService; +import com.atguigu.lease.web.admin.mapper.RoomLabelMapper; +import org.springframework.stereotype.Service; + +/** +* @author liubo +* @description 针对表【room_label(房间&标签关联表)】的数据库操作Service实现 +* @createDate 2023-07-24 15:48:00 +*/ +@Service +public class RoomLabelServiceImpl extends ServiceImpl + implements RoomLabelService{ + +} + + + + diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/RoomLeaseTermServiceImpl.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/RoomLeaseTermServiceImpl.java new file mode 100644 index 0000000..2037bfa --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/RoomLeaseTermServiceImpl.java @@ -0,0 +1,22 @@ +package com.atguigu.lease.web.admin.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.atguigu.lease.model.entity.RoomLeaseTerm; +import com.atguigu.lease.web.admin.service.RoomLeaseTermService; +import com.atguigu.lease.web.admin.mapper.RoomLeaseTermMapper; +import org.springframework.stereotype.Service; + +/** +* @author liubo +* @description 针对表【room_lease_term(房间租期管理表)】的数据库操作Service实现 +* @createDate 2023-07-24 15:48:00 +*/ +@Service +public class RoomLeaseTermServiceImpl extends ServiceImpl + implements RoomLeaseTermService{ + +} + + + + diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/RoomPaymentTypeServiceImpl.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/RoomPaymentTypeServiceImpl.java new file mode 100644 index 0000000..d3c4630 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/RoomPaymentTypeServiceImpl.java @@ -0,0 +1,22 @@ +package com.atguigu.lease.web.admin.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.atguigu.lease.model.entity.RoomPaymentType; +import com.atguigu.lease.web.admin.service.RoomPaymentTypeService; +import com.atguigu.lease.web.admin.mapper.RoomPaymentTypeMapper; +import org.springframework.stereotype.Service; + +/** +* @author liubo +* @description 针对表【room_payment_type(房间&支付方式关联表)】的数据库操作Service实现 +* @createDate 2023-07-24 15:48:00 +*/ +@Service +public class RoomPaymentTypeServiceImpl extends ServiceImpl + implements RoomPaymentTypeService{ + +} + + + + diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/SystemPostServiceImpl.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/SystemPostServiceImpl.java new file mode 100644 index 0000000..ba845ad --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/SystemPostServiceImpl.java @@ -0,0 +1,22 @@ +package com.atguigu.lease.web.admin.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.atguigu.lease.model.entity.SystemPost; +import com.atguigu.lease.web.admin.service.SystemPostService; +import com.atguigu.lease.web.admin.mapper.SystemPostMapper; +import org.springframework.stereotype.Service; + +/** +* @author liubo +* @description 针对表【system_post(岗位信息表)】的数据库操作Service实现 +* @createDate 2023-07-24 15:48:00 +*/ +@Service +public class SystemPostServiceImpl extends ServiceImpl + implements SystemPostService{ + +} + + + + diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/SystemUserServiceImpl.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/SystemUserServiceImpl.java new file mode 100644 index 0000000..3b1bce6 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/SystemUserServiceImpl.java @@ -0,0 +1,58 @@ +package com.atguigu.lease.web.admin.service.impl; + +import com.atguigu.lease.model.entity.SystemPost; +import com.atguigu.lease.model.entity.SystemUser; +import com.atguigu.lease.web.admin.mapper.SystemUserMapper; +import com.atguigu.lease.web.admin.service.SystemPostService; +import com.atguigu.lease.web.admin.service.SystemUserService; +import com.atguigu.lease.web.admin.vo.system.user.SystemUserItemVo; +import com.atguigu.lease.web.admin.vo.system.user.SystemUserQueryVo; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * @author liubo + * @description 针对表【system_user(员工信息表)】的数据库操作Service实现 + * @createDate 2023-07-24 15:48:00 + */ + +@Service +public class SystemUserServiceImpl extends ServiceImpl + implements SystemUserService { + @Autowired + private SystemUserMapper systemUserMapper; + @Autowired + private SystemPostService systemPostService; + + @Override + public IPage selectPageSystemUser(Page page, SystemUserQueryVo queryVo) { + IPage systemUserItemVoIPage = systemUserMapper.selectPageSystemUser(page, queryVo); + return systemUserItemVoIPage; + } + + @Override + public SystemUserItemVo getUserById(Long id) { + //根据id查出所有systemUser中的所有数据 + SystemUser systemUser = this.getById(id); + //把密码设置为null + systemUser.setPassword(null); + //根据id查出SystemPost中的数据 + SystemPost systemPostbyId = systemPostService.getById(systemUser.getPostId()); + //new一个返回对象 让里面装值 + SystemUserItemVo systemUserItemVo = new SystemUserItemVo(); + //让systemUserItemVo中的值等于systemUser中的值 + BeanUtils.copyProperties(systemUser, systemUserItemVo); + //让systemUserItemVo中的值等于systemPostbyId中的值 + systemUserItemVo.setPostName(systemPostbyId.getName()); + return systemUserItemVo; + + } +} + + + + diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/UserInfoServiceImpl.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/UserInfoServiceImpl.java new file mode 100644 index 0000000..a267ae9 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/UserInfoServiceImpl.java @@ -0,0 +1,27 @@ +package com.atguigu.lease.web.admin.service.impl; + +import com.atguigu.lease.web.admin.vo.user.UserInfoQueryVo; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.atguigu.lease.model.entity.UserInfo; +import com.atguigu.lease.web.admin.service.UserInfoService; +import com.atguigu.lease.web.admin.mapper.UserInfoMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** +* @author liubo +* @description 针对表【user_info(用户信息表)】的数据库操作Service实现 +* @createDate 2023-07-24 15:48:00 +*/ +@Service +public class UserInfoServiceImpl extends ServiceImpl + implements UserInfoService{ + + +} + + + + diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/ViewAppointmentServiceImpl.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/ViewAppointmentServiceImpl.java new file mode 100644 index 0000000..b21358d --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/service/impl/ViewAppointmentServiceImpl.java @@ -0,0 +1,34 @@ +package com.atguigu.lease.web.admin.service.impl; + +import com.atguigu.lease.model.entity.ViewAppointment; +import com.atguigu.lease.web.admin.mapper.ViewAppointmentMapper; +import com.atguigu.lease.web.admin.service.ViewAppointmentService; +import com.atguigu.lease.web.admin.vo.appointment.AppointmentQueryVo; +import com.atguigu.lease.web.admin.vo.appointment.AppointmentVo; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * @author liubo + * @description 针对表【view_appointment(预约看房信息表)】的数据库操作Service实现 + * @createDate 2023-07-24 15:48:00 + */ +@Service +public class ViewAppointmentServiceImpl extends ServiceImpl + implements ViewAppointmentService { + @Autowired + private ViewAppointmentMapper viewAppointmentMapper; + @Override + public IPage selectAppointmentInfoPage(Page page, AppointmentQueryVo queryVo) { + IPage appointmentVoIPage = viewAppointmentMapper.selectAppointmentInfoPage(page, queryVo); + return appointmentVoIPage; + + } +} + + + + diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/agreement/AgreementQueryVo.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/agreement/AgreementQueryVo.java new file mode 100644 index 0000000..c6561f7 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/agreement/AgreementQueryVo.java @@ -0,0 +1,31 @@ +package com.atguigu.lease.web.admin.vo.agreement; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +@Schema(description = "租约查询实体") +public class AgreementQueryVo { + + @Schema(description = "公寓所处省份id") + private Long provinceId; + + @Schema(description = "公寓所处城市id") + private Long cityId; + + @Schema(description = "公寓所处区域id") + private Long districtId; + + @Schema(description = "公寓id") + private Long apartmentId; + + @Schema(description = "房间号") + private String roomNumber; + + @Schema(description = "用户姓名") + private String name; + + @Schema(description = "用户手机号码") + private String phone; + +} diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/agreement/AgreementVo.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/agreement/AgreementVo.java new file mode 100644 index 0000000..548c7ad --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/agreement/AgreementVo.java @@ -0,0 +1,22 @@ +package com.atguigu.lease.web.admin.vo.agreement; + +import com.atguigu.lease.model.entity.*; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +@Schema(description = "租约信息") +public class AgreementVo extends LeaseAgreement { + + @Schema(description = "签约公寓信息") + private ApartmentInfo apartmentInfo; + + @Schema(description = "签约房间信息") + private RoomInfo roomInfo; + + @Schema(description = "支付方式") + private PaymentType paymentType; + + @Schema(description = "租期") + private LeaseTerm leaseTerm; +} diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/apartment/ApartmentDetailVo.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/apartment/ApartmentDetailVo.java new file mode 100644 index 0000000..8b158fd --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/apartment/ApartmentDetailVo.java @@ -0,0 +1,30 @@ +package com.atguigu.lease.web.admin.vo.apartment; + + +import com.atguigu.lease.model.entity.ApartmentInfo; +import com.atguigu.lease.model.entity.FacilityInfo; +import com.atguigu.lease.model.entity.LabelInfo; +import com.atguigu.lease.web.admin.vo.graph.GraphVo; +import com.atguigu.lease.web.admin.vo.fee.FeeValueVo; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.List; + +@Schema(description = "公寓信息") +@Data +public class ApartmentDetailVo extends ApartmentInfo { + + @Schema(description = "图片列表") + private List graphVoList; + + @Schema(description = "标签列表") + private List labelInfoList; + + @Schema(description = "配套列表") + private List facilityInfoList; + + @Schema(description = "杂费列表") + private List feeValueVoList; + +} diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/apartment/ApartmentItemVo.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/apartment/ApartmentItemVo.java new file mode 100644 index 0000000..b66802a --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/apartment/ApartmentItemVo.java @@ -0,0 +1,18 @@ +package com.atguigu.lease.web.admin.vo.apartment; + +import com.atguigu.lease.model.entity.ApartmentInfo; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + + +@Data +@Schema(description = "后台管理系统公寓列表实体") +public class ApartmentItemVo extends ApartmentInfo { + + @Schema(description = "房间总数") + private Long totalRoomCount; + + @Schema(description = "空闲房间数") + private Long freeRoomCount; + +} diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/apartment/ApartmentQueryVo.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/apartment/ApartmentQueryVo.java new file mode 100644 index 0000000..dd8b444 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/apartment/ApartmentQueryVo.java @@ -0,0 +1,18 @@ +package com.atguigu.lease.web.admin.vo.apartment; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +@Schema(description = "公寓查询实体") +public class ApartmentQueryVo { + + @Schema(description = "省份id") + private Long provinceId; + + @Schema(description = "城市id") + private Long cityId; + + @Schema(description = "区域id") + private Long districtId; +} diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/apartment/ApartmentSubmitVo.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/apartment/ApartmentSubmitVo.java new file mode 100644 index 0000000..2d7e010 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/apartment/ApartmentSubmitVo.java @@ -0,0 +1,28 @@ +package com.atguigu.lease.web.admin.vo.apartment; + + +import com.atguigu.lease.model.entity.ApartmentInfo; +import com.atguigu.lease.web.admin.vo.graph.GraphVo; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.List; + + +@Schema(description = "公寓信息") +@Data +public class ApartmentSubmitVo extends ApartmentInfo { + + @Schema(description="公寓配套id") + private List facilityInfoIds; + + @Schema(description="公寓标签id") + private List labelIds; + + @Schema(description="公寓杂费值id") + private List feeValueIds; + + @Schema(description="公寓图片id") + private List graphVoList; + +} diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/appointment/AppointmentQueryVo.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/appointment/AppointmentQueryVo.java new file mode 100644 index 0000000..c595c08 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/appointment/AppointmentQueryVo.java @@ -0,0 +1,29 @@ +package com.atguigu.lease.web.admin.vo.appointment; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +@Schema(description = "预约看房查询实体") +public class AppointmentQueryVo { + + + @Schema(description="预约公寓所在省份") + private Long provinceId; + + @Schema(description="预约公寓所在城市") + private Long cityId; + + @Schema(description="预约公寓所在区") + private Long districtId; + + @Schema(description="预约公寓所在公寓") + private Long apartmentId; + + @Schema(description="预约用户姓名") + private String name; + + @Schema(description="预约用户手机号码") + private String phone; + +} diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/appointment/AppointmentVo.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/appointment/AppointmentVo.java new file mode 100644 index 0000000..1488690 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/appointment/AppointmentVo.java @@ -0,0 +1,15 @@ +package com.atguigu.lease.web.admin.vo.appointment; + +import com.atguigu.lease.model.entity.ApartmentInfo; +import com.atguigu.lease.model.entity.ViewAppointment; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +@Schema(description = "预约看房信息") +public class AppointmentVo extends ViewAppointment { + + @Schema(description = "预约公寓信息") + private ApartmentInfo apartmentInfo; + +} diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/attr/AttrKeyVo.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/attr/AttrKeyVo.java new file mode 100644 index 0000000..acf0572 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/attr/AttrKeyVo.java @@ -0,0 +1,16 @@ +package com.atguigu.lease.web.admin.vo.attr; + +import com.atguigu.lease.model.entity.AttrKey; +import com.atguigu.lease.model.entity.AttrValue; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.List; + + +@Data +public class AttrKeyVo extends AttrKey { + + @Schema(description = "属性value列表") + private List attrValueList; +} diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/attr/AttrValueVo.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/attr/AttrValueVo.java new file mode 100644 index 0000000..7b3f993 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/attr/AttrValueVo.java @@ -0,0 +1,14 @@ +package com.atguigu.lease.web.admin.vo.attr; + +import com.atguigu.lease.model.entity.AttrValue; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + + +@Schema(description = "属性值") +@Data +public class AttrValueVo extends AttrValue { + + @Schema(description = "对应的属性key_name") + private String attrKeyName; +} diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/fee/FeeKeyVo.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/fee/FeeKeyVo.java new file mode 100644 index 0000000..4627386 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/fee/FeeKeyVo.java @@ -0,0 +1,16 @@ +package com.atguigu.lease.web.admin.vo.fee; + +import com.atguigu.lease.model.entity.FeeKey; +import com.atguigu.lease.model.entity.FeeValue; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.List; + + +@Data +public class FeeKeyVo extends FeeKey { + + @Schema(description = "杂费value列表") + private List feeValueList; +} diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/fee/FeeValueVo.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/fee/FeeValueVo.java new file mode 100644 index 0000000..0be8ede --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/fee/FeeValueVo.java @@ -0,0 +1,13 @@ +package com.atguigu.lease.web.admin.vo.fee; + +import com.atguigu.lease.model.entity.FeeValue; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Schema(description = "杂费值") +@Data +public class FeeValueVo extends FeeValue { + + @Schema(description = "费用所对的fee_key名称") + private String feeKeyName; +} diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/graph/GraphVo.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/graph/GraphVo.java new file mode 100644 index 0000000..31e4469 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/graph/GraphVo.java @@ -0,0 +1,24 @@ +package com.atguigu.lease.web.admin.vo.graph; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + + +@Data +@Schema(description = "图片信息") +@AllArgsConstructor +@NoArgsConstructor +@Builder +public class GraphVo { + + + @Schema(description = "图片名称") + private String name; + + @Schema(description = "图片地址") + private String url; + +} diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/login/CaptchaVo.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/login/CaptchaVo.java new file mode 100644 index 0000000..dbb8010 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/login/CaptchaVo.java @@ -0,0 +1,19 @@ +package com.atguigu.lease.web.admin.vo.login; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Schema(description = "图像验证码") +@AllArgsConstructor +@NoArgsConstructor +public class CaptchaVo { + + @Schema(description="验证码图片信息") + private String image; + + @Schema(description="验证码key") + private String key; +} diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/login/LoginVo.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/login/LoginVo.java new file mode 100644 index 0000000..cf29fdd --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/login/LoginVo.java @@ -0,0 +1,21 @@ +package com.atguigu.lease.web.admin.vo.login; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +@Schema(description = "后台管理系统登录信息") +public class LoginVo { + + @Schema(description="用户名") + private String username; + + @Schema(description="密码") + private String password; + + @Schema(description="验证码key") + private String captchaKey; + + @Schema(description="验证码code") + private String captchaCode; +} diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/room/RoomDetailVo.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/room/RoomDetailVo.java new file mode 100644 index 0000000..a3c7633 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/room/RoomDetailVo.java @@ -0,0 +1,36 @@ +package com.atguigu.lease.web.admin.vo.room; + +import com.atguigu.lease.model.entity.*; +import com.atguigu.lease.web.admin.vo.attr.AttrValueVo; +import com.atguigu.lease.web.admin.vo.graph.GraphVo; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.List; + + +@Schema(description = "房间信息") +@Data +public class RoomDetailVo extends RoomInfo { + + @Schema(description = "所属公寓信息") + private ApartmentInfo apartmentInfo; + + @Schema(description = "图片列表") + private List graphVoList; + + @Schema(description = "属性信息列表") + private List attrValueVoList; + + @Schema(description = "配套信息列表") + private List facilityInfoList; + + @Schema(description = "标签信息列表") + private List labelInfoList; + + @Schema(description = "支付方式列表") + private List paymentTypeList; + + @Schema(description = "可选租期列表") + private List leaseTermList; +} diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/room/RoomItemVo.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/room/RoomItemVo.java new file mode 100644 index 0000000..9d30f2a --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/room/RoomItemVo.java @@ -0,0 +1,24 @@ +package com.atguigu.lease.web.admin.vo.room; + +import com.atguigu.lease.model.entity.ApartmentInfo; +import com.atguigu.lease.model.entity.RoomInfo; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.Date; + + +@Data +@Schema(description = "房间信息") +public class RoomItemVo extends RoomInfo { + + @Schema(description = "租约结束日期") + private Date leaseEndDate; + + @Schema(description = "当前入住状态") + private Boolean isCheckIn; + + @Schema(description = "所属公寓信息") + private ApartmentInfo apartmentInfo; + +} diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/room/RoomQueryVo.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/room/RoomQueryVo.java new file mode 100644 index 0000000..a9ccb3d --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/room/RoomQueryVo.java @@ -0,0 +1,21 @@ +package com.atguigu.lease.web.admin.vo.room; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Schema(description = "房间查询实体") +@Data +public class RoomQueryVo { + + @Schema(description = "省份Id") + private Long provinceId; + + @Schema(description = "城市Id") + private Long cityId; + + @Schema(description = "区域Id") + private Long districtId; + + @Schema(description = "公寓Id") + private Long apartmentId; +} diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/room/RoomSubmitVo.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/room/RoomSubmitVo.java new file mode 100644 index 0000000..123f43c --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/room/RoomSubmitVo.java @@ -0,0 +1,33 @@ +package com.atguigu.lease.web.admin.vo.room; + +import com.atguigu.lease.model.entity.RoomInfo; +import com.atguigu.lease.web.admin.vo.graph.GraphVo; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.List; + + +@Data +@Schema(description = "房间信息") +public class RoomSubmitVo extends RoomInfo { + + @Schema(description = "图片列表") + private List graphVoList; + + @Schema(description = "属性信息列表") + private List attrValueIds; + + @Schema(description = "配套信息列表") + private List facilityInfoIds; + + @Schema(description = "标签信息列表") + private List labelInfoIds; + + @Schema(description = "支付方式列表") + private List paymentTypeIds; + + @Schema(description = "可选租期列表") + private List leaseTermIds; + +} diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/system/user/SystemUserInfoVo.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/system/user/SystemUserInfoVo.java new file mode 100644 index 0000000..a4b1024 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/system/user/SystemUserInfoVo.java @@ -0,0 +1,17 @@ +package com.atguigu.lease.web.admin.vo.system.user; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Data; + +@Schema(description = "员工基本信息") +@Data +public class SystemUserInfoVo { + + @Schema(description = "用户姓名") + private String name; + + @Schema(description = "用户头像") + private String avatarUrl; + +} diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/system/user/SystemUserItemVo.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/system/user/SystemUserItemVo.java new file mode 100644 index 0000000..b880bab --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/system/user/SystemUserItemVo.java @@ -0,0 +1,17 @@ +package com.atguigu.lease.web.admin.vo.system.user; + +import com.atguigu.lease.model.entity.SystemUser; +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + + +@Data +@Schema(description = "后台管理系统用户基本信息实体") +public class SystemUserItemVo extends SystemUser { + + @Schema(description = "岗位名称") + @TableField(value = "post_name") + private String postName; + +} diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/system/user/SystemUserQueryVo.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/system/user/SystemUserQueryVo.java new file mode 100644 index 0000000..378384b --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/system/user/SystemUserQueryVo.java @@ -0,0 +1,16 @@ +package com.atguigu.lease.web.admin.vo.system.user; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + + +@Data +@Schema(description = "员工查询实体") +public class SystemUserQueryVo { + + @Schema(description= "员工姓名") + private String name; + + @Schema(description= "手机号码") + private String phone; +} diff --git a/web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/user/UserInfoQueryVo.java b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/user/UserInfoQueryVo.java new file mode 100644 index 0000000..55d9b48 --- /dev/null +++ b/web/web-admin/src/main/java/com/atguigu/lease/web/admin/vo/user/UserInfoQueryVo.java @@ -0,0 +1,17 @@ +package com.atguigu.lease.web.admin.vo.user; + +import com.atguigu.lease.model.enums.BaseStatus; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Schema(description = "用户信息查询实体") +@Data +public class UserInfoQueryVo { + + @Schema(description = "用户手机号码") + private String phone; + + + @Schema(description = "用户账号状态") + private BaseStatus status; +} diff --git a/web/web-admin/src/main/resources/application.yml b/web/web-admin/src/main/resources/application.yml new file mode 100644 index 0000000..52e47e4 --- /dev/null +++ b/web/web-admin/src/main/resources/application.yml @@ -0,0 +1,49 @@ +server: + port: 8080 + +spring: + datasource: + type: com.zaxxer.hikari.HikariDataSource + url: jdbc:mysql://localhost:3306/lease?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=GMT%2b8 + username: root + password: 735289578 + hikari: + connection-test-query: SELECT 1 # 自动检测连接 + connection-timeout: 60000 #数据库连接超时时间,默认30秒 + idle-timeout: 500000 #空闲连接存活最大时间,默认600000(10分钟) + max-lifetime: 540000 #此属性控制池中连接的最长生命周期,值0表示无限生命周期,默认1800000即30分钟 + maximum-pool-size: 12 #连接池最大连接数,默认是10 + minimum-idle: 10 #最小空闲连接数量 + pool-name: SPHHikariPool # 连接池名称 + jackson: + date-format: yyyy-MM-dd HH:mm:ss + time-zone: GMT+8 + banner: + charset: utf-8 + location: classpath:banner.txt + + servlet: + multipart: + max-file-size: 100MB + max-request-size: 150MB + +#用于打印框架生成的sql语句,便于调试 +mybatis-plus: + configuration: + log-impl: org.apache.ibatis.logging.stdout.StdOutImpl + mapper-locations: classpath*:/mapper/**/*.xml + +minio: + endpoint: http://127.0.0.1:9000 + access-key: minioadmin + secret-key: minioadmin + bucket-name: 0312java +springdoc: + default-flat-param-object: true + + + data: + redis: + host: localhost + port: 6379 + database: 0 diff --git a/web/web-admin/src/main/resources/banner.txt b/web/web-admin/src/main/resources/banner.txt new file mode 100644 index 0000000..b738b2e --- /dev/null +++ b/web/web-admin/src/main/resources/banner.txt @@ -0,0 +1,22 @@ + //////////////////////////////////////////////////////////////////// + // _ooOoo_ // + // o8888888o // + // 88" . "88 // + // (| ^_^ |) // + // O\ = /O // + // ____/`---'\____ // + // .' \\| |// `. // + // / \\||| : |||// \ // + // / _||||| -:- |||||- \ // + // | | \\\ - /// | | // + // | \_| ''\---/'' | | // + // \ .-\__ `-` ___/-. / // + // ___`. .' /--.--\ `. . ___ // + // ."" '< `.___\_<|>_/___.' >'"". // + // | | : `- \`.;`\ _ /`;.`/ - ` : | | // + // \ \ `-. \_ __\ /__ _/ .-` / / // + // ========`-.____`-.___\_____/___.-`____.-'======== // + // `=---=' // + // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // + // 佛祖保佑 永不宕机 永无BUG // + //////////////////////////////////////////////////////////////////// \ No newline at end of file diff --git a/web/web-admin/src/main/resources/mapper/ApartmentFacilityMapper.xml b/web/web-admin/src/main/resources/mapper/ApartmentFacilityMapper.xml new file mode 100644 index 0000000..83f1f9d --- /dev/null +++ b/web/web-admin/src/main/resources/mapper/ApartmentFacilityMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/web/web-admin/src/main/resources/mapper/ApartmentFeeValueMapper.xml b/web/web-admin/src/main/resources/mapper/ApartmentFeeValueMapper.xml new file mode 100644 index 0000000..b9676d3 --- /dev/null +++ b/web/web-admin/src/main/resources/mapper/ApartmentFeeValueMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/web/web-admin/src/main/resources/mapper/ApartmentInfoMapper.xml b/web/web-admin/src/main/resources/mapper/ApartmentInfoMapper.xml new file mode 100644 index 0000000..d672493 --- /dev/null +++ b/web/web-admin/src/main/resources/mapper/ApartmentInfoMapper.xml @@ -0,0 +1,67 @@ + + + + + diff --git a/web/web-admin/src/main/resources/mapper/ApartmentLabelMapper.xml b/web/web-admin/src/main/resources/mapper/ApartmentLabelMapper.xml new file mode 100644 index 0000000..dad40f5 --- /dev/null +++ b/web/web-admin/src/main/resources/mapper/ApartmentLabelMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/web/web-admin/src/main/resources/mapper/AttrKeyMapper.xml b/web/web-admin/src/main/resources/mapper/AttrKeyMapper.xml new file mode 100644 index 0000000..6eba532 --- /dev/null +++ b/web/web-admin/src/main/resources/mapper/AttrKeyMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + diff --git a/web/web-admin/src/main/resources/mapper/AttrValueMapper.xml b/web/web-admin/src/main/resources/mapper/AttrValueMapper.xml new file mode 100644 index 0000000..6ff2d81 --- /dev/null +++ b/web/web-admin/src/main/resources/mapper/AttrValueMapper.xml @@ -0,0 +1,17 @@ + + + + + diff --git a/web/web-admin/src/main/resources/mapper/BrowsingHistoryMapper.xml b/web/web-admin/src/main/resources/mapper/BrowsingHistoryMapper.xml new file mode 100644 index 0000000..0dc7d29 --- /dev/null +++ b/web/web-admin/src/main/resources/mapper/BrowsingHistoryMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/web/web-admin/src/main/resources/mapper/CityInfoMapper.xml b/web/web-admin/src/main/resources/mapper/CityInfoMapper.xml new file mode 100644 index 0000000..0efe56b --- /dev/null +++ b/web/web-admin/src/main/resources/mapper/CityInfoMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/web/web-admin/src/main/resources/mapper/DistrictInfoMapper.xml b/web/web-admin/src/main/resources/mapper/DistrictInfoMapper.xml new file mode 100644 index 0000000..61718fc --- /dev/null +++ b/web/web-admin/src/main/resources/mapper/DistrictInfoMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/web/web-admin/src/main/resources/mapper/FacilityInfoMapper.xml b/web/web-admin/src/main/resources/mapper/FacilityInfoMapper.xml new file mode 100644 index 0000000..9dddf57 --- /dev/null +++ b/web/web-admin/src/main/resources/mapper/FacilityInfoMapper.xml @@ -0,0 +1,14 @@ + + + + + + + + diff --git a/web/web-admin/src/main/resources/mapper/FeeKeyMapper.xml b/web/web-admin/src/main/resources/mapper/FeeKeyMapper.xml new file mode 100644 index 0000000..61e6786 --- /dev/null +++ b/web/web-admin/src/main/resources/mapper/FeeKeyMapper.xml @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/web/web-admin/src/main/resources/mapper/FeeValueMapper.xml b/web/web-admin/src/main/resources/mapper/FeeValueMapper.xml new file mode 100644 index 0000000..3a7a854 --- /dev/null +++ b/web/web-admin/src/main/resources/mapper/FeeValueMapper.xml @@ -0,0 +1,12 @@ + + + + + diff --git a/web/web-admin/src/main/resources/mapper/GraphInfoMapper.xml b/web/web-admin/src/main/resources/mapper/GraphInfoMapper.xml new file mode 100644 index 0000000..e3ef909 --- /dev/null +++ b/web/web-admin/src/main/resources/mapper/GraphInfoMapper.xml @@ -0,0 +1,23 @@ + + + + + + + + diff --git a/web/web-admin/src/main/resources/mapper/LabelInfoMapper.xml b/web/web-admin/src/main/resources/mapper/LabelInfoMapper.xml new file mode 100644 index 0000000..b0303fd --- /dev/null +++ b/web/web-admin/src/main/resources/mapper/LabelInfoMapper.xml @@ -0,0 +1,22 @@ + + + + + + + diff --git a/web/web-admin/src/main/resources/mapper/LeaseAgreementMapper.xml b/web/web-admin/src/main/resources/mapper/LeaseAgreementMapper.xml new file mode 100644 index 0000000..0197da3 --- /dev/null +++ b/web/web-admin/src/main/resources/mapper/LeaseAgreementMapper.xml @@ -0,0 +1,99 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/web/web-admin/src/main/resources/mapper/LeaseTermMapper.xml b/web/web-admin/src/main/resources/mapper/LeaseTermMapper.xml new file mode 100644 index 0000000..ce01c4e --- /dev/null +++ b/web/web-admin/src/main/resources/mapper/LeaseTermMapper.xml @@ -0,0 +1,11 @@ + + + + + diff --git a/web/web-admin/src/main/resources/mapper/PaymentTypeMapper.xml b/web/web-admin/src/main/resources/mapper/PaymentTypeMapper.xml new file mode 100644 index 0000000..d29fd8e --- /dev/null +++ b/web/web-admin/src/main/resources/mapper/PaymentTypeMapper.xml @@ -0,0 +1,15 @@ + + + + + diff --git a/web/web-admin/src/main/resources/mapper/ProvinceInfoMapper.xml b/web/web-admin/src/main/resources/mapper/ProvinceInfoMapper.xml new file mode 100644 index 0000000..3c8588a --- /dev/null +++ b/web/web-admin/src/main/resources/mapper/ProvinceInfoMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/web/web-admin/src/main/resources/mapper/RoomAttrValueMapper.xml b/web/web-admin/src/main/resources/mapper/RoomAttrValueMapper.xml new file mode 100644 index 0000000..dcfee72 --- /dev/null +++ b/web/web-admin/src/main/resources/mapper/RoomAttrValueMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/web/web-admin/src/main/resources/mapper/RoomFacilityMapper.xml b/web/web-admin/src/main/resources/mapper/RoomFacilityMapper.xml new file mode 100644 index 0000000..e4074c6 --- /dev/null +++ b/web/web-admin/src/main/resources/mapper/RoomFacilityMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/web/web-admin/src/main/resources/mapper/RoomInfoMapper.xml b/web/web-admin/src/main/resources/mapper/RoomInfoMapper.xml new file mode 100644 index 0000000..7d440cc --- /dev/null +++ b/web/web-admin/src/main/resources/mapper/RoomInfoMapper.xml @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + diff --git a/web/web-admin/src/main/resources/mapper/RoomLabelMapper.xml b/web/web-admin/src/main/resources/mapper/RoomLabelMapper.xml new file mode 100644 index 0000000..654c0a8 --- /dev/null +++ b/web/web-admin/src/main/resources/mapper/RoomLabelMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/web/web-admin/src/main/resources/mapper/RoomLeaseTermMapper.xml b/web/web-admin/src/main/resources/mapper/RoomLeaseTermMapper.xml new file mode 100644 index 0000000..d894b61 --- /dev/null +++ b/web/web-admin/src/main/resources/mapper/RoomLeaseTermMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/web/web-admin/src/main/resources/mapper/RoomPaymentTypeMapper.xml b/web/web-admin/src/main/resources/mapper/RoomPaymentTypeMapper.xml new file mode 100644 index 0000000..a4a1ef3 --- /dev/null +++ b/web/web-admin/src/main/resources/mapper/RoomPaymentTypeMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/web/web-admin/src/main/resources/mapper/SystemPostMapper.xml b/web/web-admin/src/main/resources/mapper/SystemPostMapper.xml new file mode 100644 index 0000000..1f294a0 --- /dev/null +++ b/web/web-admin/src/main/resources/mapper/SystemPostMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/web/web-admin/src/main/resources/mapper/SystemUserMapper.xml b/web/web-admin/src/main/resources/mapper/SystemUserMapper.xml new file mode 100644 index 0000000..b56565f --- /dev/null +++ b/web/web-admin/src/main/resources/mapper/SystemUserMapper.xml @@ -0,0 +1,28 @@ + + + + + diff --git a/web/web-admin/src/main/resources/mapper/UserInfoMapper.xml b/web/web-admin/src/main/resources/mapper/UserInfoMapper.xml new file mode 100644 index 0000000..f437fe8 --- /dev/null +++ b/web/web-admin/src/main/resources/mapper/UserInfoMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/web/web-admin/src/main/resources/mapper/ViewAppointmentMapper.xml b/web/web-admin/src/main/resources/mapper/ViewAppointmentMapper.xml new file mode 100644 index 0000000..386bc02 --- /dev/null +++ b/web/web-admin/src/main/resources/mapper/ViewAppointmentMapper.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + + + diff --git a/web/web-app/pom.xml b/web/web-app/pom.xml new file mode 100644 index 0000000..2719436 --- /dev/null +++ b/web/web-app/pom.xml @@ -0,0 +1,77 @@ + + + + web + com.atguigu + 1.0-SNAPSHOT + + 4.0.0 + + web-app + + + 17 + 17 + + + + + commons-lang + commons-lang + 2.6 + + + org.eclipse.jetty + jetty-util + 9.3.7.v20160115 + + + org.apache.httpcomponents + httpclient + 4.2.1 + + + org.apache.httpcomponents + httpcore + 4.2.1 + + + commons-lang + commons-lang + 2.6 + + + org.eclipse.jetty + jetty-util + 9.3.7.v20160115 + + + org.apache.httpcomponents + httpclient + 4.2.1 + + + org.apache.httpcomponents + httpcore + 4.2.1 + + + + com.github.whvcse + easy-captcha + + + org.springframework.boot + spring-boot-starter-data-redis + + + commons-codec + commons-codec + + + + + + \ No newline at end of file diff --git a/web/web-app/src/main/java/com/atguigu/lease/AppWebApplication.java b/web/web-app/src/main/java/com/atguigu/lease/AppWebApplication.java new file mode 100644 index 0000000..711c619 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/AppWebApplication.java @@ -0,0 +1,12 @@ +package com.atguigu.lease; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.context.annotation.ComponentScan; + +@SpringBootApplication +public class AppWebApplication { + public static void main(String[] args) { + SpringApplication.run(AppWebApplication.class, args); + } +} diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/controller/agreement/LeaseAgreementController.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/controller/agreement/LeaseAgreementController.java new file mode 100644 index 0000000..583eabb --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/controller/agreement/LeaseAgreementController.java @@ -0,0 +1,43 @@ +package com.atguigu.lease.web.app.controller.agreement; + + +import com.atguigu.lease.common.result.Result; +import com.atguigu.lease.model.entity.LeaseAgreement; +import com.atguigu.lease.model.enums.LeaseStatus; +import com.atguigu.lease.web.app.vo.agreement.AgreementDetailVo; +import com.atguigu.lease.web.app.vo.agreement.AgreementItemVo; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@RestController +@RequestMapping("/app/agreement") +@Tag(name = "租约信息") +public class LeaseAgreementController { + + @Operation(summary = "获取个人租约基本信息列表") + @GetMapping("listItem") + public Result> listItem() { + return Result.ok(); + } + + @Operation(summary = "根据id获取租约详细信息") + @GetMapping("getDetailById") + public Result getDetailById(@RequestParam Long id) { + return Result.ok(); + } + + @Operation(summary = "根据id更新租约状态", description = "用于确认租约和提前退租") + @PostMapping("updateStatusById") + public Result updateStatusById(@RequestParam Long id, @RequestParam LeaseStatus leaseStatus) { + return Result.ok(); + } + + @Operation(summary = "保存或更新租约", description = "用于续约") + @PostMapping("saveOrUpdate") + public Result saveOrUpdate(@RequestBody LeaseAgreement leaseAgreement) { + return Result.ok(); + } +} \ No newline at end of file diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/controller/apartment/ApartmentController.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/controller/apartment/ApartmentController.java new file mode 100644 index 0000000..12a2993 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/controller/apartment/ApartmentController.java @@ -0,0 +1,26 @@ +package com.atguigu.lease.web.app.controller.apartment; + +import com.atguigu.lease.common.result.Result; +import com.atguigu.lease.web.app.service.ApartmentInfoService; +import com.atguigu.lease.web.app.vo.apartment.ApartmentDetailVo; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@Tag(name = "公寓信息") +@RequestMapping("/app/apartment") +public class ApartmentController { + + @Operation(summary = "根据id获取公寓信息") + @GetMapping("getDetailById") + public Result getDetailById(@RequestParam Long id) { + return Result.ok(); + } + + +} diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/controller/appointment/ViewAppointmentController.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/controller/appointment/ViewAppointmentController.java new file mode 100644 index 0000000..9c5c484 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/controller/appointment/ViewAppointmentController.java @@ -0,0 +1,39 @@ +package com.atguigu.lease.web.app.controller.appointment; + + +import com.atguigu.lease.common.result.Result; +import com.atguigu.lease.model.entity.ViewAppointment; +import com.atguigu.lease.web.app.vo.appointment.AppointmentDetailVo; +import com.atguigu.lease.web.app.vo.appointment.AppointmentItemVo; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@Tag(name = "看房预约信息") +@RestController +@RequestMapping("/app/appointment") +public class ViewAppointmentController { + + @Operation(summary = "保存或更新看房预约") + @PostMapping("saveOrUpdate") + public Result saveOrUpdate(@RequestBody ViewAppointment viewAppointment) { + return Result.ok(); + } + + @Operation(summary = "查询个人预约看房列表") + @GetMapping("listItem") + public Result> listItem() { + return Result.ok(); + } + + + @GetMapping("getDetailById") + @Operation(summary = "根据ID查询预约详情信息") + public Result getDetailById(Long id) { + return Result.ok(); + } + +} + diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/controller/history/BrowsingHistoryController.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/controller/history/BrowsingHistoryController.java new file mode 100644 index 0000000..a1c2376 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/controller/history/BrowsingHistoryController.java @@ -0,0 +1,26 @@ +package com.atguigu.lease.web.app.controller.history; + + +import com.atguigu.lease.common.result.Result; +import com.atguigu.lease.web.app.vo.history.HistoryItemVo; +import com.baomidou.mybatisplus.core.metadata.IPage; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@Tag(name = "浏览历史管理") +@RequestMapping("/app/history") +public class BrowsingHistoryController { + + + @Operation(summary = "获取浏览历史") + @GetMapping("pageItem") + private Result> page(@RequestParam long current, @RequestParam long size) { + return Result.ok(); + } + +} diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/controller/leasaterm/LeaseTermController.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/controller/leasaterm/LeaseTermController.java new file mode 100644 index 0000000..76bb500 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/controller/leasaterm/LeaseTermController.java @@ -0,0 +1,28 @@ +package com.atguigu.lease.web.app.controller.leasaterm; + +import com.atguigu.lease.common.result.Result; +import com.atguigu.lease.model.entity.LeaseAgreement; +import com.atguigu.lease.model.entity.LeaseTerm; +import com.atguigu.lease.web.app.service.LeaseTermService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +@RestController +@RequestMapping("/app/term/") +@Tag(name = "租期信息") +public class LeaseTermController { + + + @GetMapping("listByRoomId") + @Operation(summary = "根据房间id获取可选获取租期列表") + public Result> list(@RequestParam Long id) { + return Result.ok(); + } +} diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/controller/login/LoginController.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/controller/login/LoginController.java new file mode 100644 index 0000000..d8a7f8e --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/controller/login/LoginController.java @@ -0,0 +1,37 @@ +package com.atguigu.lease.web.app.controller.login; + +import com.atguigu.lease.common.result.Result; +import com.atguigu.lease.web.app.service.LoginService; +import com.atguigu.lease.web.app.vo.user.LoginVo; +import com.atguigu.lease.web.app.vo.user.UserInfoVo; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +@RestController +@Tag(name = "登录管理") +@RequestMapping("/app/") +public class LoginController { +@Autowired +private LoginService loginService; + @GetMapping("login/getCode") + @Operation(summary = "获取短信验证码") + public Result getCode(@RequestParam String phone) { + loginService.getCode(phone); + return Result.ok(); + } + + @PostMapping("login") + @Operation(summary = "登录") + public Result login(@RequestBody LoginVo loginVo) { + String token = loginService.loginUser(loginVo); + return Result.ok(token); + } + + @GetMapping("info") + @Operation(summary = "获取登录用户信息") + public Result info() { + return Result.ok(); + } +} diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/controller/payment/PaymentTypeController.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/controller/payment/PaymentTypeController.java new file mode 100644 index 0000000..9bd87cb --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/controller/payment/PaymentTypeController.java @@ -0,0 +1,33 @@ +package com.atguigu.lease.web.app.controller.payment; + + +import com.atguigu.lease.common.result.Result; +import com.atguigu.lease.model.entity.PaymentType; +import com.atguigu.lease.web.app.service.PaymentTypeService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +@Tag(name = "支付方式接口") +@RestController +@RequestMapping("/app/payment") +public class PaymentTypeController { + + @Operation(summary = "根据房间id获取可选支付方式列表") + @GetMapping("listByRoomId") + public Result> list(@RequestParam Long id) { + return Result.ok(); + } + + @Operation(summary = "获取全部支付方式列表") + @GetMapping("list") + public Result> list() { + return Result.ok(); + } +} diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/controller/region/RegionController.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/controller/region/RegionController.java new file mode 100644 index 0000000..56d86a8 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/controller/region/RegionController.java @@ -0,0 +1,40 @@ +package com.atguigu.lease.web.app.controller.region; + + +import com.atguigu.lease.common.result.Result; +import com.atguigu.lease.model.entity.CityInfo; +import com.atguigu.lease.model.entity.DistrictInfo; +import com.atguigu.lease.model.entity.ProvinceInfo; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +@Tag(name = "地区信息") +@RestController +@RequestMapping("/app/region") +public class RegionController { + + @Operation(summary="查询省份信息列表") + @GetMapping("province/list") + public Result> listProvince(){ + return Result.ok(); + } + + @Operation(summary="根据省份id查询城市信息列表") + @GetMapping("city/listByProvinceId") + public Result> listCityInfoByProvinceId(@RequestParam Long id){ + return Result.ok(); + } + + @GetMapping("district/listByCityId") + @Operation(summary="根据城市id查询区县信息") + public Result> listDistrictInfoByCityId(@RequestParam Long id){ + return Result.ok(); + } +} diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/controller/room/RoomController.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/controller/room/RoomController.java new file mode 100644 index 0000000..7599614 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/controller/room/RoomController.java @@ -0,0 +1,41 @@ +package com.atguigu.lease.web.app.controller.room; + + +import com.atguigu.lease.common.result.Result; +import com.atguigu.lease.web.app.service.RoomInfoService; +import com.atguigu.lease.web.app.vo.room.RoomDetailVo; +import com.atguigu.lease.web.app.vo.room.RoomItemVo; +import com.atguigu.lease.web.app.vo.room.RoomQueryVo; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +@Tag(name = "房间信息") +@RestController +@RequestMapping("/app/room") +public class RoomController { + + @Operation(summary = "分页查询房间列表") + @GetMapping("pageItem") + public Result> pageItem(@RequestParam long current, @RequestParam long size, RoomQueryVo queryVo) { + return Result.ok(); + } + + @Operation(summary = "根据id获取房间的详细信息") + @GetMapping("getDetailById") + public Result getDetailById(@RequestParam Long id) { + return Result.ok(); + } + + @Operation(summary = "根据公寓id分页查询房间列表") + @GetMapping("pageItemByApartmentId") + public Result> pageItemByApartmentId(@RequestParam long current, @RequestParam long size, @RequestParam Long id) { + return Result.ok(); + } +} diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/ApartmentFacilityMapper.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/ApartmentFacilityMapper.java new file mode 100644 index 0000000..df040a3 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/ApartmentFacilityMapper.java @@ -0,0 +1,18 @@ +package com.atguigu.lease.web.app.mapper; + +import com.atguigu.lease.model.entity.ApartmentFacility; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** +* @author liubo +* @description 针对表【apartment_facility(公寓&配套关联表)】的数据库操作Mapper +* @createDate 2023-07-26 11:12:39 +* @Entity com.atguigu.lease.model.entity.ApartmentFacility +*/ +public interface ApartmentFacilityMapper extends BaseMapper { + +} + + + + diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/ApartmentFeeValueMapper.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/ApartmentFeeValueMapper.java new file mode 100644 index 0000000..c19ad3f --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/ApartmentFeeValueMapper.java @@ -0,0 +1,18 @@ +package com.atguigu.lease.web.app.mapper; + +import com.atguigu.lease.model.entity.ApartmentFeeValue; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** +* @author liubo +* @description 针对表【apartment_fee_value(公寓&杂费关联表)】的数据库操作Mapper +* @createDate 2023-07-26 11:12:39 +* @Entity com.atguigu.lease.model.entity.ApartmentFeeValue +*/ +public interface ApartmentFeeValueMapper extends BaseMapper { + +} + + + + diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/ApartmentInfoMapper.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/ApartmentInfoMapper.java new file mode 100644 index 0000000..30396bd --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/ApartmentInfoMapper.java @@ -0,0 +1,22 @@ +package com.atguigu.lease.web.app.mapper; + +import com.atguigu.lease.model.entity.ApartmentInfo; +import com.atguigu.lease.web.app.vo.apartment.ApartmentItemVo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +import java.math.BigDecimal; + +/** +* @author liubo +* @description 针对表【apartment_info(公寓信息表)】的数据库操作Mapper +* @createDate 2023-07-26 11:12:39 +* @Entity com.atguigu.lease.model.entity.ApartmentInfo +*/ +public interface ApartmentInfoMapper extends BaseMapper { + + +} + + + + diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/ApartmentLabelMapper.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/ApartmentLabelMapper.java new file mode 100644 index 0000000..b732d0d --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/ApartmentLabelMapper.java @@ -0,0 +1,18 @@ +package com.atguigu.lease.web.app.mapper; + +import com.atguigu.lease.model.entity.ApartmentLabel; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** +* @author liubo +* @description 针对表【apartment_label(公寓标签关联表)】的数据库操作Mapper +* @createDate 2023-07-26 11:12:39 +* @Entity com.atguigu.lease.model.entity.ApartmentLabel +*/ +public interface ApartmentLabelMapper extends BaseMapper { + +} + + + + diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/AttrKeyMapper.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/AttrKeyMapper.java new file mode 100644 index 0000000..9c8d5e5 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/AttrKeyMapper.java @@ -0,0 +1,18 @@ +package com.atguigu.lease.web.app.mapper; + +import com.atguigu.lease.model.entity.AttrKey; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** +* @author liubo +* @description 针对表【attr_key(房间基本属性表)】的数据库操作Mapper +* @createDate 2023-07-26 11:12:39 +* @Entity com.atguigu.lease.model.entity.AttrKey +*/ +public interface AttrKeyMapper extends BaseMapper { + +} + + + + diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/AttrValueMapper.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/AttrValueMapper.java new file mode 100644 index 0000000..2cdc1db --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/AttrValueMapper.java @@ -0,0 +1,21 @@ +package com.atguigu.lease.web.app.mapper; + +import com.atguigu.lease.model.entity.AttrValue; +import com.atguigu.lease.web.app.vo.attr.AttrValueVo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +import java.util.List; + +/** +* @author liubo +* @description 针对表【attr_value(房间基本属性值表)】的数据库操作Mapper +* @createDate 2023-07-26 11:12:39 +* @Entity com.atguigu.lease.model.entity.AttrValue +*/ +public interface AttrValueMapper extends BaseMapper { + +} + + + + diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/BrowsingHistoryMapper.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/BrowsingHistoryMapper.java new file mode 100644 index 0000000..3319e58 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/BrowsingHistoryMapper.java @@ -0,0 +1,21 @@ +package com.atguigu.lease.web.app.mapper; + +import com.atguigu.lease.model.entity.BrowsingHistory; +import com.atguigu.lease.web.app.vo.history.HistoryItemVo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + +/** +* @author liubo +* @description 针对表【browsing_history(浏览历史)】的数据库操作Mapper +* @createDate 2023-07-26 11:12:39 +* @Entity com.atguigu.lease.model.entity.BrowsingHistory +*/ +public interface BrowsingHistoryMapper extends BaseMapper { + +} + + + + diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/CityInfoMapper.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/CityInfoMapper.java new file mode 100644 index 0000000..6f332e9 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/CityInfoMapper.java @@ -0,0 +1,18 @@ +package com.atguigu.lease.web.app.mapper; + +import com.atguigu.lease.model.entity.CityInfo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** +* @author liubo +* @description 针对表【city_info】的数据库操作Mapper +* @createDate 2023-07-26 11:12:39 +* @Entity com.atguigu.lease.model.entity.CityInfo +*/ +public interface CityInfoMapper extends BaseMapper { + +} + + + + diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/DistrictInfoMapper.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/DistrictInfoMapper.java new file mode 100644 index 0000000..085ecc3 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/DistrictInfoMapper.java @@ -0,0 +1,18 @@ +package com.atguigu.lease.web.app.mapper; + +import com.atguigu.lease.model.entity.DistrictInfo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** +* @author liubo +* @description 针对表【district_info】的数据库操作Mapper +* @createDate 2023-07-26 11:12:39 +* @Entity com.atguigu.lease.model.entity.DistrictInfo +*/ +public interface DistrictInfoMapper extends BaseMapper { + +} + + + + diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/FacilityInfoMapper.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/FacilityInfoMapper.java new file mode 100644 index 0000000..03ecf8a --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/FacilityInfoMapper.java @@ -0,0 +1,20 @@ +package com.atguigu.lease.web.app.mapper; + +import com.atguigu.lease.model.entity.FacilityInfo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +import java.util.List; + +/** +* @author liubo +* @description 针对表【facility_info(配套信息表)】的数据库操作Mapper +* @createDate 2023-07-26 11:12:39 +* @Entity com.atguigu.lease.model.entity.FacilityInfo +*/ +public interface FacilityInfoMapper extends BaseMapper { + +} + + + + diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/FeeKeyMapper.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/FeeKeyMapper.java new file mode 100644 index 0000000..cc64b3e --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/FeeKeyMapper.java @@ -0,0 +1,18 @@ +package com.atguigu.lease.web.app.mapper; + +import com.atguigu.lease.model.entity.FeeKey; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** +* @author liubo +* @description 针对表【fee_key(杂项费用名称表)】的数据库操作Mapper +* @createDate 2023-07-26 11:12:39 +* @Entity com.atguigu.lease.model.entity.FeeKey +*/ +public interface FeeKeyMapper extends BaseMapper { + +} + + + + diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/FeeValueMapper.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/FeeValueMapper.java new file mode 100644 index 0000000..0c6b77b --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/FeeValueMapper.java @@ -0,0 +1,21 @@ +package com.atguigu.lease.web.app.mapper; + +import com.atguigu.lease.model.entity.FeeValue; +import com.atguigu.lease.web.app.vo.fee.FeeValueVo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +import java.util.List; + +/** +* @author liubo +* @description 针对表【fee_value(杂项费用值表)】的数据库操作Mapper +* @createDate 2023-07-26 11:12:39 +* @Entity com.atguigu.lease.model.entity.FeeValue +*/ +public interface FeeValueMapper extends BaseMapper { + +} + + + + diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/GraphInfoMapper.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/GraphInfoMapper.java new file mode 100644 index 0000000..d1440b4 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/GraphInfoMapper.java @@ -0,0 +1,22 @@ +package com.atguigu.lease.web.app.mapper; + +import com.atguigu.lease.model.entity.GraphInfo; +import com.atguigu.lease.model.enums.ItemType; +import com.atguigu.lease.web.app.vo.graph.GraphVo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +import java.util.List; + +/** +* @author liubo +* @description 针对表【graph_info(图片信息表)】的数据库操作Mapper +* @createDate 2023-07-26 11:12:39 +* @Entity com.atguigu.lease.model.entity.GraphInfo +*/ +public interface GraphInfoMapper extends BaseMapper { + +} + + + + diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/LabelInfoMapper.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/LabelInfoMapper.java new file mode 100644 index 0000000..1ef40c0 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/LabelInfoMapper.java @@ -0,0 +1,21 @@ +package com.atguigu.lease.web.app.mapper; + +import com.atguigu.lease.model.entity.LabelInfo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +import java.util.List; + +/** +* @author liubo +* @description 针对表【label_info(标签信息表)】的数据库操作Mapper +* @createDate 2023-07-26 11:12:39 +* @Entity com.atguigu.lease.model.entity.LabelInfo +*/ +public interface LabelInfoMapper extends BaseMapper { + + +} + + + + diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/LeaseAgreementMapper.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/LeaseAgreementMapper.java new file mode 100644 index 0000000..150ac42 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/LeaseAgreementMapper.java @@ -0,0 +1,22 @@ +package com.atguigu.lease.web.app.mapper; + +import com.atguigu.lease.model.entity.LeaseAgreement; +import com.atguigu.lease.web.app.vo.agreement.AgreementItemVo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +import java.util.List; + +/** +* @author liubo +* @description 针对表【lease_agreement(租约信息表)】的数据库操作Mapper +* @createDate 2023-07-26 11:12:39 +* @Entity com.atguigu.lease.model.entity.LeaseAgreement +*/ +public interface LeaseAgreementMapper extends BaseMapper { + + +} + + + + diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/LeaseTermMapper.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/LeaseTermMapper.java new file mode 100644 index 0000000..6b7fbad --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/LeaseTermMapper.java @@ -0,0 +1,20 @@ +package com.atguigu.lease.web.app.mapper; + +import com.atguigu.lease.model.entity.LeaseTerm; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +import java.util.List; + +/** +* @author liubo +* @description 针对表【lease_term(租期)】的数据库操作Mapper +* @createDate 2023-07-26 11:12:39 +* @Entity com.atguigu.lease.model.entity.LeaseTerm +*/ +public interface LeaseTermMapper extends BaseMapper { + +} + + + + diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/PaymentTypeMapper.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/PaymentTypeMapper.java new file mode 100644 index 0000000..3ca6857 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/PaymentTypeMapper.java @@ -0,0 +1,21 @@ +package com.atguigu.lease.web.app.mapper; + +import com.atguigu.lease.model.entity.PaymentType; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +import java.util.List; + +/** +* @author liubo +* @description 针对表【payment_type(支付方式表)】的数据库操作Mapper +* @createDate 2023-07-26 11:12:39 +* @Entity com.atguigu.lease.model.entity.PaymentType +*/ +public interface PaymentTypeMapper extends BaseMapper { + + +} + + + + diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/ProvinceInfoMapper.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/ProvinceInfoMapper.java new file mode 100644 index 0000000..d870a88 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/ProvinceInfoMapper.java @@ -0,0 +1,18 @@ +package com.atguigu.lease.web.app.mapper; + +import com.atguigu.lease.model.entity.ProvinceInfo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** +* @author liubo +* @description 针对表【province_info】的数据库操作Mapper +* @createDate 2023-07-26 11:12:39 +* @Entity com.atguigu.lease.model.entity.ProvinceInfo +*/ +public interface ProvinceInfoMapper extends BaseMapper { + +} + + + + diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/RoomAttrValueMapper.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/RoomAttrValueMapper.java new file mode 100644 index 0000000..955c850 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/RoomAttrValueMapper.java @@ -0,0 +1,18 @@ +package com.atguigu.lease.web.app.mapper; + +import com.atguigu.lease.model.entity.RoomAttrValue; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** +* @author liubo +* @description 针对表【room_attr_value(房间&基本属性值关联表)】的数据库操作Mapper +* @createDate 2023-07-26 11:12:39 +* @Entity com.atguigu.lease.model.entity.RoomAttrValue +*/ +public interface RoomAttrValueMapper extends BaseMapper { + +} + + + + diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/RoomFacilityMapper.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/RoomFacilityMapper.java new file mode 100644 index 0000000..d920695 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/RoomFacilityMapper.java @@ -0,0 +1,18 @@ +package com.atguigu.lease.web.app.mapper; + +import com.atguigu.lease.model.entity.RoomFacility; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** +* @author liubo +* @description 针对表【room_facility(房间&配套关联表)】的数据库操作Mapper +* @createDate 2023-07-26 11:12:39 +* @Entity com.atguigu.lease.model.entity.RoomFacility +*/ +public interface RoomFacilityMapper extends BaseMapper { + +} + + + + diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/RoomInfoMapper.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/RoomInfoMapper.java new file mode 100644 index 0000000..351765c --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/RoomInfoMapper.java @@ -0,0 +1,20 @@ +package com.atguigu.lease.web.app.mapper; + +import com.atguigu.lease.model.entity.RoomInfo; +import com.atguigu.lease.web.app.vo.room.RoomItemVo; +import com.atguigu.lease.web.app.vo.room.RoomQueryVo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + +/** +* @author liubo +* @description 针对表【room_info(房间信息表)】的数据库操作Mapper +* @createDate 2023-07-26 11:12:39 +* @Entity com.atguigu.lease.model.entity.RoomInfo +*/ +public interface RoomInfoMapper extends BaseMapper { + + + +} \ No newline at end of file diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/RoomLabelMapper.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/RoomLabelMapper.java new file mode 100644 index 0000000..fa08844 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/RoomLabelMapper.java @@ -0,0 +1,18 @@ +package com.atguigu.lease.web.app.mapper; + +import com.atguigu.lease.model.entity.RoomLabel; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** +* @author liubo +* @description 针对表【room_label(房间&标签关联表)】的数据库操作Mapper +* @createDate 2023-07-26 11:12:39 +* @Entity com.atguigu.lease.model.entity.RoomLabel +*/ +public interface RoomLabelMapper extends BaseMapper { + +} + + + + diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/RoomLeaseTermMapper.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/RoomLeaseTermMapper.java new file mode 100644 index 0000000..e92d764 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/RoomLeaseTermMapper.java @@ -0,0 +1,18 @@ +package com.atguigu.lease.web.app.mapper; + +import com.atguigu.lease.model.entity.RoomLeaseTerm; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** +* @author liubo +* @description 针对表【room_lease_term(房间租期管理表)】的数据库操作Mapper +* @createDate 2023-07-26 11:12:39 +* @Entity com.atguigu.lease.model.entity.RoomLeaseTerm +*/ +public interface RoomLeaseTermMapper extends BaseMapper { + +} + + + + diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/RoomPaymentTypeMapper.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/RoomPaymentTypeMapper.java new file mode 100644 index 0000000..966932a --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/RoomPaymentTypeMapper.java @@ -0,0 +1,18 @@ +package com.atguigu.lease.web.app.mapper; + +import com.atguigu.lease.model.entity.RoomPaymentType; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** +* @author liubo +* @description 针对表【room_payment_type(房间&支付方式关联表)】的数据库操作Mapper +* @createDate 2023-07-26 11:12:39 +* @Entity com.atguigu.lease.model.entity.RoomPaymentType +*/ +public interface RoomPaymentTypeMapper extends BaseMapper { + +} + + + + diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/UserInfoMapper.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/UserInfoMapper.java new file mode 100644 index 0000000..6f4dbfd --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/UserInfoMapper.java @@ -0,0 +1,20 @@ +package com.atguigu.lease.web.app.mapper; + +import com.atguigu.lease.model.entity.UserInfo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.springframework.stereotype.Repository; + +/** +* @author liubo +* @description 针对表【user_info(用户信息表)】的数据库操作Mapper +* @createDate 2023-07-26 11:12:39 +* @Entity com.atguigu.lease.model.entity.UserInfo +*/ +@Repository +public interface UserInfoMapper extends BaseMapper { + +} + + + + diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/ViewAppointmentMapper.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/ViewAppointmentMapper.java new file mode 100644 index 0000000..5dd2bd5 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/mapper/ViewAppointmentMapper.java @@ -0,0 +1,22 @@ +package com.atguigu.lease.web.app.mapper; + +import com.atguigu.lease.model.entity.ViewAppointment; +import com.atguigu.lease.web.app.vo.appointment.AppointmentItemVo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +import java.util.List; + +/** +* @author liubo +* @description 针对表【view_appointment(预约看房信息表)】的数据库操作Mapper +* @createDate 2023-07-26 11:12:39 +* @Entity com.atguigu.lease.model.entity.ViewAppointment +*/ +public interface ViewAppointmentMapper extends BaseMapper { + + +} + + + + diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/service/ApartmentFacilityService.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/ApartmentFacilityService.java new file mode 100644 index 0000000..464de9d --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/ApartmentFacilityService.java @@ -0,0 +1,13 @@ +package com.atguigu.lease.web.app.service; + +import com.atguigu.lease.model.entity.ApartmentFacility; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author liubo +* @description 针对表【apartment_facility(公寓&配套关联表)】的数据库操作Service +* @createDate 2023-07-26 11:12:39 +*/ +public interface ApartmentFacilityService extends IService { + +} diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/service/ApartmentFeeValueService.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/ApartmentFeeValueService.java new file mode 100644 index 0000000..28c6e32 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/ApartmentFeeValueService.java @@ -0,0 +1,13 @@ +package com.atguigu.lease.web.app.service; + +import com.atguigu.lease.model.entity.ApartmentFeeValue; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author liubo +* @description 针对表【apartment_fee_value(公寓&杂费关联表)】的数据库操作Service +* @createDate 2023-07-26 11:12:39 +*/ +public interface ApartmentFeeValueService extends IService { + +} diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/service/ApartmentInfoService.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/ApartmentInfoService.java new file mode 100644 index 0000000..93058c8 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/ApartmentInfoService.java @@ -0,0 +1,14 @@ +package com.atguigu.lease.web.app.service; + +import com.atguigu.lease.model.entity.ApartmentInfo; +import com.atguigu.lease.web.app.vo.apartment.ApartmentDetailVo; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author liubo +* @description 针对表【apartment_info(公寓信息表)】的数据库操作Service +* @createDate 2023-07-26 11:12:39 +*/ +public interface ApartmentInfoService extends IService { + +} diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/service/ApartmentLabelService.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/ApartmentLabelService.java new file mode 100644 index 0000000..0343a43 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/ApartmentLabelService.java @@ -0,0 +1,13 @@ +package com.atguigu.lease.web.app.service; + +import com.atguigu.lease.model.entity.ApartmentLabel; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author liubo +* @description 针对表【apartment_label(公寓标签关联表)】的数据库操作Service +* @createDate 2023-07-26 11:12:39 +*/ +public interface ApartmentLabelService extends IService { + +} diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/service/AttrKeyService.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/AttrKeyService.java new file mode 100644 index 0000000..1c21947 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/AttrKeyService.java @@ -0,0 +1,13 @@ +package com.atguigu.lease.web.app.service; + +import com.atguigu.lease.model.entity.AttrKey; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author liubo +* @description 针对表【attr_key(房间基本属性表)】的数据库操作Service +* @createDate 2023-07-26 11:12:39 +*/ +public interface AttrKeyService extends IService { + +} diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/service/AttrValueService.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/AttrValueService.java new file mode 100644 index 0000000..9486c85 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/AttrValueService.java @@ -0,0 +1,13 @@ +package com.atguigu.lease.web.app.service; + +import com.atguigu.lease.model.entity.AttrValue; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author liubo +* @description 针对表【attr_value(房间基本属性值表)】的数据库操作Service +* @createDate 2023-07-26 11:12:39 +*/ +public interface AttrValueService extends IService { + +} diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/service/BrowsingHistoryService.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/BrowsingHistoryService.java new file mode 100644 index 0000000..96f0cc8 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/BrowsingHistoryService.java @@ -0,0 +1,16 @@ +package com.atguigu.lease.web.app.service; + +import com.atguigu.lease.model.entity.BrowsingHistory; +import com.atguigu.lease.web.app.vo.history.HistoryItemVo; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author liubo +* @description 针对表【browsing_history(浏览历史)】的数据库操作Service +* @createDate 2023-07-26 11:12:39 +*/ +public interface BrowsingHistoryService extends IService { + +} diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/service/CityInfoService.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/CityInfoService.java new file mode 100644 index 0000000..b2e0bfc --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/CityInfoService.java @@ -0,0 +1,13 @@ +package com.atguigu.lease.web.app.service; + +import com.atguigu.lease.model.entity.CityInfo; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author liubo +* @description 针对表【city_info】的数据库操作Service +* @createDate 2023-07-26 11:12:39 +*/ +public interface CityInfoService extends IService { + +} diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/service/DistrictInfoService.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/DistrictInfoService.java new file mode 100644 index 0000000..5aa1834 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/DistrictInfoService.java @@ -0,0 +1,13 @@ +package com.atguigu.lease.web.app.service; + +import com.atguigu.lease.model.entity.DistrictInfo; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author liubo +* @description 针对表【district_info】的数据库操作Service +* @createDate 2023-07-26 11:12:39 +*/ +public interface DistrictInfoService extends IService { + +} diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/service/FacilityInfoService.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/FacilityInfoService.java new file mode 100644 index 0000000..f4f3e83 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/FacilityInfoService.java @@ -0,0 +1,13 @@ +package com.atguigu.lease.web.app.service; + +import com.atguigu.lease.model.entity.FacilityInfo; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author liubo +* @description 针对表【facility_info(配套信息表)】的数据库操作Service +* @createDate 2023-07-26 11:12:39 +*/ +public interface FacilityInfoService extends IService { + +} diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/service/FeeKeyService.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/FeeKeyService.java new file mode 100644 index 0000000..f3b4637 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/FeeKeyService.java @@ -0,0 +1,13 @@ +package com.atguigu.lease.web.app.service; + +import com.atguigu.lease.model.entity.FeeKey; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author liubo +* @description 针对表【fee_key(杂项费用名称表)】的数据库操作Service +* @createDate 2023-07-26 11:12:39 +*/ +public interface FeeKeyService extends IService { + +} diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/service/FeeValueService.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/FeeValueService.java new file mode 100644 index 0000000..730d38e --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/FeeValueService.java @@ -0,0 +1,13 @@ +package com.atguigu.lease.web.app.service; + +import com.atguigu.lease.model.entity.FeeValue; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author liubo +* @description 针对表【fee_value(杂项费用值表)】的数据库操作Service +* @createDate 2023-07-26 11:12:39 +*/ +public interface FeeValueService extends IService { + +} diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/service/GraphInfoService.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/GraphInfoService.java new file mode 100644 index 0000000..892b221 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/GraphInfoService.java @@ -0,0 +1,13 @@ +package com.atguigu.lease.web.app.service; + +import com.atguigu.lease.model.entity.GraphInfo; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author liubo +* @description 针对表【graph_info(图片信息表)】的数据库操作Service +* @createDate 2023-07-26 11:12:39 +*/ +public interface GraphInfoService extends IService { + +} diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/service/LabelInfoService.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/LabelInfoService.java new file mode 100644 index 0000000..70098f9 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/LabelInfoService.java @@ -0,0 +1,13 @@ +package com.atguigu.lease.web.app.service; + +import com.atguigu.lease.model.entity.LabelInfo; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author liubo +* @description 针对表【label_info(标签信息表)】的数据库操作Service +* @createDate 2023-07-26 11:12:39 +*/ +public interface LabelInfoService extends IService { + +} diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/service/LeaseAgreementService.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/LeaseAgreementService.java new file mode 100644 index 0000000..a0a4937 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/LeaseAgreementService.java @@ -0,0 +1,17 @@ +package com.atguigu.lease.web.app.service; + +import com.atguigu.lease.model.entity.LeaseAgreement; +import com.atguigu.lease.web.app.vo.agreement.AgreementDetailVo; +import com.atguigu.lease.web.app.vo.agreement.AgreementItemVo; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** +* @author liubo +* @description 针对表【lease_agreement(租约信息表)】的数据库操作Service +* @createDate 2023-07-26 11:12:39 +*/ +public interface LeaseAgreementService extends IService { + +} diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/service/LeaseTermService.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/LeaseTermService.java new file mode 100644 index 0000000..054790d --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/LeaseTermService.java @@ -0,0 +1,15 @@ +package com.atguigu.lease.web.app.service; + +import com.atguigu.lease.model.entity.LeaseTerm; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** +* @author liubo +* @description 针对表【lease_term(租期)】的数据库操作Service +* @createDate 2023-07-26 11:12:39 +*/ +public interface LeaseTermService extends IService { + +} diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/service/LoginService.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/LoginService.java new file mode 100644 index 0000000..ec9ce4a --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/LoginService.java @@ -0,0 +1,12 @@ +package com.atguigu.lease.web.app.service; + +import com.atguigu.lease.web.app.vo.user.LoginVo; +import com.atguigu.lease.web.app.vo.user.UserInfoVo; + +public interface LoginService { + + + String loginUser(LoginVo loginVo); + + void getCode(String phone); +} diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/service/PaymentTypeService.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/PaymentTypeService.java new file mode 100644 index 0000000..3a75d14 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/PaymentTypeService.java @@ -0,0 +1,16 @@ +package com.atguigu.lease.web.app.service; + +import com.atguigu.lease.model.entity.PaymentType; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** +* @author liubo +* @description 针对表【payment_type(支付方式表)】的数据库操作Service +* @createDate 2023-07-26 11:12:39 +*/ +public interface PaymentTypeService extends IService { + + +} diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/service/ProvinceInfoService.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/ProvinceInfoService.java new file mode 100644 index 0000000..427f8ec --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/ProvinceInfoService.java @@ -0,0 +1,13 @@ +package com.atguigu.lease.web.app.service; + +import com.atguigu.lease.model.entity.ProvinceInfo; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author liubo +* @description 针对表【province_info】的数据库操作Service +* @createDate 2023-07-26 11:12:39 +*/ +public interface ProvinceInfoService extends IService { + +} diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/service/RoomAttrValueService.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/RoomAttrValueService.java new file mode 100644 index 0000000..ac119a2 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/RoomAttrValueService.java @@ -0,0 +1,13 @@ +package com.atguigu.lease.web.app.service; + +import com.atguigu.lease.model.entity.RoomAttrValue; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author liubo +* @description 针对表【room_attr_value(房间&基本属性值关联表)】的数据库操作Service +* @createDate 2023-07-26 11:12:39 +*/ +public interface RoomAttrValueService extends IService { + +} diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/service/RoomFacilityService.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/RoomFacilityService.java new file mode 100644 index 0000000..b3da5a3 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/RoomFacilityService.java @@ -0,0 +1,13 @@ +package com.atguigu.lease.web.app.service; + +import com.atguigu.lease.model.entity.RoomFacility; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author liubo +* @description 针对表【room_facility(房间&配套关联表)】的数据库操作Service +* @createDate 2023-07-26 11:12:39 +*/ +public interface RoomFacilityService extends IService { + +} diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/service/RoomInfoService.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/RoomInfoService.java new file mode 100644 index 0000000..f257471 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/RoomInfoService.java @@ -0,0 +1,19 @@ +package com.atguigu.lease.web.app.service; + +import com.atguigu.lease.model.entity.RoomInfo; +import com.atguigu.lease.web.app.vo.room.RoomDetailVo; +import com.atguigu.lease.web.app.vo.room.RoomItemVo; +import com.atguigu.lease.web.app.vo.room.RoomQueryVo; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author liubo +* @description 针对表【room_info(房间信息表)】的数据库操作Service +* @createDate 2023-07-26 11:12:39 +*/ +public interface RoomInfoService extends IService { + + +} diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/service/RoomLabelService.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/RoomLabelService.java new file mode 100644 index 0000000..2048aa3 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/RoomLabelService.java @@ -0,0 +1,13 @@ +package com.atguigu.lease.web.app.service; + +import com.atguigu.lease.model.entity.RoomLabel; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author liubo +* @description 针对表【room_label(房间&标签关联表)】的数据库操作Service +* @createDate 2023-07-26 11:12:39 +*/ +public interface RoomLabelService extends IService { + +} diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/service/RoomLeaseTermService.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/RoomLeaseTermService.java new file mode 100644 index 0000000..223ad52 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/RoomLeaseTermService.java @@ -0,0 +1,13 @@ +package com.atguigu.lease.web.app.service; + +import com.atguigu.lease.model.entity.RoomLeaseTerm; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author liubo +* @description 针对表【room_lease_term(房间租期管理表)】的数据库操作Service +* @createDate 2023-07-26 11:12:39 +*/ +public interface RoomLeaseTermService extends IService { + +} diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/service/RoomPaymentTypeService.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/RoomPaymentTypeService.java new file mode 100644 index 0000000..d6e56a6 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/RoomPaymentTypeService.java @@ -0,0 +1,13 @@ +package com.atguigu.lease.web.app.service; + +import com.atguigu.lease.model.entity.RoomPaymentType; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author liubo +* @description 针对表【room_payment_type(房间&支付方式关联表)】的数据库操作Service +* @createDate 2023-07-26 11:12:39 +*/ +public interface RoomPaymentTypeService extends IService { + +} diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/service/SmsService.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/SmsService.java new file mode 100644 index 0000000..8572a5e --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/SmsService.java @@ -0,0 +1,5 @@ +package com.atguigu.lease.web.app.service; + +public interface SmsService { + +} diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/service/UserInfoService.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/UserInfoService.java new file mode 100644 index 0000000..137b67a --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/UserInfoService.java @@ -0,0 +1,13 @@ +package com.atguigu.lease.web.app.service; + +import com.atguigu.lease.model.entity.UserInfo; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author liubo +* @description 针对表【user_info(用户信息表)】的数据库操作Service +* @createDate 2023-07-26 11:12:39 +*/ +public interface UserInfoService extends IService { + +} diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/service/ViewAppointmentService.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/ViewAppointmentService.java new file mode 100644 index 0000000..4cc0142 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/ViewAppointmentService.java @@ -0,0 +1,17 @@ +package com.atguigu.lease.web.app.service; + +import com.atguigu.lease.model.entity.ViewAppointment; +import com.atguigu.lease.web.app.vo.appointment.AppointmentDetailVo; +import com.atguigu.lease.web.app.vo.appointment.AppointmentItemVo; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** +* @author liubo +* @description 针对表【view_appointment(预约看房信息表)】的数据库操作Service +* @createDate 2023-07-26 11:12:39 +*/ +public interface ViewAppointmentService extends IService { + +} diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/ApartmentFacilityServiceImpl.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/ApartmentFacilityServiceImpl.java new file mode 100644 index 0000000..c8878d8 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/ApartmentFacilityServiceImpl.java @@ -0,0 +1,22 @@ +package com.atguigu.lease.web.app.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.atguigu.lease.model.entity.ApartmentFacility; +import com.atguigu.lease.web.app.service.ApartmentFacilityService; +import com.atguigu.lease.web.app.mapper.ApartmentFacilityMapper; +import org.springframework.stereotype.Service; + +/** +* @author liubo +* @description 针对表【apartment_facility(公寓&配套关联表)】的数据库操作Service实现 +* @createDate 2023-07-26 11:12:39 +*/ +@Service +public class ApartmentFacilityServiceImpl extends ServiceImpl + implements ApartmentFacilityService{ + +} + + + + diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/ApartmentFeeValueServiceImpl.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/ApartmentFeeValueServiceImpl.java new file mode 100644 index 0000000..717bfa5 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/ApartmentFeeValueServiceImpl.java @@ -0,0 +1,22 @@ +package com.atguigu.lease.web.app.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.atguigu.lease.model.entity.ApartmentFeeValue; +import com.atguigu.lease.web.app.service.ApartmentFeeValueService; +import com.atguigu.lease.web.app.mapper.ApartmentFeeValueMapper; +import org.springframework.stereotype.Service; + +/** +* @author liubo +* @description 针对表【apartment_fee_value(公寓&杂费关联表)】的数据库操作Service实现 +* @createDate 2023-07-26 11:12:39 +*/ +@Service +public class ApartmentFeeValueServiceImpl extends ServiceImpl + implements ApartmentFeeValueService{ + +} + + + + diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/ApartmentInfoServiceImpl.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/ApartmentInfoServiceImpl.java new file mode 100644 index 0000000..9fd3805 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/ApartmentInfoServiceImpl.java @@ -0,0 +1,33 @@ +package com.atguigu.lease.web.app.service.impl; + +import com.atguigu.lease.model.entity.ApartmentInfo; +import com.atguigu.lease.model.entity.FacilityInfo; +import com.atguigu.lease.model.entity.LabelInfo; +import com.atguigu.lease.model.enums.ItemType; +import com.atguigu.lease.web.app.mapper.*; +import com.atguigu.lease.web.app.service.ApartmentInfoService; +import com.atguigu.lease.web.app.vo.apartment.ApartmentDetailVo; +import com.atguigu.lease.web.app.vo.graph.GraphVo; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.math.BigDecimal; +import java.util.List; + +/** + * @author liubo + * @description 针对表【apartment_info(公寓信息表)】的数据库操作Service实现 + * @createDate 2023-07-26 11:12:39 + */ +@Service +public class ApartmentInfoServiceImpl extends ServiceImpl + implements ApartmentInfoService { + + +} + + + + diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/ApartmentLabelServiceImpl.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/ApartmentLabelServiceImpl.java new file mode 100644 index 0000000..ef7cd9e --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/ApartmentLabelServiceImpl.java @@ -0,0 +1,22 @@ +package com.atguigu.lease.web.app.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.atguigu.lease.model.entity.ApartmentLabel; +import com.atguigu.lease.web.app.service.ApartmentLabelService; +import com.atguigu.lease.web.app.mapper.ApartmentLabelMapper; +import org.springframework.stereotype.Service; + +/** +* @author liubo +* @description 针对表【apartment_label(公寓标签关联表)】的数据库操作Service实现 +* @createDate 2023-07-26 11:12:39 +*/ +@Service +public class ApartmentLabelServiceImpl extends ServiceImpl + implements ApartmentLabelService{ + +} + + + + diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/AttrKeyServiceImpl.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/AttrKeyServiceImpl.java new file mode 100644 index 0000000..e6ce0c5 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/AttrKeyServiceImpl.java @@ -0,0 +1,22 @@ +package com.atguigu.lease.web.app.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.atguigu.lease.model.entity.AttrKey; +import com.atguigu.lease.web.app.service.AttrKeyService; +import com.atguigu.lease.web.app.mapper.AttrKeyMapper; +import org.springframework.stereotype.Service; + +/** +* @author liubo +* @description 针对表【attr_key(房间基本属性表)】的数据库操作Service实现 +* @createDate 2023-07-26 11:12:39 +*/ +@Service +public class AttrKeyServiceImpl extends ServiceImpl + implements AttrKeyService{ + +} + + + + diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/AttrValueServiceImpl.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/AttrValueServiceImpl.java new file mode 100644 index 0000000..0393c07 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/AttrValueServiceImpl.java @@ -0,0 +1,22 @@ +package com.atguigu.lease.web.app.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.atguigu.lease.model.entity.AttrValue; +import com.atguigu.lease.web.app.service.AttrValueService; +import com.atguigu.lease.web.app.mapper.AttrValueMapper; +import org.springframework.stereotype.Service; + +/** +* @author liubo +* @description 针对表【attr_value(房间基本属性值表)】的数据库操作Service实现 +* @createDate 2023-07-26 11:12:39 +*/ +@Service +public class AttrValueServiceImpl extends ServiceImpl + implements AttrValueService{ + +} + + + + diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/BrowsingHistoryServiceImpl.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/BrowsingHistoryServiceImpl.java new file mode 100644 index 0000000..665cdc0 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/BrowsingHistoryServiceImpl.java @@ -0,0 +1,33 @@ +package com.atguigu.lease.web.app.service.impl; + +import com.atguigu.lease.model.entity.BrowsingHistory; +import com.atguigu.lease.web.app.mapper.BrowsingHistoryMapper; +import com.atguigu.lease.web.app.service.BrowsingHistoryService; +import com.atguigu.lease.web.app.vo.history.HistoryItemVo; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Async; +import org.springframework.stereotype.Service; + +import java.util.Date; + +/** + * @author liubo + * @description 针对表【browsing_history(浏览历史)】的数据库操作Service实现 + * @createDate 2023-07-26 11:12:39 + */ +@Service +@Slf4j +public class BrowsingHistoryServiceImpl extends ServiceImpl + implements BrowsingHistoryService { + + +} + + + + diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/CityInfoServiceImpl.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/CityInfoServiceImpl.java new file mode 100644 index 0000000..ec5a605 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/CityInfoServiceImpl.java @@ -0,0 +1,22 @@ +package com.atguigu.lease.web.app.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.atguigu.lease.model.entity.CityInfo; +import com.atguigu.lease.web.app.service.CityInfoService; +import com.atguigu.lease.web.app.mapper.CityInfoMapper; +import org.springframework.stereotype.Service; + +/** +* @author liubo +* @description 针对表【city_info】的数据库操作Service实现 +* @createDate 2023-07-26 11:12:39 +*/ +@Service +public class CityInfoServiceImpl extends ServiceImpl + implements CityInfoService{ + +} + + + + diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/DistrictInfoServiceImpl.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/DistrictInfoServiceImpl.java new file mode 100644 index 0000000..aff9393 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/DistrictInfoServiceImpl.java @@ -0,0 +1,22 @@ +package com.atguigu.lease.web.app.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.atguigu.lease.model.entity.DistrictInfo; +import com.atguigu.lease.web.app.service.DistrictInfoService; +import com.atguigu.lease.web.app.mapper.DistrictInfoMapper; +import org.springframework.stereotype.Service; + +/** +* @author liubo +* @description 针对表【district_info】的数据库操作Service实现 +* @createDate 2023-07-26 11:12:39 +*/ +@Service +public class DistrictInfoServiceImpl extends ServiceImpl + implements DistrictInfoService{ + +} + + + + diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/FacilityInfoServiceImpl.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/FacilityInfoServiceImpl.java new file mode 100644 index 0000000..e5d8d54 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/FacilityInfoServiceImpl.java @@ -0,0 +1,22 @@ +package com.atguigu.lease.web.app.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.atguigu.lease.model.entity.FacilityInfo; +import com.atguigu.lease.web.app.service.FacilityInfoService; +import com.atguigu.lease.web.app.mapper.FacilityInfoMapper; +import org.springframework.stereotype.Service; + +/** +* @author liubo +* @description 针对表【facility_info(配套信息表)】的数据库操作Service实现 +* @createDate 2023-07-26 11:12:39 +*/ +@Service +public class FacilityInfoServiceImpl extends ServiceImpl + implements FacilityInfoService{ + +} + + + + diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/FeeKeyServiceImpl.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/FeeKeyServiceImpl.java new file mode 100644 index 0000000..6d52ac6 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/FeeKeyServiceImpl.java @@ -0,0 +1,22 @@ +package com.atguigu.lease.web.app.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.atguigu.lease.model.entity.FeeKey; +import com.atguigu.lease.web.app.service.FeeKeyService; +import com.atguigu.lease.web.app.mapper.FeeKeyMapper; +import org.springframework.stereotype.Service; + +/** +* @author liubo +* @description 针对表【fee_key(杂项费用名称表)】的数据库操作Service实现 +* @createDate 2023-07-26 11:12:39 +*/ +@Service +public class FeeKeyServiceImpl extends ServiceImpl + implements FeeKeyService{ + +} + + + + diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/FeeValueServiceImpl.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/FeeValueServiceImpl.java new file mode 100644 index 0000000..ed65b94 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/FeeValueServiceImpl.java @@ -0,0 +1,22 @@ +package com.atguigu.lease.web.app.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.atguigu.lease.model.entity.FeeValue; +import com.atguigu.lease.web.app.service.FeeValueService; +import com.atguigu.lease.web.app.mapper.FeeValueMapper; +import org.springframework.stereotype.Service; + +/** +* @author liubo +* @description 针对表【fee_value(杂项费用值表)】的数据库操作Service实现 +* @createDate 2023-07-26 11:12:39 +*/ +@Service +public class FeeValueServiceImpl extends ServiceImpl + implements FeeValueService{ + +} + + + + diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/GraphInfoServiceImpl.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/GraphInfoServiceImpl.java new file mode 100644 index 0000000..9362f43 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/GraphInfoServiceImpl.java @@ -0,0 +1,22 @@ +package com.atguigu.lease.web.app.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.atguigu.lease.model.entity.GraphInfo; +import com.atguigu.lease.web.app.service.GraphInfoService; +import com.atguigu.lease.web.app.mapper.GraphInfoMapper; +import org.springframework.stereotype.Service; + +/** +* @author liubo +* @description 针对表【graph_info(图片信息表)】的数据库操作Service实现 +* @createDate 2023-07-26 11:12:39 +*/ +@Service +public class GraphInfoServiceImpl extends ServiceImpl + implements GraphInfoService{ + +} + + + + diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/LabelInfoServiceImpl.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/LabelInfoServiceImpl.java new file mode 100644 index 0000000..facf6f6 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/LabelInfoServiceImpl.java @@ -0,0 +1,22 @@ +package com.atguigu.lease.web.app.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.atguigu.lease.model.entity.LabelInfo; +import com.atguigu.lease.web.app.service.LabelInfoService; +import com.atguigu.lease.web.app.mapper.LabelInfoMapper; +import org.springframework.stereotype.Service; + +/** +* @author liubo +* @description 针对表【label_info(标签信息表)】的数据库操作Service实现 +* @createDate 2023-07-26 11:12:39 +*/ +@Service +public class LabelInfoServiceImpl extends ServiceImpl + implements LabelInfoService{ + +} + + + + diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/LeaseAgreementServiceImpl.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/LeaseAgreementServiceImpl.java new file mode 100644 index 0000000..821be52 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/LeaseAgreementServiceImpl.java @@ -0,0 +1,31 @@ +package com.atguigu.lease.web.app.service.impl; + +import com.atguigu.lease.model.entity.*; +import com.atguigu.lease.model.enums.ItemType; +import com.atguigu.lease.web.app.mapper.*; +import com.atguigu.lease.web.app.service.LeaseAgreementService; +import com.atguigu.lease.web.app.vo.agreement.AgreementDetailVo; +import com.atguigu.lease.web.app.vo.agreement.AgreementItemVo; +import com.atguigu.lease.web.app.vo.graph.GraphVo; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * @author liubo + * @description 针对表【lease_agreement(租约信息表)】的数据库操作Service实现 + * @createDate 2023-07-26 11:12:39 + */ +@Service +public class LeaseAgreementServiceImpl extends ServiceImpl + implements LeaseAgreementService { + + +} + + + + diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/LeaseTermServiceImpl.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/LeaseTermServiceImpl.java new file mode 100644 index 0000000..1fd6070 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/LeaseTermServiceImpl.java @@ -0,0 +1,26 @@ +package com.atguigu.lease.web.app.service.impl; + +import com.atguigu.lease.model.entity.LeaseTerm; +import com.atguigu.lease.web.app.mapper.LeaseTermMapper; +import com.atguigu.lease.web.app.service.LeaseTermService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** +* @author liubo +* @description 针对表【lease_term(租期)】的数据库操作Service实现 +* @createDate 2023-07-26 11:12:39 +*/ +@Service +public class LeaseTermServiceImpl extends ServiceImpl + implements LeaseTermService{ + + +} + + + + diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/LoginServiceImpl.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/LoginServiceImpl.java new file mode 100644 index 0000000..0fd4aa4 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/LoginServiceImpl.java @@ -0,0 +1,131 @@ +package com.atguigu.lease.web.app.service.impl; + + +import com.atguigu.lease.common.exception.LeaseException; +import com.atguigu.lease.common.result.ResultCodeEnum; +import com.atguigu.lease.common.utils.HttpUtils; +import com.atguigu.lease.common.utils.JwtUtil; +import com.atguigu.lease.common.utils.VerifyCodeUtil; +import com.atguigu.lease.model.entity.UserInfo; +import com.atguigu.lease.model.enums.BaseStatus; +import com.atguigu.lease.web.app.mapper.UserInfoMapper; +import com.atguigu.lease.web.app.service.LoginService; +import com.atguigu.lease.web.app.vo.user.LoginVo; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import org.apache.http.HttpEntity; +import org.apache.http.HttpResponse; +import org.apache.http.util.EntityUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.StringRedisTemplate; +import org.springframework.stereotype.Service; +import org.springframework.util.StringUtils; + +import java.util.HashMap; +import java.util.Map; +import java.util.concurrent.TimeUnit; + + +@Service +public class LoginServiceImpl implements LoginService { +@Autowired + private UserInfoMapper userInfoMapper; + @Autowired + private StringRedisTemplate redisTemplate; + + @Override + public String loginUser(LoginVo loginVo) { + //1 从loginVo获取验证码和手机号,非空判断 + if (!StringUtils.hasText(loginVo.getPhone())) { + throw new LeaseException(ResultCodeEnum.APP_LOGIN_PHONE_EMPTY); + } + if (!StringUtils.hasText(loginVo.getCode())) { + throw new LeaseException(ResultCodeEnum.APP_LOGIN_CODE_EMPTY); + } + + //2 判断验证码是否正确 + // 把redis里面验证码 和 输入比对,redis的key是手机号 + String redis_code = redisTemplate.opsForValue().get(loginVo.getPhone()); + if(redis_code == null) { + throw new LeaseException("验证码失败",222); + } + //3 验证码不相同,提示用户 + if(!redis_code.equals(loginVo.getCode())) { + throw new LeaseException(ResultCodeEnum.APP_LOGIN_CODE_ERROR); + } + + //4 验证码相同,判断当前手机号是否第一次登录 + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(UserInfo::getPhone,loginVo.getPhone()); + UserInfo userInfo = userInfoMapper.selectOne(wrapper); + + //5 如果当前手机号是第一次登录,注册,把手机号信息添加用户表 + if(userInfo == null) { + //把手机号信息添加用户表 + userInfo = new UserInfo(); + userInfo.setPhone(loginVo.getPhone()); + userInfo.setStatus(BaseStatus.ENABLE); + userInfo.setNickname("用户-"+loginVo.getPhone().substring(5)); + userInfoMapper.insert(userInfo); + } + + //6 判断用户是否被禁用 + if (userInfo.getStatus().equals(BaseStatus.DISABLE)) { + throw new LeaseException(ResultCodeEnum.APP_ACCOUNT_DISABLED_ERROR); + } + + //7 jwt生成token,返回 + String token = JwtUtil.createToken(userInfo.getId(), userInfo.getPhone()); + return token; + } + + @Override + public void getCode(String phone) { + String verifyCode = VerifyCodeUtil.getVerifyCode(4); + + //2 把验证码和手机号传递阿里云进行发送 + this.sendMessage(phone,verifyCode); + + //3 验证码发送成功了,把验证码放到redis里面,设置过期时间 + // redis key:手机号 value:验证码 + redisTemplate.opsForValue().set(phone,verifyCode,60, TimeUnit.MINUTES); + } + + private void sendMessage(String phone, String verifyCode){ + String host = "https://dfsns.market.alicloudapi.com"; + String path = "/data/send_sms"; + String method = "POST"; + String appcode = "e7d29881efb044418ba3722fca11b63f"; + Map headers = new HashMap(); + //最后在header中的格式(中间是英文空格)为Authorization:APPCODE 83359fd73fe94948385f570e3c139105 + headers.put("Authorization", "APPCODE " + appcode); + //根据API的要求,定义相对应的Content-Type + headers.put("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"); + Map querys = new HashMap(); + Map bodys = new HashMap(); + bodys.put("content", "code:"+verifyCode); + bodys.put("template_id", "CST_ptdie100"); //注意,CST_ptdie100该模板ID仅为调试使用,调试结果为"status": "OK" ,即表示接口调用成功,然后联系客服报备自己的专属签名模板ID,以保证短信稳定下发 + bodys.put("phone_number", phone); + + + try { + /** + * 重要提示如下: + * HttpUtils请从 + * https://github.com/aliyun/api-gateway-demo-sign-java/blob/master/src/main/java/com/aliyun/api/gateway/demo/util/HttpUtils.java + * 下载 + * + * 相应的依赖请参照 + * https://github.com/aliyun/api-gateway-demo-sign-java/blob/master/pom.xml + */ + HttpResponse response = HttpUtils.doPost(host, path, method, headers, querys, bodys); + HttpEntity entity = response.getEntity(); + String result = EntityUtils.toString(entity,"UTF-8"); + System.out.println(result); + //获取response的body + //System.out.println(EntityUtils.toString(response.getEntity())); + } catch (Exception e) { + e.printStackTrace(); + throw new LeaseException("验证码发送失败",222); + } + } +} diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/PaymentTypeServiceImpl.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/PaymentTypeServiceImpl.java new file mode 100644 index 0000000..e37d002 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/PaymentTypeServiceImpl.java @@ -0,0 +1,25 @@ +package com.atguigu.lease.web.app.service.impl; + +import com.atguigu.lease.model.entity.PaymentType; +import com.atguigu.lease.web.app.mapper.PaymentTypeMapper; +import com.atguigu.lease.web.app.service.PaymentTypeService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** +* @author liubo +* @description 针对表【payment_type(支付方式表)】的数据库操作Service实现 +* @createDate 2023-07-26 11:12:39 +*/ +@Service +public class PaymentTypeServiceImpl extends ServiceImpl + implements PaymentTypeService{ + +} + + + + diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/ProvinceInfoServiceImpl.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/ProvinceInfoServiceImpl.java new file mode 100644 index 0000000..0b823da --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/ProvinceInfoServiceImpl.java @@ -0,0 +1,22 @@ +package com.atguigu.lease.web.app.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.atguigu.lease.model.entity.ProvinceInfo; +import com.atguigu.lease.web.app.service.ProvinceInfoService; +import com.atguigu.lease.web.app.mapper.ProvinceInfoMapper; +import org.springframework.stereotype.Service; + +/** +* @author liubo +* @description 针对表【province_info】的数据库操作Service实现 +* @createDate 2023-07-26 11:12:39 +*/ +@Service +public class ProvinceInfoServiceImpl extends ServiceImpl + implements ProvinceInfoService{ + +} + + + + diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/RoomAttrValueServiceImpl.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/RoomAttrValueServiceImpl.java new file mode 100644 index 0000000..43ed5f9 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/RoomAttrValueServiceImpl.java @@ -0,0 +1,22 @@ +package com.atguigu.lease.web.app.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.atguigu.lease.model.entity.RoomAttrValue; +import com.atguigu.lease.web.app.service.RoomAttrValueService; +import com.atguigu.lease.web.app.mapper.RoomAttrValueMapper; +import org.springframework.stereotype.Service; + +/** +* @author liubo +* @description 针对表【room_attr_value(房间&基本属性值关联表)】的数据库操作Service实现 +* @createDate 2023-07-26 11:12:39 +*/ +@Service +public class RoomAttrValueServiceImpl extends ServiceImpl + implements RoomAttrValueService{ + +} + + + + diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/RoomFacilityServiceImpl.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/RoomFacilityServiceImpl.java new file mode 100644 index 0000000..2add4c0 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/RoomFacilityServiceImpl.java @@ -0,0 +1,22 @@ +package com.atguigu.lease.web.app.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.atguigu.lease.model.entity.RoomFacility; +import com.atguigu.lease.web.app.service.RoomFacilityService; +import com.atguigu.lease.web.app.mapper.RoomFacilityMapper; +import org.springframework.stereotype.Service; + +/** +* @author liubo +* @description 针对表【room_facility(房间&配套关联表)】的数据库操作Service实现 +* @createDate 2023-07-26 11:12:39 +*/ +@Service +public class RoomFacilityServiceImpl extends ServiceImpl + implements RoomFacilityService{ + +} + + + + diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/RoomInfoServiceImpl.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/RoomInfoServiceImpl.java new file mode 100644 index 0000000..acdbc75 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/RoomInfoServiceImpl.java @@ -0,0 +1,42 @@ +package com.atguigu.lease.web.app.service.impl; + +import com.atguigu.lease.model.entity.*; +import com.atguigu.lease.model.enums.ItemType; +import com.atguigu.lease.model.enums.LeaseStatus; +import com.atguigu.lease.web.app.mapper.*; +import com.atguigu.lease.web.app.service.BrowsingHistoryService; +import com.atguigu.lease.web.app.service.RoomInfoService; +import com.atguigu.lease.web.app.vo.apartment.ApartmentItemVo; +import com.atguigu.lease.web.app.vo.attr.AttrValueVo; +import com.atguigu.lease.web.app.vo.fee.FeeValueVo; +import com.atguigu.lease.web.app.vo.graph.GraphVo; +import com.atguigu.lease.web.app.vo.room.RoomDetailVo; +import com.atguigu.lease.web.app.vo.room.RoomItemVo; +import com.atguigu.lease.web.app.vo.room.RoomQueryVo; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * @author liubo + * @description 针对表【room_info(房间信息表)】的数据库操作Service实现 + * @createDate 2023-07-26 11:12:39 + */ +@Service +@Slf4j +public class RoomInfoServiceImpl extends ServiceImpl + implements RoomInfoService { + + +} + + + + diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/RoomLabelServiceImpl.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/RoomLabelServiceImpl.java new file mode 100644 index 0000000..aeb7195 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/RoomLabelServiceImpl.java @@ -0,0 +1,22 @@ +package com.atguigu.lease.web.app.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.atguigu.lease.model.entity.RoomLabel; +import com.atguigu.lease.web.app.service.RoomLabelService; +import com.atguigu.lease.web.app.mapper.RoomLabelMapper; +import org.springframework.stereotype.Service; + +/** +* @author liubo +* @description 针对表【room_label(房间&标签关联表)】的数据库操作Service实现 +* @createDate 2023-07-26 11:12:39 +*/ +@Service +public class RoomLabelServiceImpl extends ServiceImpl + implements RoomLabelService{ + +} + + + + diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/RoomLeaseTermServiceImpl.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/RoomLeaseTermServiceImpl.java new file mode 100644 index 0000000..b5f7f95 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/RoomLeaseTermServiceImpl.java @@ -0,0 +1,22 @@ +package com.atguigu.lease.web.app.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.atguigu.lease.model.entity.RoomLeaseTerm; +import com.atguigu.lease.web.app.service.RoomLeaseTermService; +import com.atguigu.lease.web.app.mapper.RoomLeaseTermMapper; +import org.springframework.stereotype.Service; + +/** +* @author liubo +* @description 针对表【room_lease_term(房间租期管理表)】的数据库操作Service实现 +* @createDate 2023-07-26 11:12:39 +*/ +@Service +public class RoomLeaseTermServiceImpl extends ServiceImpl + implements RoomLeaseTermService{ + +} + + + + diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/RoomPaymentTypeServiceImpl.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/RoomPaymentTypeServiceImpl.java new file mode 100644 index 0000000..d0f4d14 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/RoomPaymentTypeServiceImpl.java @@ -0,0 +1,22 @@ +package com.atguigu.lease.web.app.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.atguigu.lease.model.entity.RoomPaymentType; +import com.atguigu.lease.web.app.service.RoomPaymentTypeService; +import com.atguigu.lease.web.app.mapper.RoomPaymentTypeMapper; +import org.springframework.stereotype.Service; + +/** +* @author liubo +* @description 针对表【room_payment_type(房间&支付方式关联表)】的数据库操作Service实现 +* @createDate 2023-07-26 11:12:39 +*/ +@Service +public class RoomPaymentTypeServiceImpl extends ServiceImpl + implements RoomPaymentTypeService{ + +} + + + + diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/SmsServiceImpl.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/SmsServiceImpl.java new file mode 100644 index 0000000..b5fba4e --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/SmsServiceImpl.java @@ -0,0 +1,10 @@ +package com.atguigu.lease.web.app.service.impl; + +import com.atguigu.lease.web.app.service.SmsService; +import org.springframework.stereotype.Service; + +@Service +public class SmsServiceImpl implements SmsService { + + +} diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/UserInfoServiceImpl.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/UserInfoServiceImpl.java new file mode 100644 index 0000000..45cc560 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/UserInfoServiceImpl.java @@ -0,0 +1,22 @@ +package com.atguigu.lease.web.app.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.atguigu.lease.model.entity.UserInfo; +import com.atguigu.lease.web.app.service.UserInfoService; +import com.atguigu.lease.web.app.mapper.UserInfoMapper; +import org.springframework.stereotype.Service; + +/** +* @author liubo +* @description 针对表【user_info(用户信息表)】的数据库操作Service实现 +* @createDate 2023-07-26 11:12:39 +*/ +@Service +public class UserInfoServiceImpl extends ServiceImpl + implements UserInfoService{ + +} + + + + diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/ViewAppointmentServiceImpl.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/ViewAppointmentServiceImpl.java new file mode 100644 index 0000000..dae5cb3 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/service/impl/ViewAppointmentServiceImpl.java @@ -0,0 +1,23 @@ +package com.atguigu.lease.web.app.service.impl; + +import com.atguigu.lease.model.entity.ViewAppointment; +import com.atguigu.lease.web.app.mapper.ViewAppointmentMapper; +import com.atguigu.lease.web.app.service.ViewAppointmentService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + * @author liubo + * @description 针对表【view_appointment(预约看房信息表)】的数据库操作Service实现 + * @createDate 2023-07-26 11:12:39 + */ +@Service +public class ViewAppointmentServiceImpl extends ServiceImpl + implements ViewAppointmentService { + + +} + + + + diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/vo/agreement/AgreementDetailVo.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/vo/agreement/AgreementDetailVo.java new file mode 100644 index 0000000..4df74e0 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/vo/agreement/AgreementDetailVo.java @@ -0,0 +1,35 @@ +package com.atguigu.lease.web.app.vo.agreement; + +import com.atguigu.lease.model.entity.LeaseAgreement; +import com.atguigu.lease.web.app.vo.graph.GraphVo; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.List; + +@Data +@Schema(description = "租约详细信息") +public class AgreementDetailVo extends LeaseAgreement { + + @Schema(description = "公寓名称") + private String apartmentName; + + @Schema(description = "公寓图片列表") + private List apartmentGraphVoList; + + @Schema(description = "房间号") + private String roomNumber; + + @Schema(description = "房间图片列表") + private List roomGraphVoList; + + @Schema(description = "支付方式") + private String paymentTypeName; + + @Schema(description = "租期月数") + private Integer leaseTermMonthCount; + + @Schema(description = "租期单位") + private String leaseTermUnit; + +} diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/vo/agreement/AgreementItemVo.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/vo/agreement/AgreementItemVo.java new file mode 100644 index 0000000..1ca396b --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/vo/agreement/AgreementItemVo.java @@ -0,0 +1,49 @@ +package com.atguigu.lease.web.app.vo.agreement; + +import com.atguigu.lease.model.enums.LeaseSourceType; +import com.atguigu.lease.model.enums.LeaseStatus; +import com.atguigu.lease.web.app.vo.graph.GraphVo; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +@Data +@Schema(description = "租约基本信息") +public class AgreementItemVo { + + @Schema(description = "租约id") + private Long id; + + @Schema(description = "房间图片列表") + private List roomGraphVoList; + + @Schema(description = "公寓名称") + private String apartmentName; + + @Schema(description = "房间号") + private String roomNumber; + + @Schema(description = "租约状态") + private LeaseStatus leaseStatus; + + @Schema(description = "租约开始日期") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date leaseStartDate; + + @Schema(description = "租约结束日期") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date leaseEndDate; + + @Schema(description = "租约来源") + private LeaseSourceType sourceType; + + @Schema(description = "租金") + private BigDecimal rent; + + @Schema(description = "是否可续约") + private Boolean isRenewable; +} diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/vo/apartment/ApartmentDetailVo.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/vo/apartment/ApartmentDetailVo.java new file mode 100644 index 0000000..9fd7356 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/vo/apartment/ApartmentDetailVo.java @@ -0,0 +1,32 @@ +package com.atguigu.lease.web.app.vo.apartment; + +import com.atguigu.lease.model.entity.ApartmentInfo; +import com.atguigu.lease.model.entity.FacilityInfo; +import com.atguigu.lease.model.entity.LabelInfo; +import com.atguigu.lease.web.app.vo.graph.GraphVo; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + + +@Data +@Schema(description = "APP端公寓信息详情") +public class ApartmentDetailVo extends ApartmentInfo { + + @Schema(description = "图片列表") + private List graphVoList; + + @Schema(description = "标签列表") + private List labelInfoList; + + @Schema(description = "配套列表") + private List facilityInfoList; + + @Schema(description = "租金最小值") + private BigDecimal minRent; + + @Schema(description = "公寓信息是否被删除") + private Boolean isDelete; +} diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/vo/apartment/ApartmentItemVo.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/vo/apartment/ApartmentItemVo.java new file mode 100644 index 0000000..e1bc8b0 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/vo/apartment/ApartmentItemVo.java @@ -0,0 +1,22 @@ +package com.atguigu.lease.web.app.vo.apartment; + + +import com.atguigu.lease.model.entity.ApartmentInfo; +import com.atguigu.lease.model.entity.GraphInfo; +import com.atguigu.lease.model.entity.LabelInfo; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@Schema(description = "App端公寓信息") +public class ApartmentItemVo extends ApartmentInfo { + + private List labelInfoList; + + private List graphVoList; + + private BigDecimal minRent; +} diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/vo/appointment/AppointmentDetailVo.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/vo/appointment/AppointmentDetailVo.java new file mode 100644 index 0000000..3b2f57a --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/vo/appointment/AppointmentDetailVo.java @@ -0,0 +1,15 @@ +package com.atguigu.lease.web.app.vo.appointment; + +import com.atguigu.lease.model.entity.ViewAppointment; +import com.atguigu.lease.web.app.vo.apartment.ApartmentItemVo; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + + +@Data +@Schema(description = "APP端预约看房详情") +public class AppointmentDetailVo extends ViewAppointment { + + @Schema(description = "公寓基本信息") + private ApartmentItemVo apartmentItemVo; +} diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/vo/appointment/AppointmentItemVo.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/vo/appointment/AppointmentItemVo.java new file mode 100644 index 0000000..31d0c9d --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/vo/appointment/AppointmentItemVo.java @@ -0,0 +1,31 @@ +package com.atguigu.lease.web.app.vo.appointment; + +import com.atguigu.lease.model.enums.AppointmentStatus; +import com.atguigu.lease.web.app.vo.graph.GraphVo; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.Date; +import java.util.List; + +@Data +@Schema(description = "APP端预约看房基本信息") +public class AppointmentItemVo { + + @Schema(description = "预约Id") + private Long id; + + @Schema(description = "预约公寓名称") + private String apartmentName; + + @Schema(description = "公寓图片列表") + private List graphVoList; + + @Schema(description = "预约时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date appointmentTime; + + @Schema(description = "当前预约状态") + private AppointmentStatus appointmentStatus; +} diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/vo/attr/AttrKeyVo.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/vo/attr/AttrKeyVo.java new file mode 100644 index 0000000..8012e02 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/vo/attr/AttrKeyVo.java @@ -0,0 +1,16 @@ +package com.atguigu.lease.web.app.vo.attr; + +import com.atguigu.lease.model.entity.AttrKey; +import com.atguigu.lease.model.entity.AttrValue; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.List; + + +@Data +public class AttrKeyVo extends AttrKey { + + @Schema(description = "属性value列表") + private List attrValueList; +} diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/vo/attr/AttrValueVo.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/vo/attr/AttrValueVo.java new file mode 100644 index 0000000..0260c1d --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/vo/attr/AttrValueVo.java @@ -0,0 +1,14 @@ +package com.atguigu.lease.web.app.vo.attr; + +import com.atguigu.lease.model.entity.AttrValue; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + + +@Schema(description = "属性值") +@Data +public class AttrValueVo extends AttrValue { + + @Schema(description = "对应的属性key_name") + private String attrKeyName; +} diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/vo/fee/FeeKeyVo.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/vo/fee/FeeKeyVo.java new file mode 100644 index 0000000..c702c89 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/vo/fee/FeeKeyVo.java @@ -0,0 +1,17 @@ +package com.atguigu.lease.web.app.vo.fee; + + +import com.atguigu.lease.model.entity.FeeKey; +import com.atguigu.lease.model.entity.FeeValue; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.List; + + +@Data +public class FeeKeyVo extends FeeKey { + + @Schema(description = "杂费value列表") + private List feeValueList; +} diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/vo/fee/FeeValueVo.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/vo/fee/FeeValueVo.java new file mode 100644 index 0000000..5013abf --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/vo/fee/FeeValueVo.java @@ -0,0 +1,13 @@ +package com.atguigu.lease.web.app.vo.fee; + +import com.atguigu.lease.model.entity.FeeValue; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Schema(description = "杂费值") +@Data +public class FeeValueVo extends FeeValue { + + @Schema(description = "费用所对的fee_key名称") + private String feeKeyName; +} diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/vo/graph/GraphVo.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/vo/graph/GraphVo.java new file mode 100644 index 0000000..1b77eeb --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/vo/graph/GraphVo.java @@ -0,0 +1,24 @@ +package com.atguigu.lease.web.app.vo.graph; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + + +@Data +@Schema(description = "图片信息") +@AllArgsConstructor +@NoArgsConstructor +@Builder +public class GraphVo { + + + @Schema(description = "图片名称") + private String name; + + @Schema(description = "图片地址") + private String url; + +} diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/vo/history/HistoryItemVo.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/vo/history/HistoryItemVo.java new file mode 100644 index 0000000..c45b1b4 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/vo/history/HistoryItemVo.java @@ -0,0 +1,38 @@ +package com.atguigu.lease.web.app.vo.history; + + +import com.atguigu.lease.model.entity.BrowsingHistory; +import com.atguigu.lease.model.enums.ReleaseStatus; +import com.atguigu.lease.web.app.vo.graph.GraphVo; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@Schema(description = "浏览历史基本信息") +public class HistoryItemVo extends BrowsingHistory { + + @Schema(description = "房间号") + private String roomNumber; + + @Schema(description = "租金") + private BigDecimal rent; + + @Schema(description = "房间图片列表") + private List roomGraphVoList; + + @Schema(description = "公寓名称") + private String apartmentName; + + @Schema(description = "省份名称") + private String provinceName; + + @Schema(description = "城市名称") + private String cityName; + + @Schema(description = "区县名称") + private String districtName; + +} diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/vo/room/RoomDetailVo.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/vo/room/RoomDetailVo.java new file mode 100644 index 0000000..b43c0a6 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/vo/room/RoomDetailVo.java @@ -0,0 +1,46 @@ +package com.atguigu.lease.web.app.vo.room; + +import com.atguigu.lease.model.entity.*; +import com.atguigu.lease.web.app.vo.apartment.ApartmentItemVo; +import com.atguigu.lease.web.app.vo.attr.AttrValueVo; +import com.atguigu.lease.web.app.vo.fee.FeeValueVo; +import com.atguigu.lease.web.app.vo.graph.GraphVo; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.List; + +@Data +@Schema(description = "APP房间详情") +public class RoomDetailVo extends RoomInfo { + + @Schema(description = "所属公寓信息") + private ApartmentItemVo apartmentItemVo; + + @Schema(description = "图片列表") + private List graphVoList; + + @Schema(description = "属性信息列表") + private List attrValueVoList; + + @Schema(description = "配套信息列表") + private List facilityInfoList; + + @Schema(description = "标签信息列表") + private List labelInfoList; + + @Schema(description = "支付方式列表") + private List paymentTypeList; + + @Schema(description = "杂费列表") + private List feeValueVoList; + + @Schema(description = "租期列表") + private List leaseTermList; + + @Schema(description = "房间是否被删除") + private Boolean isDelete; + + @Schema(description = "房间是否已入住") + private Boolean isCheckIn; +} diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/vo/room/RoomItemVo.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/vo/room/RoomItemVo.java new file mode 100644 index 0000000..d3efa0e --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/vo/room/RoomItemVo.java @@ -0,0 +1,36 @@ +package com.atguigu.lease.web.app.vo.room; + + +import com.atguigu.lease.model.entity.ApartmentInfo; +import com.atguigu.lease.model.entity.LabelInfo; +import com.atguigu.lease.web.app.vo.graph.GraphVo; +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Schema(description = "APP房间列表实体") +@Data +public class RoomItemVo { + + @Schema(description = "房间id") + private Long id; + + @Schema(description = "房间号") + private String roomNumber; + + @Schema(description = "租金(元/月)") + private BigDecimal rent; + + @Schema(description = "房间图片列表") + private List graphVoList; + + @Schema(description = "房间标签列表") + private List labelInfoList; + + @Schema(description = "房间所属公寓信息") + private ApartmentInfo apartmentInfo; + +} diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/vo/room/RoomQueryVo.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/vo/room/RoomQueryVo.java new file mode 100644 index 0000000..eacbe40 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/vo/room/RoomQueryVo.java @@ -0,0 +1,34 @@ +package com.atguigu.lease.web.app.vo.room; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +@Schema(description = "房间查询实体") +public class RoomQueryVo { + + + @Schema(description = "省份Id") + private Long provinceId; + + @Schema(description = "城市Id") + private Long cityId; + + @Schema(description = "区域Id") + private Long districtId; + + @Schema(description = "最小租金") + private BigDecimal minRent; + + @Schema(description = "最大租金") + private BigDecimal maxRent; + + @Schema(description = "支付方式") + private Long paymentTypeId; + + @Schema(description = "价格排序方式", allowableValues = {"desc", "asc"}) + private String orderType; + +} diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/vo/user/LoginVo.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/vo/user/LoginVo.java new file mode 100644 index 0000000..ede1181 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/vo/user/LoginVo.java @@ -0,0 +1,16 @@ +package com.atguigu.lease.web.app.vo.user; + + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +@Schema(description = "APP端登录实体") +public class LoginVo { + + @Schema(description = "手机号码") + private String phone; + + @Schema(description = "短信验证码") + private String code; +} diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/vo/user/UserInfoVo.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/vo/user/UserInfoVo.java new file mode 100644 index 0000000..2ad3474 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/vo/user/UserInfoVo.java @@ -0,0 +1,18 @@ +package com.atguigu.lease.web.app.vo.user; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Data; + +@Schema(description = "用户基本信息") +@Data +@AllArgsConstructor +public class UserInfoVo { + + @Schema(description = "用户昵称") + private String nickname; + + @Schema(description = "用户头像") + private String avatarUrl; + +} \ No newline at end of file diff --git a/web/web-app/src/main/java/com/atguigu/lease/web/app/vo/user/UserSubmitVo.java b/web/web-app/src/main/java/com/atguigu/lease/web/app/vo/user/UserSubmitVo.java new file mode 100644 index 0000000..471f608 --- /dev/null +++ b/web/web-app/src/main/java/com/atguigu/lease/web/app/vo/user/UserSubmitVo.java @@ -0,0 +1,16 @@ +package com.atguigu.lease.web.app.vo.user; + + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +@Schema(description = "用户修改信息") +public class UserSubmitVo { + + @Schema(description = "用户昵称") + private String nickname; + + @Schema(description = "头像图片URL") + private String avatarUrl; +} diff --git a/web/web-app/src/main/resources/application.yml b/web/web-app/src/main/resources/application.yml new file mode 100644 index 0000000..8d33f31 --- /dev/null +++ b/web/web-app/src/main/resources/application.yml @@ -0,0 +1,23 @@ +server: + port: 8081 + +spring: + datasource: + type: com.zaxxer.hikari.HikariDataSource + url: jdbc:mysql://localhost:3306/lease?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=GMT%2b8 + username: root + password: root + hikari: + connection-test-query: SELECT 1 # 自动检测连接 + connection-timeout: 60000 #数据库连接超时时间,默认30秒 + idle-timeout: 500000 #空闲连接存活最大时间,默认600000(10分钟) + max-lifetime: 540000 #此属性控制池中连接的最长生命周期,值0表示无限生命周期,默认1800000即30分钟 + maximum-pool-size: 12 #连接池最大连接数,默认是10 + minimum-idle: 10 #最小空闲连接数量 + pool-name: SPHHikariPool # 连接池名称 + +#用于打印框架生成的sql语句,便于调试 +mybatis-plus: + configuration: + log-impl: org.apache.ibatis.logging.stdout.StdOutImpl + mapper-locations: classpath*:/mapper/**/*.xml \ No newline at end of file diff --git a/web/web-app/src/main/resources/mapper/ApartmentFacilityMapper.xml b/web/web-app/src/main/resources/mapper/ApartmentFacilityMapper.xml new file mode 100644 index 0000000..ae71898 --- /dev/null +++ b/web/web-app/src/main/resources/mapper/ApartmentFacilityMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/web/web-app/src/main/resources/mapper/ApartmentFeeValueMapper.xml b/web/web-app/src/main/resources/mapper/ApartmentFeeValueMapper.xml new file mode 100644 index 0000000..eccc7a5 --- /dev/null +++ b/web/web-app/src/main/resources/mapper/ApartmentFeeValueMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/web/web-app/src/main/resources/mapper/ApartmentInfoMapper.xml b/web/web-app/src/main/resources/mapper/ApartmentInfoMapper.xml new file mode 100644 index 0000000..f14f400 --- /dev/null +++ b/web/web-app/src/main/resources/mapper/ApartmentInfoMapper.xml @@ -0,0 +1,8 @@ + + + + + + diff --git a/web/web-app/src/main/resources/mapper/ApartmentLabelMapper.xml b/web/web-app/src/main/resources/mapper/ApartmentLabelMapper.xml new file mode 100644 index 0000000..8586203 --- /dev/null +++ b/web/web-app/src/main/resources/mapper/ApartmentLabelMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/web/web-app/src/main/resources/mapper/AttrKeyMapper.xml b/web/web-app/src/main/resources/mapper/AttrKeyMapper.xml new file mode 100644 index 0000000..87c6f72 --- /dev/null +++ b/web/web-app/src/main/resources/mapper/AttrKeyMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/web/web-app/src/main/resources/mapper/AttrValueMapper.xml b/web/web-app/src/main/resources/mapper/AttrValueMapper.xml new file mode 100644 index 0000000..aa9f066 --- /dev/null +++ b/web/web-app/src/main/resources/mapper/AttrValueMapper.xml @@ -0,0 +1,8 @@ + + + + + + diff --git a/web/web-app/src/main/resources/mapper/BrowsingHistoryMapper.xml b/web/web-app/src/main/resources/mapper/BrowsingHistoryMapper.xml new file mode 100644 index 0000000..9fb6e77 --- /dev/null +++ b/web/web-app/src/main/resources/mapper/BrowsingHistoryMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/web/web-app/src/main/resources/mapper/CityInfoMapper.xml b/web/web-app/src/main/resources/mapper/CityInfoMapper.xml new file mode 100644 index 0000000..efd1d9f --- /dev/null +++ b/web/web-app/src/main/resources/mapper/CityInfoMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/web/web-app/src/main/resources/mapper/DistrictInfoMapper.xml b/web/web-app/src/main/resources/mapper/DistrictInfoMapper.xml new file mode 100644 index 0000000..4d7d843 --- /dev/null +++ b/web/web-app/src/main/resources/mapper/DistrictInfoMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/web/web-app/src/main/resources/mapper/FacilityInfoMapper.xml b/web/web-app/src/main/resources/mapper/FacilityInfoMapper.xml new file mode 100644 index 0000000..f65557b --- /dev/null +++ b/web/web-app/src/main/resources/mapper/FacilityInfoMapper.xml @@ -0,0 +1,8 @@ + + + + + + diff --git a/web/web-app/src/main/resources/mapper/FeeKeyMapper.xml b/web/web-app/src/main/resources/mapper/FeeKeyMapper.xml new file mode 100644 index 0000000..c454dbd --- /dev/null +++ b/web/web-app/src/main/resources/mapper/FeeKeyMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/web/web-app/src/main/resources/mapper/FeeValueMapper.xml b/web/web-app/src/main/resources/mapper/FeeValueMapper.xml new file mode 100644 index 0000000..4ee8cad --- /dev/null +++ b/web/web-app/src/main/resources/mapper/FeeValueMapper.xml @@ -0,0 +1,8 @@ + + + + + + diff --git a/web/web-app/src/main/resources/mapper/GraphInfoMapper.xml b/web/web-app/src/main/resources/mapper/GraphInfoMapper.xml new file mode 100644 index 0000000..7a7e470 --- /dev/null +++ b/web/web-app/src/main/resources/mapper/GraphInfoMapper.xml @@ -0,0 +1,8 @@ + + + + + + diff --git a/web/web-app/src/main/resources/mapper/LabelInfoMapper.xml b/web/web-app/src/main/resources/mapper/LabelInfoMapper.xml new file mode 100644 index 0000000..0587ed5 --- /dev/null +++ b/web/web-app/src/main/resources/mapper/LabelInfoMapper.xml @@ -0,0 +1,8 @@ + + + + + + diff --git a/web/web-app/src/main/resources/mapper/LeaseAgreementMapper.xml b/web/web-app/src/main/resources/mapper/LeaseAgreementMapper.xml new file mode 100644 index 0000000..c10987b --- /dev/null +++ b/web/web-app/src/main/resources/mapper/LeaseAgreementMapper.xml @@ -0,0 +1,8 @@ + + + + + + diff --git a/web/web-app/src/main/resources/mapper/LeaseTermMapper.xml b/web/web-app/src/main/resources/mapper/LeaseTermMapper.xml new file mode 100644 index 0000000..d0a90a2 --- /dev/null +++ b/web/web-app/src/main/resources/mapper/LeaseTermMapper.xml @@ -0,0 +1,8 @@ + + + + + + diff --git a/web/web-app/src/main/resources/mapper/PaymentTypeMapper.xml b/web/web-app/src/main/resources/mapper/PaymentTypeMapper.xml new file mode 100644 index 0000000..2dc5e50 --- /dev/null +++ b/web/web-app/src/main/resources/mapper/PaymentTypeMapper.xml @@ -0,0 +1,8 @@ + + + + + + \ No newline at end of file diff --git a/web/web-app/src/main/resources/mapper/ProvinceInfoMapper.xml b/web/web-app/src/main/resources/mapper/ProvinceInfoMapper.xml new file mode 100644 index 0000000..9003256 --- /dev/null +++ b/web/web-app/src/main/resources/mapper/ProvinceInfoMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/web/web-app/src/main/resources/mapper/RoomAttrValueMapper.xml b/web/web-app/src/main/resources/mapper/RoomAttrValueMapper.xml new file mode 100644 index 0000000..d14d91c --- /dev/null +++ b/web/web-app/src/main/resources/mapper/RoomAttrValueMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/web/web-app/src/main/resources/mapper/RoomFacilityMapper.xml b/web/web-app/src/main/resources/mapper/RoomFacilityMapper.xml new file mode 100644 index 0000000..b3b3ffa --- /dev/null +++ b/web/web-app/src/main/resources/mapper/RoomFacilityMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/web/web-app/src/main/resources/mapper/RoomInfoMapper.xml b/web/web-app/src/main/resources/mapper/RoomInfoMapper.xml new file mode 100644 index 0000000..10ba7ab --- /dev/null +++ b/web/web-app/src/main/resources/mapper/RoomInfoMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/web/web-app/src/main/resources/mapper/RoomLabelMapper.xml b/web/web-app/src/main/resources/mapper/RoomLabelMapper.xml new file mode 100644 index 0000000..6307150 --- /dev/null +++ b/web/web-app/src/main/resources/mapper/RoomLabelMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/web/web-app/src/main/resources/mapper/RoomLeaseTermMapper.xml b/web/web-app/src/main/resources/mapper/RoomLeaseTermMapper.xml new file mode 100644 index 0000000..7b381ac --- /dev/null +++ b/web/web-app/src/main/resources/mapper/RoomLeaseTermMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/web/web-app/src/main/resources/mapper/RoomPaymentTypeMapper.xml b/web/web-app/src/main/resources/mapper/RoomPaymentTypeMapper.xml new file mode 100644 index 0000000..5201c28 --- /dev/null +++ b/web/web-app/src/main/resources/mapper/RoomPaymentTypeMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/web/web-app/src/main/resources/mapper/UserInfoMapper.xml b/web/web-app/src/main/resources/mapper/UserInfoMapper.xml new file mode 100644 index 0000000..d22bb7c --- /dev/null +++ b/web/web-app/src/main/resources/mapper/UserInfoMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/web/web-app/src/main/resources/mapper/ViewAppointmentMapper.xml b/web/web-app/src/main/resources/mapper/ViewAppointmentMapper.xml new file mode 100644 index 0000000..aa41f43 --- /dev/null +++ b/web/web-app/src/main/resources/mapper/ViewAppointmentMapper.xml @@ -0,0 +1,8 @@ + + + + + +