ソースを参照

提交本地代码并且获取最新代码

liu 2 年 前
コミット
761eec067c
100 ファイル変更1197 行追加83 行削除
  1. 11 0
      .idea/compiler.xml
  2. 6 0
      .idea/encodings.xml
  3. 20 0
      .idea/jarRepositories.xml
  4. 217 19
      .idea/workspace.xml
  5. 12 2
      src/main/java/com/template/api/AdminMenuAPI.java
  6. 1 1
      src/main/java/com/template/api/ClassScheduleAPI.java
  7. 23 0
      src/main/java/com/template/api/UsersAPI.java
  8. 15 0
      src/main/java/com/template/api/UsersMenuAPI.java
  9. 15 0
      src/main/java/com/template/common/annotation/Generator.java
  10. 14 0
      src/main/java/com/template/common/annotation/IgnorePermissionsCheck.java
  11. 39 0
      src/main/java/com/template/common/utils/JWTUtil.java
  12. 71 2
      src/main/java/com/template/controller/AdminMenuController.java
  13. 3 3
      src/main/java/com/template/controller/HouseController.java
  14. 9 9
      src/main/java/com/template/controller/HouseNumberStateController.java
  15. 7 7
      src/main/java/com/template/controller/HouseOrderController.java
  16. 2 2
      src/main/java/com/template/controller/HousePriceController.java
  17. 39 10
      src/main/java/com/template/controller/LoginController.java
  18. 2 12
      src/main/java/com/template/controller/PermissionSettingController.java
  19. 144 1
      src/main/java/com/template/controller/UsersController.java
  20. 133 0
      src/main/java/com/template/controller/UsersMenuController.java
  21. 2 0
      src/main/java/com/template/mapper/AdminMapper.java
  22. 5 0
      src/main/java/com/template/model/dto/SaveParentDto.java
  23. 12 0
      src/main/java/com/template/model/dto/SaveParentUserDto.java
  24. 2 0
      src/main/java/com/template/model/dto/SaveSecondaryDto.java
  25. 12 0
      src/main/java/com/template/model/dto/SaveSecondaryUserDto.java
  26. 18 0
      src/main/java/com/template/model/dto/UsersDetailsDto.java
  27. 34 0
      src/main/java/com/template/model/dto/UsersDto.java
  28. 6 8
      src/main/java/com/template/model/pojo/Admin.java
  29. 0 3
      src/main/java/com/template/model/pojo/Users.java
  30. 1 1
      src/main/java/com/template/model/pojo/UsersMenu.java
  31. 81 0
      src/main/java/com/template/model/result/Result.java
  32. 24 0
      src/main/java/com/template/model/vo/AdminMenuTreeVo.java
  33. 6 0
      src/main/java/com/template/model/vo/LoginVO.java
  34. 74 0
      src/main/java/com/template/model/vo/PermissionsDetailVO.java
  35. 35 0
      src/main/java/com/template/model/vo/PermissionsTreeVO.java
  36. 66 0
      src/main/java/com/template/model/vo/PermissionsVO.java
  37. 6 0
      src/main/java/com/template/services/AdminService.java
  38. 22 2
      src/main/java/com/template/services/impl/AdminServiceImpl.java
  39. 8 1
      src/main/resources/mapper/template/PermissionSettingMapper.xml
  40. BIN
      target/classes/com/repair/model/request/changePasswordRequest.class
  41. BIN
      target/classes/com/repair/model/request/freezeRepairAdminRequest.class
  42. BIN
      target/classes/com/repair/model/request/queryAccountPageRequest.class
  43. BIN
      target/classes/com/repair/model/request/updateRepairAdminRequest.class
  44. BIN
      target/classes/com/template/AutoCode.class
  45. BIN
      target/classes/com/template/MybatisPlusApplication.class
  46. BIN
      target/classes/com/template/aop/LoginCheckAspect.class
  47. BIN
      target/classes/com/template/api/AdminMenuAPI.class
  48. BIN
      target/classes/com/template/api/ClassScheduleAPI.class
  49. BIN
      target/classes/com/template/api/ExcelControllerAPI.class
  50. BIN
      target/classes/com/template/api/HouseAPI.class
  51. BIN
      target/classes/com/template/api/HouseNumberStateAPI.class
  52. BIN
      target/classes/com/template/api/HouseOrderAPI.class
  53. BIN
      target/classes/com/template/api/HousePriceAPI.class
  54. BIN
      target/classes/com/template/api/LoginControllerAPI.class
  55. BIN
      target/classes/com/template/api/RepairAdminControllerAPI.class
  56. BIN
      target/classes/com/template/api/UsersAPI.class
  57. BIN
      target/classes/com/template/api/UsersMenuAPI.class
  58. BIN
      target/classes/com/template/common/annotation/Generator.class
  59. BIN
      target/classes/com/template/common/annotation/IgnorePermissionsCheck.class
  60. BIN
      target/classes/com/template/common/exception/EmsException.class
  61. BIN
      target/classes/com/template/common/exception/EmsExceptionHandler.class
  62. BIN
      target/classes/com/template/common/exception/MyCustomException.class
  63. BIN
      target/classes/com/template/common/result/ResponseStatusEnum.class
  64. BIN
      target/classes/com/template/common/utils/AES.class
  65. BIN
      target/classes/com/template/common/utils/AesUtils.class
  66. BIN
      target/classes/com/template/common/utils/CommonUtil.class
  67. BIN
      target/classes/com/template/common/utils/DateUtil.class
  68. BIN
      target/classes/com/template/common/utils/DoorLockAESUtil.class
  69. BIN
      target/classes/com/template/common/utils/DoorLockMD5Util.class
  70. BIN
      target/classes/com/template/common/utils/EncryptionUtil.class
  71. BIN
      target/classes/com/template/common/utils/ExcelUtils.class
  72. BIN
      target/classes/com/template/common/utils/FileUtil.class
  73. BIN
      target/classes/com/template/common/utils/Func.class
  74. BIN
      target/classes/com/template/common/utils/HttpClientHelper.class
  75. BIN
      target/classes/com/template/common/utils/JWTUtil.class
  76. BIN
      target/classes/com/template/common/utils/MD5.class
  77. BIN
      target/classes/com/template/common/utils/MyBase64.class
  78. BIN
      target/classes/com/template/common/utils/RSAUtils.class
  79. BIN
      target/classes/com/template/common/utils/SendSms.class
  80. BIN
      target/classes/com/template/common/utils/ValidateCode.class
  81. BIN
      target/classes/com/template/common/utils/WaterElectricDataEncAndDecUtil.class
  82. BIN
      target/classes/com/template/common/utils/WaterElectricSignUtil.class
  83. BIN
      target/classes/com/template/common/utils/paramUtils.class
  84. BIN
      target/classes/com/template/common/utils/weixin/DictionaryCompare.class
  85. BIN
      target/classes/com/template/common/utils/weixin/EndPay.class
  86. BIN
      target/classes/com/template/common/utils/weixin/JaxbUtil.class
  87. BIN
      target/classes/com/template/common/utils/weixin/PayWxUtil.class
  88. BIN
      target/classes/com/template/common/utils/weixin/TongYiReturn.class
  89. BIN
      target/classes/com/template/component/WaterElectricComponent.class
  90. BIN
      target/classes/com/template/component/WeiXiaoComponent$1.class
  91. BIN
      target/classes/com/template/component/WeiXiaoComponent.class
  92. BIN
      target/classes/com/template/config/DoorLockConfig.class
  93. BIN
      target/classes/com/template/config/MySecurity.class
  94. BIN
      target/classes/com/template/config/WaterElectricConfig.class
  95. BIN
      target/classes/com/template/config/WeixiaoConfig.class
  96. BIN
      target/classes/com/template/controller/AdminMenuController.class
  97. BIN
      target/classes/com/template/controller/ClassScheduleController.class
  98. BIN
      target/classes/com/template/controller/ExcelController.class
  99. BIN
      target/classes/com/template/controller/HouseController.class
  100. 0 0
      target/classes/com/template/controller/HouseNumberStateController.class

+ 11 - 0
.idea/compiler.xml

@@ -3,6 +3,17 @@
   <component name="CompilerConfiguration">
     <annotationProcessing>
       <profile default="true" name="Default" enabled="true" />
+      <profile name="Maven default annotation processors profile" enabled="true">
+        <sourceOutputDir name="target/generated-sources/annotations" />
+        <sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
+        <outputRelativeToContentRoot value="true" />
+        <module name="iHotel_student_houtai" />
+      </profile>
     </annotationProcessing>
   </component>
+  <component name="JavacSettings">
+    <option name="ADDITIONAL_OPTIONS_OVERRIDE">
+      <module name="iHotel_student_houtai" options="-parameters" />
+    </option>
+  </component>
 </project>

+ 6 - 0
.idea/encodings.xml

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="Encoding">
+    <file url="file://$PROJECT_DIR$/src/main/java" charset="UTF-8" />
+  </component>
+</project>

+ 20 - 0
.idea/jarRepositories.xml

@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="RemoteRepositoriesConfiguration">
+    <remote-repository>
+      <option name="id" value="central" />
+      <option name="name" value="Central Repository" />
+      <option name="url" value="http://maven.aliyun.com/nexus/content/repositories/central/" />
+    </remote-repository>
+    <remote-repository>
+      <option name="id" value="central" />
+      <option name="name" value="Maven Central repository" />
+      <option name="url" value="https://repo1.maven.org/maven2" />
+    </remote-repository>
+    <remote-repository>
+      <option name="id" value="jboss.community" />
+      <option name="name" value="JBoss Community repository" />
+      <option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
+    </remote-repository>
+  </component>
+</project>

+ 217 - 19
.idea/workspace.xml

@@ -5,48 +5,226 @@
   </component>
   <component name="ChangeListManager">
     <list default="true" id="42a0d34b-c484-4704-92dd-be5ac61d2f66" name="Changes" comment="">
