diff --git a/dormitory/.idea/.gitignore b/dormitory/.idea/.gitignore
new file mode 100644
index 0000000..73f69e0
--- /dev/null
+++ b/dormitory/.idea/.gitignore
@@ -0,0 +1,8 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
+# Editor-based HTTP Client requests
+/httpRequests/
diff --git a/dormitory/.idea/compiler.xml b/dormitory/.idea/compiler.xml
new file mode 100644
index 0000000..c88428c
--- /dev/null
+++ b/dormitory/.idea/compiler.xml
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dormitory/.idea/encodings.xml b/dormitory/.idea/encodings.xml
new file mode 100644
index 0000000..fade66b
--- /dev/null
+++ b/dormitory/.idea/encodings.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dormitory/.idea/inspectionProfiles/Project_Default.xml b/dormitory/.idea/inspectionProfiles/Project_Default.xml
new file mode 100644
index 0000000..9aca983
--- /dev/null
+++ b/dormitory/.idea/inspectionProfiles/Project_Default.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dormitory/.idea/jarRepositories.xml b/dormitory/.idea/jarRepositories.xml
new file mode 100644
index 0000000..e6b00eb
--- /dev/null
+++ b/dormitory/.idea/jarRepositories.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dormitory/.idea/libraries/Maven__ch_qos_logback_logback_classic_1_2_3.xml b/dormitory/.idea/libraries/Maven__ch_qos_logback_logback_classic_1_2_3.xml
new file mode 100644
index 0000000..9fd5863
--- /dev/null
+++ b/dormitory/.idea/libraries/Maven__ch_qos_logback_logback_classic_1_2_3.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dormitory/.idea/libraries/Maven__ch_qos_logback_logback_core_1_2_3.xml b/dormitory/.idea/libraries/Maven__ch_qos_logback_logback_core_1_2_3.xml
new file mode 100644
index 0000000..7d139dc
--- /dev/null
+++ b/dormitory/.idea/libraries/Maven__ch_qos_logback_logback_core_1_2_3.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dormitory/.idea/libraries/Maven__com_fasterxml_classmate_1_5_1.xml b/dormitory/.idea/libraries/Maven__com_fasterxml_classmate_1_5_1.xml
new file mode 100644
index 0000000..c4d5ea9
--- /dev/null
+++ b/dormitory/.idea/libraries/Maven__com_fasterxml_classmate_1_5_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dormitory/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_11_3.xml b/dormitory/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_11_3.xml
new file mode 100644
index 0000000..2eb1792
--- /dev/null
+++ b/dormitory/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_11_3.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dormitory/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_11_3.xml b/dormitory/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_11_3.xml
new file mode 100644
index 0000000..e9ffebf
--- /dev/null
+++ b/dormitory/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_11_3.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dormitory/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_11_3.xml b/dormitory/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_11_3.xml
new file mode 100644
index 0000000..a8f8b65
--- /dev/null
+++ b/dormitory/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_11_3.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dormitory/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_11_3.xml b/dormitory/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_11_3.xml
new file mode 100644
index 0000000..b901719
--- /dev/null
+++ b/dormitory/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_11_3.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dormitory/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_11_3.xml b/dormitory/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_11_3.xml
new file mode 100644
index 0000000..5201dab
--- /dev/null
+++ b/dormitory/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_11_3.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dormitory/.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_11_3.xml b/dormitory/.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_11_3.xml
new file mode 100644
index 0000000..200c69f
--- /dev/null
+++ b/dormitory/.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_11_3.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dormitory/.idea/libraries/Maven__com_github_jsqlparser_jsqlparser_3_2.xml b/dormitory/.idea/libraries/Maven__com_github_jsqlparser_jsqlparser_3_2.xml
new file mode 100644
index 0000000..de40894
--- /dev/null
+++ b/dormitory/.idea/libraries/Maven__com_github_jsqlparser_jsqlparser_3_2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dormitory/.idea/libraries/Maven__com_github_pagehelper_pagehelper_5_2_0.xml b/dormitory/.idea/libraries/Maven__com_github_pagehelper_pagehelper_5_2_0.xml
new file mode 100644
index 0000000..779b09b
--- /dev/null
+++ b/dormitory/.idea/libraries/Maven__com_github_pagehelper_pagehelper_5_2_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dormitory/.idea/libraries/Maven__com_github_pagehelper_pagehelper_spring_boot_autoconfigure_1_3_0.xml b/dormitory/.idea/libraries/Maven__com_github_pagehelper_pagehelper_spring_boot_autoconfigure_1_3_0.xml
new file mode 100644
index 0000000..9973220
--- /dev/null
+++ b/dormitory/.idea/libraries/Maven__com_github_pagehelper_pagehelper_spring_boot_autoconfigure_1_3_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dormitory/.idea/libraries/Maven__com_github_pagehelper_pagehelper_spring_boot_starter_1_3_0.xml b/dormitory/.idea/libraries/Maven__com_github_pagehelper_pagehelper_spring_boot_starter_1_3_0.xml
new file mode 100644
index 0000000..0be01fb
--- /dev/null
+++ b/dormitory/.idea/libraries/Maven__com_github_pagehelper_pagehelper_spring_boot_starter_1_3_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dormitory/.idea/libraries/Maven__com_zaxxer_HikariCP_3_4_5.xml b/dormitory/.idea/libraries/Maven__com_zaxxer_HikariCP_3_4_5.xml
new file mode 100644
index 0000000..828efa9
--- /dev/null
+++ b/dormitory/.idea/libraries/Maven__com_zaxxer_HikariCP_3_4_5.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dormitory/.idea/libraries/Maven__io_jsonwebtoken_jjwt_0_9_1.xml b/dormitory/.idea/libraries/Maven__io_jsonwebtoken_jjwt_0_9_1.xml
new file mode 100644
index 0000000..c24f080
--- /dev/null
+++ b/dormitory/.idea/libraries/Maven__io_jsonwebtoken_jjwt_0_9_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dormitory/.idea/libraries/Maven__jakarta_annotation_jakarta_annotation_api_1_3_5.xml b/dormitory/.idea/libraries/Maven__jakarta_annotation_jakarta_annotation_api_1_3_5.xml
new file mode 100644
index 0000000..d32f94b
--- /dev/null
+++ b/dormitory/.idea/libraries/Maven__jakarta_annotation_jakarta_annotation_api_1_3_5.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dormitory/.idea/libraries/Maven__javax_validation_validation_api_2_0_1_Final.xml b/dormitory/.idea/libraries/Maven__javax_validation_validation_api_2_0_1_Final.xml
new file mode 100644
index 0000000..4e292df
--- /dev/null
+++ b/dormitory/.idea/libraries/Maven__javax_validation_validation_api_2_0_1_Final.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dormitory/.idea/libraries/Maven__mysql_mysql_connector_java_8_0_19.xml b/dormitory/.idea/libraries/Maven__mysql_mysql_connector_java_8_0_19.xml
new file mode 100644
index 0000000..7efde22
--- /dev/null
+++ b/dormitory/.idea/libraries/Maven__mysql_mysql_connector_java_8_0_19.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dormitory/.idea/libraries/Maven__org_apache_logging_log4j_log4j_api_2_13_3.xml b/dormitory/.idea/libraries/Maven__org_apache_logging_log4j_log4j_api_2_13_3.xml
new file mode 100644
index 0000000..97f549f
--- /dev/null
+++ b/dormitory/.idea/libraries/Maven__org_apache_logging_log4j_log4j_api_2_13_3.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dormitory/.idea/libraries/Maven__org_apache_logging_log4j_log4j_to_slf4j_2_13_3.xml b/dormitory/.idea/libraries/Maven__org_apache_logging_log4j_log4j_to_slf4j_2_13_3.xml
new file mode 100644
index 0000000..9e7e657
--- /dev/null
+++ b/dormitory/.idea/libraries/Maven__org_apache_logging_log4j_log4j_to_slf4j_2_13_3.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dormitory/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_core_9_0_39.xml b/dormitory/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_core_9_0_39.xml
new file mode 100644
index 0000000..e8f66c2
--- /dev/null
+++ b/dormitory/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_core_9_0_39.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dormitory/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_websocket_9_0_39.xml b/dormitory/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_websocket_9_0_39.xml
new file mode 100644
index 0000000..997e3eb
--- /dev/null
+++ b/dormitory/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_websocket_9_0_39.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dormitory/.idea/libraries/Maven__org_glassfish_jakarta_el_3_0_3.xml b/dormitory/.idea/libraries/Maven__org_glassfish_jakarta_el_3_0_3.xml
new file mode 100644
index 0000000..99f051d
--- /dev/null
+++ b/dormitory/.idea/libraries/Maven__org_glassfish_jakarta_el_3_0_3.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dormitory/.idea/libraries/Maven__org_hibernate_hibernate_validator_5_4_1_Final.xml b/dormitory/.idea/libraries/Maven__org_hibernate_hibernate_validator_5_4_1_Final.xml
new file mode 100644
index 0000000..56bb5b2
--- /dev/null
+++ b/dormitory/.idea/libraries/Maven__org_hibernate_hibernate_validator_5_4_1_Final.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dormitory/.idea/libraries/Maven__org_jboss_logging_jboss_logging_3_4_1_Final.xml b/dormitory/.idea/libraries/Maven__org_jboss_logging_jboss_logging_3_4_1_Final.xml
new file mode 100644
index 0000000..030eab7
--- /dev/null
+++ b/dormitory/.idea/libraries/Maven__org_jboss_logging_jboss_logging_3_4_1_Final.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dormitory/.idea/libraries/Maven__org_mybatis_mybatis_3_5_6.xml b/dormitory/.idea/libraries/Maven__org_mybatis_mybatis_3_5_6.xml
new file mode 100644
index 0000000..e80cde8
--- /dev/null
+++ b/dormitory/.idea/libraries/Maven__org_mybatis_mybatis_3_5_6.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dormitory/.idea/libraries/Maven__org_mybatis_mybatis_spring_2_0_6.xml b/dormitory/.idea/libraries/Maven__org_mybatis_mybatis_spring_2_0_6.xml
new file mode 100644
index 0000000..10f4754
--- /dev/null
+++ b/dormitory/.idea/libraries/Maven__org_mybatis_mybatis_spring_2_0_6.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dormitory/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_autoconfigure_2_1_4.xml b/dormitory/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_autoconfigure_2_1_4.xml
new file mode 100644
index 0000000..9a4ca5c
--- /dev/null
+++ b/dormitory/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_autoconfigure_2_1_4.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dormitory/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_starter_2_1_4.xml b/dormitory/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_starter_2_1_4.xml
new file mode 100644
index 0000000..bb2cadc
--- /dev/null
+++ b/dormitory/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_starter_2_1_4.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dormitory/.idea/libraries/Maven__org_slf4j_jul_to_slf4j_1_7_30.xml b/dormitory/.idea/libraries/Maven__org_slf4j_jul_to_slf4j_1_7_30.xml
new file mode 100644
index 0000000..921008b
--- /dev/null
+++ b/dormitory/.idea/libraries/Maven__org_slf4j_jul_to_slf4j_1_7_30.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dormitory/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_30.xml b/dormitory/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_30.xml
new file mode 100644
index 0000000..d633afa
--- /dev/null
+++ b/dormitory/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_30.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dormitory/.idea/libraries/Maven__org_springframework_boot_spring_boot_2_3_6_RELEASE.xml b/dormitory/.idea/libraries/Maven__org_springframework_boot_spring_boot_2_3_6_RELEASE.xml
new file mode 100644
index 0000000..e8cdee3
--- /dev/null
+++ b/dormitory/.idea/libraries/Maven__org_springframework_boot_spring_boot_2_3_6_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dormitory/.idea/libraries/Maven__org_springframework_boot_spring_boot_autoconfigure_2_3_6_RELEASE.xml b/dormitory/.idea/libraries/Maven__org_springframework_boot_spring_boot_autoconfigure_2_3_6_RELEASE.xml
new file mode 100644
index 0000000..ccb28c1
--- /dev/null
+++ b/dormitory/.idea/libraries/Maven__org_springframework_boot_spring_boot_autoconfigure_2_3_6_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dormitory/.idea/libraries/Maven__org_springframework_boot_spring_boot_devtools_2_3_6_RELEASE.xml b/dormitory/.idea/libraries/Maven__org_springframework_boot_spring_boot_devtools_2_3_6_RELEASE.xml
new file mode 100644
index 0000000..f8dbabb
--- /dev/null
+++ b/dormitory/.idea/libraries/Maven__org_springframework_boot_spring_boot_devtools_2_3_6_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dormitory/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_2_3_6_RELEASE.xml b/dormitory/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_2_3_6_RELEASE.xml
new file mode 100644
index 0000000..985de3c
--- /dev/null
+++ b/dormitory/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_2_3_6_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dormitory/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_jdbc_2_3_6_RELEASE.xml b/dormitory/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_jdbc_2_3_6_RELEASE.xml
new file mode 100644
index 0000000..ce6d6d8
--- /dev/null
+++ b/dormitory/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_jdbc_2_3_6_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dormitory/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_json_2_3_6_RELEASE.xml b/dormitory/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_json_2_3_6_RELEASE.xml
new file mode 100644
index 0000000..0bf51d5
--- /dev/null
+++ b/dormitory/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_json_2_3_6_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dormitory/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_logging_2_3_6_RELEASE.xml b/dormitory/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_logging_2_3_6_RELEASE.xml
new file mode 100644
index 0000000..d1ed4b8
--- /dev/null
+++ b/dormitory/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_logging_2_3_6_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dormitory/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_tomcat_2_3_6_RELEASE.xml b/dormitory/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_tomcat_2_3_6_RELEASE.xml
new file mode 100644
index 0000000..3f0c6aa
--- /dev/null
+++ b/dormitory/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_tomcat_2_3_6_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dormitory/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_web_2_3_6_RELEASE.xml b/dormitory/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_web_2_3_6_RELEASE.xml
new file mode 100644
index 0000000..d8fd8ff
--- /dev/null
+++ b/dormitory/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_web_2_3_6_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dormitory/.idea/libraries/Maven__org_springframework_spring_aop_5_2_11_RELEASE.xml b/dormitory/.idea/libraries/Maven__org_springframework_spring_aop_5_2_11_RELEASE.xml
new file mode 100644
index 0000000..a8e1c91
--- /dev/null
+++ b/dormitory/.idea/libraries/Maven__org_springframework_spring_aop_5_2_11_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dormitory/.idea/libraries/Maven__org_springframework_spring_beans_5_2_11_RELEASE.xml b/dormitory/.idea/libraries/Maven__org_springframework_spring_beans_5_2_11_RELEASE.xml
new file mode 100644
index 0000000..feba9db
--- /dev/null
+++ b/dormitory/.idea/libraries/Maven__org_springframework_spring_beans_5_2_11_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dormitory/.idea/libraries/Maven__org_springframework_spring_context_5_2_11_RELEASE.xml b/dormitory/.idea/libraries/Maven__org_springframework_spring_context_5_2_11_RELEASE.xml
new file mode 100644
index 0000000..9c57418
--- /dev/null
+++ b/dormitory/.idea/libraries/Maven__org_springframework_spring_context_5_2_11_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dormitory/.idea/libraries/Maven__org_springframework_spring_core_5_2_11_RELEASE.xml b/dormitory/.idea/libraries/Maven__org_springframework_spring_core_5_2_11_RELEASE.xml
new file mode 100644
index 0000000..6a2637f
--- /dev/null
+++ b/dormitory/.idea/libraries/Maven__org_springframework_spring_core_5_2_11_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dormitory/.idea/libraries/Maven__org_springframework_spring_expression_5_2_11_RELEASE.xml b/dormitory/.idea/libraries/Maven__org_springframework_spring_expression_5_2_11_RELEASE.xml
new file mode 100644
index 0000000..628fb34
--- /dev/null
+++ b/dormitory/.idea/libraries/Maven__org_springframework_spring_expression_5_2_11_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dormitory/.idea/libraries/Maven__org_springframework_spring_jcl_5_2_11_RELEASE.xml b/dormitory/.idea/libraries/Maven__org_springframework_spring_jcl_5_2_11_RELEASE.xml
new file mode 100644
index 0000000..5173e16
--- /dev/null
+++ b/dormitory/.idea/libraries/Maven__org_springframework_spring_jcl_5_2_11_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dormitory/.idea/libraries/Maven__org_springframework_spring_jdbc_5_2_11_RELEASE.xml b/dormitory/.idea/libraries/Maven__org_springframework_spring_jdbc_5_2_11_RELEASE.xml
new file mode 100644
index 0000000..a2331a8
--- /dev/null
+++ b/dormitory/.idea/libraries/Maven__org_springframework_spring_jdbc_5_2_11_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dormitory/.idea/libraries/Maven__org_springframework_spring_tx_5_2_11_RELEASE.xml b/dormitory/.idea/libraries/Maven__org_springframework_spring_tx_5_2_11_RELEASE.xml
new file mode 100644
index 0000000..aa063e3
--- /dev/null
+++ b/dormitory/.idea/libraries/Maven__org_springframework_spring_tx_5_2_11_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dormitory/.idea/libraries/Maven__org_springframework_spring_web_5_2_11_RELEASE.xml b/dormitory/.idea/libraries/Maven__org_springframework_spring_web_5_2_11_RELEASE.xml
new file mode 100644
index 0000000..b9ea0c9
--- /dev/null
+++ b/dormitory/.idea/libraries/Maven__org_springframework_spring_web_5_2_11_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dormitory/.idea/libraries/Maven__org_springframework_spring_webmvc_5_2_11_RELEASE.xml b/dormitory/.idea/libraries/Maven__org_springframework_spring_webmvc_5_2_11_RELEASE.xml
new file mode 100644
index 0000000..8e314e0
--- /dev/null
+++ b/dormitory/.idea/libraries/Maven__org_springframework_spring_webmvc_5_2_11_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dormitory/.idea/libraries/Maven__org_yaml_snakeyaml_1_26.xml b/dormitory/.idea/libraries/Maven__org_yaml_snakeyaml_1_26.xml
new file mode 100644
index 0000000..7d741c7
--- /dev/null
+++ b/dormitory/.idea/libraries/Maven__org_yaml_snakeyaml_1_26.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dormitory/.idea/misc.xml b/dormitory/.idea/misc.xml
new file mode 100644
index 0000000..e8942bd
--- /dev/null
+++ b/dormitory/.idea/misc.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dormitory/.idea/modules.xml b/dormitory/.idea/modules.xml
new file mode 100644
index 0000000..28617c2
--- /dev/null
+++ b/dormitory/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dormitory/.idea/uiDesigner.xml b/dormitory/.idea/uiDesigner.xml
new file mode 100644
index 0000000..e96534f
--- /dev/null
+++ b/dormitory/.idea/uiDesigner.xml
@@ -0,0 +1,124 @@
+
+
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+
+
+
\ No newline at end of file
diff --git a/dormitory/dormitory.iml b/dormitory/dormitory.iml
new file mode 100644
index 0000000..f9797e2
--- /dev/null
+++ b/dormitory/dormitory.iml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dormitory/pom.xml b/dormitory/pom.xml
new file mode 100644
index 0000000..9c53e60
--- /dev/null
+++ b/dormitory/pom.xml
@@ -0,0 +1,98 @@
+
+
+ 4.0.0
+
+ org.springframework.boot
+ spring-boot-starter-parent
+ 2.3.6.RELEASE
+
+
+ com.yanzhen
+ dormitory
+ 0.0.1-SNAPSHOT
+ dormitory
+ Demo project for Spring Boot
+
+
+ 1.8
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-jdbc
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.mybatis.spring.boot
+ mybatis-spring-boot-starter
+ 2.1.4
+
+
+
+ com.github.pagehelper
+ pagehelper-spring-boot-starter
+ 1.3.0
+
+
+
+ org.hibernate
+ hibernate-validator
+ 5.4.1.Final
+
+
+
+ org.springframework.boot
+ spring-boot-devtools
+ runtime
+ true
+
+
+ mysql
+ mysql-connector-java
+ 8.0.17
+ runtime
+
+
+
+ io.jsonwebtoken
+ jjwt
+ 0.9.1
+
+
+
+
+
+
+
+
+
+ src/main/java
+
+ **/*.xml
+
+
+
+ src/main/resources
+
+ **/*.yml
+ **/*.properties
+ **/*.xml
+ public/**
+ static/**
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+
+
diff --git a/dormitory/src/main/java/com/yanzhen/DormitoryApplication.java b/dormitory/src/main/java/com/yanzhen/DormitoryApplication.java
new file mode 100644
index 0000000..0b85af6
--- /dev/null
+++ b/dormitory/src/main/java/com/yanzhen/DormitoryApplication.java
@@ -0,0 +1,15 @@
+package com.yanzhen; // 定义包名
+
+import org.mybatis.spring.annotation.MapperScan; // 导入MyBatis的MapperScan注解
+import org.springframework.boot.SpringApplication; // 导入Spring Boot的SpringApplication类
+import org.springframework.boot.autoconfigure.SpringBootApplication; // 导入Spring Boot的SpringBootApplication注解
+
+@SpringBootApplication // 标注这是一个Spring Boot应用
+@MapperScan({"com.yanzhen.mapper"}) // 扫描指定包下的Mapper接口,自动生成实现类
+public class DormitoryApplication { // 定义主应用类
+
+ public static void main(String[] args) { // 主方法,程序入口
+ SpringApplication.run(DormitoryApplication.class, args); // 启动Spring Boot应用
+ }
+
+}
\ No newline at end of file
diff --git a/dormitory/src/main/java/com/yanzhen/controller/AbsenceController.java b/dormitory/src/main/java/com/yanzhen/controller/AbsenceController.java
new file mode 100644
index 0000000..3ced4ff
--- /dev/null
+++ b/dormitory/src/main/java/com/yanzhen/controller/AbsenceController.java
@@ -0,0 +1,85 @@
+package com.yanzhen.controller; // 定义包名
+
+import com.github.pagehelper.PageInfo; // 导入分页插件
+import com.yanzhen.entity.Absence; // 导入Absence实体类
+import com.yanzhen.entity.Dormitory; // 导入Dormitory实体类
+import com.yanzhen.entity.Student; // 导入Student实体类
+import com.yanzhen.service.AbsenceService缺勤管理; // 导入AbsenceService服务接口
+import com.yanzhen.service.DormitoryService宿舍编号设置; // 导入DormitoryService服务接口
+import com.yanzhen.service.StudentService学生管理; // 导入StudentService服务接口
+import com.yanzhen.utils.Result; // 导入Result工具类
+import org.springframework.beans.factory.annotation.Autowired; // 导入Spring的自动装配注解
+import org.springframework.web.bind.annotation.*; // 导入Spring MVC的注解
+
+import java.util.Map; // 导入Map集合
+
+@RestController // 声明这是一个控制器,并且返回的数据直接写入HTTP响应体中
+@RequestMapping("/absence") // 设置请求路径前缀为/absence
+public class AbsenceController { // 定义AbsenceController类
+
+ @Autowired // 自动注入AbsenceService实例
+ private AbsenceService缺勤管理 absenceService;
+ @Autowired // 自动注入StudentService实例
+ private StudentService学生管理 studentService;
+ @Autowired // 自动注入DormitoryService实例
+ private DormitoryService宿舍编号设置 dormitoryService;
+
+ @PostMapping("create") // 映射HTTP POST请求到create方法
+ public Result create(@RequestBody Absence absence){ // 接收请求体中的Absence对象
+ int flag = absenceService.create(absence); // 调用服务层创建记录
+ if(flag>0){ // 如果创建成功
+ return Result.ok(); // 返回成功结果
+ }else{ // 如果创建失败
+ return Result.fail(); // 返回失败结果
+ }
+ }
+
+ @GetMapping("delete") // 映射HTTP GET请求到delete方法
+ public Result delete(String ids){ // 接收请求参数ids
+ int flag = absenceService.delete(ids); // 调用服务层删除记录
+ if(flag>0){ // 如果删除成功
+ return Result.ok(); // 返回成功结果
+ }else{ // 如果删除失败
+ return Result.fail(); // 返回失败结果
+ }
+ }
+
+ @PostMapping("update") // 映射HTTP POST请求到update方法
+ public Result update(@RequestBody Absence absence){ // 接收请求体中的Absence对象
+ int flag = absenceService.updateSelective(absence); // 调用服务层更新记录
+ if(flag>0){ // 如果更新成功
+ return Result.ok(); // 返回成功结果
+ }else{ // 如果更新失败
+ return Result.fail(); // 返回失败结果
+ }
+ }
+
+ @GetMapping("detail") // 映射HTTP GET请求到detail方法
+ public Absence detail(Integer id){ // 接收请求参数id
+ return absenceService.detail(id); // 调用服务层获取详情并返回
+ }
+
+ @PostMapping("query") // 映射HTTP POST请求到query方法
+ public Map query(@RequestBody Absence absence){ // 接收请求体中的Absence对象
+ PageInfo pageInfo = new PageInfo(); // 创建分页信息对象
+ if(absence.getName() != null){ // 如果请求体中的name属性不为空
+ Student detailId = studentService.detailByName(absence.getName()); // 根据name查询学生ID
+ if(detailId != null){ // 如果找到对应的学生ID
+ absence.setStudentId(detailId.getId()); // 设置学生ID到absence对象中
+ }else{ // 如果未找到对应的学生ID
+ pageInfo.setList(null); // 设置分页列表为空
+ pageInfo.setSize(0); // 设置分页大小为0
+ return Result.ok(pageInfo); // 返回空的分页结果
+ }
+ }
+ pageInfo = absenceService.query(absence); // 调用服务层查询记录
+ pageInfo.getList().forEach(entity->{ // 遍历查询结果列表
+ Student detail = studentService.detail(entity.getStudentId()); // 根据学生ID查询学生详情
+ entity.setStudent(detail); // 设置学生详情到absence对象中
+ Dormitory dormitory = dormitoryService.detail(entity.getDormitoryId()); // 根据宿舍ID查询宿舍详情
+ entity.setDormitory(dormitory); // 设置宿舍详情到absence对象中
+ });
+ return Result.ok(pageInfo); // 返回查询结果
+ }
+
+}
\ No newline at end of file
diff --git a/dormitory/src/main/java/com/yanzhen/controller/BedController.java b/dormitory/src/main/java/com/yanzhen/controller/BedController.java
new file mode 100644
index 0000000..9aa07db
--- /dev/null
+++ b/dormitory/src/main/java/com/yanzhen/controller/BedController.java
@@ -0,0 +1,65 @@
+package com.yanzhen.controller;
+
+import com.github.pagehelper.PageInfo;
+import com.yanzhen.entity.Bed;
+import com.yanzhen.service.BedService在线选宿舍;
+import com.yanzhen.service.DormitoryStudentService宿舍预选设置;
+import com.yanzhen.utils.Result;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Map;
+
+@RestController// 声明这是一个控制器,并且返回的数据直接写入HTTP响应体中
+@RequestMapping("/bed")// 设置请求路径前缀为/bed,所有的映射都在这个路径之下
+public class BedController {
+
+ @Autowired// 自动注入BedService实例
+ private BedService在线选宿舍 bedService;
+ @Autowired// 自动注入DormitoryStudentService实例,处理与学生宿舍相关的业务逻辑
+ private DormitoryStudentService宿舍预选设置 dormitoryStudentService;
+
+ @PostMapping("create")// 映射HTTP POST请求到create方法
+ public Result create(@RequestBody Bed bed){// 从请求体中获取Bed对象
+ int flag = bedService.create(bed);// 调用bedService的create方法创建床位记录
+ if(flag>0){// 如果创建成功
+ return Result.ok();// 返回成功结果
+ }else{// 如果创建失败
+ return Result.fail();// 返回失败结果
+ }
+ }
+
+ @GetMapping("delete")// 映射HTTP GET请求到delete方法,删除床位记录
+ public Result delete(String ids){// 从请求参数中获取要删除的床位ID字符串
+ int flag = bedService.delete(ids);// 调用bedService的delete方法删除床位记录,传入要删除的床位ID字符串
+ if(flag>0){// 如果删除成功
+ return Result.ok();// 返回成功结果
+ }else{// 如果删除失败
+ return Result.fail();// 返回失败结果
+ }
+ }
+
+ @PostMapping("update")// 映射HTTP POST请求到update方法,更新床位信息
+ public Result update(@RequestBody Bed bed){// 从请求体中获取更新后的Bed对象
+ int flag = bedService.update(bed);// 调用bedService的update方法更新床位记录
+ if(flag>0){// 如果更新成功
+ return Result.ok();// 返回成功结果
+ }else{// 如果更新失败
+ return Result.fail();// 返回失败结果
+ }
+ }
+
+ @GetMapping("detail")// 映射HTTP GET请求到detail方法,获取床位详情
+ public Bed detail(Integer id){ // 从请求参数中获取床位ID
+ return bedService.detail(id); // 调用bedService的detail方法获取床位详情并返回
+ }
+
+ @PostMapping("query")// 映射HTTP POST请求到query方法,查询床位列表
+ public Map query(@RequestBody Bed bed){ // 从请求体中获取查询条件Bed对象
+ PageInfo pageInfo = bedService.query(bed);// 调用bedService的query方法进行分页查询
+ pageInfo.getList().forEach(entity->{// 遍历查询结果列表
+ entity.setStudent(dormitoryStudentService.queryStudentByBedId(entity.getId()));// 为每个床位设置对应的学生信息
+ });
+ return Result.ok(pageInfo);// 返回包含分页信息的查询结果
+ }
+}
diff --git a/dormitory/src/main/java/com/yanzhen/controller/BuildingController.java b/dormitory/src/main/java/com/yanzhen/controller/BuildingController.java
new file mode 100644
index 0000000..7f38eca
--- /dev/null
+++ b/dormitory/src/main/java/com/yanzhen/controller/BuildingController.java
@@ -0,0 +1,73 @@
+package com.yanzhen.controller;
+
+import com.github.pagehelper.PageInfo;
+import com.yanzhen.entity.Building;
+import com.yanzhen.entity.User;
+import com.yanzhen.service.BuildingService楼层设置;
+import com.yanzhen.service.UserService用户管理;
+import com.yanzhen.utils.Result;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.Map;
+
+@RestController // 标记为RESTful控制器
+@RequestMapping("/building") // 映射URL路径到该控制器
+public class BuildingController {
+
+ @Autowired // 自动注入BuildingService
+ private BuildingService楼层设置 buildingService;
+ @Autowired // 自动注入UserService
+ private UserService用户管理 userService;
+
+ @PostMapping("create") // 映射POST请求到create方法
+ public Result create(@RequestBody Building building){ // 接收JSON格式的楼宇对象
+ int flag = buildingService.create(building); // 调用服务层创建楼宇
+ if(flag>0){ // 如果创建成功
+ return Result.ok(); // 返回成功结果
+ }else{ // 如果创建失败
+ return Result.fail(); // 返回失败结果
+ }
+ }
+
+ @GetMapping("delete") // 映射GET请求到delete方法
+ public Result delete(String ids){ // 接收楼宇ID字符串
+ int flag = buildingService.delete(ids); // 调用服务层删除楼宇
+ if(flag>0){ // 如果删除成功
+ return Result.ok(); // 返回成功结果
+ }else{ // 如果删除失败
+ return Result.fail(); // 返回失败结果
+ }
+ }
+
+ @PostMapping("update") // 映射POST请求到update方法
+ public Result update(@RequestBody Building building){ // 接收JSON格式的楼宇对象
+ int flag = buildingService.update(building); // 调用服务层更新楼宇信息
+ if(flag>0){ // 如果更新成功
+ return Result.ok(); // 返回成功结果
+ }else{ // 如果更新失败
+ return Result.fail(); // 返回失败结果
+ }
+ }
+
+ @GetMapping("detail") // 映射GET请求到detail方法
+ public Building detail(Integer id){ // 接收楼宇ID
+ return buildingService.detail(id); // 调用服务层获取楼宇详情并返回
+ }
+
+ @PostMapping("query") // 映射POST请求到query方法
+ public Map query(@RequestBody Building building, HttpServletRequest request){ // 接收JSON格式的楼宇对象和HTTP请求
+ User param = (User)request.getAttribute("user"); // 从请求中获取用户信息
+ User loginUser = userService.detail(param.getId()); // 调用服务层获取用户详情
+ if(loginUser.getType() == 1){ // 如果用户是宿管员
+ building.setUserId(loginUser.getId()); // 设置楼宇的用户ID为当前登录用户的ID
+ }
+ PageInfo pageInfo = buildingService.query(building); // 调用服务层查询楼宇列表
+ pageInfo.getList().forEach(entity->{ // 遍历查询结果中的每个楼宇
+ User user = userService.detail(entity.getUserId()); // 调用服务层获取每个楼宇的用户信息
+ entity.setUser(user); // 将用户信息设置到楼宇对象中
+ });
+ return Result.ok(pageInfo); // 返回查询结果
+ }
+}
\ No newline at end of file
diff --git a/dormitory/src/main/java/com/yanzhen/controller/DormitoryController.java b/dormitory/src/main/java/com/yanzhen/controller/DormitoryController.java
new file mode 100644
index 0000000..8be48fb
--- /dev/null
+++ b/dormitory/src/main/java/com/yanzhen/controller/DormitoryController.java
@@ -0,0 +1,66 @@
+package com.yanzhen.controller;
+
+import com.github.pagehelper.PageInfo;
+import com.yanzhen.entity.Dormitory;
+import com.yanzhen.service.DormitoryService宿舍编号设置;
+import com.yanzhen.utils.Result;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Map;
+
+@RestController // 声明这是一个控制器,并且返回的数据直接写入 HTTP 响应体中,而不是解析为跳转路径。
+@RequestMapping("/dormitory") // 设置请求的根路径为 /dormitory,所有方法的请求路径都会以 /dormitory 开头。
+public class DormitoryController { // 定义一个名为 DormitoryController 的类,用于处理宿舍相关的 HTTP 请求。
+
+ @Autowired // 自动注入 DormitoryService 对象,用于调用业务逻辑层的方法。
+ private DormitoryService宿舍编号设置 dormitoryService;
+
+ @PostMapping("create") // 映射 HTTP POST 请求到 create 方法,路径为 /dormitory/create。
+ public Result create(@RequestBody Dormitory dormitory){ // 从请求体中获取 Dormitory 对象,并调用服务层的 create 方法。
+ int flag = dormitoryService.create(dormitory); // 调用服务层的 create 方法,传入 Dormitory 对象,返回操作结果标志。
+ if(flag>0){ // 如果操作成功(flag > 0)。
+ return Result.ok(); // 返回成功的 Result 对象。
+ }else{ // 如果操作失败(flag <= 0)。
+ return Result.fail(); // 返回失败的 Result 对象。
+ }
+ }
+
+ @GetMapping("delete") // 映射 HTTP GET 请求到 delete 方法,路径为 /dormitory/delete。
+ public Result delete(String ids){ // 从请求参数中获取要删除的记录的 ID,并调用服务层的 delete 方法。
+ int flag = dormitoryService.delete(ids); // 调用服务层的 delete 方法,传入 ID,返回操作结果标志。
+ if(flag>0){ // 如果操作成功(flag > 0)。
+ return Result.ok(); // 返回成功的 Result 对象。
+ }else{ // 如果操作失败(flag <= 0)。
+ return Result.fail(); // 返回失败的 Result 对象。
+ }
+ }
+
+ @PostMapping("update") // 映射 HTTP POST 请求到 update 方法,路径为 /dormitory/update。
+ public Result update(@RequestBody Dormitory dormitory){ // 从请求体中获取 Dormitory 对象,并调用服务层的 update 方法。
+ int flag = dormitoryService.update(dormitory); // 调用服务层的 update 方法,传入 Dormitory 对象,返回操作结果标志。
+ if(flag>0){ // 如果操作成功(flag > 0)。
+ return Result.ok(); // 返回成功的 Result 对象。
+ }else{ // 如果操作失败(flag <= 0)。
+ return Result.fail(); // 返回失败的 Result 对象。
+ }
+ }
+
+ @GetMapping("detail") // 映射 HTTP GET 请求到 detail 方法,路径为 /dormitory/detail。
+ public Dormitory detail(Integer id){ // 从请求参数中获取记录的 ID,并调用服务层的 detail 方法。
+ return dormitoryService.detail(id); // 调用服务层的 detail 方法,传入 ID,返回对应的 Dormitory 对象。
+ }
+
+ @PostMapping("query") // 映射 HTTP POST 请求到 query 方法,路径为 /dormitory/query。
+ public Map query(@RequestBody Dormitory dormitory){ // 从请求体中获取 Dormitory 对象,并调用服务层的 query 方法。
+ PageInfo pageInfo = dormitoryService.query(dormitory); // 调用服务层的 query 方法,传入 Dormitory 对象,返回分页信息。
+ return Result.ok(pageInfo); // 将分页信息封装在成功的 Result 对象中并返回。
+ }
+
+ @PostMapping("init") // 映射 HTTP POST 请求到 init 方法,路径为 /dormitory/init。
+ public Result init(@RequestBody Dormitory dormitory){ // 从请求体中获取 Dormitory 对象,并调用服务层的 init 方法。
+ dormitoryService.init(dormitory); // 调用服务层的 init 方法,传入 Dormitory 对象。
+ return Result.ok(); // 返回成功的 Result 对象。
+ }
+
+}
diff --git a/dormitory/src/main/java/com/yanzhen/controller/DormitorySetController.java b/dormitory/src/main/java/com/yanzhen/controller/DormitorySetController.java
new file mode 100644
index 0000000..481f372
--- /dev/null
+++ b/dormitory/src/main/java/com/yanzhen/controller/DormitorySetController.java
@@ -0,0 +1,60 @@
+package com.yanzhen.controller;
+
+import com.github.pagehelper.PageInfo;
+import com.yanzhen.entity.DormitorySet;
+import com.yanzhen.service.DormitorySetService宿舍设置增删查改数据库;
+import com.yanzhen.utils.Result;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Map;
+
+@RestController // 声明这是一个控制器,并且返回的数据直接写入 HTTP 响应体中,而不是解析为跳转路径。
+@RequestMapping("/dormitorySet") // 设置请求的根路径为 /dormitorySet
+public class DormitorySetController { // 定义一个名为 DormitorySetController 的类
+
+ @Autowired // 自动注入 DormitorySetService 对象
+ private DormitorySetService宿舍设置增删查改数据库 dormitorySetService;
+
+ @PostMapping("create") // 映射 HTTP POST 请求到 create 方法
+ public Result create(@RequestBody DormitorySet dormitorySet){ // 从请求体中获取 DormitorySet 对象
+ int flag = dormitorySetService.create(dormitorySet); // 调用服务层的 create 方法创建记录
+ if(flag>0){ // 如果创建成功
+ return Result.ok(); // 返回成功的 Result 对象
+ }else{ // 如果创建失败
+ return Result.fail(); // 返回失败的 Result 对象
+ }
+ }
+
+ @GetMapping("delete") // 映射 HTTP GET 请求到 delete 方法
+ public Result delete(String ids){ // 从请求参数中获取要删除的记录 ID
+ int flag = dormitorySetService.delete(ids); // 调用服务层的 delete 方法删除记录
+ if(flag>0){ // 如果删除成功
+ return Result.ok(); // 返回成功的 Result 对象
+ }else{ // 如果删除失败
+ return Result.fail(); // 返回失败的 Result 对象
+ }
+ }
+
+ @PostMapping("update") // 映射 HTTP POST 请求到 update 方法
+ public Result update(@RequestBody DormitorySet dormitorySet){ // 从请求体中获取 DormitorySet 对象
+ int flag = dormitorySetService.update(dormitorySet); // 调用服务层的 update 方法更新记录
+ if(flag>0){ // 如果更新成功
+ return Result.ok(); // 返回成功的 Result 对象
+ }else{ // 如果更新失败
+ return Result.fail(); // 返回失败的 Result 对象
+ }
+ }
+
+ @GetMapping("detail") // 映射 HTTP GET 请求到 detail 方法
+ public DormitorySet detail(Integer id){ // 从请求参数中获取记录 ID
+ return dormitorySetService.detail(id); // 调用服务层的 detail 方法获取记录详情并返回
+ }
+
+ @PostMapping("query") // 映射 HTTP POST 请求到 query 方法
+ public Map query(@RequestBody DormitorySet dormitorySet){ // 从请求体中获取 DormitorySet 对象作为查询条件
+ PageInfo pageInfo = dormitorySetService.query(dormitorySet); // 调用服务层的 query 方法进行分页查询
+ return Result.ok(pageInfo); // 返回包含查询结果的成功的 Result 对象
+ }
+
+}
diff --git a/dormitory/src/main/java/com/yanzhen/controller/DormitoryStudentController.java b/dormitory/src/main/java/com/yanzhen/controller/DormitoryStudentController.java
new file mode 100644
index 0000000..36c75b7
--- /dev/null
+++ b/dormitory/src/main/java/com/yanzhen/controller/DormitoryStudentController.java
@@ -0,0 +1,72 @@
+package com.yanzhen.controller;
+
+import com.github.pagehelper.PageInfo;
+import com.yanzhen.entity.DormitoryStudent;
+import com.yanzhen.entity.Student;
+import com.yanzhen.service.DormitoryService宿舍编号设置;
+import com.yanzhen.service.DormitoryStudentService宿舍预选设置;
+import com.yanzhen.service.StudentService学生管理;
+import com.yanzhen.utils.Result;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Map;
+
+@RestController // 声明这是一个控制器,并且返回的数据直接写入 HTTP 响应体中,而不是解析为跳转路径。
+@RequestMapping("/dormitoryStudent") // 设置请求的根路径为 /dormitoryStudent
+public class DormitoryStudentController {
+
+ @Autowired // 自动注入DormitoryStudentService实例
+ private DormitoryStudentService宿舍预选设置 dormitoryStudentService;
+
+ @Autowired // 自动注入StudentService实例
+ private StudentService学生管理 studentService;
+
+ @Autowired // 自动注入DormitoryService实例
+ private DormitoryService宿舍编号设置 dormitoryService;
+
+ @PostMapping("create") // 映射HTTP POST请求到 create 方法
+ public Result create(@RequestBody DormitoryStudent dormitoryStudent){ // 从请求体中获取 DormitoryStudent 对象
+ int flag = dormitoryStudentService.create(dormitoryStudent); // 调用服务层创建学生宿舍记录
+ if(flag>0){ // 如果创建成功
+ return Result.ok(); // 返回成功结果
+ }else{ // 如果创建失败
+ return Result.fail(); // 返回失败结果
+ }
+ }
+
+ @GetMapping("delete") // 映射HTTP GET请求到 delete 方法
+ public Result delete(String ids){ // 接收要删除的学生宿舍记录的ID字符串
+ int flag = dormitoryStudentService.delete(ids); // 调用服务层删除指定ID的学生宿舍记录
+ if(flag>0){ // 如果删除成功
+ return Result.ok(); // 返回成功结果
+ }else{ // 如果删除失败
+ return Result.fail(); // 返回失败结果
+ }
+ }
+
+ @PostMapping("update") // 映射HTTP POST请求到 update 方法
+ public Result update(@RequestBody DormitoryStudent dormitoryStudent){ // 从请求体中获取 DormitoryStudent 对象
+ int flag = dormitoryStudentService.update(dormitoryStudent); // 调用服务层更新学生宿舍记录
+ if(flag>0){ // 如果更新成功
+ return Result.ok(); // 返回成功结果
+ }else{ // 如果更新失败
+ return Result.fail(); // 返回失败结果
+ }
+ }
+
+ @GetMapping("detail") // 映射HTTP GET请求到 detail 方法
+ public DormitoryStudent detail(Integer id){ // 接收学生宿舍记录的ID
+ return dormitoryStudentService.detail(id); // 调用服务层获取指定ID的学生宿舍记录详情并返回
+ }
+
+ @PostMapping("query") // 映射HTTP POST请求到 query 方法
+ public Map query(@RequestBody DormitoryStudent dormitoryStudent){ // 从请求体中获取 DormitoryStudent 对象用于查询条件
+ PageInfo pageInfo = dormitoryStudentService.query(dormitoryStudent); // 调用服务层进行分页查询
+ pageInfo.getList().forEach(entity->{ // 遍历查询结果列表
+ Student detail = studentService.detail(entity.getStudentId()); // 获取每个学生宿舍记录对应的学生详细信息
+ entity.setStudent(detail); // 将学生信息设置到学生宿舍记录中
+ });
+ return Result.ok(pageInfo); // 返回包含分页信息和查询结果的成功结果
+ }
+}
diff --git a/dormitory/src/main/java/com/yanzhen/controller/GradeController.java b/dormitory/src/main/java/com/yanzhen/controller/GradeController.java
new file mode 100644
index 0000000..d5b79f3
--- /dev/null
+++ b/dormitory/src/main/java/com/yanzhen/controller/GradeController.java
@@ -0,0 +1,60 @@
+package com.yanzhen.controller;
+
+import com.github.pagehelper.PageInfo;
+import com.yanzhen.entity.Grade;
+import com.yanzhen.service.GradeService年级管理;
+import com.yanzhen.utils.Result;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Map;
+
+@RestController // 声明这是一个RESTful控制器,返回的数据直接写入HTTP响应体中
+@RequestMapping("/grade") // 设置请求路径的映射前缀为"/grade"
+public class GradeController {
+
+ @Autowired // 自动注入GradeService对象
+ private GradeService年级管理 gradeService;
+
+ @PostMapping("create") // 映射HTTP POST请求到create方法
+ public Result create(@RequestBody Grade grade){ // 从请求体中获取Grade对象
+ int flag = gradeService.create(grade); // 调用服务层的create方法创建记录
+ if(flag>0){ // 如果创建成功
+ return Result.ok(); // 返回成功结果
+ }else{ // 如果创建失败
+ return Result.fail(); // 返回失败结果
+ }
+ }
+
+ @GetMapping("delete") // 映射HTTP GET请求到delete方法
+ public Result delete(String ids){ // 从请求参数中获取要删除的记录ID
+ int flag = gradeService.delete(ids); // 调用服务层的delete方法删除记录
+ if(flag>0){ // 如果删除成功
+ return Result.ok(); // 返回成功结果
+ }else{ // 如果删除失败
+ return Result.fail(); // 返回失败结果
+ }
+ }
+
+ @PostMapping("update") // 映射HTTP POST请求到update方法
+ public Result update(@RequestBody Grade grade){ // 从请求体中获取Grade对象
+ int flag = gradeService.update(grade); // 调用服务层的update方法更新记录
+ if(flag>0){ // 如果更新成功
+ return Result.ok(); // 返回成功结果
+ }else{ // 如果更新失败
+ return Result.fail(); // 返回失败结果
+ }
+ }
+
+ @GetMapping("detail") // 映射HTTP GET请求到detail方法
+ public Grade detail(Integer id){ // 从请求参数中获取记录ID
+ return gradeService.detail(id); // 调用服务层的detail方法获取记录详情
+ }
+
+ @PostMapping("query") // 映射HTTP POST请求到query方法
+ public Map query(@RequestBody Grade grade){ // 从请求体中获取Grade对象作为查询条件
+ PageInfo pageInfo = gradeService.query(grade); // 调用服务层的query方法进行分页查询
+ return Result.ok(pageInfo); // 返回包含查询结果的成功结果
+ }
+
+}
diff --git a/dormitory/src/main/java/com/yanzhen/controller/LoginController.java b/dormitory/src/main/java/com/yanzhen/controller/LoginController.java
new file mode 100644
index 0000000..7edcb87
--- /dev/null
+++ b/dormitory/src/main/java/com/yanzhen/controller/LoginController.java
@@ -0,0 +1,52 @@
+package com.yanzhen.controller;
+
+import com.yanzhen.entity.Student;
+import com.yanzhen.entity.User;
+import com.yanzhen.framework.jwt.JWTUtil;
+import com.yanzhen.service.StudentService学生管理;
+import com.yanzhen.service.UserService用户管理;
+import com.yanzhen.utils.Result;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.HashMap;
+import java.util.Map;
+
+@RestController // 声明这是一个控制器,并且返回的数据直接写入 HTTP 响应体中,而不是解析为跳转路径。
+public class LoginController { // 定义一个名为 LoginController 的类,用于处理登录相关的请求。
+
+ @Autowired // 自动注入 UserService 实例,用于处理用户相关的业务逻辑。
+ private UserService用户管理 userService;
+
+ @Autowired // 自动注入 StudentService 实例,用于处理学生相关的业务逻辑。
+ private StudentService学生管理 studentService;
+
+ @PostMapping("/login") // 映射 HTTP POST 请求到 /login 路径上,用于处理登录请求。
+ public Result login(@RequestBody User user){ // 定义一个方法 login,接收一个 User 对象作为请求体。
+ if(user.getType() == 2){ // 如果用户类型是学生(假设类型为2表示学生)。
+ Student entity = studentService.login(user.getUserName(),user.getPassword()); // 调用 studentService 的 login 方法验证学生身份。
+ if(entity != null){ // 如果学生信息存在,即登录成功。
+ String token = JWTUtil.signForStudent(entity); // 生成针对学生的 JWT 令牌。
+ Map map = new HashMap(); // 创建一个 Map 对象存储返回数据。
+ map.put(JWTUtil.token,token); // 将 JWT 令牌放入 Map。
+ map.put("student",entity); // 将学生实体信息放入 Map。
+ return Result.ok("登陆成功",map); // 返回包含成功消息和数据的 Result 对象。
+ }else{ // 如果学生信息不存在,即登录失败。
+ return Result.fail("用户名或密码错误"); // 返回包含错误信息的 Result 对象。
+ }
+ }else{ // 如果用户类型不是学生(管理员或宿管员)。
+ User entity = userService.login(user.getUserName(),user.getPassword()); // 调用 userService 的 login 方法验证用户身份。
+ if(entity != null){ // 如果用户信息存在,即登录成功。
+ String token = JWTUtil.sign(entity); // 生成通用的 JWT 令牌。
+ Map map = new HashMap(); // 创建一个 Map 对象存储返回数据。
+ map.put(JWTUtil.token,token); // 将 JWT 令牌放入 Map。
+ map.put("user",entity); // 将用户实体信息放入 Map。
+ return Result.ok("登陆成功",map); // 返回包含成功消息和数据的 Result 对象。
+ }else{ // 如果用户信息不存在,即登录失败。
+ return Result.fail("用户名或密码错误"); // 返回包含错误信息的 Result 对象。
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/dormitory/src/main/java/com/yanzhen/controller/MainController.java b/dormitory/src/main/java/com/yanzhen/controller/MainController.java
new file mode 100644
index 0000000..a776fac
--- /dev/null
+++ b/dormitory/src/main/java/com/yanzhen/controller/MainController.java
@@ -0,0 +1,76 @@
+package com.yanzhen.controller;
+
+import com.github.pagehelper.PageInfo;
+import com.yanzhen.entity.Building;
+import com.yanzhen.entity.Dormitory;
+import com.yanzhen.entity.Notice;
+import com.yanzhen.service.BuildingService楼层设置;
+import com.yanzhen.service.DormitoryService宿舍编号设置;
+import com.yanzhen.service.DormitoryStudentService宿舍预选设置;
+import com.yanzhen.service.NoticeService公告管理;
+import com.yanzhen.utils.Result;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.text.DecimalFormat;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@RestController // 声明这是一个控制器,并且返回的数据直接写入 HTTP 响应体中,而不是解析为跳转路径。
+@RequestMapping("/main") // 设置请求的根路径为 /main,所有该控制器下的请求都会以 /main 开头。
+public class MainController {
+
+ @Autowired // 自动注入 BuildingService 实例,用于处理楼宇相关的业务逻辑。
+ private BuildingService楼层设置 buildingService;
+
+ @Autowired // 自动注入 DormitoryService 实例,用于处理宿舍相关的业务逻辑。
+ private DormitoryService宿舍编号设置 dormitoryService;
+ @Autowired // 自动注入 DormitoryStudentService 实例,用于处理学生宿舍分配的业务逻辑。
+ private DormitoryStudentService宿舍预选设置 dormitoryStudentService;
+ @Autowired // 自动注入 NoticeService 实例,用于处理公告通知的业务逻辑。
+ private NoticeService公告管理 noticeService;
+
+ @GetMapping("/building") // 映射 HTTP GET 请求到 /main/building 路径。
+ public Result building(){
+ Building building = new Building(); // 创建一个新的楼宇对象。
+ building.setLimit(1000); // 设置查询限制为1000条记录。
+ PageInfo pageInfo = buildingService.query(building); // 调用服务层方法查询楼宇信息。
+ List