Browse Source

最新代码

liu 2 năm trước cách đây
mục cha
commit
502754ccc3
100 tập tin đã thay đổi với 1676 bổ sung51 xóa
  1. 88 9
      .idea/workspace.xml
  2. 1 1
      src/main/java/com/template/AutoCode.java
  3. 15 0
      src/main/java/com/template/api/ClassScheduleAPI.java
  4. 6 1
      src/main/java/com/template/api/HouseNumberStateAPI.java
  5. 20 0
      src/main/java/com/template/api/HouseOrderAPI.java
  6. 195 3
      src/main/java/com/template/controller/ClassScheduleController.java
  7. 21 0
      src/main/java/com/template/controller/HouseLockController.java
  8. 350 11
      src/main/java/com/template/controller/HouseNumberStateController.java
  9. 21 0
      src/main/java/com/template/controller/HouseOrderBillController.java
  10. 45 0
      src/main/java/com/template/controller/HouseOrderController.java
  11. 10 2
      src/main/java/com/template/handler/MyMetaObjectHandler.java
  12. 5 0
      src/main/java/com/template/mapper/ClassScheduleMapper.java
  13. 18 0
      src/main/java/com/template/mapper/HouseLockMapper.java
  14. 1 0
      src/main/java/com/template/mapper/HouseMapper.java
  15. 3 0
      src/main/java/com/template/mapper/HouseNumberMapper.java
  16. 6 0
      src/main/java/com/template/mapper/HouseNumberStateMapper.java
  17. 18 0
      src/main/java/com/template/mapper/HouseOrderBillMapper.java
  18. 18 0
      src/main/java/com/template/mapper/HouseOrderMapper.java
  19. 13 0
      src/main/java/com/template/model/dto/EstablishOrder.java
  20. 6 0
      src/main/java/com/template/model/pojo/ClassSchedule.java
  21. 86 0
      src/main/java/com/template/model/pojo/HouseLock.java
  22. 129 0
      src/main/java/com/template/model/pojo/HouseOrder.java
  23. 105 0
      src/main/java/com/template/model/pojo/HouseOrderBill.java
  24. 37 0
      src/main/java/com/template/model/vo/CalendarPageVo.java
  25. 13 0
      src/main/java/com/template/model/vo/ClassListVo.java
  26. 12 0
      src/main/java/com/template/model/vo/HouseNumberStateDateVo.java
  27. 13 0
      src/main/java/com/template/model/vo/HouseNumberStatePageVo.java
  28. 4 1
      src/main/java/com/template/model/vo/HouseStateVo.java
  29. 50 0
      src/main/java/com/template/model/vo/ParticularHouseNumberStatusVo.java
  30. 9 0
      src/main/java/com/template/model/vo/ScheduleVo.java
  31. 6 0
      src/main/java/com/template/services/ClassScheduleService.java
  32. 16 0
      src/main/java/com/template/services/HouseLockService.java
  33. 3 0
      src/main/java/com/template/services/HouseNumberService.java
  34. 4 0
      src/main/java/com/template/services/HouseNumberStateService.java
  35. 16 0
      src/main/java/com/template/services/HouseOrderBillService.java
  36. 16 0
      src/main/java/com/template/services/HouseOrderService.java
  37. 1 0
      src/main/java/com/template/services/HouseService.java
  38. 26 0
      src/main/java/com/template/services/impl/ClassScheduleServiceImpl.java
  39. 20 0
      src/main/java/com/template/services/impl/HouseLockServiceImpl.java
  40. 8 0
      src/main/java/com/template/services/impl/HouseNumberServiceImpl.java
  41. 11 0
      src/main/java/com/template/services/impl/HouseNumberStateServiceImpl.java
  42. 20 0
      src/main/java/com/template/services/impl/HouseOrderBillServiceImpl.java
  43. 20 0
      src/main/java/com/template/services/impl/HouseOrderServiceImpl.java
  44. 2 0
      src/main/java/com/template/services/impl/HouseServiceImpl.java
  45. 15 0
      src/main/resources/mapper/template/ClassScheduleMapper.xml
  46. 5 0
      src/main/resources/mapper/template/HouseLockMapper.xml
  47. 17 10
      src/main/resources/mapper/template/HouseMapper.xml
  48. 39 1
      src/main/resources/mapper/template/HouseNumberMapper.xml
  49. 8 0
      src/main/resources/mapper/template/HouseNumberStateMapper.xml
  50. 5 0
      src/main/resources/mapper/template/HouseOrderBillMapper.xml
  51. 5 0
      src/main/resources/mapper/template/HouseOrderMapper.xml
  52. 1 1
      src/main/resources/mapper/template/HousePriceMapper.xml
  53. BIN
      target/classes/com/template/AutoCode.class
  54. BIN
      target/classes/com/template/api/ClassScheduleAPI.class
  55. BIN
      target/classes/com/template/api/HouseNumberStateAPI.class
  56. BIN
      target/classes/com/template/api/HouseOrderAPI.class
  57. BIN
      target/classes/com/template/controller/ClassScheduleController.class
  58. BIN
      target/classes/com/template/controller/HouseLockController.class
  59. BIN
      target/classes/com/template/controller/HouseNumberStateController.class
  60. BIN
      target/classes/com/template/controller/HouseOrderBillController.class
  61. BIN
      target/classes/com/template/controller/HouseOrderController.class
  62. BIN
      target/classes/com/template/handler/MyMetaObjectHandler.class
  63. BIN
      target/classes/com/template/mapper/ClassScheduleMapper.class
  64. BIN
      target/classes/com/template/mapper/HouseLockMapper.class
  65. BIN
      target/classes/com/template/mapper/HouseNumberMapper.class
  66. BIN
      target/classes/com/template/mapper/HouseNumberStateMapper.class
  67. BIN
      target/classes/com/template/mapper/HouseOrderBillMapper.class
  68. BIN
      target/classes/com/template/mapper/HouseOrderMapper.class
  69. BIN
      target/classes/com/template/model/dto/EstablishOrder.class
  70. BIN
      target/classes/com/template/model/pojo/ClassSchedule.class
  71. BIN
      target/classes/com/template/model/pojo/HouseLock.class
  72. BIN
      target/classes/com/template/model/pojo/HouseOrder.class
  73. BIN
      target/classes/com/template/model/pojo/HouseOrderBill.class
  74. BIN
      target/classes/com/template/model/vo/CalendarPageVo.class
  75. BIN
      target/classes/com/template/model/vo/ClassListVo.class
  76. BIN
      target/classes/com/template/model/vo/HouseNumberStateDateVo.class
  77. BIN
      target/classes/com/template/model/vo/HouseNumberStatePageVo.class
  78. BIN
      target/classes/com/template/model/vo/HouseStateVo.class
  79. BIN
      target/classes/com/template/model/vo/ParticularHouseNumberStatusVo.class
  80. BIN
      target/classes/com/template/model/vo/ScheduleVo.class
  81. BIN
      target/classes/com/template/services/ClassScheduleService.class
  82. BIN
      target/classes/com/template/services/HouseLockService.class
  83. BIN
      target/classes/com/template/services/HouseNumberService.class
  84. BIN
      target/classes/com/template/services/HouseNumberStateService.class
  85. BIN
      target/classes/com/template/services/HouseOrderBillService.class
  86. BIN
      target/classes/com/template/services/HouseOrderService.class
  87. BIN
      target/classes/com/template/services/impl/ClassScheduleServiceImpl.class
  88. BIN
      target/classes/com/template/services/impl/HouseLockServiceImpl.class
  89. BIN
      target/classes/com/template/services/impl/HouseNumberServiceImpl.class
  90. BIN
      target/classes/com/template/services/impl/HouseNumberStateServiceImpl.class
  91. BIN
      target/classes/com/template/services/impl/HouseOrderBillServiceImpl.class
  92. BIN
      target/classes/com/template/services/impl/HouseOrderServiceImpl.class
  93. 15 0
      target/classes/mapper/template/ClassScheduleMapper.xml
  94. 5 0
      target/classes/mapper/template/HouseLockMapper.xml
  95. 17 10
      target/classes/mapper/template/HouseMapper.xml
  96. 39 1
      target/classes/mapper/template/HouseNumberMapper.xml
  97. 8 0
      target/classes/mapper/template/HouseNumberStateMapper.xml
  98. 5 0
      target/classes/mapper/template/HouseOrderBillMapper.xml
  99. 5 0
      target/classes/mapper/template/HouseOrderMapper.xml
  100. 0 0
      target/classes/mapper/template/HousePriceMapper.xml

+ 88 - 9
.idea/workspace.xml

@@ -5,20 +5,61 @@
   </component>
   </component>
   <component name="ChangeListManager">
   <component name="ChangeListManager">
     <list default="true" id="42a0d34b-c484-4704-92dd-be5ac61d2f66" name="Changes" comment="">
     <list default="true" id="42a0d34b-c484-4704-92dd-be5ac61d2f66" name="Changes" comment="">
-      <change afterPath="$PROJECT_DIR$/.idea/uiDesigner.xml" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/src/main/java/com/template/api/HouseNumberStateAPI.java" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/src/main/java/com/template/model/vo/HouseStateVo.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/template/api/ClassScheduleAPI.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/template/api/HouseOrderAPI.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/template/model/dto/EstablishOrder.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/template/model/vo/CalendarPageVo.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/template/model/vo/ClassListVo.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/template/model/vo/HouseNumberStateDateVo.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/template/model/vo/HouseNumberStatePageVo.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/template/model/vo/ParticularHouseNumberStatusVo.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/template/model/vo/ScheduleVo.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.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/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/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/api/HouseNumberStateAPI.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/api/HouseNumberStateAPI.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/controller/ClassScheduleController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/controller/ClassScheduleController.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/handler/MyMetaObjectHandler.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/handler/MyMetaObjectHandler.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/mapper/ClassScheduleMapper.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/mapper/ClassScheduleMapper.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/mapper/HouseMapper.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/mapper/HouseMapper.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/src/main/java/com/template/mapper/HouseNumberMapper.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/mapper/HouseNumberMapper.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/src/main/java/com/template/mapper/HouseNumberMapper.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/mapper/HouseNumberMapper.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/mapper/HouseNumberStateMapper.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/mapper/HouseNumberStateMapper.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/model/pojo/ClassSchedule.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/model/pojo/ClassSchedule.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/model/vo/HouseStateVo.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/model/vo/HouseStateVo.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/services/ClassScheduleService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/services/ClassScheduleService.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/src/main/java/com/template/services/HouseNumberService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/services/HouseNumberService.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/src/main/java/com/template/services/HouseNumberService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/services/HouseNumberService.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/services/HouseNumberStateService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/services/HouseNumberStateService.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/services/HouseService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/services/HouseService.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/services/impl/ClassScheduleServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/services/impl/ClassScheduleServiceImpl.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/src/main/java/com/template/services/impl/HouseNumberServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/services/impl/HouseNumberServiceImpl.java" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/src/main/java/com/template/services/impl/HouseNumberServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/services/impl/HouseNumberServiceImpl.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/services/impl/HouseNumberStateServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/services/impl/HouseNumberStateServiceImpl.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/template/services/impl/HouseServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/template/services/impl/HouseServiceImpl.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/resources/mapper/template/ClassScheduleMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/mapper/template/ClassScheduleMapper.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/resources/mapper/template/HouseMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/mapper/template/HouseMapper.xml" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/src/main/resources/mapper/template/HouseNumberMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/mapper/template/HouseNumberMapper.xml" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/src/main/resources/mapper/template/HouseNumberMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/mapper/template/HouseNumberMapper.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/resources/mapper/template/HouseNumberStateMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/mapper/template/HouseNumberStateMapper.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main/resources/mapper/template/HousePriceMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/mapper/template/HousePriceMapper.xml" 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/AutoCode.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/AutoCode.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/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/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/HouseNumberStateController.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/template/controller/HouseNumberStateController.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/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/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/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/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/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/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/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/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/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/mapper/template/ClassScheduleMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/mapper/template/ClassScheduleMapper.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/mapper/template/HouseMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/mapper/template/HouseMapper.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/mapper/template/HouseNumberMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/mapper/template/HouseNumberMapper.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/mapper/template/HouseNumberStateMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/mapper/template/HouseNumberStateMapper.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" />
     </list>
     </list>
     <option name="SHOW_DIALOG" value="false" />
     <option name="SHOW_DIALOG" value="false" />
     <option name="HIGHLIGHT_CONFLICTS" value="true" />
     <option name="HIGHLIGHT_CONFLICTS" value="true" />