-      <change afterPath="$PROJECT_DIR$/src/main/java/com/template/api/AdminAPI.java" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/src/main/java/com/template/api/AdminMenuAPI.java" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/src/main/java/com/template/api/UsersAPI.java" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/src/main/java/com/template/api/UsersMenuAPI.java" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/src/main/java/com/template/model/dto/SaveParentDto.java" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/src/main/java/com/template/model/dto/SaveSecondaryDto.java" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/src/main/java/com/template/model/vo/QueryExportVo.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/.idea/encodings.xml" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/.idea/jarRepositories.xml" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/template/common/annotation/Generator.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/template/common/annotation/IgnorePermissionsCheck.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/template/model/dto/SaveParentUserDto.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/template/model/dto/SaveSecondaryUserDto.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/template/model/dto/UsersDetailsDto.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/template/model/dto/UsersDto.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/template/model/result/Result.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/template/model/vo/AdminMenuTreeVo.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/template/model/vo/PermissionsDetailVO.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/template/model/vo/PermissionsTreeVO.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/template/model/vo/PermissionsVO.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/compiler.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/compiler.xml" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/AutoCode.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/AutoCode.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/api/HouseOrderAPI.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/api/HouseOrderAPI.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/api/PermissionSettingAPI.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/api/PermissionSettingAPI.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/api/AdminMenuAPI.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/api/AdminMenuAPI.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/api/ClassScheduleAPI.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/api/ClassScheduleAPI.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/api/UsersAPI.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/api/UsersAPI.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/api/UsersMenuAPI.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/api/UsersMenuAPI.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/common/utils/JWTUtil.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/common/utils/JWTUtil.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/controller/AdminMenuController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/controller/AdminMenuController.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/controller/HouseController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/controller/HouseController.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/src/main/java/com/template/controller/HouseNumberStateController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/controller/HouseNumberStateController.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/src/main/java/com/template/controller/HouseOrderController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/controller/HouseOrderController.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/src/main/java/com/template/controller/HousePriceController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/controller/HousePriceController.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/controller/LoginController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/controller/LoginController.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/controller/PermissionSettingController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/controller/PermissionSettingController.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/src/main/java/com/template/controller/UsersController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/controller/UsersController.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/mapper/HouseOrderMapper.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/mapper/HouseOrderMapper.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/model/pojo/PermissionSetting.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/model/pojo/PermissionSetting.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/controller/UsersMenuController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/controller/UsersMenuController.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/mapper/AdminMapper.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/mapper/AdminMapper.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/model/dto/SaveParentDto.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/model/dto/SaveParentDto.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/model/dto/SaveSecondaryDto.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/model/dto/SaveSecondaryDto.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/model/pojo/Admin.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/model/pojo/Admin.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/src/main/java/com/template/model/pojo/Users.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/model/pojo/Users.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/model/vo/HouseOrderPageListVo.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/model/vo/HouseOrderPageListVo.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/services/HouseOrderService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/services/HouseOrderService.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/services/impl/HouseOrderServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/services/impl/HouseOrderServiceImpl.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/resources/mapper/template/HouseOrderMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/mapper/template/HouseOrderMapper.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/model/pojo/UsersMenu.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/model/pojo/UsersMenu.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/model/vo/LoginVO.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/model/vo/LoginVO.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/services/AdminService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/services/AdminService.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/services/impl/AdminServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/services/impl/AdminServiceImpl.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/resources/mapper/template/PermissionSettingMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/mapper/template/PermissionSettingMapper.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/repair/model/request/changePasswordRequest.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/repair/model/request/changePasswordRequest.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/repair/model/request/freezeRepairAdminRequest.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/repair/model/request/freezeRepairAdminRequest.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/repair/model/request/queryAccountPageRequest.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/repair/model/request/queryAccountPageRequest.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/repair/model/request/updateRepairAdminRequest.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/repair/model/request/updateRepairAdminRequest.class" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/target/classes/com/template/AutoCode.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/AutoCode.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/MybatisPlusApplication.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/MybatisPlusApplication.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/aop/LoginCheckAspect.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/aop/LoginCheckAspect.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/api/AdminMenuAPI.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/api/AdminMenuAPI.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/api/ClassScheduleAPI.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/api/ClassScheduleAPI.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/api/ExcelControllerAPI.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/api/ExcelControllerAPI.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/api/HouseAPI.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/api/HouseAPI.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/api/HouseNumberStateAPI.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/api/HouseNumberStateAPI.class" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/target/classes/com/template/api/HouseOrderAPI.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/api/HouseOrderAPI.class" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/target/classes/com/template/api/HousePriceAPI.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/api/HousePriceAPI.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/api/LoginControllerAPI.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/api/LoginControllerAPI.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/api/RepairAdminControllerAPI.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/api/RepairAdminControllerAPI.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/api/UsersAPI.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/api/UsersAPI.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/api/UsersMenuAPI.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/api/UsersMenuAPI.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/common/exception/EmsException.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/common/exception/EmsException.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/common/exception/EmsExceptionHandler.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/common/exception/EmsExceptionHandler.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/common/exception/MyCustomException.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/common/exception/MyCustomException.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/common/result/ResponseStatusEnum.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/common/result/ResponseStatusEnum.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/common/utils/AES.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/common/utils/AES.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/common/utils/AesUtils.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/common/utils/AesUtils.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/common/utils/CommonUtil.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/common/utils/CommonUtil.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/common/utils/DateUtil.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/common/utils/DateUtil.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/common/utils/DoorLockAESUtil.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/common/utils/DoorLockAESUtil.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/common/utils/DoorLockMD5Util.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/common/utils/DoorLockMD5Util.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/common/utils/EncryptionUtil.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/common/utils/EncryptionUtil.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/common/utils/ExcelUtils.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/common/utils/ExcelUtils.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/common/utils/FileUtil.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/common/utils/FileUtil.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/common/utils/Func.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/common/utils/Func.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/common/utils/HttpClientHelper.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/common/utils/HttpClientHelper.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/common/utils/JWTUtil.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/common/utils/JWTUtil.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/common/utils/MD5.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/common/utils/MD5.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/common/utils/MyBase64.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/common/utils/MyBase64.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/common/utils/RSAUtils.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/common/utils/RSAUtils.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/common/utils/SendSms.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/common/utils/SendSms.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/common/utils/ValidateCode.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/common/utils/ValidateCode.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/common/utils/WaterElectricDataEncAndDecUtil.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/common/utils/WaterElectricDataEncAndDecUtil.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/common/utils/WaterElectricSignUtil.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/common/utils/WaterElectricSignUtil.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/common/utils/paramUtils.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/common/utils/paramUtils.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/common/utils/weixin/DictionaryCompare.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/common/utils/weixin/DictionaryCompare.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/common/utils/weixin/EndPay.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/common/utils/weixin/EndPay.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/common/utils/weixin/JaxbUtil.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/common/utils/weixin/JaxbUtil.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/common/utils/weixin/PayWxUtil.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/common/utils/weixin/PayWxUtil.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/common/utils/weixin/TongYiReturn.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/common/utils/weixin/TongYiReturn.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/component/WaterElectricComponent.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/component/WaterElectricComponent.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/component/WeiXiaoComponent$1.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/component/WeiXiaoComponent$1.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/component/WeiXiaoComponent.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/component/WeiXiaoComponent.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/config/DoorLockConfig.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/config/DoorLockConfig.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/config/MySecurity.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/config/MySecurity.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/config/WaterElectricConfig.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/config/WaterElectricConfig.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/config/WeixiaoConfig.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/config/WeixiaoConfig.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/controller/AdminMenuController.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/controller/AdminMenuController.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/controller/ClassScheduleController.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/controller/ClassScheduleController.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/controller/ExcelController.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/controller/ExcelController.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/controller/HouseController.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/controller/HouseController.class" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/target/classes/com/template/controller/HouseNumberStateController.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/controller/HouseNumberStateController.class" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/target/classes/com/template/controller/HouseOrderController.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/controller/HouseOrderController.class" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/target/classes/com/template/controller/HousePriceController.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/controller/HousePriceController.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/controller/LoginController.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/controller/LoginController.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/controller/PasswordIssController.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/controller/PasswordIssController.class" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/target/classes/com/template/controller/PermissionSettingController.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/controller/PermissionSettingController.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/controller/RepairAdminController.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/controller/RepairAdminController.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/controller/UploadServlet.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/controller/UploadServlet.class" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/target/classes/com/template/controller/UsersController.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/controller/UsersController.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/controller/UsersMenuController.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/controller/UsersMenuController.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/core/CORSConfiguration$1.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/core/CORSConfiguration$1.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/core/JwtAuthenticationInterceptor.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/core/JwtAuthenticationInterceptor.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/core/JwtlnterceptorConfig.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/core/JwtlnterceptorConfig.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/core/ReplaceStreamFilter.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/core/ReplaceStreamFilter.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/core/RequestWrapper$1.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/core/RequestWrapper$1.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/core/RequestWrapper.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/core/RequestWrapper.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/handle/NonStaticResourceHttpRequestHandler.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/handle/NonStaticResourceHttpRequestHandler.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/handler/MyMetaObjectHandler.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/handler/MyMetaObjectHandler.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/mapper/ClassScheduleMapper.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/mapper/ClassScheduleMapper.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/mapper/HouseLockMapper.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/mapper/HouseLockMapper.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/mapper/HouseMapper.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/mapper/HouseMapper.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/mapper/HouseNumberMapper.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/mapper/HouseNumberMapper.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/mapper/HouseNumberStateMapper.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/mapper/HouseNumberStateMapper.class" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/target/classes/com/template/mapper/HouseOrderMapper.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/mapper/HouseOrderMapper.class" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/target/classes/com/template/mapper/HousePriceMapper.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/mapper/HousePriceMapper.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/dto/AlterDto.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/dto/AlterDto.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/dto/AlterPriceDto.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/dto/AlterPriceDto.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/dto/BillHandleResultDTO.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/dto/BillHandleResultDTO.class" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/dto/CancelDto.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/dto/CancelDto.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/dto/CardInfoDto.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/dto/CardInfoDto.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/dto/CheckIdCardDto.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/dto/CheckIdCardDto.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/dto/CheckOutDto.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/dto/CheckOutDto.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/dto/CleanRoomDto.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/dto/CleanRoomDto.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/dto/DirtyRoomDto.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/dto/DirtyRoomDto.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/dto/EstablishOrderDto.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/dto/EstablishOrderDto.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/dto/EventMessageDTO$EventMessageDTOBuilder.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/dto/EventMessageDTO$EventMessageDTOBuilder.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/dto/EventMessageDTO.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/dto/EventMessageDTO.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/dto/FingerprintDataDto.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/dto/FingerprintDataDto.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/dto/HouseDto.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/dto/HouseDto.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/dto/HousePriceAlterDto.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/dto/HousePriceAlterDto.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/dto/LockRoomDTO$LockRoomDTOBuilder.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/dto/LockRoomDTO$LockRoomDTOBuilder.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/dto/LockRoomDTO.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/dto/LockRoomDTO.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/dto/MaintainDto.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/dto/MaintainDto.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/dto/PasswordDto.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/dto/PasswordDto.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/dto/ReserveDto.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/dto/ReserveDto.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/dto/RoomChangeDto.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/dto/RoomChangeDto.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/enumModel/PasswordUrlEnum.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/enumModel/PasswordUrlEnum.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/enumModel/eIsSuper.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/enumModel/eIsSuper.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/enumModel/eStatu.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/enumModel/eStatu.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/pojo/Admin.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/pojo/Admin.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/pojo/AdminMenu.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/pojo/AdminMenu.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/pojo/ClassSchedule.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/pojo/ClassSchedule.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/pojo/House.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/pojo/House.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/pojo/HouseLock.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/pojo/HouseLock.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/pojo/HouseNumber.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/pojo/HouseNumber.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/pojo/HouseNumberState.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/pojo/HouseNumberState.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/pojo/HouseOrder.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/pojo/HouseOrder.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/pojo/HouseOrderBill.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/pojo/HouseOrderBill.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/pojo/HousePrice.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/pojo/HousePrice.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/pojo/LockRoomDto.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/pojo/LockRoomDto.class" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/pojo/PermissionSetting.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/pojo/PermissionSetting.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/pojo/RepairAdmin.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/pojo/RepairAdmin.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/pojo/Unlocking.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/pojo/Unlocking.class" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/pojo/Users.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/pojo/Users.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/pojo/UsersMenu.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/pojo/UsersMenu.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/request/loginRequest.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/request/loginRequest.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/result/BaseResult.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/result/BaseResult.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/result/CommonResult.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/result/CommonResult.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/result/PageUtils.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/result/PageUtils.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/vo/AlterPriceRecordVo.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/vo/AlterPriceRecordVo.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/vo/CalendarPageVo.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/vo/CalendarPageVo.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/vo/ClassListVo.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/vo/ClassListVo.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/vo/HouseNumberStateDateVo.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/vo/HouseNumberStateDateVo.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/vo/HouseNumberStatePageVo.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/vo/HouseNumberStatePageVo.class" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/vo/HouseOrderPageListVo.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/vo/HouseOrderPageListVo.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/vo/HousePricePageVo.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/vo/HousePricePageVo.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/vo/HousePriceVo.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/vo/HousePriceVo.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/vo/HouseStateVo.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/vo/HouseStateVo.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/vo/HouseStustaVo.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/vo/HouseStustaVo.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/vo/HouseVo.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/vo/HouseVo.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/vo/HousedetailsVo.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/vo/HousedetailsVo.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/vo/LoginVO.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/vo/LoginVO.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/vo/ParticularHouseNumberStatusVo.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/vo/ParticularHouseNumberStatusVo.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/vo/PriceVo.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/vo/PriceVo.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/vo/QueryExportVo.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/vo/QueryExportVo.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/vo/ReserveDayVo.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/vo/ReserveDayVo.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/vo/RoomTypeVo.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/vo/RoomTypeVo.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/vo/ScheduleVo.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/vo/ScheduleVo.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/weixin/AccessToken.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/weixin/AccessToken.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/weixin/CodeEntity.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/weixin/CodeEntity.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/weixin/CodeEntityVo.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/weixin/CodeEntityVo.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/weixin/Ordering.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/weixin/Ordering.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/weixin/Pay.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/weixin/Pay.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/weixin/PayResult.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/weixin/PayResult.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/weixin/Users.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/weixin/Users.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/weixin/WechatResult.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/weixin/WechatResult.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/weixin/WechatUnifiedOrder.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/weixin/WechatUnifiedOrder.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/weixin/Wechat_userinfo.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/weixin/Wechat_userinfo.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/model/weixin/Wx_user.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/model/weixin/Wx_user.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/services/AdminService.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/services/AdminService.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/services/ClassScheduleService.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/services/ClassScheduleService.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/services/HouseLockService.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/services/HouseLockService.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/services/HouseNumberService.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/services/HouseNumberService.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/services/HouseNumberStateService.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/services/HouseNumberStateService.class" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/target/classes/com/template/services/HouseOrderService.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/services/HouseOrderService.class" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/target/classes/com/template/services/HousePriceService.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/services/HousePriceService.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/services/HouseService.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/services/HouseService.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/services/PermissionSettingService.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/services/PermissionSettingService.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/services/RepairAdminService.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/services/RepairAdminService.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/services/impl/AdminServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/services/impl/AdminServiceImpl.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/services/impl/ClassScheduleServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/services/impl/ClassScheduleServiceImpl.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/services/impl/HouseLockServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/services/impl/HouseLockServiceImpl.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/services/impl/HouseNumberServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/services/impl/HouseNumberServiceImpl.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/services/impl/HouseNumberStateServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/services/impl/HouseNumberStateServiceImpl.class" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/target/classes/com/template/services/impl/HouseOrderServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/services/impl/HouseOrderServiceImpl.class" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/target/classes/com/template/services/impl/HousePriceServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/services/impl/HousePriceServiceImpl.class" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/target/classes/mapper/template/HouseOrderMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/mapper/template/HouseOrderMapper.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/target/classes/mapper/template/HousePriceMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/mapper/template/HousePriceMapper.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/services/impl/HouseServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/services/impl/HouseServiceImpl.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/services/impl/PermissionSettingServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/services/impl/PermissionSettingServiceImpl.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/com/template/services/impl/RepairAdminServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/services/impl/RepairAdminServiceImpl.class" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/mapper/template/PermissionSettingMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/mapper/template/PermissionSettingMapper.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst" beforeDir="false" afterPath="$PROJECT_DIR$/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/mybatis_plus-0.0.1-SNAPSHOT.jar" beforeDir="false" afterPath="$PROJECT_DIR$/target/mybatis_plus-0.0.1-SNAPSHOT.jar" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/mybatis_plus-0.0.1-SNAPSHOT.jar.original" beforeDir="false" afterPath="$PROJECT_DIR$/target/mybatis_plus-0.0.1-SNAPSHOT.jar.original" afterDir="false" />
     </list>
     <option name="SHOW_DIALOG" value="false" />
     <option name="HIGHLIGHT_CONFLICTS" value="true" />