@@ -106,6 +147,32 @@
         <option name="Make" enabled="true" />
         <option name="Make" enabled="true" />
       </method>
       </method>
     </configuration>
     </configuration>
+    <configuration name="ClassScheduleController" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
+      <option name="MAIN_CLASS_NAME" value="com.template.controller.ClassScheduleController" />
+      <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="HouseNumberStateController" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
+      <option name="MAIN_CLASS_NAME" value="com.template.controller.HouseNumberStateController" />
+      <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">
     <configuration name="MybatisPlusApplication" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot" nameIsGenerated="true">
       <module name="iHotel_student_houtai" />
       <module name="iHotel_student_houtai" />
       <option name="SPRING_BOOT_MAIN_CLASS" value="com.template.MybatisPlusApplication" />
       <option name="SPRING_BOOT_MAIN_CLASS" value="com.template.MybatisPlusApplication" />
@@ -121,6 +188,8 @@
     </configuration>
     </configuration>
     <recent_temporary>
     <recent_temporary>
       <list>
       <list>
+        <item itemvalue="Application.ClassScheduleController" />
+        <item itemvalue="Application.HouseNumberStateController" />
         <item itemvalue="Application.AutoCode" />
         <item itemvalue="Application.AutoCode" />
       </list>
       </list>
     </recent_temporary>
     </recent_temporary>
@@ -137,7 +206,7 @@
       <option name="presentableId" value="Default" />
       <option name="presentableId" value="Default" />
       <updated>1700186263832</updated>
       <updated>1700186263832</updated>
       <workItem from="1700186265128" duration="1452000" />
       <workItem from="1700186265128" duration="1452000" />
-      <workItem from="1700187845025" duration="28998000" />
+      <workItem from="1700187845025" duration="107397000" />
     </task>
     </task>
     <servers />
     <servers />
   </component>
   </component>
@@ -159,9 +228,19 @@
     <breakpoint-manager>
     <breakpoint-manager>
       <breakpoints>
       <breakpoints>
         <line-breakpoint enabled="true" type="java-line">
         <line-breakpoint enabled="true" type="java-line">
-          <url>file://$PROJECT_DIR$/src/main/java/com/template/controller/HousePriceController.java</url>
-          <line>244</line>
-          <option name="timeStamp" value="3" />
+          <url>file://$PROJECT_DIR$/src/main/java/com/template/controller/HouseNumberStateController.java</url>
+          <line>274</line>
+          <option name="timeStamp" value="14" />
+        </line-breakpoint>
+        <line-breakpoint enabled="true" type="java-line">
+          <url>file://$PROJECT_DIR$/src/main/java/com/template/controller/ClassScheduleController.java</url>
+          <line>98</line>
+          <option name="timeStamp" value="15" />
+        </line-breakpoint>
+        <line-breakpoint enabled="true" type="java-line">
+          <url>file://$PROJECT_DIR$/src/main/java/com/template/controller/ClassScheduleController.java</url>
+          <line>124</line>
+          <option name="timeStamp" value="16" />
         </line-breakpoint>
         </line-breakpoint>
       </breakpoints>
       </breakpoints>
     </breakpoint-manager>
     </breakpoint-manager>

+ 1 - 1
src/main/java/com/template/AutoCode.java

@@ -56,7 +56,7 @@ public class AutoCode {
         mpg.setPackageInfo(pc);
         mpg.setPackageInfo(pc);
         //4、策略配置
         //4、策略配置
         StrategyConfig strategy = new StrategyConfig();
         StrategyConfig strategy = new StrategyConfig();
-        strategy.setInclude("house_number_state"); // 设置要映射的表名
+        strategy.setInclude("house_lock"); // 设置要映射的表名
         strategy.setNaming(NamingStrategy.underline_to_camel);//下划线转驼峰
         strategy.setNaming(NamingStrategy.underline_to_camel);//下划线转驼峰
         strategy.setColumnNaming(NamingStrategy.underline_to_camel);//下划线转驼峰
         strategy.setColumnNaming(NamingStrategy.underline_to_camel);//下划线转驼峰
         strategy.setEntityLombokModel(true); // 自动lombok;
         strategy.setEntityLombokModel(true); // 自动lombok;

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

@@ -0,0 +1,15 @@
+package com.template.api;
+
+import com.template.model.result.CommonResult;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+@RequestMapping("/auto/class-schedule")
+public interface ClassScheduleAPI {
+
+    @GetMapping("/schedule")
+    @ApiOperation(value = "创建课表", notes = "创建课表", httpMethod = "POST")
+    CommonResult schedule(String stateTime,String endTime,String teacherName);
+
+}

+ 6 - 1
src/main/java/com/template/api/HouseNumberStateAPI.java

@@ -15,7 +15,12 @@ public interface HouseNumberStateAPI {
 
 
     @GetMapping("/calendarList")
     @GetMapping("/calendarList")
     @ApiOperation(value = "房态管理-日历", notes = "房态管理-日历", httpMethod = "GET")
     @ApiOperation(value = "房态管理-日历", notes = "房态管理-日历", httpMethod = "GET")
-    CommonResult calendarPage(String startTime,String endTime,String keyWord,String houseType,int page,int size);
+    CommonResult calendarPage(String dateTime,String keyWord,String houseType,int page,int size);
+
+
+    @GetMapping("/particular")
+    @ApiOperation(value = "房态管理-房间详情", notes = "房态管理-房间详情", httpMethod = "GET")
+    CommonResult particular(String houseNumberId);
 
 
 
 
 }
 }

+ 20 - 0
src/main/java/com/template/api/HouseOrderAPI.java

@@ -0,0 +1,20 @@
+package com.template.api;
+
+import com.template.model.pojo.HouseOrder;
+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/house-order")
+public interface HouseOrderAPI {
+
+    @PostMapping("/establishOrder")
+    @ApiOperation(value = "创建订单", notes = "创建订单", httpMethod = "POST")
+    CommonResult establishOrder(@RequestBody HouseOrder houseOrder);
+
+
+
+}

+ 195 - 3
src/main/java/com/template/controller/ClassScheduleController.java

@@ -1,21 +1,213 @@
 package com.template.controller;
 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.ClassScheduleAPI;
+import com.template.model.pojo.ClassSchedule;
+import com.template.model.result.CommonResult;
+import com.template.model.vo.ClassListVo;
+import com.template.model.vo.ScheduleVo;
+import com.template.services.ClassScheduleService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 
 
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.bind.annotation.RestController;
 
 
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+import java.time.format.TextStyle;
+import java.time.temporal.ChronoUnit;
+import java.util.*;
+
 /**
 /**
  * <p>
  * <p>
- *  前端控制器
+ * 前端控制器
  * </p>
  * </p>
  *
  *
  * @author ceshi
  * @author ceshi
  * @since 2023-11-06
  * @since 2023-11-06
  */
  */
 @RestController
 @RestController
-@RequestMapping("/auto/class-schedule")
-public class ClassScheduleController {
+public class ClassScheduleController implements ClassScheduleAPI {
+
+    @Autowired
+    ClassScheduleService classScheduleService;
+
+    @Override
+    public CommonResult schedule(String stateTime, String endTime, String teacherName) {
+        DateTimeFormatter dateTimeFormatter2 = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+
+        if (ObjectUtils.isEmpty(stateTime) && ObjectUtils.isEmpty(endTime)) {
+//            获取当前星期的周一和周日
+            LocalDate date = LocalDate.now();
+            String dateStr = date.format(dateTimeFormatter2);
+            Map<String, String> map = getDjz(dateStr);
+//            获取周几
+            String week = map.get("week");
+
+            LocalDate localDate = date.minusDays(Integer.valueOf(week) - 1);
+            stateTime = localDate.format(dateTimeFormatter2);
+            LocalDate localEnd = localDate.plusDays(6);
+            endTime = localEnd.format(dateTimeFormatter2);
+        }
+
+
+        LocalDate date = LocalDate.parse(stateTime, dateTimeFormatter2);
+        LocalDate end = LocalDate.parse(endTime, dateTimeFormatter2);
+
+        long until = date.until(end, ChronoUnit.DAYS);
+
+        ArrayList<ScheduleVo> scheduleVos = new ArrayList<>();
+        for (int i = 0; i <= until; i++) {
+            LocalDate localDate = date.plusDays(i);
+            ScheduleVo scheduleVo = new ScheduleVo();
+            ClassListVo classListVo = classScheduleService.classList(localDate,teacherName);
+            scheduleVo.setClassListVo(classListVo);
+            String format = localDate.format(dateTimeFormatter2);
+            Map<String, String> stringMap = getDjz(format);
+            String week = stringMap.get("week");
+            if ("1".equals(week)) {
+                scheduleVo.setDateName(format+"/星期一");
+            } else if ("2".equals(week)) {
+                scheduleVo.setDateName(format+"/星期二");
+            } else if ("3".equals(week)) {
+                scheduleVo.setDateName(format+"/星期三");
+            } else if ("4".equals(week)) {
+                scheduleVo.setDateName(format+"/星期四");
+            } else if ("5".equals(week)) {
+                scheduleVo.setDateName(format+"/星期五");
+            } else if ("6".equals(week)) {
+                scheduleVo.setDateName(format+"/星期六");
+            } else {
+                scheduleVo.setDateName(format+"/星期日");
+            }
+            scheduleVos.add(scheduleVo);
+        }
+
+
+        return CommonResult.ok(scheduleVos);
+    }
+
+    //    @Scheduled(cron = "0 44 11 * * ? ")
+    public void update() {
+        LocalDate localDate = LocalDate.of(2023, 9, 4);
+
+        List<ClassSchedule> list = classScheduleService.list(new LambdaQueryWrapper<ClassSchedule>());
+        DateTimeFormatter dateTimeFormatter2 = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+
+        ArrayList<ClassSchedule> classSchedules = new ArrayList<>();
+        for (int i = 0; i < list.size(); i++) {
+            ClassSchedule classSchedule = list.get(i);
+//            获取第几周
+            String djz = classSchedule.getDjz();
+//            获取周几
+            String zj = classSchedule.getZj();
+//            需要在开学的基础上加多少天
+            Integer integer = Integer.valueOf(djz);
+            Integer integer1 = Integer.valueOf(zj);
+
+            int djzDay = (integer - 1) * 7;
+            int zjDay = integer1 - 1;
+
+            int day = djzDay + zjDay;
+            LocalDate date = localDate.plusDays(day);
+
+            String dateStr = date.format(dateTimeFormatter2);
+            classSchedule.setDateTime(dateStr);
+
+            classSchedules.add(classSchedule);
+        }
+
+        boolean b = classScheduleService.updateBatchById(classSchedules);
+        System.out.println("b = " + b);
+
+
+    }
+
+
+    /**
+     * 通过一个时间判断是第几周,周几
+     *
+     * @param dateTime
+     * @return
+     */
+    public Map<String, String> getDjz(String dateTime) {
+        //    2023-9-4开始上课
+        LocalDate localDate = LocalDate.of(2023, 9, 4);
+
+        DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+        LocalDate date = LocalDate.parse(dateTime, dateTimeFormatter);
+
+//        将此日期与指定日期进行比较,传进来的日期不能小于开学日期
+        int i = date.compareTo(localDate);
+        if (i < 0) {
+            return null;
+        }
+        Map<String, String> map = new HashMap<>();
+//        计算2个时间的天数差
+        long until = date.until(localDate, ChronoUnit.DAYS);
+        //        需要加1才是第几周
+        int weeks = (int) until / 7;
+        map.put("weeks", (weeks + 1) + "");
+
+//        周几
+        String chineseDayOfWeek = date.getDayOfWeek().getDisplayName(TextStyle.FULL, Locale.CHINA);
+        if ("星期一".equals(chineseDayOfWeek)) {
+            map.put("week", 1 + "");
+        } else if ("星期二".equals(chineseDayOfWeek)) {
+            map.put("week", 2 + "");
+        } else if ("星期三".equals(chineseDayOfWeek)) {
+            map.put("week", 3 + "");
+        } else if ("星期四".equals(chineseDayOfWeek)) {
+            map.put("week", 4 + "");
+        } else if ("星期五".equals(chineseDayOfWeek)) {
+            map.put("week", 5 + "");
+        } else if ("星期六".equals(chineseDayOfWeek)) {
+            map.put("week", 6 + "");
+        } else {
+            map.put("week", 7 + "");
+        }
+
+//        获取月份
+        int month = date.getMonthValue();
+        int year = date.getYear();
+        // 获取学年、学期
+        String schoolYear, semester;
+        if (month >= 2 && month <= 7) {
+            schoolYear = (year - 1) + "-" + year;
+            semester = "2";
+        } else {
+            schoolYear = year + "-" + (year + 1);
+            semester = "1";
+        }
+        map.put("schoolYear", schoolYear);
+        map.put("semester", semester);
+
+        return map;
+    }
+
+
+    public static void main(String[] args) {
+        LocalDate date = LocalDate.now();
+        String chineseDayOfWeek = date.getDayOfWeek().getDisplayName(TextStyle.FULL, Locale.CHINA);
+        String week = "";
+        if (chineseDayOfWeek.equals("星期五")) {
+            week = "5";
+        }
+        DateTimeFormatter dateTimeFormatter2 = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+        LocalDate localDate = date.minusDays(Integer.valueOf(week) - 1);
+        String stateTime = localDate.format(dateTimeFormatter2);
+        System.out.println("stateTime = " + stateTime);
+        LocalDate localEnd = localDate.plusDays(6);
+        String endTime = localEnd.format(dateTimeFormatter2);
+        System.out.println("endTime = " + endTime);
+
+
+    }
 
 
 }
 }
 
 

+ 21 - 0
src/main/java/com/template/controller/HouseLockController.java

@@ -0,0 +1,21 @@
+package com.template.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author ceshi
+ * @since 2023-11-21
+ */
+@RestController
+@RequestMapping("/auto/house-lock")
+public class HouseLockController {
+
+}
+

+ 350 - 11
src/main/java/com/template/controller/HouseNumberStateController.java

@@ -1,22 +1,39 @@
 package com.template.controller;
 package com.template.controller;
 
 
 
 
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+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.core.toolkit.ObjectUtils;
-import com.sun.org.apache.bcel.internal.generic.NEW;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.template.api.HouseNumberStateAPI;
 import com.template.api.HouseNumberStateAPI;
+import com.template.common.utils.AesUtils;
+import com.template.common.utils.DateUtil;
+import com.template.common.utils.HttpClientHelper;
+import com.template.common.utils.MD5;
+import com.template.config.DoorLockConfig;
+import com.template.model.enumModel.PasswordUrlEnum;
+import com.template.model.pojo.*;
 import com.template.model.result.CommonResult;
 import com.template.model.result.CommonResult;
 import com.template.model.result.PageUtils;
 import com.template.model.result.PageUtils;