@@ -143,6 +321,19 @@
         <option name="Make" enabled="true" />
       </method>
     </configuration>
+    <configuration name="UsersMenuController" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
+      <option name="MAIN_CLASS_NAME" value="com.template.controller.UsersMenuController" />
+      <module name="iHotel_student_houtai" />
+      <extension name="coverage">
+        <pattern>
+          <option name="PATTERN" value="com.template.controller.*" />
+          <option name="ENABLED" value="true" />
+        </pattern>
+      </extension>
+      <method v="2">
+        <option name="Make" enabled="true" />
+      </method>
+    </configuration>
     <configuration name="MybatisPlusApplication" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot" nameIsGenerated="true">
       <option name="ACTIVE_PROFILES" />
       <module name="iHotel_student_houtai" />
@@ -159,10 +350,12 @@
     </configuration>
     <list>
       <item itemvalue="Application.AutoCode" />
+      <item itemvalue="Application.UsersMenuController" />
       <item itemvalue="Spring Boot.MybatisPlusApplication" />
     </list>
     <recent_temporary>
       <list>
+        <item itemvalue="Application.UsersMenuController" />
         <item itemvalue="Application.AutoCode" />
       </list>
     </recent_temporary>
@@ -180,7 +373,7 @@
       <updated>1700186263832</updated>
       <workItem from="1700186265128" duration="1452000" />
       <workItem from="1700187845025" duration="272442000" />
-      <workItem from="1701824578863" duration="84735000" />
+      <workItem from="1701824578863" duration="123940000" />
     </task>
     <servers />
   </component>
@@ -276,6 +469,11 @@
           <line>630</line>
           <option name="timeStamp" value="64" />
         </line-breakpoint>
+        <line-breakpoint enabled="true" type="java-line">
+          <url>file://$PROJECT_DIR$/src/main/java/com/template/controller/UsersMenuController.java</url>
+          <line>98</line>
+          <option name="timeStamp" value="72" />
+        </line-breakpoint>
       </breakpoints>
     </breakpoint-manager>
     <watches-manager>

+ 12 - 2
src/main/java/com/template/api/AdminMenuAPI.java

@@ -2,8 +2,11 @@ package com.template.api;
 
 import com.template.model.dto.SaveParentDto;
 import com.template.model.dto.SaveSecondaryDto;
+import com.template.model.dto.UsersDto;
 import com.template.model.result.CommonResult;
 import io.swagger.annotations.ApiOperation;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -13,11 +16,18 @@ public interface AdminMenuAPI {
 
     @PostMapping("/saveParent")
     @ApiOperation(value = "添加一级用户", notes = "添加一级用户", httpMethod = "POST")
-    CommonResult saveParent(@RequestBody SaveParentDto saveParentDto);
+    CommonResult saveParent(@RequestBody SaveParentDto saveParentDto, BindingResult bindingResult);
 
     @PostMapping("/saveSecondary")
     @ApiOperation(value = "添加次级用户", notes = "添加次级用户", httpMethod = "POST")
-    CommonResult saveSecondary(@RequestBody SaveSecondaryDto saveSecondaryDto);
+    CommonResult saveSecondary(@RequestBody SaveSecondaryDto saveSecondaryDto,BindingResult bindingResult);
+
+    @GetMapping("/getRole")
+    @ApiOperation(value = "角色列表", notes = "角色列表", httpMethod = "GET")
+    CommonResult getRole();
+
+
+
 
 
 }

+ 1 - 1
src/main/java/com/template/api/ClassScheduleAPI.java

@@ -9,7 +9,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
 public interface ClassScheduleAPI {
 
     @GetMapping("/schedule")
-    @ApiOperation(value = "创建课表", notes = "创建课表", httpMethod = "POST")
+    @ApiOperation(value = "创建课表", notes = "创建课表", httpMethod = "GET")
     CommonResult schedule(String stateTime,String endTime,String teacherName);
 
 }

+ 23 - 0
src/main/java/com/template/api/UsersAPI.java

@@ -1,12 +1,35 @@
 package com.template.api;
 
+import com.template.model.dto.UsersDetailsDto;
+import com.template.model.dto.UsersDto;
 import com.template.model.result.CommonResult;
+import io.swagger.annotations.ApiModelProperty;
 import io.swagger.annotations.ApiOperation;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 
 @RequestMapping("/auto/users")
 public interface UsersAPI {
 
+    @PostMapping("/saveUsers")
+    @ApiOperation(value = "添加用户", notes = "添加用户", httpMethod = "POST")
+    CommonResult saveUsers(@RequestBody UsersDto usersDto, BindingResult bindingResult);
+
+
+    @GetMapping("/getUsersPage")
+    @ApiOperation(value = "用户分页", notes = "用户分页", httpMethod = "GET")
+    CommonResult getUsersPage(int adminMenuId,int page,int size,String keyWord,String startTime,String endTime);
+
+
+    @PostMapping("/updateDetails")
+    @ApiOperation(value = "用户编辑", notes = "用户编辑", httpMethod = "POST")
+    CommonResult updateDetails(@RequestBody UsersDetailsDto usersDetailsDto, BindingResult bindingResult);
+
+    @GetMapping("/deleteUsers")
+    @ApiOperation(value = "用户删除", notes = "用户删除", httpMethod = "GET")
+    CommonResult deleteUsers(int adminMenuId,int userId);
 
 }