-import com.template.model.vo.HouseStateVo;
-import com.template.model.vo.HouseVo;
-import com.template.services.HouseNumberService;
-import com.template.services.HouseNumberStateService;
-import com.template.services.HouseService;
+import com.template.model.vo.*;
+import com.template.services.*;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.RequestMapping;
 
 
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.bind.annotation.RestController;
 
 
+import java.math.BigDecimal;
+import java.time.*;
+import java.time.format.DateTimeFormatter;
+import java.time.temporal.ChronoUnit;
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
 
 
 /**
 /**
  * <p>
  * <p>
@@ -38,6 +55,21 @@ public class HouseNumberStateController implements HouseNumberStateAPI {
     @Autowired
     @Autowired
     HouseNumberService houseNumberService;
     HouseNumberService houseNumberService;
 
 
+    @Autowired
+    HousePriceService housePriceService;
+
+    @Autowired
+    HouseOrderService houseOrderService;
+
+    @Autowired
+    HouseLockService houseLockService;
+
+    @Autowired
+    HouseOrderBillService houseOrderBillService;
+
+    @Autowired
+    DoorLockConfig doorLockConfig;
+
     @Override
     @Override
     public CommonResult page(String keyWord, String houseType, int page, int size) {
     public CommonResult page(String keyWord, String houseType, int page, int size) {
 
 
@@ -46,28 +78,335 @@ public class HouseNumberStateController implements HouseNumberStateAPI {
         }
         }
 
 
         if (ObjectUtils.isEmpty(size) && size <= 0) {
         if (ObjectUtils.isEmpty(size) && size <= 0) {
-            size= 10;
+            size = 10;
         }
         }
 
 
 //        当时时间
 //        当时时间
         Date date = new Date();
         Date date = new Date();
 
 
-        PageUtils<HouseStateVo> pageVo=houseNumberService.houseStatePage(keyWord,houseType,page,size,date);
+        PageUtils<HouseStateVo> pageVo = houseNumberService.houseStatePage(keyWord, houseType, page, size, date);
 
 
         return CommonResult.ok(pageVo);
         return CommonResult.ok(pageVo);
     }
     }
 
 
     @Override
     @Override
-    public CommonResult calendarPage(String startTime, String endTime, String keyWord, String houseType, int page, int size) {
+    public CommonResult calendarPage(String datetime, String keyWord, String houseType, int page, int size) {
+        if (ObjectUtils.isEmpty(page) && page <= 0) {
+            page = 1;
+        }
+
+        if (ObjectUtils.isEmpty(size) && size <= 0) {
+            size = 10;
+        }
+
+        //        返回格式
+        HashMap<String, Object> map = new HashMap<>();
+
+        //        获取当时时间
+        LocalDate localDate;
+        DateTimeFormatter dateTimeFormatter2 = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+        if (ObjectUtils.isEmpty(datetime)) {
+            localDate = LocalDate.now();
+        } else {
+            localDate = LocalDate.parse(datetime, dateTimeFormatter2);
+        }
+//      需获取21天内的所有改价信息
+        LocalDate endLocalDate = localDate.plusDays(20);
+
+        //        获取所有房间号
+        List<HouseNumber> houseNumberList = houseNumberService.list(new LambdaQueryWrapper<HouseNumber>());
+
+        //      获取当前房型的所有id
+        String houseNumberIds = "";
+        for (int i = 0; i < houseNumberList.size(); i++) {
+            String houseNumber = houseNumberList.get(i).getId() + "";
+            if (i == 0) {
+                houseNumberIds = houseNumberIds + houseNumber;
+            } else {
+                houseNumberIds = houseNumberIds + "," + houseNumber;
+            }
+        }
+        System.out.println("houseNumberIds = " + houseNumberIds);
+
+//        通过房型id获取房态状态
+        List<HouseNumberState> houseNumberStates = houseNumberStateService.houseNumberStateList(localDate, endLocalDate, houseNumberIds);
+
+//        房间总数
+        int totalCount = houseNumberList.size();
+
+        //        时间日期
+        ArrayList<HouseNumberStateDateVo> list = new ArrayList<>();
+        for (int i = 0; i < 21; i++) {
+            LocalDate localDate1 = localDate.plusDays(i);
+            String format = localDate1.format(dateTimeFormatter2);
+            HouseNumberStateDateVo houseNumberStateDateVo = new HouseNumberStateDateVo();
+            houseNumberStateDateVo.setDate(format);
+            int count = totalCount;
+            for (HouseNumberState houseNumberState : houseNumberStates) {
+                if (houseNumberState.getStatus() != 1) {
+//                开始时间
+                    String startTime = houseNumberState.getStartTime();
+//                结束时间
+                    String endTime = houseNumberState.getEndTime();
+
+                    Date startDate = DateUtil.parseDateOnly(startTime);
+                    Date endDate = DateUtil.parseDateOnly(endTime);
+                    Date date1 = Date.from(localDate1.atStartOfDay().atZone(ZoneId.systemDefault()).toInstant());
+                    boolean effectiveDate = DateUtil.isEffectiveDate(date1, startDate, endDate);
+                    if (effectiveDate) {
+                        count = count - 1;
+                    }
+                }
+            }
+            houseNumberStateDateVo.setCount(count);
+            list.add(houseNumberStateDateVo);
+        }
+//        时间格式
+        map.put("dateTime", list);
+
+
+        PageUtils<CalendarPageVo> pageVo = houseNumberService.houseStateCalendarPage(keyWord, houseType, page, size);
+
+        List<CalendarPageVo> listVo = pageVo.getList();
+
+        if (ObjectUtils.isEmpty(listVo) && listVo.size() <= 0) {
+            map.put("page", pageVo);
+            return CommonResult.ok(map);
+        }
+        //      获取当前房型的所有id
+        String houseIds = "";
+        for (int i = 0; i < listVo.size(); i++) {
+            String id = listVo.get(i).getHouseId();
+            if (i == 0) {
+                houseIds = houseIds + id;
+            } else {
+                houseIds = houseIds + "," + id;
+            }
+        }
+        System.out.println("houseIds = " + houseIds);
+
+
+//        获取在这时间内所属房型的所有改价记录
+        List<HousePrice> housePrices = housePriceService.housePrice(localDate, endLocalDate, houseIds);
 
 
 
 
+        ArrayList<HouseNumberStatePageVo> pageVos = new ArrayList<>();
+//        数据组合
+        for (CalendarPageVo calendarPageVo : listVo) {
+            HouseNumberStatePageVo houseNumberStatePageVo = new HouseNumberStatePageVo();
+
+            houseNumberStatePageVo.setCalendarPageVo(calendarPageVo);
+
+            ArrayList<HousePriceVo> housePriceVos = new ArrayList<>();
+            for (int i = 0; i < 21; i++) {
+                HousePriceVo housePriceVo = new HousePriceVo();
+                LocalDate localDate1 = localDate.plusDays(i);
+                String format = localDate1.format(dateTimeFormatter2);
+                housePriceVo.setDate(format);
+                housePriceVo.setPrice(calendarPageVo.getPrice());
+//                判断这个时间内是否有
+                for (HousePrice housePrice : housePrices) {
+                    if (housePrice.getHouseId().equals(calendarPageVo.getHouseId())) {
+                        String setDate = housePrice.getSetDate();
+                        String[] split = setDate.split(",");
+                        Date startDate = DateUtil.parseDateOnly(split[0]);
+                        Date endDate = DateUtil.parseDateOnly(split[1]);
+                        Date date1 = Date.from(localDate1.atStartOfDay().atZone(ZoneId.systemDefault()).toInstant());
+                        //      判断当前时间是否在[startTime, endTime]区间
+                        assert startDate != null;
+                        boolean effectiveDate = DateUtil.isEffectiveDate(date1, startDate, endDate);
+                        if (effectiveDate) {
+                            BigDecimal price = housePrice.getPrice();
+                            housePriceVo.setPrice(price);
+                        }
+                    }
+                }
+                housePriceVos.add(housePriceVo);
+
+            }
+            houseNumberStatePageVo.setHousePriceVos(housePriceVos);
+            pageVos.add(houseNumberStatePageVo);
+
+        }
+        Page<HouseNumberStatePageVo> houseNumberStatePageVoPage = new Page<>();
+        BeanUtils.copyProperties(pageVo, houseNumberStatePageVoPage);
+
+        houseNumberStatePageVoPage.setTotal(pageVo.getTotalCount());
+        houseNumberStatePageVoPage.setPages(pageVo.getTotalPage());
+
+        houseNumberStatePageVoPage.setRecords(pageVos);
+
+
+        map.put("page", houseNumberStatePageVoPage);
+
+        return CommonResult.ok(map);
 
 
 
 
-        return null;
     }
     }
 
 
+    @Override
+    public CommonResult particular(String houseNumberId) {
+        if (ObjectUtils.isEmpty(houseNumberId)) {
+            return CommonResult.fail("参数异常");
+        }
+
+        HouseNumber houseNumber = houseNumberService.getById(houseNumberId);
+
+        ParticularHouseNumberStatusVo vo = new ParticularHouseNumberStatusVo();
+        vo.setHouseNumber(houseNumber.getRoomNumber());
+
+        House house = houseService.getById(houseNumber.getHouseId());
+
+        vo.setHouseName(house.getRoomName());
+        vo.setHouseType(house.getRoomType());
+
+//          状态 1.空闲 2.正在使用
+        Integer status = houseNumber.getStatus();
+        if (status != 1) {
+            Date date = new Date();
+
+            LambdaQueryWrapper<HouseNumberState> wrapperHNS = new LambdaQueryWrapper<>();
+            wrapperHNS.eq(HouseNumberState::getHouseNumberId, houseNumberId)
+                    .le(HouseNumberState::getStartTime, date)
+                    .ge(HouseNumberState::getEndTime, date);
+            HouseNumberState houseNumberState = houseNumberStateService.getOne(wrapperHNS);
+
+//            状态 1空闲、2预定、3入住、4脏房、5锁定、6维修
+            Integer status1 = houseNumberState.getStatus();
+//            订单id
+            String bookingId = houseNumberState.getBookingId();
+            vo.setHouseStatus(status1);
+//            预定
+            if (status1 == 2) {
+//                预定
+                String statusBar = "2,5,11";
+                vo.setStatusBar(statusBar);
+                if (ObjectUtils.isNotEmpty(bookingId)) {
+                    HouseOrder houseOrder = houseOrderService.getById(bookingId);
+                    String reserveName = houseOrder.getReserveName();
+                    vo.setName(reserveName);
+                }
+            } else if (status1 == 3) {
+//                入住
+                if (ObjectUtils.isNotEmpty(bookingId)) {
+                    HouseOrder houseOrder = houseOrderService.getById(bookingId);
+                    String liveName = houseOrder.getLiveName();
+                    vo.setName(liveName);
+                    String statusBar = "7,8,9,10,11";
+                    vo.setStatusBar(statusBar);
+                    Date liveTime = houseOrder.getLiveTime();
+//                    入住时间
+                    vo.setLiveTime(liveTime);
+//                  付款
+                    vo.setPayPrice(houseOrder.getPayPrice());
+//                    已入住时间
+                    LocalDateTime now = LocalDateTime.now();
+                    LocalDateTime stateEnd = LocalDateTime.ofInstant(liveTime.toInstant(), ZoneId.systemDefault());
+                    Duration duration = Duration.between(stateEnd, now);
+                    long l = duration.toMinutes();
+                    Double m = Double.valueOf(l);
+                    Integer days = (int) (m / (60 * 24)); //天
+                    Integer hours = (int) (m / (60) - days * 24); //小时
+                    Integer minutes = (int) (m - hours * 60 - days * 24 * 60); //分钟
+                    String checkTime = days + "天" + hours + "小时" + minutes + "分钟";
+                    vo.setCheckTime(checkTime);
+//                    电起码,水起码
+                    LambdaQueryWrapper<HouseOrderBill> wrapperHOB = new LambdaQueryWrapper<>();
+                    wrapperHOB.eq(HouseOrderBill::getHotelOrderId, houseOrder.getId());
+                    HouseOrderBill houseOrderBill = houseOrderBillService.getOne(wrapperHOB);
+                    String startOfWater = houseOrderBill.getStartOfWater();
+                    vo.setStartWater(startOfWater);
+                    String startOfElectric = houseOrderBill.getStartOfElectric();
+                    vo.setStartElectric(startOfElectric);
+
+                }
+            } else if (status1 == 4) {
+//                脏房
+                String statusBar = "11,12";
+                vo.setStatusBar(statusBar);
+            } else if (status1 == 5) {
+//                锁定
+                String statusBar = "6,11";
+                vo.setStatusBar(statusBar);
+            } else if (status1 == 6) {
+//                维修
+                String statusBar = "5,11";
+                vo.setStatusBar(statusBar);
+                String startTime = houseNumberState.getStartTime();
+                String endTime = houseNumberState.getEndTime();
+//              开始时间,结束时间
+                vo.setStateTime(startTime);
+                vo.setEndTime(endTime);
+
+            }
+
+
+        } else {
+//            空闲
+            String statusBar = "1,2,3,4,11,13";
+            vo.setStatusBar(statusBar);
+            vo.setHouseStatus(status);
+        }
+
 
 
+//        获取该房间电量
+        LambdaQueryWrapper<HouseLock> wrapperHL = new LambdaQueryWrapper<>();
+        wrapperHL.eq(HouseLock::getHouseNumberId, houseNumberId);
+        HouseLock houseLock = houseLockService.getOne(wrapperHL);
+        String equipmentType = houseLock.getEquipmentType();
 
 
+        HashMap<String, String> map = new HashMap<>();
+        map.put("categoryId", doorLockConfig.getCategoryId());//"d0c248256f8346d2a19afa296562b319");//设备分类ID 所有蓝牙wifi锁默认统一值
+        map.put("luid", equipmentType);//"047863CA78E0"
+
+        String jsonContent = JSONObject.toJSONString(map);
+
+
+        JSONObject jsonObject = null;
+        try {
+            jsonObject = queryData(jsonContent, PasswordUrlEnum.Device_Info.getUrl());
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+
+        JSONObject data = jsonObject.getJSONObject("data");
+//          电量
+        String battery = data.getString("battery");
+        vo.setElectricQuantity(battery + "%");
+
+
+        return CommonResult.ok(vo);
+
+
+    }
+
+
+    /**
+     * 请求数据
+     *
+     * @param content 请求参数
+     * @param path    请求接口
+     */
+    public JSONObject queryData(String content, String path) throws Exception {
+        String sign = MD5.getMD5(doorLockConfig.getAppId() + doorLockConfig.getAppSecret());
+
+        String appId = doorLockConfig.getAppId();
+        String jsonStr = AesUtils.encrypt(content, doorLockConfig.getAppSecret());
+        /*执行请求,使用可以附加token的doPost方*/
+        HttpClientHelper instance = HttpClientHelper.getInstance();
+        String result = instance.doPostJson(doorLockConfig.getServiceHost() + (path.startsWith("/") ? path : ("/" + path)), jsonStr, sign, appId);
+        if (ObjectUtils.isEmpty(result)) {
+            return null;
+        }
+
+        /*解析数据 start*/
+        JSONObject jsonObject = JSON.parseObject(result);
+
+//        System.out.println("jsonObject = " + jsonObject);
+
+
+        return jsonObject;
+    }
 
 
 }
 }
 
 

+ 21 - 0
src/main/java/com/template/controller/HouseOrderBillController.java

@@ -0,0 +1,21 @@
+package com.template.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author ceshi
+ * @since 2023-11-21
+ */
+@RestController
+@RequestMapping("/auto/house-order-bill")
+public class HouseOrderBillController {
+
+}
+

+ 45 - 0
src/main/java/com/template/controller/HouseOrderController.java

@@ -0,0 +1,45 @@
+package com.template.controller;
+
+
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.template.api.HouseOrderAPI;
+import com.template.model.pojo.HouseOrder;
+import com.template.model.result.CommonResult;
+import com.template.services.HouseOrderService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author ceshi
+ * @since 2023-11-21
+ */
+@RestController
+public class HouseOrderController implements HouseOrderAPI {
+
+    @Autowired
+    HouseOrderService houseOrderService;
+
+    @Override
+    public CommonResult establishOrder(HouseOrder houseOrder) {
+        if (ObjectUtils.isEmpty(houseOrder)) {
+            return CommonResult.fail();
+        }
+
+        
+
+        return null;
+
+    }
+
+
+
+
+
+}
+

+ 10 - 2
src/main/java/com/template/handler/MyMetaObjectHandler.java

@@ -1,6 +1,7 @@
 package com.template.handler;
 package com.template.handler;
 
 
 import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
 import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.template.common.utils.AesUtils;
 import com.template.common.utils.AesUtils;
 import lombok.extern.slf4j.Slf4j;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.ibatis.reflection.MetaObject;
 import org.apache.ibatis.reflection.MetaObject;
@@ -35,7 +36,11 @@ public class MyMetaObjectHandler implements MetaObjectHandler {
     @Override
     @Override
     public void updateFill(MetaObject metaObject) {
     public void updateFill(MetaObject metaObject) {
         HttpServletRequest request = getHttpServletRequest();
         HttpServletRequest request = getHttpServletRequest();
-        String user_id = request.getHeader("user_head") == null ? "1" : AesUtils.decrypt(request.getHeader("user_head"));
+        String user_id="1";
+        if (ObjectUtils.isNotEmpty(request)) {
+            user_id = request.getHeader("user_head") == null ? "1" : AesUtils.decrypt(request.getHeader("user_head"));
+        }
+
         log.info("start update fill.....");
         log.info("start update fill.....");
         this.setFieldValByName("updateTime", new Date(), metaObject);
         this.setFieldValByName("updateTime", new Date(), metaObject);
         this.setFieldValByName("updateUser", user_id, metaObject);
         this.setFieldValByName("updateUser", user_id, metaObject);
@@ -44,6 +49,9 @@ public class MyMetaObjectHandler implements MetaObjectHandler {
     private HttpServletRequest getHttpServletRequest() {
     private HttpServletRequest getHttpServletRequest() {
         RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();
         RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();
         ServletRequestAttributes attributes = (ServletRequestAttributes) requestAttributes;
         ServletRequestAttributes attributes = (ServletRequestAttributes) requestAttributes;
-        return attributes.getRequest();
+        if (ObjectUtils.isNotEmpty(attributes)) {
+            return attributes.getRequest();
+        }
+        return null;
     }
     }
 }
 }

+ 5 - 0
src/main/java/com/template/mapper/ClassScheduleMapper.java

@@ -3,6 +3,10 @@ package com.template.mapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.template.model.pojo.ClassSchedule;
 import com.template.model.pojo.ClassSchedule;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.time.LocalDate;
+import java.util.List;
 
 
 /**
 /**
  * <p>
  * <p>
@@ -15,4 +19,5 @@ import org.apache.ibatis.annotations.Mapper;
 @Mapper
 @Mapper
 public interface ClassScheduleMapper extends BaseMapper<ClassSchedule> {
 public interface ClassScheduleMapper extends BaseMapper<ClassSchedule> {
 
 
+    String remarks(@Param("localDate") LocalDate localDate,@Param("teacherName") String teacherName);
 }
 }

+ 18 - 0
src/main/java/com/template/mapper/HouseLockMapper.java

@@ -0,0 +1,18 @@
+package com.template.mapper;
+
+import com.template.model.pojo.HouseLock;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author ceshi
+ * @since 2023-11-21
+ */
+@Mapper
+public interface HouseLockMapper extends BaseMapper<HouseLock> {
+
+}

+ 1 - 0
src/main/java/com/template/mapper/HouseMapper.java

@@ -28,4 +28,5 @@ public interface HouseMapper extends BaseMapper<House> {
 
 
     List<RoomTypeVo> roomType();
     List<RoomTypeVo> roomType();
 
 
+
 }
 }

+ 3 - 0
src/main/java/com/template/mapper/HouseNumberMapper.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.template.model.pojo.HouseNumber;
 import com.template.model.pojo.HouseNumber;
+import com.template.model.vo.CalendarPageVo;
 import com.template.model.vo.HouseStateVo;
 import com.template.model.vo.HouseStateVo;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Param;
@@ -22,4 +23,6 @@ import java.util.Date;
 public interface HouseNumberMapper extends BaseMapper<HouseNumber> {
 public interface HouseNumberMapper extends BaseMapper<HouseNumber> {
 
 
     IPage<HouseStateVo> houseStatePage(Page<HouseStateVo> pageVo, @Param("keyWord") String keyWord,@Param("houseType") String houseType,@Param("date") Date date);
     IPage<HouseStateVo> houseStatePage(Page<HouseStateVo> pageVo, @Param("keyWord") String keyWord,@Param("houseType") String houseType,@Param("date") Date date);
+
+    IPage<CalendarPageVo> houseStateCalendarPage(Page<CalendarPageVo> pageVo, @Param("keyWord") String keyWord, @Param("houseType") String houseType);
 }
 }

+ 6 - 0
src/main/java/com/template/mapper/HouseNumberStateMapper.java

@@ -3,6 +3,10 @@ package com.template.mapper;
 import com.template.model.pojo.HouseNumberState;
 import com.template.model.pojo.HouseNumberState;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.time.LocalDate;
+import java.util.List;
 
 
 /**
 /**
  * <p>
  * <p>
@@ -15,4 +19,6 @@ import org.apache.ibatis.annotations.Mapper;
 @Mapper
 @Mapper
 public interface HouseNumberStateMapper extends BaseMapper<HouseNumberState> {
 public interface HouseNumberStateMapper extends BaseMapper<HouseNumberState> {
 
 
+    List<HouseNumberState> houseNumberStateList(@Param("localDate") LocalDate localDate, @Param("endLocalDate") LocalDate endLocalDate, @Param("houseNumberIds") String houseNumberIds);
+
 }
 }

+ 18 - 0
src/main/java/com/template/mapper/HouseOrderBillMapper.java

@@ -0,0 +1,18 @@
+package com.template.mapper;
+
+import com.template.model.pojo.HouseOrderBill;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author ceshi
+ * @since 2023-11-21
+ */
+@Mapper
+public interface HouseOrderBillMapper extends BaseMapper<HouseOrderBill> {
+
+}

+ 18 - 0
src/main/java/com/template/mapper/HouseOrderMapper.java

@@ -0,0 +1,18 @@
+package com.template.mapper;
+
+import com.template.model.pojo.HouseOrder;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author ceshi
+ * @since 2023-11-21
+ */
+@Mapper
+public interface HouseOrderMapper extends BaseMapper<HouseOrder> {
+
+}

+ 13 - 0
src/main/java/com/template/model/dto/EstablishOrder.java

@@ -0,0 +1,13 @@
+package com.template.model.dto;
+
+import com.template.model.pojo.HouseOrder;
+import lombok.Data;
+
+@Data
+public class EstablishOrder {
+    private String cardNumber;
+
+    private HouseOrder houseOrder;
+
+
+}

+ 6 - 0
src/main/java/com/template/model/pojo/ClassSchedule.java

@@ -50,6 +50,12 @@ public class ClassSchedule implements Serializable {
     @ApiModelProperty(value = "教师工号")
     @ApiModelProperty(value = "教师工号")
     private String jsgh;
     private String jsgh;
 
 
+    @ApiModelProperty(value = "上课日期")
+    private String dateTime;
+
+    @ApiModelProperty(value = "备注")
+    private String remark;
+
     @ApiModelProperty(value = "创建时间")
     @ApiModelProperty(value = "创建时间")
     @TableField(fill = FieldFill.INSERT)
     @TableField(fill = FieldFill.INSERT)
     private Date createTime;
     private Date createTime;

+ 86 - 0
src/main/java/com/template/model/pojo/HouseLock.java

@@ -0,0 +1,86 @@
+package com.template.model.pojo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import java.util.Date;
+import com.baomidou.mybatisplus.annotation.Version;
+import com.baomidou.mybatisplus.annotation.TableId;
+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-11-21
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value="HouseLock对象", description="")
+public class HouseLock implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "房间锁表")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty(value = "房间号")
+    private Integer houseNumberId;
+
+    @ApiModelProperty(value = "设备型号")
+    private String equipmentType;
+
+    @ApiModelProperty(value = "网络类型 固定WiFi")
+    private String networkType;
+
+    @ApiModelProperty(value = "wifiMAC")
+    private String wifiMac;
+
+    @ApiModelProperty(value = "绑定时间")
+    private Date bindingTime;
+
+    @ApiModelProperty(value = "电量")
+    private String electricQuantity;
+
+    @ApiModelProperty(value = "网络状态  设备在线时网络也在线")
+    private String networkState;
+
+    @ApiModelProperty(value = "设备状态  设备在线时网络也在线")
+    private String equipmentState;
+
+    @ApiModelProperty(value = "上一次开锁时间")
+    private Date unlockingTime;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(fill = FieldFill.INSERT)
+    private Date createTime;
+
+    @ApiModelProperty(value = "更新时间")
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private Date updateTime;
+
+    @ApiModelProperty(value = "创建人员")
+    @TableField(fill = FieldFill.INSERT)
+    private String createUser;
+
+    @ApiModelProperty(value = "更新人员")
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private String updateUser;
+
+    @ApiModelProperty(value = "逻辑删除 未删除:0;删除:1")
+    @TableField(fill = FieldFill.INSERT)
+    @TableLogic
+    private Integer deleted;
+
+
+}

+ 129 - 0
src/main/java/com/template/model/pojo/HouseOrder.java

@@ -0,0 +1,129 @@
+package com.template.model.pojo;
+
+import java.math.BigDecimal;
+import com.baomidou.mybatisplus.annotation.IdType;
+import java.util.Date;
+import com.baomidou.mybatisplus.annotation.Version;
+import com.baomidou.mybatisplus.annotation.TableId;
+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-11-21
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value="HouseOrder对象", description="")
+public class HouseOrder implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "订单表")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty(value = "订单号")
+    private String orderNumber;
+
+    @ApiModelProperty(value = "订单状态:1待支付,2已支付,3待入住,4已入住,5已消费,6支付超时,7已取消,8已退单,9已退款,10退款中")
+    private String orderStatus;
+
+    @ApiModelProperty(value = "房间号id")
+    private Integer houseNumberId;
+
+    @ApiModelProperty(value = "入住人姓名")
+    private String liveName;
+
+    @ApiModelProperty(value = "预定人姓名")
+    private String reserveName;
+
+    @ApiModelProperty(value = "入住人身份证")
+    private String liveCard;
+
+    @ApiModelProperty(value = "预定入住时间")
+    private Date reserveLiveTime;
+
+    @ApiModelProperty(value = "预定离开时间")
+    private Date reserveLeaveTime;
+
+    @ApiModelProperty(value = "房间单价")
+    private String price;
+
+    @ApiModelProperty(value = "入住天数")
+    private String liveDay;
+
+    @ApiModelProperty(value = "入住人类型")
+    private String liveNameType;
+
+    @ApiModelProperty(value = "入住时间")
+    private Date liveTime;
+
+    @ApiModelProperty(value = "离店时间")
+    private Date leaveTime;
+
+    @ApiModelProperty(value = "支付时间")
+    private Date payTime;
+
+    @ApiModelProperty(value = "支付人")
+    private String payUserId;
+
+    @ApiModelProperty(value = "支付渠道(线上,线下)")
+    private String payChannel;
+
+    @ApiModelProperty(value = "支付方式(微信支付,现金)")
+    private String payType;
+
+    @ApiModelProperty(value = "付款金额")
+    private BigDecimal payPrice;
+
+    @ApiModelProperty(value = "电表起码(入住后才有)")
+    private String electricStart;
+
+    @ApiModelProperty(value = "电表止码(订单结束后)")
+    private String electricEnd;
+
+    @ApiModelProperty(value = "水表起码(入住后才有)")
+    private String waterStart;
+
+    @ApiModelProperty(value = "水表止码(订单结束后)")
+    private String waterEnd;
+
+    @ApiModelProperty(value = "订单状态 1.待支付,2.已支付,3.带入住,4.已入住,5.待结账,6.退款中,7.已退款,8.已退房,9.已取消")
+    private String status;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(fill = FieldFill.INSERT)
+    private Date createTime;
+
+    @ApiModelProperty(value = "更新时间")
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private Date updateTime;
+
+    @ApiModelProperty(value = "创建人员")
+    @TableField(fill = FieldFill.INSERT)
+    private String createUser;
+
+    @ApiModelProperty(value = "更新人员")
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private String updateUser;
+
+    @ApiModelProperty(value = "逻辑删除 未删除:0;删除:1")
+    @TableField(fill = FieldFill.INSERT)
+    @TableLogic
+    private Integer deleted;
+
+
+}