+ 15 - 0
src/main/java/com/template/api/UsersMenuAPI.java

@@ -1,15 +1,30 @@
 package com.template.api;
 
+import com.template.model.dto.SaveParentDto;
+import com.template.model.dto.SaveParentUserDto;
+import com.template.model.dto.SaveSecondaryDto;
+import com.template.model.dto.SaveSecondaryUserDto;
 import com.template.model.result.CommonResult;
 import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 
 @RequestMapping("/auto/users-menu")
 public interface UsersMenuAPI {
 
+    @PostMapping("/saveUserParent")
+    @ApiOperation(value = "添加一级用户", notes = "添加一级用户", httpMethod = "POST")
+    CommonResult saveUserParent(@RequestBody SaveParentUserDto saveParentUserDto);
 
+    @PostMapping("/saveUserSecondary")
+    @ApiOperation(value = "添加次级用户", notes = "添加次级用户", httpMethod = "POST")
+    CommonResult saveUserSecondary(@RequestBody SaveSecondaryUserDto saveSecondaryUserDto);
 
+    @GetMapping("/getUserRole")
+    @ApiOperation(value = "角色列表", notes = "角色列表", httpMethod = "GET")
+    CommonResult getUserRole();
 
 
 

+ 15 - 0
src/main/java/com/template/common/annotation/Generator.java

@@ -0,0 +1,15 @@
+package com.template.common.annotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * 自动生成代码注解
+ */
+@Target({ElementType.TYPE, ElementType.FIELD, ElementType.METHOD})
+@Retention(RetentionPolicy.SOURCE)
+public @interface Generator {
+    String value() default "自动生成代码";
+}

+ 14 - 0
src/main/java/com/template/common/annotation/IgnorePermissionsCheck.java

@@ -0,0 +1,14 @@
+package com.template.common.annotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * 请求接口忽略权限验证注解
+ */
+@Target(ElementType.METHOD)
+@Retention(RetentionPolicy.RUNTIME)
+public @interface IgnorePermissionsCheck {
+}

+ 39 - 0
src/main/java/com/template/common/utils/JWTUtil.java

@@ -7,6 +7,7 @@ import com.auth0.jwt.algorithms.Algorithm;
 import com.auth0.jwt.interfaces.Claim;
 import com.auth0.jwt.interfaces.DecodedJWT;
 import com.template.model.pojo.RepairAdmin;
+import com.template.model.pojo.Admin;
 import lombok.extern.slf4j.Slf4j;
 
 import java.util.Date;
@@ -64,6 +65,44 @@ public class JWTUtil {
 //        return builder.sign(Algorithm.HMAC256(SIGNATURE)).toString();
     }
 
+    /**
+     * 生成token 有过期时间
+     * @return 返回token
+     */
+    public static String getAdminToken(Admin ra){
+
+        // 签发时间
+        Date iatDate = new Date();
+
+//        // 过期时间
+//        Calendar nowTime = Calendar.getInstance();
+//        nowTime.add(Calendar.DAY_OF_WEEK, 3);
+//        Date expiresDate = nowTime.getTime();
+
+        Map<String, Object> map = new HashMap<>();
+        map.put("alg", "HMAC256");
+        map.put("typ", "JWT");
+        String token = JWT.create()
+                .withHeader(map) // header
+                .withClaim("account", ra.getUserNumber()) // 账号
+                .withClaim("password", ra.getPassWord()) // 密码
+                .withExpiresAt(new Date(CommonUtil.getCurrentTimestamp() + EXPIRED)) // 设置过期时间。过期时间要大于签发时间
+                .withIssuedAt(iatDate) // 设置签发时间
+                .sign(Algorithm.HMAC256(SIGNATURE)); // 加密
+        return token;
+
+//
+//        JWTCreator.Builder builder = JWT.create();
+//        map.forEach((k,v)->{
+//            builder.withClaim(k,v);
+//        });
+//        Calendar instance = Calendar.getInstance();
+//        instance.add(Calendar.SECOND,7);
+//        builder.withExpiresAt(instance.getTime());
+//        return builder.sign(Algorithm.HMAC256(SIGNATURE)).toString();
+    }
+
+
     public static long getExpired() {
         return EXPIRED;
     }

+ 71 - 2
src/main/java/com/template/controller/AdminMenuController.java

@@ -6,19 +6,26 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.template.api.AdminMenuAPI;
 import com.template.model.dto.SaveParentDto;
+import com.template.model.dto.SaveParentUserDto;
 import com.template.model.dto.SaveSecondaryDto;
 import com.template.model.pojo.AdminMenu;
 import com.template.model.pojo.PermissionSetting;
 import com.template.model.result.CommonResult;
+import com.template.model.vo.AdminMenuTreeVo;
 import com.template.services.AdminMenuService;
 import com.template.services.PermissionSettingService;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.validation.BindingResult;
 import org.springframework.web.bind.annotation.RequestMapping;
 
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Collectors;
+
 /**
  * <p>
  * 前端控制器
@@ -38,12 +45,24 @@ public class AdminMenuController implements AdminMenuAPI {
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public CommonResult saveParent(SaveParentDto saveParentDto) {
+    public CommonResult saveParent(SaveParentDto saveParentDto, BindingResult bindingResult) {
 
         if (ObjectUtils.isEmpty(saveParentDto)) {
             return CommonResult.fail();
         }
 
+        int adminId = saveParentDto.getAdminMenuId();
+        PermissionSetting permissionSetting1 = permissionSettingService.getById(adminId);
+        if (ObjectUtils.isEmpty(permissionSetting1)) {
+            return CommonResult.fail("非法进入");
+        }
+//      判断该用户是否拥有权限
+        String roleManagement = permissionSetting1.getRoleManagement();
+        if (!"0".equals(roleManagement) && !roleManagement.contains("1")) {
+            return CommonResult.fail("此账号暂无该权限");
+        }
+
+
         String name = saveParentDto.getName();
 
         LambdaQueryWrapper<AdminMenu> wrapperAm = new LambdaQueryWrapper<>();
@@ -75,10 +94,22 @@ public class AdminMenuController implements AdminMenuAPI {
     }
 
     @Override
-    public CommonResult saveSecondary(SaveSecondaryDto saveSecondaryDto) {
+    public CommonResult saveSecondary(SaveSecondaryDto saveSecondaryDto,BindingResult bindingResult) {
         if (ObjectUtils.isEmpty(saveSecondaryDto)) {
             return CommonResult.fail();
         }
+
+        int adminId = saveSecondaryDto.getAdminMenuId();
+        PermissionSetting permissionSetting1 = permissionSettingService.getById(adminId);
+        if (ObjectUtils.isEmpty(permissionSetting1)) {
+            return CommonResult.fail("非法进入");
+        }
+//      判断该用户是否拥有权限
+        String roleManagement = permissionSetting1.getRoleManagement();
+        if (!"0".equals(roleManagement) && !roleManagement.contains("1")) {
+            return CommonResult.fail("此账号暂无该权限");
+        }
+
         String name = saveSecondaryDto.getName();
 
         LambdaQueryWrapper<AdminMenu> wrapperAm = new LambdaQueryWrapper<>();
@@ -107,6 +138,44 @@ public class AdminMenuController implements AdminMenuAPI {
 
     }
 
+    @Override
+    public CommonResult getRole() {
+        Wrapper<AdminMenu> wrapper=new LambdaQueryWrapper<>();
+        List<AdminMenu> adminMenus = adminMenuService.list(wrapper);
+        List<AdminMenuTreeVo> adminMenuTreeVos = QueryAreaTreeRecords(0, adminMenus);
+
+        return CommonResult.ok(adminMenuTreeVos);
+    }
+
+    /**
+     * 根据父类ID获取树形菜单数据
+     * @param parentID 父级ID
+     * @param lists 数据集合
+     * @return
+     */
+    private List<AdminMenuTreeVo> QueryAreaTreeRecords(Integer parentID, List<AdminMenu> lists) {
+        List<AdminMenuTreeVo> newTrees = new ArrayList<>();
+
+        List<AdminMenu> datas = lists.stream().filter(e -> e.getParentId().equals(parentID)).collect(Collectors.toList());
+
+        for (AdminMenu data : datas) {
+            AdminMenuTreeVo item = AdminMenuTreeVo.builder()
+                    .id(data.getId())
+                    .parentId(data.getParentId())
+                    .name(data.getName())
+                    .build();
+            List<AdminMenuTreeVo> news = QueryAreaTreeRecords(item.getId(), lists);
+            if (news == null || news.size() == 0) {
+                newTrees.add(item);
+                continue;
+            } else {
+                item.setChildren(news);
+                newTrees.add(item);
+            }
+        }
+
+        return newTrees;
+    }
 
 
 

+ 3 - 3
src/main/java/com/template/controller/HouseController.java

@@ -63,7 +63,7 @@ public class HouseController implements HouseAPI {
         }
 //      判断该用户是否拥有权限
         String houseTypeManagement = permissionSetting.getHouseTypeManagement();
-        if (!"0".equals(houseTypeManagement) && !"1".equals(houseTypeManagement)) {
+        if (!"0".equals(houseTypeManagement) && !houseTypeManagement.contains("1")) {
             return CommonResult.fail("此账号暂无该权限");
         }
 
@@ -174,7 +174,7 @@ public class HouseController implements HouseAPI {
         }
 //      判断该用户是否拥有权限
         String houseTypeManagement = permissionSetting.getHouseTypeManagement();
-        if (!"0".equals(houseTypeManagement) && !"2".equals(houseTypeManagement)) {
+        if (!"0".equals(houseTypeManagement) && !houseTypeManagement.contains("2")) {
             return CommonResult.fail("此账号暂无该权限");
         }
 
@@ -273,7 +273,7 @@ public class HouseController implements HouseAPI {
         }
 //      判断该用户是否拥有权限
         String houseTypeManagement = permissionSetting.getHouseTypeManagement();
-        if (!"0".equals(houseTypeManagement) && !"3".equals(houseTypeManagement)) {
+        if (!"0".equals(houseTypeManagement) && !houseTypeManagement.contains("3")) {
             return CommonResult.fail("此账号暂无该权限");
         }
 

+ 9 - 9
src/main/java/com/template/controller/HouseNumberStateController.java

@@ -446,7 +446,7 @@ public class HouseNumberStateController implements HouseNumberStateAPI {
         }
 //      判断该用户是否拥有权限
         String houseTypeManagement = permissionSetting.getHouseStatusManagement();
-        if (!"0".equals(houseTypeManagement) && !"1".equals(houseTypeManagement)) {
+        if (!"0".equals(houseTypeManagement) && !houseTypeManagement.contains("1")) {
             return CommonResult.fail("此账号暂无该权限");
         }
 
@@ -505,7 +505,7 @@ public class HouseNumberStateController implements HouseNumberStateAPI {
         }
 //      判断该用户是否拥有权限
         String houseTypeManagement = permissionSetting.getHouseStatusManagement();
-        if (!"0".equals(houseTypeManagement) && !"1".equals(houseTypeManagement)) {
+        if (!"0".equals(houseTypeManagement) && !houseTypeManagement.contains("1")) {
             return CommonResult.fail("此账号暂无该权限");
         }
 
@@ -619,7 +619,7 @@ public class HouseNumberStateController implements HouseNumberStateAPI {
         }
 //      判断该用户是否拥有权限
         String houseTypeManagement = permissionSetting.getHouseStatusManagement();
-        if (!"0".equals(houseTypeManagement) && !"8".equals(houseTypeManagement)) {
+        if (!"0".equals(houseTypeManagement) && !houseTypeManagement.contains("8")) {
             return CommonResult.fail("此账号暂无该权限");
         }
         String houseNumberId = checkIdCardDto.getHouseNumberId();
@@ -820,7 +820,7 @@ public class HouseNumberStateController implements HouseNumberStateAPI {
         }
 //      判断该用户是否拥有权限
         String houseTypeManagement = permissionSetting.getHouseStatusManagement();
-        if (!"0".equals(houseTypeManagement) && !"11".equals(houseTypeManagement)) {
+        if (!"0".equals(houseTypeManagement) && !houseTypeManagement.contains("11")) {
             return CommonResult.fail("此账号暂无该权限");
         }
 
@@ -875,7 +875,7 @@ public class HouseNumberStateController implements HouseNumberStateAPI {
         }
 //      判断该用户是否拥有权限
         String houseTypeManagement = permissionSetting.getHouseStatusManagement();
-        if (!"0".equals(houseTypeManagement) && !"11".equals(houseTypeManagement)) {
+        if (!"0".equals(houseTypeManagement) && !houseTypeManagement.contains("11")) {
             return CommonResult.fail("此账号暂无该权限");
         }
 
@@ -1038,7 +1038,7 @@ public class HouseNumberStateController implements HouseNumberStateAPI {
         }
 //      判断该用户是否拥有权限
         String houseTypeManagement = permissionSetting.getHouseStatusManagement();
-        if (!"0".equals(houseTypeManagement) && !"2".equals(houseTypeManagement)) {
+        if (!"0".equals(houseTypeManagement) && !houseTypeManagement.contains("2")) {
             return CommonResult.fail("此账号暂无该权限");
         }
 
@@ -1129,7 +1129,7 @@ public class HouseNumberStateController implements HouseNumberStateAPI {
         }
 //      判断该用户是否拥有权限
         String houseTypeManagement = permissionSetting.getHouseStatusManagement();
-        if (!"0".equals(houseTypeManagement) && !"3".equals(houseTypeManagement)) {
+        if (!"0".equals(houseTypeManagement) && !houseTypeManagement.contains("3")) {
             return CommonResult.fail("此账号暂无该权限");
         }
 
@@ -1166,7 +1166,7 @@ public class HouseNumberStateController implements HouseNumberStateAPI {
         }
 //      判断该用户是否拥有权限
         String houseTypeManagement = permissionSetting.getHouseStatusManagement();
-        if (!"0".equals(houseTypeManagement) && !"9".equals(houseTypeManagement)) {
+        if (!"0".equals(houseTypeManagement) && !houseTypeManagement.contains("9")) {
             return CommonResult.fail("此账号暂无该权限");
         }
 
@@ -1228,7 +1228,7 @@ public class HouseNumberStateController implements HouseNumberStateAPI {
         }
 //      判断该用户是否拥有权限
         String houseTypeManagement = permissionSetting.getHouseStatusManagement();
-        if (!"0".equals(houseTypeManagement) && !"9".equals(houseTypeManagement)) {
+        if (!"0".equals(houseTypeManagement) && !houseTypeManagement.contains("9")) {
             return CommonResult.fail("此账号暂无该权限");
         }
         String houseNumberId = cleanRoomDto.getHouseNumberId();

+ 7 - 7
src/main/java/com/template/controller/HouseOrderController.java

@@ -446,7 +446,7 @@ public class HouseOrderController implements HouseOrderAPI {
         }
 //      判断该用户是否拥有权限
         String houseTypeManagement = permissionSetting.getHouseOrderManagement();
-        if (!"0".equals(houseTypeManagement) && !"6".equals(houseTypeManagement)) {
+        if (!"0".equals(houseTypeManagement) && !houseTypeManagement.contains("6")) {
             return CommonResult.fail("此账号暂无该权限");
         }
 
@@ -500,7 +500,7 @@ public class HouseOrderController implements HouseOrderAPI {
         }
 //      判断该用户是否拥有权限
         String houseTypeManagement = permissionSetting.getHouseOrderManagement();
-        if (!"0".equals(houseTypeManagement) && !"1".equals(houseTypeManagement)) {
+        if (!"0".equals(houseTypeManagement) && !houseTypeManagement.contains("1")) {
             return CommonResult.fail("此账号暂无该权限");
         }
 
@@ -551,7 +551,7 @@ public class HouseOrderController implements HouseOrderAPI {
         }
 //      判断该用户是否拥有权限
         String houseTypeManagement = permissionSetting.getHouseOrderManagement();
-        if (!"0".equals(houseTypeManagement) && !"2".equals(houseTypeManagement)) {
+        if (!"0".equals(houseTypeManagement) && !houseTypeManagement.contains("2")) {
             return CommonResult.fail("此账号暂无该权限");
         }
         if (ObjectUtils.isEmpty(orderNumber)) {
@@ -581,7 +581,7 @@ public class HouseOrderController implements HouseOrderAPI {
         }
 //      判断该用户是否拥有权限
         String houseTypeManagement = permissionSetting.getHouseOrderManagement();
-        if (!"0".equals(houseTypeManagement) && !"3".equals(houseTypeManagement)) {
+        if (!"0".equals(houseTypeManagement) && !houseTypeManagement.contains("3")) {
             return CommonResult.fail("此账号暂无该权限");
         }
         String houseNumberId = checkIdCardDto.getHouseNumberId();
@@ -779,7 +779,7 @@ public class HouseOrderController implements HouseOrderAPI {
         }
 //      判断该用户是否拥有权限
         String houseTypeManagement = permissionSetting.getHouseOrderManagement();
-        if (!"0".equals(houseTypeManagement) && !"5".equals(houseTypeManagement)) {
+        if (!"0".equals(houseTypeManagement) && !houseTypeManagement.contains("5")) {
             return CommonResult.fail("此账号暂无该权限");
         }
 
@@ -872,7 +872,7 @@ public class HouseOrderController implements HouseOrderAPI {
         }
 //      判断该用户是否拥有权限
         String houseTypeManagement = permissionSetting.getHouseOrderManagement();
-        if (!"0".equals(houseTypeManagement) && !"8".equals(houseTypeManagement)) {
+        if (!"0".equals(houseTypeManagement) && !houseTypeManagement.contains("8")) {
             return CommonResult.fail("此账号暂无该权限");
         }
 
@@ -1033,7 +1033,7 @@ public class HouseOrderController implements HouseOrderAPI {
         }
 //      判断该用户是否拥有权限
         String houseTypeManagement = permissionSetting.getHouseOrderManagement();
-        if (!"0".equals(houseTypeManagement) && !"9".equals(houseTypeManagement)) {
+        if (!"0".equals(houseTypeManagement) && !houseTypeManagement.contains("9")) {
             return CommonResult.fail("此账号暂无该权限");
         }
 

+ 2 - 2
src/main/java/com/template/controller/HousePriceController.java

@@ -104,7 +104,7 @@ public class HousePriceController implements HousePriceAPI {
         }
 //      判断该用户是否拥有权限
         String houseTypeManagement = permissionSetting.getHouseTypeManagement();
-        if (!"0".equals(houseTypeManagement) && !"4".equals(houseTypeManagement)) {
+        if (!"0".equals(houseTypeManagement) && !houseTypeManagement.contains("4")) {
             return CommonResult.fail("此账号暂无该权限");
         }
 
@@ -158,7 +158,7 @@ public class HousePriceController implements HousePriceAPI {
         }
 //      判断该用户是否拥有权限
         String houseTypeManagement = permissionSetting.getHouseTypeManagement();
-        if (!"0".equals(houseTypeManagement) && !"5".equals(houseTypeManagement)) {
+        if (!"0".equals(houseTypeManagement) && ! houseTypeManagement.contains("5")) {
             return CommonResult.fail("此账号暂无该权限");
         }
 

+ 39 - 10
src/main/java/com/template/controller/LoginController.java

@@ -3,10 +3,12 @@ package com.template.controller;
 import com.template.annotation.PassToken;
 import com.template.api.LoginControllerAPI;
 import com.template.model.enumModel.eStatu;
+import com.template.model.pojo.Admin;
 import com.template.model.pojo.RepairAdmin;
 import com.template.model.request.loginRequest;
 import com.template.model.result.CommonResult;
 import com.template.model.vo.LoginVO;
+import com.template.services.AdminService;
 import com.template.services.RepairAdminService;
 import com.template.common.utils.AesUtils;
 import com.template.common.utils.paramUtils;
@@ -29,8 +31,8 @@ public class LoginController implements LoginControllerAPI {
     @Autowired
     private RepairAdminService repairAdminService;
 
-
-
+    @Autowired
+    private AdminService adminService;
 
 
     /**
@@ -52,26 +54,36 @@ public class LoginController implements LoginControllerAPI {
             return CommonResult.fail(st);
         }
 
-        RepairAdmin result = repairAdminService.getRepairByAccount(loginRequest.getAccount());
+        Admin result = adminService.getAdminByAccount(loginRequest.getAccount());
         if(result == null){
             return CommonResult.fail("账号或密码错误");
         }
 
-        if(result.getStatu() == eStatu.Freeze.getValue()){
+        /*if(result.getStatu() == eStatu.Freeze.getValue()){
             return CommonResult.fail("该账号已被冻结");
-        }
+        }*/
 
+
+
+/*        // 如果项目使用Aes加密,密码验证功能如下
         String encPassword = AesUtils.encrypt(loginRequest.getPassword());
         if(!encPassword.equals(result.getPassword())){
             return CommonResult.fail("密码错误");
+        }*/
+
+        // 本项目使用RSA加密,前端将密码通过公钥进行加密,然后将密文传输到后端,因为数据库里存储的是密文,直接对比
+        // 密码验证功能如下
+        if(!loginRequest.getPassword().equals(result.getPassWord())){
+            return CommonResult.fail("密码错误");
         }
 
-        String token = JWTUtil.getToken(result);
+        String token = JWTUtil.getAdminToken(result);
         LoginVO login = new LoginVO();
         login.setToken(token);
         login.setTokenTtl(JWTUtil.getExpired());
-        login.setUserName(result.getUsername());
-        login.setUserhead(AesUtils.encrypt(result.getId()));
+        login.setUserName(result.getName());
+//        login.setUserhead(AesUtils.encrypt(result.getId()));
+        login.setId(result.getId());
 
         return CommonResult.ok("登录成功",login);
     }
@@ -97,8 +109,11 @@ public class LoginController implements LoginControllerAPI {
             return CommonResult.fail("确认密码和新密码不一致!");
         }
 
+        /*// 如果项目使用Aes加密,账号的解密如下
         String userID = AesUtils.decrypt(userhead);
-        RepairAdmin operateData = repairAdminService.getRepairById(userID);
+        RepairAdmin operateData = repairAdminService.getRepairById(userID);*/
+
+        RepairAdmin operateData = repairAdminService.getRepairById(userhead);
         if(operateData == null){
             return CommonResult.fail("当前账号不合法!");
         }
@@ -107,15 +122,29 @@ public class LoginController implements LoginControllerAPI {
             return CommonResult.fail("该账号已被冻结");
         }
 
+/*        // 如果项目使用Aes加密,密码验证功能如下
         if(!AesUtils.encrypt(cpr.getOldPassword()).equals(operateData.getPassword())){
             return CommonResult.fail("原密码错误!");
+        }*/
+
+        // 本项目使用RSA加密,前端将密码通过公钥进行加密,然后将密文传输到后端,因为数据库里存储的是密文,直接对比
+        // 密码验证功能如下
+        if(!cpr.getOldPassword().equals(operateData.getPassword())){
+            return CommonResult.fail("原密码错误!");
         }
 
         RepairAdmin ra = new RepairAdmin();
+
+        /*// 如果项目使用Aes加密,将账号密码保存进数据库如下
         ra.setId(userID);
-        ra.setPassword(AesUtils.encrypt(cpr.getNewPassword()));
+        ra.setPassword(AesUtils.encrypt(cpr.getNewPassword()));*/
+
+        ra.setId(userhead);
+        ra.setPassword(cpr.getNewPassword());
+
         int result = repairAdminService.updateRepairAdmin(ra);
 
         return result > 0 ? CommonResult.ok("修改成功") : CommonResult.fail("修改失败");
+
     }
 }

+ 2 - 12
src/main/java/com/template/controller/PermissionSettingController.java

@@ -1,21 +1,11 @@
-package com.template.controller;
 
+package com.template.controller;
 
-import com.template.api.PermissionSettingAPI;
-import org.springframework.web.bind.annotation.RequestMapping;
 
 import org.springframework.web.bind.annotation.RestController;
 
-/**
- * <p>
- *  前端控制器
- * </p>
- *
- * @author ceshi
- * @since 2023-11-15
- */
 @RestController
-public class PermissionSettingController implements PermissionSettingAPI {
+public class PermissionSettingController {
 
 }
 

+ 144 - 1
src/main/java/com/template/controller/UsersController.java

@@ -1,15 +1,31 @@
 package com.template.controller;
 
 
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.baomidou.mybatisplus.extension.api.R;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.template.api.UsersAPI;
+import com.template.model.dto.UsersDetailsDto;
+import com.template.model.dto.UsersDto;
+import com.template.model.pojo.PermissionSetting;
+import com.template.model.pojo.Users;
 import com.template.model.result.CommonResult;
+import com.template.services.PermissionSettingService;
+import com.template.services.UsersService;
+import io.swagger.annotations.ApiModelProperty;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.BindingResult;
 import org.springframework.web.bind.annotation.RequestMapping;
 
 import org.springframework.web.bind.annotation.RestController;
 
 /**
  * <p>
- *  前端控制器
+ * 前端控制器
  * </p>
  *
  * @author ceshi
@@ -18,6 +34,133 @@ import org.springframework.web.bind.annotation.RestController;
 @RestController
 public class UsersController implements UsersAPI {
 
+    @Autowired
+    UsersService usersService;
+
+    @Autowired
+    PermissionSettingService permissionSettingService;
+
+    @Override
+    public CommonResult saveUsers(UsersDto usersDto, BindingResult bindingResult) {
+        if (ObjectUtils.isEmpty(usersDto)) {
+            return CommonResult.fail();
+        }
+        int adminId = usersDto.getAdminMenuId();
+        PermissionSetting permissionSetting = permissionSettingService.getById(adminId);
+        if (ObjectUtils.isEmpty(permissionSetting)) {
+            return CommonResult.fail("非法进入");
+        }
+//      判断该用户是否拥有权限
+        String accountManagement = permissionSetting.getAccountManagement();
+        if (!"0".equals(accountManagement) && !accountManagement.contains("1")) {
+            return CommonResult.fail("此账号暂无该权限");
+        }
+
+//        通过身份证号判断是否已经添加
+        String idCard = usersDto.getIdCard();
+        LambdaQueryWrapper<Users> wrapperU = new LambdaQueryWrapper<>();
+        wrapperU.eq(Users::getIdCard, idCard);
+        Users one = usersService.getOne(wrapperU);
+        if (ObjectUtils.isNotEmpty(one)) {
+            return CommonResult.fail("用户已存在");
+        }
+
+        Users users = new Users();
+        BeanUtils.copyProperties(usersDto, users);
+
+        boolean save = usersService.save(users);
+        if (!save) {
+            return CommonResult.fail();
+        }
+
+        return CommonResult.ok();
+    }
+
+    @Override
+    public CommonResult getUsersPage(int adminMenuId, int page, int size, String keyWord, String startTime, String endTime) {
+        if (ObjectUtils.isEmpty(page) || page <= 0) {
+            page = 1;
+        }
+        if (ObjectUtils.isEmpty(size) || size <= 0) {
+            size = 10;
+        }
+
+        PermissionSetting permissionSetting = permissionSettingService.getById(adminMenuId);
+        if (ObjectUtils.isEmpty(permissionSetting)) {
+            return CommonResult.fail("非法进入");
+        }
+//      判断该用户是否拥有权限
+        String accountManagement = permissionSetting.getAccountManagement();
+        if (!"0".equals(accountManagement) && !accountManagement.contains("4")) {
+            return CommonResult.fail("此账号暂无该权限");
+        }
+
+
+        LambdaQueryWrapper<Users> wrapperU = new LambdaQueryWrapper<>();
+        wrapperU.eq(ObjectUtils.isNotEmpty(keyWord), Users::getPhone, keyWord)
+                .between(ObjectUtils.isNotEmpty(startTime) && ObjectUtils.isNotEmpty(endTime), Users::getCreateTime, startTime, endTime)
+                .or()
+                .like(ObjectUtils.isNotEmpty(keyWord), Users::getUserName, keyWord)
+                .between(ObjectUtils.isNotEmpty(startTime) && ObjectUtils.isNotEmpty(endTime), Users::getCreateTime, startTime, endTime);
+
+        IPage<Users> page1 = usersService.page(new Page<>(page, size), wrapperU);
+
+
+        return CommonResult.ok(page1);
+    }
+
+    @Override
+    public CommonResult updateDetails(UsersDetailsDto usersDetailsDto, BindingResult bindingResult) {
+        if (ObjectUtils.isEmpty(usersDetailsDto)) {
+            return CommonResult.fail();
+        }
+
+        int adminMenuId = usersDetailsDto.getAdminMenuId();
+        PermissionSetting permissionSetting = permissionSettingService.getById(adminMenuId);
+        if (ObjectUtils.isEmpty(permissionSetting)) {
+            return CommonResult.fail("非法进入");
+        }
+//      判断该用户是否拥有权限
+        String accountManagement = permissionSetting.getAccountManagement();
+        if (!"0".equals(accountManagement) && !accountManagement.contains("2")) {
+            return CommonResult.fail("此账号暂无该权限");
+        }
+
+        Users users = usersDetailsDto.getUsers();
+        boolean update = usersService.updateById(users);
+        if (!update) {
+            return CommonResult.fail();
+        }
+
+        return CommonResult.ok();
+
+
+    }
+
+    @Override
+    public CommonResult deleteUsers(int adminMenuId, int userId) {
+        if (ObjectUtils.isEmpty(adminMenuId) || ObjectUtils.isEmpty(userId)) {
+            return CommonResult.fail("参数异常");
+        }
+
+        PermissionSetting permissionSetting = permissionSettingService.getById(adminMenuId);
+        if (ObjectUtils.isEmpty(permissionSetting)) {
+            return CommonResult.fail("非法进入");
+        }
+//      判断该用户是否拥有权限
+        String accountManagement = permissionSetting.getAccountManagement();
+        if (!"0".equals(accountManagement) && !accountManagement.contains("3")) {
+            return CommonResult.fail("此账号暂无该权限");
+        }
+
+        boolean b = usersService.removeById(userId);
+        if (!b) {
+            return CommonResult.fail();
+        }
+
+        return CommonResult.ok();
+    }
+
 
 }
 

+ 133 - 0
src/main/java/com/template/controller/UsersMenuController.java

@@ -1,11 +1,29 @@
 package com.template.controller;
 
 
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.template.api.UsersMenuAPI;
+import com.template.model.dto.SaveParentDto;
+import com.template.model.dto.SaveParentUserDto;
+import com.template.model.dto.SaveSecondaryUserDto;
+import com.template.model.pojo.AdminMenu;
+import com.template.model.pojo.PermissionSetting;
+import com.template.model.pojo.UsersMenu;
+import com.template.model.result.CommonResult;
+import com.template.model.vo.AdminMenuTreeVo;
+import com.template.services.PermissionSettingService;
+import com.template.services.UsersMenuService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestMapping;
 
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Collectors;
+
 /**
  * <p>
  *  前端控制器
@@ -17,5 +35,120 @@ import org.springframework.web.bind.annotation.RestController;
 @RestController
 public class UsersMenuController implements UsersMenuAPI {
 
+    @Autowired
+    UsersMenuService usersMenuService;
+
+    @Autowired
+    PermissionSettingService permissionSettingService;
+
+    public static void main(String[] args) {
+        String s="1,2";
+        boolean contains = s.contains("3");
+        System.out.println("contains = " + contains);
+    }
+    @Override
+    public CommonResult saveUserParent(SaveParentUserDto saveParentUserDto) {
+        if (ObjectUtils.isEmpty(saveParentUserDto)) {
+            return CommonResult.fail();
+        }
+
+        int adminId = saveParentUserDto.getAdminMenuId();
+        PermissionSetting permissionSetting = permissionSettingService.getById(adminId);
+        if (ObjectUtils.isEmpty(permissionSetting)) {
+            return CommonResult.fail("非法进入");
+        }
+//      判断该用户是否拥有权限
+        String roleManagement = permissionSetting.getRoleManagement();
+        if (!"0".equals(roleManagement) && !roleManagement.contains("1")) {
+            return CommonResult.fail("此账号暂无该权限");
+        }
+
+        String name = saveParentUserDto.getName();
+        LambdaQueryWrapper<UsersMenu> wrapperUm=new LambdaQueryWrapper<>();
+        wrapperUm.eq(UsersMenu::getName,name);
+        UsersMenu one = usersMenuService.getOne(wrapperUm);
+        if (ObjectUtils.isNotEmpty(one)) {
+            return CommonResult.fail("已有该角色");
+        }
+        UsersMenu usersMenu = new UsersMenu();
+        usersMenu.setParentId(0);
+        usersMenu.setName(name);
+        usersMenuService.save(usersMenu);
+        return CommonResult.ok();
+
+    }
+
+    @Override
+    public CommonResult saveUserSecondary(SaveSecondaryUserDto saveSecondaryUserDto) {
+        if (ObjectUtils.isEmpty(saveSecondaryUserDto)) {
+            return CommonResult.fail();
+        }
+
+        int adminId = saveSecondaryUserDto.getAdminMenuId();
+        PermissionSetting permissionSetting = permissionSettingService.getById(adminId);
+        if (ObjectUtils.isEmpty(permissionSetting)) {
+            return CommonResult.fail("非法进入");
+        }
+//      判断该用户是否拥有权限
+        String roleManagement = permissionSetting.getRoleManagement();
+        if (!"0".equals(roleManagement) && !roleManagement.contains("1")) {
+            return CommonResult.fail("此账号暂无该权限");
+        }
+
+
+        String name = saveSecondaryUserDto.getName();
+        LambdaQueryWrapper<UsersMenu> wrapperUm=new LambdaQueryWrapper<>();
+        wrapperUm.eq(UsersMenu::getName,name);
+        UsersMenu one = usersMenuService.getOne(wrapperUm);
+        if (ObjectUtils.isNotEmpty(one)) {
+            return CommonResult.fail("已有该角色");
+        }
+        UsersMenu usersMenu = new UsersMenu();
+        usersMenu.setParentId(saveSecondaryUserDto.getParentId());
+        usersMenu.setName(name);
+        usersMenuService.save(usersMenu);
+        return CommonResult.ok();
+    }
+
+    @Override
+    public CommonResult getUserRole() {
+        Wrapper<UsersMenu> wrapper=new LambdaQueryWrapper<>();
+        List<UsersMenu> adminMenus = usersMenuService.list(wrapper);
+        List<AdminMenuTreeVo> adminMenuTreeVos = QueryAreaTreeRecords(0, adminMenus);
+
+        return CommonResult.ok(adminMenuTreeVos);
+    }
+
+
+    /**
+     * 根据父类ID获取树形菜单数据
+     * @param parentID 父级ID
+     * @param lists 数据集合
+     * @return
+     */
+    private List<AdminMenuTreeVo> QueryAreaTreeRecords(Integer parentID, List<UsersMenu> lists) {
+        List<AdminMenuTreeVo> newTrees = new ArrayList<>();
+
+        List<UsersMenu> datas = lists.stream().filter(e -> e.getParentId().equals(parentID)).collect(Collectors.toList());
+
+        for (UsersMenu data : datas) {
+            AdminMenuTreeVo item = AdminMenuTreeVo.builder()
+                    .id(data.getId())
+                    .parentId(data.getParentId())
+                    .name(data.getName())
+                    .build();
+            List<AdminMenuTreeVo> news = QueryAreaTreeRecords(item.getId(), lists);
+            if (news == null || news.size() == 0) {
+                newTrees.add(item);
+                continue;
+            } else {
+                item.setChildren(news);
+                newTrees.add(item);
+            }
+        }
+
+        return newTrees;
+    }
+
 }
 

+ 2 - 0
src/main/java/com/template/mapper/AdminMapper.java

@@ -4,11 +4,13 @@ import com.template.model.pojo.Admin;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.apache.ibatis.annotations.Mapper;
 
+
 /**
  * <p>
  *  Mapper 接口
  * </p>
  *
+<<<<<<< HEAD
  * @author ceshi
  * @since 2023-12-13
  */

+ 5 - 0
src/main/java/com/template/model/dto/SaveParentDto.java

@@ -5,9 +5,14 @@ import lombok.Data;
 
 @Data
 public class SaveParentDto {
+
+
 //    一级权限的名字
     private String name;
 
+    private int adminMenuId;
+
+
     @ApiModelProperty(value = "房态管理 0.全部 1.预定,2退房,3.维修,4.关房,5.置脏,6.置净,7.退款,8.入住,9.锁房,10.日志,11.换房,12.开房,13.门锁管理")
     private String houseStatusManagement;
 

+ 12 - 0
src/main/java/com/template/model/dto/SaveParentUserDto.java

@@ -0,0 +1,12 @@
+package com.template.model.dto;
+
+import lombok.Data;
+
+@Data
+public class SaveParentUserDto {
+    //    一级权限的名字
+    private String name;
+
+    private int adminMenuId;
+
+}

+ 2 - 0
src/main/java/com/template/model/dto/SaveSecondaryDto.java

@@ -9,6 +9,8 @@ public class SaveSecondaryDto {
 //    上级的id
     private int parentId;
 
+    private int adminMenuId;
+
     @ApiModelProperty(value = "房态管理 0.全部 1.预定,2退房,3.维修,4.关房,5.置脏,6.置净,7.退款,8.入住,9.锁房,10.日志,11.换房,12.开房,13.门锁管理")
     private String houseStatusManagement;
 

+ 12 - 0
src/main/java/com/template/model/dto/SaveSecondaryUserDto.java

@@ -0,0 +1,12 @@
+package com.template.model.dto;
+
+import lombok.Data;
+
+@Data
+public class SaveSecondaryUserDto {
+    private String name;
+    //    上级的id
+    private int parentId;
+
+    private int adminMenuId;
+}

+ 18 - 0
src/main/java/com/template/model/dto/UsersDetailsDto.java

@@ -0,0 +1,18 @@
+package com.template.model.dto;
+
+import com.template.model.pojo.Users;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+@Data
+public class UsersDetailsDto {
+
+    @NotNull
+    private int adminMenuId;
+
+    @NotNull
+    private Users users;
+
+
+}

+ 34 - 0
src/main/java/com/template/model/dto/UsersDto.java

@@ -0,0 +1,34 @@
+package com.template.model.dto;
+
+
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+
+@Data
+public class UsersDto {
+    @NotNull
+    private int adminMenuId;
+
+    @NotNull
+    private String department;
+
+    @NotNull
+    private String userName;
+
+    @NotNull
+    private String userMenuId;
+
+    @NotNull
+    private String cardNumber;
+
+    @NotNull
+    private String idCard;
+
+    //    指纹生成的编码
+    @NotNull
+    private String fingerprint;
+
+
+}

+ 6 - 8
src/main/java/com/template/model/pojo/Admin.java

@@ -8,20 +8,13 @@ import com.baomidou.mybatisplus.annotation.FieldFill;
 import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.annotation.TableField;
 import java.io.Serializable;
+
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
 
-/**
- * <p>
- * 
- * </p>
- *
- * @author ceshi
- * @since 2023-12-13
- */
 @Data
 @EqualsAndHashCode(callSuper = false)
 @Accessors(chain = true)
@@ -34,9 +27,14 @@ public class Admin implements Serializable {
     @TableId(value = "id", type = IdType.AUTO)
     private Integer id;
 
+
     @ApiModelProperty(value = "管理菜单表的id")
     private String adminMenuId;
 
+    @ApiModelProperty(value = "角色")
+    private String role;
+
+
     @ApiModelProperty(value = "账号")
     private String userNumber;
 

+ 0 - 3
src/main/java/com/template/model/pojo/Users.java

@@ -43,9 +43,6 @@ public class Users implements Serializable {
     @ApiModelProperty(value = "用户角色id")
     private String userMenuId;
 
-    @ApiModelProperty(value = "微校卡号")
-    private String wxCard;
-
     @ApiModelProperty(value = "身份证号码")
     private String idCard;
 

+ 1 - 1
src/main/java/com/template/model/pojo/UsersMenu.java

@@ -30,7 +30,7 @@ public class UsersMenu implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
-    @TableId(value = "id", type = IdType.UUID)
+    @TableId(value = "id", type = IdType.AUTO)
     private Integer id;
 
     @ApiModelProperty(value = "父级ID(parentid为0的是第一级)")

+ 81 - 0
src/main/java/com/template/model/result/Result.java

@@ -0,0 +1,81 @@
+/*
+package com.template.model.result;
+
+import com.flyhigh.common.config.CoreConstant;
+import com.flyhigh.common.exception.CustomizeException;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+
+
+*/
+/**
+ * 请求响应数据
+ *
+ * @param <T> 数据类型
+ *//*
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@ApiModel("请求响应数据")
+public class Result<T> implements Serializable {
+    */
+/**
+     * 数据
+     *//*
+
+    @ApiModelProperty("数据")
+    private T data;
+    */
+/**
+     * 信息
+     *//*
+
+    @ApiModelProperty("信息")
+    private String message;
+    */
+/**
+     * 状态码
+     *//*
+
+    @ApiModelProperty("状态码")
+    private int code;
+
+    public static <T> Result<T> ok() {
+        return new Result<>(null, "" , 200);
+    }
+
+    public static <T> Result<T> ok(T data) {
+        return new Result<>(data, "" , 200);
+    }
+
+    public static <T> Result<T> ok(T data, String message) {
+        return new Result<>(data, message, 200);
+    }
+
+    public static <T> Result<T> fail(String message, int code) {
+        return new Result<>(null, message, code);
+    }
+
+    public static <T> Result<T> fail(T data, String message, int code) {
+        return new Result<>(data, message, code);
+    }
+
+    public static <T> Result<T> fail(CustomizeException e) {
+        return new Result<>(null, e.getMessage(), e.getCode());
+    }
+
+    public static <T> Result<T> failClient(String message) {
+        return new Result<>(null, message, CoreConstant.CLIENT_LOGIC_ERROR);
+    }
+
+    public static <T> Result<T> failSystem(String message) {
+        return new Result<>(null, message, CoreConstant.SERVER_LOGIC_ERROR);
+    }
+}
+*/

+ 24 - 0
src/main/java/com/template/model/vo/AdminMenuTreeVo.java

@@ -0,0 +1,24 @@
+package com.template.model.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Builder;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+@Builder
+public class AdminMenuTreeVo {
+
+    @ApiModelProperty(value = "区域ID")
+    private int id;
+
+    @ApiModelProperty(value = "上级区域ID")
+    private int parentId;
+
+    @ApiModelProperty(value = "区域名称")
+    private String name;
+
+    @ApiModelProperty(value = "子级区域")
+    private List<AdminMenuTreeVo> children;
+}

+ 6 - 0
src/main/java/com/template/model/vo/LoginVO.java

@@ -20,6 +20,12 @@ public class LoginVO {
      * 加密后的用户ID
      */
     private String userhead;
+
+    /**
+     * 新增,没加密,用户ID
+     */
+    private Integer id;
+
     /**
      * 用户token
      */

+ 74 - 0
src/main/java/com/template/model/vo/PermissionsDetailVO.java

@@ -0,0 +1,74 @@
+package com.template.model.vo;
+
+import com.template.common.annotation.Generator;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+/**
+ * 权限详情
+ * <p/>
+ * 2022-11-28 23:13:07
+ */
+@Data
+@ApiModel("权限详情")
+public class PermissionsDetailVO {
+
+    /**
+     * ID
+     */
+    @ApiModelProperty("ID")
+    @Generator
+    private Long id;
+
+    /**
+     * 父级权限ID
+     */
+    @ApiModelProperty("父级权限ID")
+    @Generator
+    private Long parentId;
+
+    /**
+     * 名称
+     */
+    @ApiModelProperty("名称")
+    @Generator
+    private String name;
+
+    /**
+     * 请求类型
+     */
+    @ApiModelProperty("请求类型")
+    @Generator
+    private String method;
+
+    /**
+     * 请求路径
+     */
+    @ApiModelProperty("请求路径")
+    @Generator
+    private String uri;
+
+    /**
+     * 排序
+     */
+    @ApiModelProperty("排序")
+    @Generator
+    private Integer seq;
+
+    /**
+     * 是否禁用
+     */
+    @ApiModelProperty("是否禁用")
+    @Generator
+    private Boolean disabled;
+
+    /**
+     * 创建时间
+     */
+    @ApiModelProperty("创建时间")
+    @Generator
+    private LocalDateTime createTime;
+}

+ 35 - 0
src/main/java/com/template/model/vo/PermissionsTreeVO.java

@@ -0,0 +1,35 @@
+
+package com.template.model.vo;
+
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+
+/*
+ * 权限树
+ */
+
+@Data
+@ApiModel("权限树")
+/*@EqualsAndHashCode(callSuper = true)*/
+public class PermissionsTreeVO /*extends TreeVo<PermissionsTreeVO> */{
+
+
+
+    @ApiModelProperty("名称")
+    private String name;
+
+
+
+    @ApiModelProperty("请求路径")
+    private String uri;
+
+
+
+    @ApiModelProperty("是否禁用")
+    private Boolean disabled;
+}
+

+ 66 - 0
src/main/java/com/template/model/vo/PermissionsVO.java

@@ -0,0 +1,66 @@
+
+package com.template.model.vo;
+
+
+import com.template.common.annotation.Generator;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+/*
+ * 权限
+ * <p/>
+ * 2022-11-28 23:13:07
+ */
+
+@Data
+@ApiModel("权限")
+public class PermissionsVO {
+
+
+    @ApiModelProperty("ID")
+    @Generator
+    private Long id;
+
+
+    @ApiModelProperty("父级权限ID")
+    @Generator
+    private Long parentId;
+
+
+    @ApiModelProperty("名称")
+    @Generator
+    private String name;
+
+
+
+    @ApiModelProperty("请求类型")
+    @Generator
+    private String method;
+
+
+
+    @ApiModelProperty("请求路径")
+    @Generator
+    private String uri;
+
+
+
+    @ApiModelProperty("排序")
+    @Generator
+    private Integer seq;
+
+
+
+    @ApiModelProperty("是否禁用")
+    @Generator
+    private Boolean disabled;
+
+
+    @ApiModelProperty("创建时间")
+    @Generator
+    private LocalDateTime createTime;
+}
+

+ 6 - 0
src/main/java/com/template/services/AdminService.java

@@ -1,8 +1,11 @@
 package com.template.services;
 
+
 import com.template.model.pojo.Admin;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+
+
 /**
  * <p>
  *  服务类
@@ -13,4 +16,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface AdminService extends IService<Admin> {
 
+    Admin getAdminByAccount(String Account);
+
+
 }

+ 22 - 2
src/main/java/com/template/services/impl/AdminServiceImpl.java

@@ -1,9 +1,17 @@
 package com.template.services.impl;
 
+
 import com.template.model.pojo.Admin;
 import com.template.mapper.AdminMapper;
 import com.template.services.AdminService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.template.mapper.AdminMapper;
+import com.template.model.pojo.Admin;
+import com.template.model.pojo.RepairAdmin;
+import com.template.services.AdminService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 /**
@@ -11,10 +19,22 @@ import org.springframework.stereotype.Service;
  *  服务实现类
  * </p>
  *
- * @author ceshi
- * @since 2023-12-13
+
  */
 @Service
 public class AdminServiceImpl extends ServiceImpl<AdminMapper, Admin> implements AdminService {
 
+
+    @Autowired
+    private AdminMapper adminMapper;
+
+    @Override
+    public Admin getAdminByAccount(String Account) {
+        QueryWrapper<Admin> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("user_number", Account);
+        Admin result = adminMapper.selectOne(queryWrapper);
+        return result;
+    }
+
+
 }

+ 8 - 1
src/main/resources/mapper/template/PermissionSettingMapper.xml

@@ -1,5 +1,12 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.template.mapper.PermissionSettingMapper">
-
+    <!-- Generator -->
+    <resultMap id="permissionsResult" type="com.template.model.vo.PermissionsVO" autoMapping="true">
+        <id column="id" property="id"/>
+    </resultMap>
+    <!-- Generator -->
+    <resultMap id="permissionsDetailResult" type="com.template.model.vo.PermissionsDetailVO" autoMapping="true">
+        <id column="id" property="id"/>
+    </resultMap>
 </mapper>

BIN
target/classes/com/repair/model/request/changePasswordRequest.class


BIN
target/classes/com/repair/model/request/freezeRepairAdminRequest.class


BIN
target/classes/com/repair/model/request/queryAccountPageRequest.class


BIN
target/classes/com/repair/model/request/updateRepairAdminRequest.class


BIN
target/classes/com/template/AutoCode.class


BIN
target/classes/com/template/MybatisPlusApplication.class


BIN
target/classes/com/template/aop/LoginCheckAspect.class


BIN
target/classes/com/template/api/AdminMenuAPI.class


BIN
target/classes/com/template/api/ClassScheduleAPI.class


BIN
target/classes/com/template/api/ExcelControllerAPI.class


BIN
target/classes/com/template/api/HouseAPI.class


BIN
target/classes/com/template/api/HouseNumberStateAPI.class


BIN
target/classes/com/template/api/HouseOrderAPI.class


BIN
target/classes/com/template/api/HousePriceAPI.class


BIN
target/classes/com/template/api/LoginControllerAPI.class


BIN
target/classes/com/template/api/RepairAdminControllerAPI.class


BIN
target/classes/com/template/api/UsersAPI.class


BIN
target/classes/com/template/api/UsersMenuAPI.class


BIN
target/classes/com/template/common/annotation/Generator.class


BIN
target/classes/com/template/common/annotation/IgnorePermissionsCheck.class


BIN
target/classes/com/template/common/exception/EmsException.class


BIN
target/classes/com/template/common/exception/EmsExceptionHandler.class


BIN
target/classes/com/template/common/exception/MyCustomException.class


BIN
target/classes/com/template/common/result/ResponseStatusEnum.class


BIN
target/classes/com/template/common/utils/AES.class


BIN
target/classes/com/template/common/utils/AesUtils.class


BIN
target/classes/com/template/common/utils/CommonUtil.class


BIN
target/classes/com/template/common/utils/DateUtil.class


BIN
target/classes/com/template/common/utils/DoorLockAESUtil.class


BIN
target/classes/com/template/common/utils/DoorLockMD5Util.class


BIN
target/classes/com/template/common/utils/EncryptionUtil.class


BIN
target/classes/com/template/common/utils/ExcelUtils.class


BIN
target/classes/com/template/common/utils/FileUtil.class


BIN
target/classes/com/template/common/utils/Func.class


BIN
target/classes/com/template/common/utils/HttpClientHelper.class


BIN
target/classes/com/template/common/utils/JWTUtil.class


BIN
target/classes/com/template/common/utils/MD5.class


BIN
target/classes/com/template/common/utils/MyBase64.class


BIN
target/classes/com/template/common/utils/RSAUtils.class


BIN
target/classes/com/template/common/utils/SendSms.class


BIN
target/classes/com/template/common/utils/ValidateCode.class


BIN
target/classes/com/template/common/utils/WaterElectricDataEncAndDecUtil.class


BIN
target/classes/com/template/common/utils/WaterElectricSignUtil.class


BIN
target/classes/com/template/common/utils/paramUtils.class


BIN
target/classes/com/template/common/utils/weixin/DictionaryCompare.class


BIN
target/classes/com/template/common/utils/weixin/EndPay.class


BIN
target/classes/com/template/common/utils/weixin/JaxbUtil.class


BIN
target/classes/com/template/common/utils/weixin/PayWxUtil.class


BIN
target/classes/com/template/common/utils/weixin/TongYiReturn.class


BIN
target/classes/com/template/component/WaterElectricComponent.class


BIN
target/classes/com/template/component/WeiXiaoComponent$1.class


BIN
target/classes/com/template/component/WeiXiaoComponent.class


BIN
target/classes/com/template/config/DoorLockConfig.class


BIN
target/classes/com/template/config/MySecurity.class


BIN
target/classes/com/template/config/WaterElectricConfig.class


BIN
target/classes/com/template/config/WeixiaoConfig.class


BIN
target/classes/com/template/controller/AdminMenuController.class


BIN
target/classes/com/template/controller/ClassScheduleController.class


BIN
target/classes/com/template/controller/ExcelController.class


BIN
target/classes/com/template/controller/HouseController.class


+ 0 - 0
target/classes/com/template/controller/HouseNumberStateController.class


この差分においてかなりの量のファイルが変更されているため、一部のファイルを表示していません