+ 105 - 0
src/main/java/com/template/model/pojo/HouseOrderBill.java

@@ -0,0 +1,105 @@
+package com.template.model.pojo;
+
+import java.math.BigDecimal;
+import com.baomidou.mybatisplus.annotation.IdType;
+import java.util.Date;
+import com.baomidou.mybatisplus.annotation.Version;
+import com.baomidou.mybatisplus.annotation.TableId;
+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-11-21
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value="HouseOrderBill对象", description="")
+public class HouseOrderBill implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "水电表")
+    @TableId(value = "id", type = IdType.UUID)
+    private Long id;
+
+    @ApiModelProperty(value = "订单id")
+    private Long hotelOrderId;
+
+    @ApiModelProperty(value = "房间id")
+    private Long houseNumberId;
+
+    @ApiModelProperty(value = "水起码 单位:吨")
+    private String startOfWater;
+
+    @ApiModelProperty(value = "水止码")
+    private String endOfWater;
+
+    @ApiModelProperty(value = "电起码 单位:度")
+    private String startOfElectric;
+
+    @ApiModelProperty(value = "电止码")
+    private String endOfElectric;
+
+    @ApiModelProperty(value = "水单价 单位:元/吨")
+    private String priceOfWater;
+
+    @ApiModelProperty(value = "电单价 单位:元/度")
+    private String priceOfElectric;
+
+    @ApiModelProperty(value = "总费用 单位:元")
+    private BigDecimal totalFree;
+
+    @ApiModelProperty(value = "减免费用 单位:元")
+    private BigDecimal discountFree;
+
+    @ApiModelProperty(value = "应缴费用 总费用-减免费用 单位:元")
+    private BigDecimal shouldFree;
+
+    @ApiModelProperty(value = "补缴费用 应缴费用-预缴费用")
+    private BigDecimal realFree;
+
+    @ApiModelProperty(value = "状态 1待处理、2已完成")
+    private String statu;
+
+    @ApiModelProperty(value = "完成时间")
+    private Date finishTime;
+
+    @ApiModelProperty(value = "备注")
+    private String remark;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField(fill = FieldFill.INSERT)
+    private Date createTime;
+
+    @ApiModelProperty(value = "更新时间")
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private Date updateTime;
+
+    @ApiModelProperty(value = "创建人员")
+    @TableField(fill = FieldFill.INSERT)
+    private String createUser;
+
+    @ApiModelProperty(value = "更新人员")
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private String updateUser;
+
+    @ApiModelProperty(value = "逻辑删除 未删除:0;删除:1")
+    @TableField(fill = FieldFill.INSERT)
+    @TableLogic
+    private Integer deleted;
+
+
+}

+ 37 - 0
src/main/java/com/template/model/vo/CalendarPageVo.java

@@ -0,0 +1,37 @@
+package com.template.model.vo;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class CalendarPageVo {
+    //    房间号id
+    private int houseNumberId;
+//    房型id
+    private String houseId;
+    //      房间号
+    private String houseNumber;
+    //   1.净房 2.脏房
+    private Integer houseStatus;
+
+    //  房间状态 (无房态数据时使用)  1.空闲 2.正在使用
+    private String houseType;
+    //  房态状态(有房态数据时使用) 状态 1空闲、2预定、3入住、4脏房、5锁定
+    private String status;
+
+    //    房型名称
+    private String houseName;
+
+    //  预定人
+    private String reserveName;
+    //    预计入住时间
+    private String reserveLiveTime;
+    //    预计离开时间
+    private String reserveLeaveTime;
+
+    //    价格
+    private BigDecimal price;
+
+
+}

+ 13 - 0
src/main/java/com/template/model/vo/ClassListVo.java

@@ -0,0 +1,13 @@
+package com.template.model.vo;
+
+import com.template.model.pojo.ClassSchedule;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class ClassListVo {
+    private String remarks;
+
+    private List<ClassSchedule> list;
+}

+ 12 - 0
src/main/java/com/template/model/vo/HouseNumberStateDateVo.java

@@ -0,0 +1,12 @@
+package com.template.model.vo;
+
+import lombok.Data;
+
+@Data
+public class HouseNumberStateDateVo {
+//    时间
+    private String date;
+//    剩余房间数
+    private int count;
+
+}

+ 13 - 0
src/main/java/com/template/model/vo/HouseNumberStatePageVo.java

@@ -0,0 +1,13 @@
+package com.template.model.vo;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+@Data
+public class HouseNumberStatePageVo {
+    private CalendarPageVo calendarPageVo;
+
+    private List<HousePriceVo> housePriceVos;
+}

+ 4 - 1
src/main/java/com/template/model/vo/HouseStateVo.java

@@ -2,9 +2,11 @@ package com.template.model.vo;
 
 
 import lombok.Data;
 import lombok.Data;
 
 
+import java.math.BigDecimal;
+
 @Data
 @Data
 public class HouseStateVo {
 public class HouseStateVo {
-    private int id;
+    private int houseNumberId;
 
 
     private String houseId;
     private String houseId;
 //      房间号
 //      房间号
@@ -28,4 +30,5 @@ public class HouseStateVo {
     private String reserveLeaveTime;
     private String reserveLeaveTime;
 
 
 
 
+
 }
 }

+ 50 - 0
src/main/java/com/template/model/vo/ParticularHouseNumberStatusVo.java

@@ -0,0 +1,50 @@
+package com.template.model.vo;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Data
+public class ParticularHouseNumberStatusVo {
+//    状态栏 1:预定,2:入住,3:维修,4:锁房,5:取消,6:解锁,7:退房,8:退款,9:换房,10:下发密码,11:日志,12:置净,13:置脏
+    private String statusBar;
+//    房间名
+    private String houseNumber;
+//    房态类型
+    private String houseName;
+//    1:全日房,2:钟点房
+    private int houseType;
+
+//    名称  。预定时是预定人名称,入住时是入住人名称
+    private String name;
+
+//  入住时间
+    private Date liveTime;
+
+//    离开时间
+    private Date leaveTime;
+
+//    付款金额
+    private BigDecimal payPrice;
+
+//    入住时间
+    private String checkTime;
+
+//    电表起码
+    private String startElectric;
+
+//    水表起码
+    private String startWater;
+
+//       电量
+    private String electricQuantity;
+
+//    开始时间
+    private String stateTime;
+//    结束时间
+    private String endTime;
+
+//    房间状态 状态 1空闲、2预定、3入住、4脏房、5锁定、6维修
+    private int houseStatus;
+}

+ 9 - 0
src/main/java/com/template/model/vo/ScheduleVo.java

@@ -0,0 +1,9 @@
+package com.template.model.vo;
+
+import lombok.Data;
+
+@Data
+public class ScheduleVo {
+    private String dateName;
+    private ClassListVo classListVo;
+}

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

@@ -2,6 +2,10 @@ package com.template.services;
 
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.template.model.pojo.ClassSchedule;
 import com.template.model.pojo.ClassSchedule;
+import com.template.model.vo.ClassListVo;
+
+import java.time.LocalDate;
+import java.util.List;
 
 
 /**
 /**
  * <p>
  * <p>
@@ -13,4 +17,6 @@ import com.template.model.pojo.ClassSchedule;
  */
  */
 public interface ClassScheduleService extends IService<ClassSchedule> {
 public interface ClassScheduleService extends IService<ClassSchedule> {
 
 
+    ClassListVo  classList(LocalDate localDate, String teacherName);
+
 }
 }

+ 16 - 0
src/main/java/com/template/services/HouseLockService.java

@@ -0,0 +1,16 @@
+package com.template.services;
+
+import com.template.model.pojo.HouseLock;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author ceshi
+ * @since 2023-11-21
+ */
+public interface HouseLockService extends IService<HouseLock> {
+
+}

+ 3 - 0
src/main/java/com/template/services/HouseNumberService.java

@@ -3,6 +3,7 @@ package com.template.services;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.template.model.pojo.HouseNumber;
 import com.template.model.pojo.HouseNumber;
 import com.template.model.result.PageUtils;
 import com.template.model.result.PageUtils;
+import com.template.model.vo.CalendarPageVo;
 import com.template.model.vo.HouseStateVo;
 import com.template.model.vo.HouseStateVo;
 
 
 import java.util.Date;
 import java.util.Date;
@@ -18,4 +19,6 @@ import java.util.Date;
 public interface HouseNumberService extends IService<HouseNumber> {
 public interface HouseNumberService extends IService<HouseNumber> {
 
 
     PageUtils<HouseStateVo> houseStatePage(String keyWord, String houseType, int page, int size, Date date);
     PageUtils<HouseStateVo> houseStatePage(String keyWord, String houseType, int page, int size, Date date);
+
+    PageUtils<CalendarPageVo> houseStateCalendarPage(String keyWord, String houseType, int page, int size);
 }
 }

+ 4 - 0
src/main/java/com/template/services/HouseNumberStateService.java

@@ -3,6 +3,9 @@ package com.template.services;
 import com.template.model.pojo.HouseNumberState;
 import com.template.model.pojo.HouseNumberState;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.IService;
 
 
+import java.time.LocalDate;
+import java.util.List;
+
 /**
 /**
  * <p>
  * <p>
  *  服务类
  *  服务类
@@ -13,4 +16,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
  */
 public interface HouseNumberStateService extends IService<HouseNumberState> {
 public interface HouseNumberStateService extends IService<HouseNumberState> {
 
 
+    List<HouseNumberState> houseNumberStateList(LocalDate localDate, LocalDate endLocalDate, String houseNumberIds);
 }
 }

+ 16 - 0
src/main/java/com/template/services/HouseOrderBillService.java

@@ -0,0 +1,16 @@
+package com.template.services;
+
+import com.template.model.pojo.HouseOrderBill;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author ceshi
+ * @since 2023-11-21
+ */
+public interface HouseOrderBillService extends IService<HouseOrderBill> {
+
+}

+ 16 - 0
src/main/java/com/template/services/HouseOrderService.java

@@ -0,0 +1,16 @@
+package com.template.services;
+
+import com.template.model.pojo.HouseOrder;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author ceshi
+ * @since 2023-11-21
+ */
+public interface HouseOrderService extends IService<HouseOrder> {
+
+}

+ 1 - 0
src/main/java/com/template/services/HouseService.java

@@ -25,4 +25,5 @@ public interface HouseService extends IService<House> {
 
 
     List<RoomTypeVo> roomType();
     List<RoomTypeVo> roomType();
 
 
+
 }
 }

+ 26 - 0
src/main/java/com/template/services/impl/ClassScheduleServiceImpl.java

@@ -1,11 +1,19 @@
 package com.template.services.impl;
 package com.template.services.impl;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.template.mapper.ClassScheduleMapper;
 import com.template.mapper.ClassScheduleMapper;
+import com.template.model.pojo.HouseNumberState;
+import com.template.model.vo.ClassListVo;
 import com.template.services.ClassScheduleService;
 import com.template.services.ClassScheduleService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.template.model.pojo.ClassSchedule;
 import com.template.model.pojo.ClassSchedule;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
+import java.time.LocalDate;
+import java.util.List;
+
 /**
 /**
  * <p>
  * <p>
  *  服务实现类
  *  服务实现类
@@ -17,4 +25,22 @@ import org.springframework.stereotype.Service;
 @Service
 @Service
 public class ClassScheduleServiceImpl extends ServiceImpl<ClassScheduleMapper, ClassSchedule> implements ClassScheduleService {
 public class ClassScheduleServiceImpl extends ServiceImpl<ClassScheduleMapper, ClassSchedule> implements ClassScheduleService {
 
 
+    @Autowired
+    ClassScheduleMapper classScheduleMapper;
+
+    @Override
+    public ClassListVo classList(LocalDate localDate, String teacherName) {
+        LambdaQueryWrapper<ClassSchedule> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(ClassSchedule::getDateTime, localDate)
+                .like(ObjectUtils.isNotEmpty(teacherName),ClassSchedule::getJsxm,teacherName);
+        List<ClassSchedule> list = this.list(wrapper);
+
+        ClassListVo classListVo = new ClassListVo();
+        classListVo.setList(list);
+
+        String remarks=classScheduleMapper.remarks(localDate,teacherName);
+
+        classListVo.setRemarks(remarks);
+        return classListVo;
+    }
 }
 }

+ 20 - 0
src/main/java/com/template/services/impl/HouseLockServiceImpl.java

@@ -0,0 +1,20 @@
+package com.template.services.impl;
+
+import com.template.model.pojo.HouseLock;
+import com.template.mapper.HouseLockMapper;
+import com.template.services.HouseLockService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author ceshi
+ * @since 2023-11-21
+ */
+@Service
+public class HouseLockServiceImpl extends ServiceImpl<HouseLockMapper, HouseLock> implements HouseLockService {
+
+}

+ 8 - 0
src/main/java/com/template/services/impl/HouseNumberServiceImpl.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.template.mapper.HouseNumberMapper;
 import com.template.mapper.HouseNumberMapper;
 import com.template.model.pojo.HouseNumber;
 import com.template.model.pojo.HouseNumber;
 import com.template.model.result.PageUtils;
 import com.template.model.result.PageUtils;
+import com.template.model.vo.CalendarPageVo;
 import com.template.model.vo.HouseStateVo;
 import com.template.model.vo.HouseStateVo;
 import com.template.model.vo.HouseVo;
 import com.template.model.vo.HouseVo;
 import com.template.services.HouseNumberService;
 import com.template.services.HouseNumberService;
@@ -34,4 +35,11 @@ public class HouseNumberServiceImpl extends ServiceImpl<HouseNumberMapper, House
         IPage<HouseStateVo> result=houseNumberMapper.houseStatePage(pageVo,keyWord,houseType,date);
         IPage<HouseStateVo> result=houseNumberMapper.houseStatePage(pageVo,keyWord,houseType,date);
         return new PageUtils(result);
         return new PageUtils(result);
     }
     }
+
+    @Override
+    public PageUtils<CalendarPageVo> houseStateCalendarPage(String keyWord, String houseType, int page, int size) {
+        Page<CalendarPageVo> pageVo = new Page<>(page,size);
+        IPage<CalendarPageVo> result=houseNumberMapper.houseStateCalendarPage(pageVo,keyWord,houseType);
+        return new PageUtils(result);
+    }
 }
 }

+ 11 - 0
src/main/java/com/template/services/impl/HouseNumberStateServiceImpl.java

@@ -4,8 +4,12 @@ import com.template.model.pojo.HouseNumberState;
 import com.template.mapper.HouseNumberStateMapper;
 import com.template.mapper.HouseNumberStateMapper;
 import com.template.services.HouseNumberStateService;
 import com.template.services.HouseNumberStateService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
+import java.time.LocalDate;
+import java.util.List;
+
 /**
 /**
  * <p>
  * <p>
  *  服务实现类
  *  服务实现类
@@ -17,4 +21,11 @@ import org.springframework.stereotype.Service;
 @Service
 @Service
 public class HouseNumberStateServiceImpl extends ServiceImpl<HouseNumberStateMapper, HouseNumberState> implements HouseNumberStateService {
 public class HouseNumberStateServiceImpl extends ServiceImpl<HouseNumberStateMapper, HouseNumberState> implements HouseNumberStateService {
 
 
+    @Autowired
+    HouseNumberStateMapper houseNumberStateMapper;
+
+    @Override
+    public List<HouseNumberState> houseNumberStateList(LocalDate localDate, LocalDate endLocalDate, String houseNumberIds) {
+        return houseNumberStateMapper.houseNumberStateList(localDate,endLocalDate,houseNumberIds);
+    }
 }
 }

+ 20 - 0
src/main/java/com/template/services/impl/HouseOrderBillServiceImpl.java

@@ -0,0 +1,20 @@
+package com.template.services.impl;
+
+import com.template.model.pojo.HouseOrderBill;
+import com.template.mapper.HouseOrderBillMapper;
+import com.template.services.HouseOrderBillService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author ceshi
+ * @since 2023-11-21
+ */
+@Service
+public class HouseOrderBillServiceImpl extends ServiceImpl<HouseOrderBillMapper, HouseOrderBill> implements HouseOrderBillService {
+
+}

+ 20 - 0
src/main/java/com/template/services/impl/HouseOrderServiceImpl.java

@@ -0,0 +1,20 @@
+package com.template.services.impl;
+
+import com.template.model.pojo.HouseOrder;
+import com.template.mapper.HouseOrderMapper;
+import com.template.services.HouseOrderService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author ceshi
+ * @since 2023-11-21
+ */
+@Service
+public class HouseOrderServiceImpl extends ServiceImpl<HouseOrderMapper, HouseOrder> implements HouseOrderService {
+
+}

+ 2 - 0
src/main/java/com/template/services/impl/HouseServiceImpl.java

@@ -47,4 +47,6 @@ public class HouseServiceImpl extends ServiceImpl<HouseMapper, House> implements
     }
     }
 
 
 
 
+
+
 }
 }

+ 15 - 0
src/main/resources/mapper/template/ClassScheduleMapper.xml

@@ -2,4 +2,19 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.template.mapper.ClassScheduleMapper">
 <mapper namespace="com.template.mapper.ClassScheduleMapper">
 
 
+
+    <select id="remarks" resultType="java.lang.String">
+        SELECT
+        GROUP_CONCAT( cs.remark )
+        FROM
+        `class_schedule` cs
+        <where>
+            cs.deleted=0
+            and cs.date_time = #{localDate}
+            <if test="teacherName != null and teacherName != ''">
+                and cs.jsxm like '%' #{teacherName} '%'
+            </if>
+        </where>
+        GROUP BY date_time
+    </select>
 </mapper>
 </mapper>

+ 5 - 0
src/main/resources/mapper/template/HouseLockMapper.xml

@@ -0,0 +1,5 @@
+<?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.HouseLockMapper">
+
+</mapper>

+ 17 - 10
src/main/resources/mapper/template/HouseMapper.xml

@@ -26,7 +26,8 @@
         SELECT
         SELECT
         h.room_live_time AS time,
         h.room_live_time AS time,
         h.room_name AS `name`,
         h.room_name AS `name`,
-        (SELECT GROUP_CONCAT( DISTINCT hn.room_number ) FROM house_number hn WHERE hn.house_id =h.id and hn.deleted=0) as roomId ,
+        (SELECT GROUP_CONCAT( DISTINCT hn.room_number ) FROM house_number hn WHERE hn.house_id =h.id and hn.deleted=0)
+        as roomId ,
         h.room_price AS price,
         h.room_price AS price,
         h.visible AS visible,
         h.visible AS visible,
         h.number AS count,
         h.number AS count,
@@ -37,7 +38,7 @@
         <where>
         <where>
             h.deleted=0
             h.deleted=0
             <if test="keyWord != null and keyWord != ''">
             <if test="keyWord != null and keyWord != ''">
-                AND  h.room_type = #{type}
+                AND h.room_type = #{type}
             </if>
             </if>
         </where>
         </where>
         ) h1
         ) h1
@@ -50,18 +51,24 @@
     </select>
     </select>
 
 
     <select id="details" resultType="com.template.model.vo.HousedetailsVo">
     <select id="details" resultType="com.template.model.vo.HousedetailsVo">
-        SELECT
-            h.*,
-            ( SELECT GROUP_CONCAT( DISTINCT hn.room_number ) FROM house_number hn WHERE hn.house_id = h.id and hn.deleted=0 ) AS roomIds
+        SELECT h.*,
+               (SELECT GROUP_CONCAT(DISTINCT hn.room_number )
+                FROM house_number hn
+                WHERE hn.house_id = h.id
+                  and hn.deleted = 0) AS roomIds
 
 
-        FROM
-            `house` h
-        WHERE
-            h.id = #{houseId} AND h.deleted=0
+        FROM `house` h
+        WHERE h.id = #{houseId}
+          AND h.deleted = 0
     </select>
     </select>
     <select id="roomType" resultType="com.template.model.vo.RoomTypeVo">
     <select id="roomType" resultType="com.template.model.vo.RoomTypeVo">
-        SELECT id,room_name,room_type,room_price FROM `house` GROUP BY room_name,room_type,room_price,id
+        SELECT id, room_name, room_type, room_price
+        FROM `house`
+        where deleted = 0
+        GROUP BY room_name, room_type, room_price, id
     </select>
     </select>
 
 
 
 
+
+
 </mapper>
 </mapper>

+ 39 - 1
src/main/resources/mapper/template/HouseNumberMapper.xml

@@ -4,7 +4,7 @@
 
 
     <select id="houseStatePage" resultType="com.template.model.vo.HouseStateVo">
     <select id="houseStatePage" resultType="com.template.model.vo.HouseStateVo">
         SELECT
         SELECT
-        hn.id AS id,
+        hn.id AS houseNumberId,
         hn.house_id as houseId,
         hn.house_id as houseId,
         hn.room_number as houseNumber,
         hn.room_number as houseNumber,
         hn.house_status as houseStatus,
         hn.house_status as houseStatus,
@@ -39,5 +39,43 @@
         hn.room_number
         hn.room_number
     </select>
     </select>
 
 
+    <select id="houseStateCalendarPage" resultType="com.template.model.vo.CalendarPageVo">
+        SELECT
+        hn.id AS houseNumberId,
+        hn.house_id as houseId,
+        hn.room_number as houseNumber,
+        hn.house_status as houseStatus,
+        hn.`status` as houseType,
+        h.room_name as houseName,
+        hns.`status` AS status,
+        ho.reserve_name as reserveName,
+        ho.reserve_live_time as reserveLiveTime,
+        ho.reserve_leave_time as reserveLeaveTime,
+        h.room_price as price
+        FROM
+        `house_number` hn
+        LEFT JOIN house h ON h.id = hn.house_id
+        AND h.deleted = 0
+        LEFT JOIN house_number_state hns ON hn.id = hns.house_number_id
+        AND hns.deleted = 0
+
+        LEFT JOIN house_order ho ON hns.booking_id = ho.id
+        AND ho.deleted = 0
+        <where>
+            hn.deleted = 0
+            <if test="houseType != null and houseType != ''">
+                AND h.room_type = #{houseType}
+            </if>
+
+            <if test="keyWord != null and keyWord != ''">
+                AND ( hn.room_number LIKE '%' #{keyWord} '%' OR ho.reserve_name LIKE '%' #{keyWord} '%' )
+            </if>
+
+        </where>
+        ORDER BY
+        hn.room_number
+
+    </select>
+
 
 
 </mapper>
 </mapper>

+ 8 - 0
src/main/resources/mapper/template/HouseNumberStateMapper.xml

@@ -2,4 +2,12 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.template.mapper.HouseNumberStateMapper">
 <mapper namespace="com.template.mapper.HouseNumberStateMapper">
 
 
+    <select id="houseNumberStateList" resultType="com.template.model.pojo.HouseNumberState">
+        SELECT *
+        FROM `house_number_state`
+        WHERE FIND_IN_SET(house_number_id, #{houseNumberIds})
+          and #{endLocalDate} > start_time
+          and end_time > #{localDate}
+          and deleted = 0
+    </select>
 </mapper>
 </mapper>

+ 5 - 0
src/main/resources/mapper/template/HouseOrderBillMapper.xml

@@ -0,0 +1,5 @@
+<?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.HouseOrderBillMapper">
+
+</mapper>

+ 5 - 0
src/main/resources/mapper/template/HouseOrderMapper.xml

@@ -0,0 +1,5 @@
+<?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.HouseOrderMapper">
+
+</mapper>

+ 1 - 1
src/main/resources/mapper/template/HousePriceMapper.xml

@@ -56,6 +56,6 @@
         WHERE #{endLocalDate} > substring_index(set_date, ',', 1)
         WHERE #{endLocalDate} > substring_index(set_date, ',', 1)
           and substring_index(set_date, ',', -1) > #{localDate}
           and substring_index(set_date, ',', -1) > #{localDate}
           and FIND_IN_SET(house_id, #{ids})
           and FIND_IN_SET(house_id, #{ids})
-            and deleted=0
+          and deleted = 0
     </select>
     </select>
 </mapper>
 </mapper>

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


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


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


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


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


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


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


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


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


BIN
target/classes/com/template/handler/MyMetaObjectHandler.class


BIN
target/classes/com/template/mapper/ClassScheduleMapper.class


BIN
target/classes/com/template/mapper/HouseLockMapper.class


BIN
target/classes/com/template/mapper/HouseNumberMapper.class


BIN
target/classes/com/template/mapper/HouseNumberStateMapper.class


BIN
target/classes/com/template/mapper/HouseOrderBillMapper.class


BIN
target/classes/com/template/mapper/HouseOrderMapper.class


BIN
target/classes/com/template/model/dto/EstablishOrder.class


BIN
target/classes/com/template/model/pojo/ClassSchedule.class


BIN
target/classes/com/template/model/pojo/HouseLock.class


BIN
target/classes/com/template/model/pojo/HouseOrder.class


BIN
target/classes/com/template/model/pojo/HouseOrderBill.class


BIN
target/classes/com/template/model/vo/CalendarPageVo.class


BIN
target/classes/com/template/model/vo/ClassListVo.class


BIN
target/classes/com/template/model/vo/HouseNumberStateDateVo.class


BIN
target/classes/com/template/model/vo/HouseNumberStatePageVo.class


BIN
target/classes/com/template/model/vo/HouseStateVo.class


BIN
target/classes/com/template/model/vo/ParticularHouseNumberStatusVo.class


BIN
target/classes/com/template/model/vo/ScheduleVo.class


BIN
target/classes/com/template/services/ClassScheduleService.class


BIN
target/classes/com/template/services/HouseLockService.class


BIN
target/classes/com/template/services/HouseNumberService.class


BIN
target/classes/com/template/services/HouseNumberStateService.class


BIN
target/classes/com/template/services/HouseOrderBillService.class


BIN
target/classes/com/template/services/HouseOrderService.class


BIN
target/classes/com/template/services/impl/ClassScheduleServiceImpl.class


BIN
target/classes/com/template/services/impl/HouseLockServiceImpl.class


BIN
target/classes/com/template/services/impl/HouseNumberServiceImpl.class


BIN
target/classes/com/template/services/impl/HouseNumberStateServiceImpl.class


BIN
target/classes/com/template/services/impl/HouseOrderBillServiceImpl.class


BIN
target/classes/com/template/services/impl/HouseOrderServiceImpl.class


+ 15 - 0
target/classes/mapper/template/ClassScheduleMapper.xml

@@ -2,4 +2,19 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.template.mapper.ClassScheduleMapper">
 <mapper namespace="com.template.mapper.ClassScheduleMapper">
 
 
+
+    <select id="remarks" resultType="java.lang.String">
+        SELECT
+        GROUP_CONCAT( cs.remark )
+        FROM
+        `class_schedule` cs
+        <where>
+            cs.deleted=0
+            and cs.date_time = #{localDate}
+            <if test="teacherName != null and teacherName != ''">
+                and cs.jsxm like '%' #{teacherName} '%'
+            </if>
+        </where>
+        GROUP BY date_time
+    </select>
 </mapper>
 </mapper>

+ 5 - 0
target/classes/mapper/template/HouseLockMapper.xml

@@ -0,0 +1,5 @@
+<?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.HouseLockMapper">
+
+</mapper>

+ 17 - 10
target/classes/mapper/template/HouseMapper.xml

@@ -26,7 +26,8 @@
         SELECT
         SELECT
         h.room_live_time AS time,
         h.room_live_time AS time,
         h.room_name AS `name`,
         h.room_name AS `name`,
-        (SELECT GROUP_CONCAT( DISTINCT hn.room_number ) FROM house_number hn WHERE hn.house_id =h.id and hn.deleted=0) as roomId ,
+        (SELECT GROUP_CONCAT( DISTINCT hn.room_number ) FROM house_number hn WHERE hn.house_id =h.id and hn.deleted=0)
+        as roomId ,
         h.room_price AS price,
         h.room_price AS price,
         h.visible AS visible,
         h.visible AS visible,
         h.number AS count,
         h.number AS count,
@@ -37,7 +38,7 @@
         <where>
         <where>
             h.deleted=0
             h.deleted=0
             <if test="keyWord != null and keyWord != ''">
             <if test="keyWord != null and keyWord != ''">
-                AND  h.room_type = #{type}
+                AND h.room_type = #{type}
             </if>
             </if>
         </where>
         </where>
         ) h1
         ) h1
@@ -50,18 +51,24 @@
     </select>
     </select>
 
 
     <select id="details" resultType="com.template.model.vo.HousedetailsVo">
     <select id="details" resultType="com.template.model.vo.HousedetailsVo">
-        SELECT
-            h.*,
-            ( SELECT GROUP_CONCAT( DISTINCT hn.room_number ) FROM house_number hn WHERE hn.house_id = h.id and hn.deleted=0 ) AS roomIds
+        SELECT h.*,
+               (SELECT GROUP_CONCAT(DISTINCT hn.room_number )
+                FROM house_number hn
+                WHERE hn.house_id = h.id
+                  and hn.deleted = 0) AS roomIds
 
 
-        FROM
-            `house` h
-        WHERE
-            h.id = #{houseId} AND h.deleted=0
+        FROM `house` h
+        WHERE h.id = #{houseId}
+          AND h.deleted = 0
     </select>
     </select>
     <select id="roomType" resultType="com.template.model.vo.RoomTypeVo">
     <select id="roomType" resultType="com.template.model.vo.RoomTypeVo">
-        SELECT id,room_name,room_type,room_price FROM `house` GROUP BY room_name,room_type,room_price,id
+        SELECT id, room_name, room_type, room_price
+        FROM `house`
+        where deleted = 0
+        GROUP BY room_name, room_type, room_price, id
     </select>
     </select>
 
 
 
 
+
+
 </mapper>
 </mapper>

+ 39 - 1
target/classes/mapper/template/HouseNumberMapper.xml

@@ -4,7 +4,7 @@
 
 
     <select id="houseStatePage" resultType="com.template.model.vo.HouseStateVo">
     <select id="houseStatePage" resultType="com.template.model.vo.HouseStateVo">
         SELECT
         SELECT
-        hn.id AS id,
+        hn.id AS houseNumberId,
         hn.house_id as houseId,
         hn.house_id as houseId,
         hn.room_number as houseNumber,
         hn.room_number as houseNumber,
         hn.house_status as houseStatus,
         hn.house_status as houseStatus,
@@ -39,5 +39,43 @@
         hn.room_number
         hn.room_number
     </select>
     </select>
 
 
+    <select id="houseStateCalendarPage" resultType="com.template.model.vo.CalendarPageVo">
+        SELECT
+        hn.id AS houseNumberId,
+        hn.house_id as houseId,
+        hn.room_number as houseNumber,
+        hn.house_status as houseStatus,
+        hn.`status` as houseType,
+        h.room_name as houseName,
+        hns.`status` AS status,
+        ho.reserve_name as reserveName,
+        ho.reserve_live_time as reserveLiveTime,
+        ho.reserve_leave_time as reserveLeaveTime,
+        h.room_price as price
+        FROM
+        `house_number` hn
+        LEFT JOIN house h ON h.id = hn.house_id
+        AND h.deleted = 0
+        LEFT JOIN house_number_state hns ON hn.id = hns.house_number_id
+        AND hns.deleted = 0
+
+        LEFT JOIN house_order ho ON hns.booking_id = ho.id
+        AND ho.deleted = 0
+        <where>
+            hn.deleted = 0
+            <if test="houseType != null and houseType != ''">
+                AND h.room_type = #{houseType}
+            </if>
+
+            <if test="keyWord != null and keyWord != ''">
+                AND ( hn.room_number LIKE '%' #{keyWord} '%' OR ho.reserve_name LIKE '%' #{keyWord} '%' )
+            </if>
+
+        </where>
+        ORDER BY
+        hn.room_number
+
+    </select>
+
 
 
 </mapper>
 </mapper>

+ 8 - 0
target/classes/mapper/template/HouseNumberStateMapper.xml

@@ -2,4 +2,12 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.template.mapper.HouseNumberStateMapper">
 <mapper namespace="com.template.mapper.HouseNumberStateMapper">
 
 
+    <select id="houseNumberStateList" resultType="com.template.model.pojo.HouseNumberState">
+        SELECT *
+        FROM `house_number_state`
+        WHERE FIND_IN_SET(house_number_id, #{houseNumberIds})
+          and #{endLocalDate} > start_time
+          and end_time > #{localDate}
+          and deleted = 0
+    </select>
 </mapper>
 </mapper>

+ 5 - 0
target/classes/mapper/template/HouseOrderBillMapper.xml

@@ -0,0 +1,5 @@
+<?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.HouseOrderBillMapper">
+
+</mapper>

+ 5 - 0
target/classes/mapper/template/HouseOrderMapper.xml

@@ -0,0 +1,5 @@
+<?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.HouseOrderMapper">
+
+</mapper>

+ 0 - 0
target/classes/mapper/template/HousePriceMapper.xml


Một số tệp đã không được hiển thị bởi vì quá nhiều tập tin thay đổi trong này khác