diff --git a/.gitignore b/.gitignore index a1c2a238a965f004ff76978ac1086aa6fe95caea..e7b373bc3258182298dc70eea4c43d8548011ec6 100644 --- a/.gitignore +++ b/.gitignore @@ -1,23 +1,36 @@ -# Compiled class file -*.class +HELP.md +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ -# Log file -*.log +### STS ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache -# BlueJ files -*.ctxt +### IntelliJ IDEA ### +.idea +*.iws +*.iml +*.ipr -# Mobile Tools for Java (J2ME) -.mtj.tmp/ +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ -# Package Files # -*.jar -*.war -*.nar -*.ear -*.zip -*.tar.gz -*.rar - -# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml -hs_err_pid* +### VS Code ### +.vscode/ +/.mvn/ +/mvnw +/mvnw.cmd diff --git a/.idea/.gitignore b/.idea/.gitignore deleted file mode 100644 index 13566b81b018ad684f3a35fee301741b2734c8f4..0000000000000000000000000000000000000000 --- a/.idea/.gitignore +++ /dev/null @@ -1,8 +0,0 @@ -# Default ignored files -/shelf/ -/workspace.xml -# Editor-based HTTP Client requests -/httpRequests/ -# Datasource local storage ignored files -/dataSources/ -/dataSources.local.xml diff --git a/.idea/TheLast.iml b/.idea/TheLast.iml deleted file mode 100644 index 04977e54093f39c9a9c2e68bdb678a098d962f4c..0000000000000000000000000000000000000000 --- a/.idea/TheLast.iml +++ /dev/null @@ -1,143 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/compiler.xml b/.idea/compiler.xml deleted file mode 100644 index 2156b5c6fd57a49513d9efa9fefaf3bf1d0692e9..0000000000000000000000000000000000000000 --- a/.idea/compiler.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml deleted file mode 100644 index 04f81d2ff5a0c682dab0831b27f788c5b238848c..0000000000000000000000000000000000000000 --- a/.idea/encodings.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml deleted file mode 100644 index 6560a98983ec708cf9d8b5c5c3776d7bd39c475b..0000000000000000000000000000000000000000 --- a/.idea/inspectionProfiles/Project_Default.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - \ No newline at end of file diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml deleted file mode 100644 index 980588c7f2720e4a734966089f292ec94e53aec6..0000000000000000000000000000000000000000 --- a/.idea/jarRepositories.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/jpa-buddy.xml b/.idea/jpa-buddy.xml deleted file mode 100644 index d08f40080caa9b3126ee8385c13832d2e63f4ad6..0000000000000000000000000000000000000000 --- a/.idea/jpa-buddy.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__antlr_antlr_2_7_7.xml b/.idea/libraries/Maven__antlr_antlr_2_7_7.xml deleted file mode 100644 index 8acab31e15c7aad04a8998b33312c7d3d26b3d9f..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__antlr_antlr_2_7_7.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__ch_qos_logback_logback_classic_1_2_11.xml b/.idea/libraries/Maven__ch_qos_logback_logback_classic_1_2_11.xml deleted file mode 100644 index 50a5105eeda089d6ff8beb86682f043022a3b1a2..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__ch_qos_logback_logback_classic_1_2_11.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__ch_qos_logback_logback_core_1_2_11.xml b/.idea/libraries/Maven__ch_qos_logback_logback_core_1_2_11.xml deleted file mode 100644 index dd069396236f04018ac30deffd0524ff9f941a82..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__ch_qos_logback_logback_core_1_2_11.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__com_auth0_java_jwt_3_18_3.xml b/.idea/libraries/Maven__com_auth0_java_jwt_3_18_3.xml deleted file mode 100644 index 56bffa8c679b6837c234c2c5611bd00118da3918..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__com_auth0_java_jwt_3_18_3.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__com_baomidou_mybatis_plus_3_3_2.xml b/.idea/libraries/Maven__com_baomidou_mybatis_plus_3_3_2.xml deleted file mode 100644 index 8d731d56eef3f89f559308d05fc1f47712c2ae8d..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__com_baomidou_mybatis_plus_3_3_2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__com_baomidou_mybatis_plus_annotation_3_3_2.xml b/.idea/libraries/Maven__com_baomidou_mybatis_plus_annotation_3_3_2.xml deleted file mode 100644 index da8888ec2df423f9d2e9cf8d1f4357f244708eea..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__com_baomidou_mybatis_plus_annotation_3_3_2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__com_baomidou_mybatis_plus_boot_starter_3_3_2.xml b/.idea/libraries/Maven__com_baomidou_mybatis_plus_boot_starter_3_3_2.xml deleted file mode 100644 index a64a389353e60bb887a0dac39e3086a16cab155c..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__com_baomidou_mybatis_plus_boot_starter_3_3_2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__com_baomidou_mybatis_plus_core_3_3_2.xml b/.idea/libraries/Maven__com_baomidou_mybatis_plus_core_3_3_2.xml deleted file mode 100644 index 938188c47e0a10f01f0948fbacb3a585d242f4a3..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__com_baomidou_mybatis_plus_core_3_3_2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__com_baomidou_mybatis_plus_extension_3_3_2.xml b/.idea/libraries/Maven__com_baomidou_mybatis_plus_extension_3_3_2.xml deleted file mode 100644 index 67307e46a36d8da268972a3427e7eb38f2940a1e..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__com_baomidou_mybatis_plus_extension_3_3_2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__com_fasterxml_classmate_1_5_1.xml b/.idea/libraries/Maven__com_fasterxml_classmate_1_5_1.xml deleted file mode 100644 index 8259f043bef67e2c026950a234190ef4a207488c..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__com_fasterxml_classmate_1_5_1.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_13_4.xml b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_13_4.xml deleted file mode 100644 index 6551440c1d3dd6992e6af11e005f0c4490dba6ff..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_13_4.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_13_4.xml b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_13_4.xml deleted file mode 100644 index c4a110e568b3f028d67d64717603d337b46cf2a3..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_13_4.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_13_4_2.xml b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_13_4_2.xml deleted file mode 100644 index 97c90df7c9d3f83dd8b09ed1465a9fb089068a07..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_13_4_2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_13_4.xml b/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_13_4.xml deleted file mode 100644 index bbf1fb024943e2f924cb14dcd3f30e6d84d3f4e4..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_13_4.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_13_4.xml b/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_13_4.xml deleted file mode 100644 index 9efd336d1bd58278599496b20a8341e6027c8b08..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_13_4.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_13_4.xml b/.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_13_4.xml deleted file mode 100644 index 71afb1674303dd16ed649940d0b028d528b0e1b7..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_13_4.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__com_github_jsqlparser_jsqlparser_4_2.xml b/.idea/libraries/Maven__com_github_jsqlparser_jsqlparser_4_2.xml deleted file mode 100644 index 468d5d7382d15d307e238a9a885edeef017a707f..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__com_github_jsqlparser_jsqlparser_4_2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__com_github_pagehelper_pagehelper_5_3_0.xml b/.idea/libraries/Maven__com_github_pagehelper_pagehelper_5_3_0.xml deleted file mode 100644 index 1658c131a2187d292a47ab76259b3f39f85af077..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__com_github_pagehelper_pagehelper_5_3_0.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__com_github_pagehelper_pagehelper_spring_boot_autoconfigure_1_4_1.xml b/.idea/libraries/Maven__com_github_pagehelper_pagehelper_spring_boot_autoconfigure_1_4_1.xml deleted file mode 100644 index 0bdf50c8acdd8212e955ea29468138c72dd72f35..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__com_github_pagehelper_pagehelper_spring_boot_autoconfigure_1_4_1.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__com_github_pagehelper_pagehelper_spring_boot_starter_1_4_1.xml b/.idea/libraries/Maven__com_github_pagehelper_pagehelper_spring_boot_starter_1_4_1.xml deleted file mode 100644 index 73fd3d3fe3d32e7f28032540ba04b331dd37ed1e..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__com_github_pagehelper_pagehelper_spring_boot_starter_1_4_1.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__com_jayway_jsonpath_json_path_2_7_0.xml b/.idea/libraries/Maven__com_jayway_jsonpath_json_path_2_7_0.xml deleted file mode 100644 index 66160ea8333d0f5429e010d573b519f5d73938c1..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__com_jayway_jsonpath_json_path_2_7_0.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__com_sun_activation_jakarta_activation_1_2_2.xml b/.idea/libraries/Maven__com_sun_activation_jakarta_activation_1_2_2.xml deleted file mode 100644 index 44182606ac5a3953a73c7c172e2ba8ede9ea8f24..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__com_sun_activation_jakarta_activation_1_2_2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__com_sun_istack_istack_commons_runtime_3_0_12.xml b/.idea/libraries/Maven__com_sun_istack_istack_commons_runtime_3_0_12.xml deleted file mode 100644 index e55370ecc15c0cf7f4d63700cdcb5bc408ce2184..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__com_sun_istack_istack_commons_runtime_3_0_12.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml b/.idea/libraries/Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml deleted file mode 100644 index 0f8c9dc96d3015daba6560c06597816e3f9a737a..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__com_zaxxer_HikariCP_4_0_3.xml b/.idea/libraries/Maven__com_zaxxer_HikariCP_4_0_3.xml deleted file mode 100644 index cb0173f3d34924799fb15c472210bd45d42e14ad..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__com_zaxxer_HikariCP_4_0_3.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__jakarta_activation_jakarta_activation_api_1_2_2.xml b/.idea/libraries/Maven__jakarta_activation_jakarta_activation_api_1_2_2.xml deleted file mode 100644 index f1559a1b64c56ebb99bb72e07d444928284dd6dd..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__jakarta_activation_jakarta_activation_api_1_2_2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__jakarta_annotation_jakarta_annotation_api_1_3_5.xml b/.idea/libraries/Maven__jakarta_annotation_jakarta_annotation_api_1_3_5.xml deleted file mode 100644 index 95a3412ca4233a2ca95787c988c64e37851727f3..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__jakarta_annotation_jakarta_annotation_api_1_3_5.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__jakarta_persistence_jakarta_persistence_api_2_2_3.xml b/.idea/libraries/Maven__jakarta_persistence_jakarta_persistence_api_2_2_3.xml deleted file mode 100644 index ab30bd530ef630cae4f6f87292ba19e10b2025dd..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__jakarta_persistence_jakarta_persistence_api_2_2_3.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__jakarta_transaction_jakarta_transaction_api_1_3_3.xml b/.idea/libraries/Maven__jakarta_transaction_jakarta_transaction_api_1_3_3.xml deleted file mode 100644 index 67ce53fba8af272ae0bbeaaa307a4b64ab88df48..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__jakarta_transaction_jakarta_transaction_api_1_3_3.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__jakarta_xml_bind_jakarta_xml_bind_api_2_3_3.xml b/.idea/libraries/Maven__jakarta_xml_bind_jakarta_xml_bind_api_2_3_3.xml deleted file mode 100644 index ed716ec670b4050b50f262a09736407dc05b8e22..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__jakarta_xml_bind_jakarta_xml_bind_api_2_3_3.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__mysql_mysql_connector_java_5_1_48.xml b/.idea/libraries/Maven__mysql_mysql_connector_java_5_1_48.xml deleted file mode 100644 index e9f960fe773bb229179c7cae7c38baa24b03efd1..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__mysql_mysql_connector_java_5_1_48.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__net_bytebuddy_byte_buddy_1_12_18.xml b/.idea/libraries/Maven__net_bytebuddy_byte_buddy_1_12_18.xml deleted file mode 100644 index 8d92fb5ac46d7619f9c00a94ffe99a7a1884ebd8..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__net_bytebuddy_byte_buddy_1_12_18.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__net_bytebuddy_byte_buddy_agent_1_12_18.xml b/.idea/libraries/Maven__net_bytebuddy_byte_buddy_agent_1_12_18.xml deleted file mode 100644 index eeb71b0c959a37d88507d2e857d712260aa4d791..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__net_bytebuddy_byte_buddy_agent_1_12_18.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__net_minidev_accessors_smart_2_4_8.xml b/.idea/libraries/Maven__net_minidev_accessors_smart_2_4_8.xml deleted file mode 100644 index 5eb819f219defeb6a889e4e65d38596c78292b3b..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__net_minidev_accessors_smart_2_4_8.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__net_minidev_json_smart_2_4_8.xml b/.idea/libraries/Maven__net_minidev_json_smart_2_4_8.xml deleted file mode 100644 index e607d03c357d38a97c9a5e08698394faae080082..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__net_minidev_json_smart_2_4_8.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_12_0.xml b/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_12_0.xml deleted file mode 100644 index a20101bb30ff805980924cfa339392d7c252ee23..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_12_0.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_logging_log4j_log4j_api_2_17_2.xml b/.idea/libraries/Maven__org_apache_logging_log4j_log4j_api_2_17_2.xml deleted file mode 100644 index 2389bddb6f8eb57e0bba8dc594e7364959cf7c53..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__org_apache_logging_log4j_log4j_api_2_17_2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_logging_log4j_log4j_to_slf4j_2_17_2.xml b/.idea/libraries/Maven__org_apache_logging_log4j_log4j_to_slf4j_2_17_2.xml deleted file mode 100644 index 7e8da877c873494d3529fb816bf7079f8dce9133..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__org_apache_logging_log4j_log4j_to_slf4j_2_17_2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_core_9_0_68.xml b/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_core_9_0_68.xml deleted file mode 100644 index 341018cefb3f94695ec07dcb822a54760d7bc09f..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_core_9_0_68.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_el_9_0_68.xml b/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_el_9_0_68.xml deleted file mode 100644 index f95bc846772e0c0bebde9dc62ab5ec72a6bddd99..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_el_9_0_68.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_websocket_9_0_68.xml b/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_websocket_9_0_68.xml deleted file mode 100644 index 8bfeec99d22dfd296b0e29bebc3bc7cc208ad60c..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_websocket_9_0_68.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apiguardian_apiguardian_api_1_1_2.xml b/.idea/libraries/Maven__org_apiguardian_apiguardian_api_1_1_2.xml deleted file mode 100644 index 28a6645596da1b45b32e3acf5380ed57db802ce3..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__org_apiguardian_apiguardian_api_1_1_2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_aspectj_aspectjweaver_1_9_7.xml b/.idea/libraries/Maven__org_aspectj_aspectjweaver_1_9_7.xml deleted file mode 100644 index 9f5435b7f9444ac8d4a14c0a3f7e3fbabf84b703..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__org_aspectj_aspectjweaver_1_9_7.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_assertj_assertj_core_3_22_0.xml b/.idea/libraries/Maven__org_assertj_assertj_core_3_22_0.xml deleted file mode 100644 index 381f3e4f8e1818f207cbe7cc31799e94a64df150..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__org_assertj_assertj_core_3_22_0.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_attoparser_attoparser_2_0_5_RELEASE.xml b/.idea/libraries/Maven__org_attoparser_attoparser_2_0_5_RELEASE.xml deleted file mode 100644 index 33d1117d1e2434af920f07bd5ccc8d9dd2e8c977..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__org_attoparser_attoparser_2_0_5_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_glassfish_jaxb_jaxb_runtime_2_3_7.xml b/.idea/libraries/Maven__org_glassfish_jaxb_jaxb_runtime_2_3_7.xml deleted file mode 100644 index 7ccacb794be1d7c6b3e34b281d8290ce75cab8d7..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__org_glassfish_jaxb_jaxb_runtime_2_3_7.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_glassfish_jaxb_txw2_2_3_7.xml b/.idea/libraries/Maven__org_glassfish_jaxb_txw2_2_3_7.xml deleted file mode 100644 index 18792051cda64ab40be04a79164e00bdbd2753fb..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__org_glassfish_jaxb_txw2_2_3_7.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_hamcrest_hamcrest_2_2.xml b/.idea/libraries/Maven__org_hamcrest_hamcrest_2_2.xml deleted file mode 100644 index 132891da40a729fb7f088d43e7956c104e1abe14..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__org_hamcrest_hamcrest_2_2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_hibernate_common_hibernate_commons_annotations_5_1_2_Final.xml b/.idea/libraries/Maven__org_hibernate_common_hibernate_commons_annotations_5_1_2_Final.xml deleted file mode 100644 index 70f0a20d86eb8a25a81a17d5d5f262c093cd51a7..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__org_hibernate_common_hibernate_commons_annotations_5_1_2_Final.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_hibernate_hibernate_core_5_6_12_Final.xml b/.idea/libraries/Maven__org_hibernate_hibernate_core_5_6_12_Final.xml deleted file mode 100644 index 511fdfd0d86c60b84231a1117f324ddb235983ec..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__org_hibernate_hibernate_core_5_6_12_Final.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_jboss_jandex_2_4_2_Final.xml b/.idea/libraries/Maven__org_jboss_jandex_2_4_2_Final.xml deleted file mode 100644 index e9a76ef7e8e8e180bab3fb61b33c98f0252211b9..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__org_jboss_jandex_2_4_2_Final.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_jboss_logging_jboss_logging_3_4_3_Final.xml b/.idea/libraries/Maven__org_jboss_logging_jboss_logging_3_4_3_Final.xml deleted file mode 100644 index fec2b386fbabe09a04802b804a1e2fc5cefa7ff5..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__org_jboss_logging_jboss_logging_3_4_3_Final.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_5_8_2.xml b/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_5_8_2.xml deleted file mode 100644 index a9e7c0477e7e67c8fd17c2bbace0d8584029fa38..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_5_8_2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_api_5_8_2.xml b/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_api_5_8_2.xml deleted file mode 100644 index 6b9550c6687ed1998847aed1fff6e0ca8511b4c1..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_api_5_8_2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_engine_5_8_2.xml b/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_engine_5_8_2.xml deleted file mode 100644 index ee27735295235ff717b892203d78c2054f3cfdc5..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_engine_5_8_2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_params_5_8_2.xml b/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_params_5_8_2.xml deleted file mode 100644 index 0a68d7d669a2d80af2359b901865e3bfb88da03f..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_params_5_8_2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_junit_platform_junit_platform_commons_1_8_2.xml b/.idea/libraries/Maven__org_junit_platform_junit_platform_commons_1_8_2.xml deleted file mode 100644 index f4c8f0920ca7599e544e93706a9b60475fbe9994..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__org_junit_platform_junit_platform_commons_1_8_2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_junit_platform_junit_platform_engine_1_8_2.xml b/.idea/libraries/Maven__org_junit_platform_junit_platform_engine_1_8_2.xml deleted file mode 100644 index 3950c466242195bbb031139a6ba4cea25a21f58e..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__org_junit_platform_junit_platform_engine_1_8_2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_mockito_mockito_core_4_5_1.xml b/.idea/libraries/Maven__org_mockito_mockito_core_4_5_1.xml deleted file mode 100644 index 54707020a21e9eddbf724fa8daba265ba77c7dbb..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__org_mockito_mockito_core_4_5_1.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_mockito_mockito_junit_jupiter_4_5_1.xml b/.idea/libraries/Maven__org_mockito_mockito_junit_jupiter_4_5_1.xml deleted file mode 100644 index 7903043ca0733fbae9b9c002facfd8e15b3396df..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__org_mockito_mockito_junit_jupiter_4_5_1.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_mybatis_mybatis_3_5_7.xml b/.idea/libraries/Maven__org_mybatis_mybatis_3_5_7.xml deleted file mode 100644 index 84c4167518aa9de49e4294a111bc2da895ba074e..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__org_mybatis_mybatis_3_5_7.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_mybatis_mybatis_spring_2_0_6.xml b/.idea/libraries/Maven__org_mybatis_mybatis_spring_2_0_6.xml deleted file mode 100644 index 7e284e633bcac99b32718adad467f8ecc443377d..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__org_mybatis_mybatis_spring_2_0_6.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_autoconfigure_2_2_0.xml b/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_autoconfigure_2_2_0.xml deleted file mode 100644 index 1e9a675c21b971551934a28ec5cb6cdfb4711a96..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_autoconfigure_2_2_0.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_starter_2_2_0.xml b/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_starter_2_2_0.xml deleted file mode 100644 index d8e72433e1c11ea7ea5ad19d26d437eede7f27d0..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_starter_2_2_0.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_objenesis_objenesis_3_2.xml b/.idea/libraries/Maven__org_objenesis_objenesis_3_2.xml deleted file mode 100644 index 03f22c70cd7bcfddcfb55bec5e5d340be8c44602..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__org_objenesis_objenesis_3_2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_opentest4j_opentest4j_1_2_0.xml b/.idea/libraries/Maven__org_opentest4j_opentest4j_1_2_0.xml deleted file mode 100644 index 00d7ffb7dff4182adc237f4058935f1bdd9cf1b3..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__org_opentest4j_opentest4j_1_2_0.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_ow2_asm_asm_9_1.xml b/.idea/libraries/Maven__org_ow2_asm_asm_9_1.xml deleted file mode 100644 index 670aab4350020bac9905c463c1304e758f093477..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__org_ow2_asm_asm_9_1.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_projectlombok_lombok_1_18_24.xml b/.idea/libraries/Maven__org_projectlombok_lombok_1_18_24.xml deleted file mode 100644 index c915e8eb9d942767dda20b05c6ee64595464c60b..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__org_projectlombok_lombok_1_18_24.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_skyscreamer_jsonassert_1_5_1.xml b/.idea/libraries/Maven__org_skyscreamer_jsonassert_1_5_1.xml deleted file mode 100644 index 225a83e393ba729da2657cfc58444901245aea79..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__org_skyscreamer_jsonassert_1_5_1.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_slf4j_jul_to_slf4j_1_7_36.xml b/.idea/libraries/Maven__org_slf4j_jul_to_slf4j_1_7_36.xml deleted file mode 100644 index 7dbd1c553eb3a2388c84692ed7400d257fc1082f..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__org_slf4j_jul_to_slf4j_1_7_36.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_36.xml b/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_36.xml deleted file mode 100644 index da774a17e2aeac757cba01a75b74b3f8bd574ca7..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_36.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_2_7_5.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_2_7_5.xml deleted file mode 100644 index 14adf68195eb09f9b1f3711f925bfcacbd79f7dc..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__org_springframework_boot_spring_boot_2_7_5.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_autoconfigure_2_7_5.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_autoconfigure_2_7_5.xml deleted file mode 100644 index 5021c17b279c5bcf0d33a0b649c0935ae32259aa..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__org_springframework_boot_spring_boot_autoconfigure_2_7_5.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_2_7_5.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_2_7_5.xml deleted file mode 100644 index c68bfa3f7c0bdbe926c73488337f3ec37c43cb60..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_2_7_5.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_aop_2_7_5.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_aop_2_7_5.xml deleted file mode 100644 index 082abf340cd5725f8b0945d050c0dade640c2a60..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_aop_2_7_5.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_data_jpa_2_7_5.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_data_jpa_2_7_5.xml deleted file mode 100644 index 3e5d540a655de4fbdc7f3c437f6fdafd18a56fd8..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_data_jpa_2_7_5.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_jdbc_2_7_5.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_jdbc_2_7_5.xml deleted file mode 100644 index ff2bd8e4658918de2ad222c11a94303ff2f4dffd..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_jdbc_2_7_5.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_json_2_7_5.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_json_2_7_5.xml deleted file mode 100644 index 6ce10d5ad37a712025d63ac601fb2490fbfb9cc7..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_json_2_7_5.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_logging_2_7_5.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_logging_2_7_5.xml deleted file mode 100644 index f8c2559bf7445d967c1a585fa785ee6ca4197b02..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_logging_2_7_5.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_test_2_7_5.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_test_2_7_5.xml deleted file mode 100644 index 99fcb34d743ce78dd849a073c50ba045293cbe50..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_test_2_7_5.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_thymeleaf_2_7_5.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_thymeleaf_2_7_5.xml deleted file mode 100644 index 307b6f899c28711e744fc1c7ab29a2746be0c5e8..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_thymeleaf_2_7_5.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_tomcat_2_7_5.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_tomcat_2_7_5.xml deleted file mode 100644 index b65f9853b18c8448e5b9b13a794ff4d3b69c7e76..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_tomcat_2_7_5.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_web_2_7_5.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_web_2_7_5.xml deleted file mode 100644 index 1b50463245fef4ca3cd229acce570e58590e76bf..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_web_2_7_5.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_2_7_5.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_2_7_5.xml deleted file mode 100644 index 58ee8cfed4e4f6fe49e2506471cff764ce10e41f..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_2_7_5.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_autoconfigure_2_7_5.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_autoconfigure_2_7_5.xml deleted file mode 100644 index cc78a2bc5ed65dfdfbd15c17e0173b9e72e93eb4..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_autoconfigure_2_7_5.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_data_spring_data_commons_2_7_5.xml b/.idea/libraries/Maven__org_springframework_data_spring_data_commons_2_7_5.xml deleted file mode 100644 index 7ce6a5a27610ab57232cd2dbcff9a853f24f975c..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__org_springframework_data_spring_data_commons_2_7_5.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_data_spring_data_jpa_2_7_5.xml b/.idea/libraries/Maven__org_springframework_data_spring_data_jpa_2_7_5.xml deleted file mode 100644 index 7e6a67b5b2956a7574834356da1debc9725fb5ab..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__org_springframework_data_spring_data_jpa_2_7_5.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_aop_5_3_23.xml b/.idea/libraries/Maven__org_springframework_spring_aop_5_3_23.xml deleted file mode 100644 index 805f45fb1d1c546e4c753e7624759e17b90b50bf..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__org_springframework_spring_aop_5_3_23.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_aspects_5_3_23.xml b/.idea/libraries/Maven__org_springframework_spring_aspects_5_3_23.xml deleted file mode 100644 index f6e2d7c2f8054939fd6418f60b82b856a2957fae..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__org_springframework_spring_aspects_5_3_23.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_beans_5_3_23.xml b/.idea/libraries/Maven__org_springframework_spring_beans_5_3_23.xml deleted file mode 100644 index 5ac41a684a2365743d38b555e7e79afdead6e8a0..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__org_springframework_spring_beans_5_3_23.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_context_5_3_23.xml b/.idea/libraries/Maven__org_springframework_spring_context_5_3_23.xml deleted file mode 100644 index 009a6b47edb68f3ee13cd44e4dab55ecfe02aaee..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__org_springframework_spring_context_5_3_23.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_core_5_3_23.xml b/.idea/libraries/Maven__org_springframework_spring_core_5_3_23.xml deleted file mode 100644 index 92d683a8837376748512c698933fb06d881ecc54..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__org_springframework_spring_core_5_3_23.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_expression_5_3_23.xml b/.idea/libraries/Maven__org_springframework_spring_expression_5_3_23.xml deleted file mode 100644 index 482f098bcb89512369fa37687534246e8d28d1dd..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__org_springframework_spring_expression_5_3_23.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_jcl_5_3_23.xml b/.idea/libraries/Maven__org_springframework_spring_jcl_5_3_23.xml deleted file mode 100644 index 79aa7cde859afc726631b04815050e5cd7579478..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__org_springframework_spring_jcl_5_3_23.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_jdbc_5_3_23.xml b/.idea/libraries/Maven__org_springframework_spring_jdbc_5_3_23.xml deleted file mode 100644 index 6e1bb6a51822e78d096883d75a299e5585e299b2..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__org_springframework_spring_jdbc_5_3_23.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_orm_5_3_23.xml b/.idea/libraries/Maven__org_springframework_spring_orm_5_3_23.xml deleted file mode 100644 index 5647d065e2538ad4495b88f41193c78ae50ec2bb..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__org_springframework_spring_orm_5_3_23.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_test_5_3_23.xml b/.idea/libraries/Maven__org_springframework_spring_test_5_3_23.xml deleted file mode 100644 index 7622b73ecd51ab688c2e7bb777c677ad69796615..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__org_springframework_spring_test_5_3_23.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_tx_5_3_23.xml b/.idea/libraries/Maven__org_springframework_spring_tx_5_3_23.xml deleted file mode 100644 index 63973f5bf6b85481ea7eaf6e36eedaa9f3611ec4..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__org_springframework_spring_tx_5_3_23.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_web_5_3_23.xml b/.idea/libraries/Maven__org_springframework_spring_web_5_3_23.xml deleted file mode 100644 index e0d6de1c8553dfc0a4b5d228d73ab437748ba5ec..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__org_springframework_spring_web_5_3_23.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_webmvc_5_3_23.xml b/.idea/libraries/Maven__org_springframework_spring_webmvc_5_3_23.xml deleted file mode 100644 index bd975e144045f59f8ab304f5419b45beb946cc81..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__org_springframework_spring_webmvc_5_3_23.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_thymeleaf_extras_thymeleaf_extras_java8time_3_0_4_RELEASE.xml b/.idea/libraries/Maven__org_thymeleaf_extras_thymeleaf_extras_java8time_3_0_4_RELEASE.xml deleted file mode 100644 index 56e667af77e3f8becda93b6eb1535b90546a31fb..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__org_thymeleaf_extras_thymeleaf_extras_java8time_3_0_4_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_thymeleaf_thymeleaf_3_0_15_RELEASE.xml b/.idea/libraries/Maven__org_thymeleaf_thymeleaf_3_0_15_RELEASE.xml deleted file mode 100644 index c154baa3757781c23bf7e4c63298e30773656968..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__org_thymeleaf_thymeleaf_3_0_15_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_thymeleaf_thymeleaf_spring5_3_0_15_RELEASE.xml b/.idea/libraries/Maven__org_thymeleaf_thymeleaf_spring5_3_0_15_RELEASE.xml deleted file mode 100644 index 6a7c6dcc9514cc3c502adeaf2d604597af318af3..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__org_thymeleaf_thymeleaf_spring5_3_0_15_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_unbescape_unbescape_1_1_6_RELEASE.xml b/.idea/libraries/Maven__org_unbescape_unbescape_1_1_6_RELEASE.xml deleted file mode 100644 index fe8a5f80d7020435c0aaaf931bb32f77270bad36..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__org_unbescape_unbescape_1_1_6_RELEASE.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_xmlunit_xmlunit_core_2_9_0.xml b/.idea/libraries/Maven__org_xmlunit_xmlunit_core_2_9_0.xml deleted file mode 100644 index fe91fd62e664fe5deda6c8ae141df44938e33341..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__org_xmlunit_xmlunit_core_2_9_0.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_yaml_snakeyaml_1_30.xml b/.idea/libraries/Maven__org_yaml_snakeyaml_1_30.xml deleted file mode 100644 index dd1abb0f1f8bfb8ea8e5a8244fa7421079d0bb68..0000000000000000000000000000000000000000 --- a/.idea/libraries/Maven__org_yaml_snakeyaml_1_30.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml deleted file mode 100644 index e7b7c91baa1fe63329ae9e0458893323fed5e735..0000000000000000000000000000000000000000 --- a/.idea/misc.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml deleted file mode 100644 index b151dd86ecbbc6bc26e21b4b3c9a77e5afa2d1d3..0000000000000000000000000000000000000000 --- a/.idea/modules.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/.idea/uiDesigner.xml b/.idea/uiDesigner.xml deleted file mode 100644 index e96534fb27b68192f27f985d3879e173ec77adb8..0000000000000000000000000000000000000000 --- a/.idea/uiDesigner.xml +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml deleted file mode 100644 index 52041c3cc5cabcc93729b6ef5258ae6c11a5433f..0000000000000000000000000000000000000000 --- a/.idea/vcs.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties deleted file mode 100644 index b74bf7fcd640440a49eb602158547670ef907772..0000000000000000000000000000000000000000 --- a/.mvn/wrapper/maven-wrapper.properties +++ /dev/null @@ -1,2 +0,0 @@ -distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip -wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar diff --git a/exam_vue/src/App.vue b/exam_vue/src/App.vue index 55df315325bff60798291a7a13720ef273f6c3bb..cdd94556c1ded1fe1adc25f1e8de70c95bf3521c 100644 --- a/exam_vue/src/App.vue +++ b/exam_vue/src/App.vue @@ -1,28 +1,28 @@ diff --git a/exam_vue/src/assets/css/home.css b/exam_vue/src/assets/css/home.css new file mode 100644 index 0000000000000000000000000000000000000000..fd93038f965728b89a0fe89a01e3602371cd40f0 --- /dev/null +++ b/exam_vue/src/assets/css/home.css @@ -0,0 +1,227 @@ +.home { + height: 100% - 30px; + margin-top: 40px; + overflow: visible; +} +.stat { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + height: 230px; +} +.stat-user { + position: relative; + width: 300px; + background-color: #f5f5f5; + -webkit-box-shadow: 2px 2px 5px #ccc; + box-shadow: 2px 2px 5px #ccc; +} +.stat-user__title { + height: 100px; + background-color: #459f75; + color: white; + font-size: 18px; + font-weight: bold; + text-align: center; + line-height: 70px; +} +.stat-user__detail { + padding-top: 50px; + color: #666; + font-size: 13px; + text-align: center; +} +.stat-user__portrait { + position: absolute; + top: 50%; + left: 50%; + width: 80px; + height: 80px; + border-radius: calc(80px / 2); + border: 3px solid white; + -webkit-box-shadow: 0 0 5px #ccc; + box-shadow: 0 0 5px #ccc; + margin-top: -55px; + margin-left: -40px; +} +.stat-info { + -webkit-box-flex: 1; + -ms-flex: 1; + flex: 1; + margin-left: 20px; +} +.el-row { + position: relative; + -webkit-box-sizing: border-box; + box-sizing: border-box; +} +.el-row + .el-row { + margin-top: 10px; +} +.stat-info__item { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + height: 110px; + -webkit-box-shadow: 2px 2px 5px #ccc; + box-shadow: 2px 2px 5px #ccc; + background-color: #f5f5f5; +} +.stat-info__icon { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + width: 80px; + color: white; +} +.stat-info__icon [class*="el-icon"] { + font-size: 50px; +} +[class^="el-icon-"], +[class*=" el-icon-"] { + font-family: "element-icons" !important; + speak: none; + font-style: normal; + font-weight: normal; + font-variant: normal; + text-transform: none; + line-height: 1; + vertical-align: baseline; + display: inline-block; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +.stat-info__detail { + -webkit-box-flex: 1; + -ms-flex: 1; + flex: 1; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; +} +.stat-info__total { + color: #0085d0; + font-size: 27px; + font-weight: bold; +} +.stat-info__title { + color: #666; + font-size: 12px; +} +.margin-t-20 { + margin-top: 20px; +} +.list { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + height: calc(100% - 250px); +} +[class*="el-col-"] { + float: left; + -webkit-box-sizing: border-box; + box-sizing: border-box; +} +.el-card.is-always-shadow { + -webkit-box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); + box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); +} +.el-card { + border-radius: 4px; + border: 1px solid #ebeef5; + background-color: #fff; + overflow: hidden; + color: #303133; + -webkit-transition: 0.3s; + transition: 0.3s; +} +.el-card__header { + padding: 18px 20px; + border-bottom: 1px solid #ebeef5; + -webkit-box-sizing: border-box; + box-sizing: border-box; + text-align: left; +} +.el-card__header span { + color: #3b7459; +} +.el-card .el-icon-plus, +.el-icon-more { + float: right; + /* color: #f56c6c; */ + font-weight: bold; + cursor: pointer; +} +[class^="el-icon-"], +[class*=" el-icon-"] { + font-family: "element-icons" !important; + speak: none; + font-style: normal; + font-weight: normal; + font-variant: normal; + text-transform: none; + line-height: 1; + vertical-align: baseline; + display: inline-block; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +.el-card__body { + padding: 20px; + text-align: left; +} +.el-card__body p { + border-bottom: 1px solid #e5e5e5; + color: #555; + font-size: 15px; + line-height: 30px; +} +.el-card__body p span { + margin-left: 5px; +} +.el-checkbox { + color: #606266; + font-weight: 500; + font-size: 14px; + position: relative; + cursor: pointer; + display: inline-block; + white-space: nowrap; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + padding: 0; + margin: 0; + -webkit-box-sizing: border-box; + box-sizing: border-box; +} +.el-checkbox__input { + white-space: nowrap; + cursor: pointer; + outline: none; + display: inline-block; + line-height: 1; + position: relative; + vertical-align: middle; +} +.latest-new-list__time { + color: #666; + font-size: 14px; +} \ No newline at end of file diff --git a/exam_vue/src/assets/css/iconfont.css b/exam_vue/src/assets/css/iconfont.css new file mode 100644 index 0000000000000000000000000000000000000000..bb7a22d04c1ab65220015af898817c31c4178e0d --- /dev/null +++ b/exam_vue/src/assets/css/iconfont.css @@ -0,0 +1,7 @@ +.icon { + width: 10em; + height: 10em; + vertical-align : -0.15em; + fill:currentColor; + overflow: hidden; +} \ No newline at end of file diff --git a/exam_vue/src/components/YuLayout.vue b/exam_vue/src/components/YuLayout.vue new file mode 100644 index 0000000000000000000000000000000000000000..50eb2ff0bc156512dd79d9b9b249a93ad570fb09 --- /dev/null +++ b/exam_vue/src/components/YuLayout.vue @@ -0,0 +1,197 @@ + + + + + \ No newline at end of file diff --git a/exam_vue/src/components/account/1.html b/exam_vue/src/components/account/1.html new file mode 100644 index 0000000000000000000000000000000000000000..ffa992362b9570a2e33dd9e7661c9394b15dd823 --- /dev/null +++ b/exam_vue/src/components/account/1.html @@ -0,0 +1,198 @@ +
+
+
j220801_胡江_Java_20221203110511
+
+
+ + + +
+
+
填空题(分值:15 分) +
+
+
+
1、
+
(Java, 2.5 + 分)过滤器需要使用什么注解?
+
+
+ +
+
+
+
2、
+
(Java, 2.5 + 分)上传文件使用什么对象接收文件?consumer 使用什么类型?
+
+
+ +
+
+
+
3、
+
(Java, 2.5 分)Mybatis 动态 + sql 语句中标签有 if、where、set、choose、trim 等以及遍历集合用的?
+
+
+ +
+
+
+
4、
+
(Java, 2.5 分)List 接口和 Set + 接口的顶层接口是?
+
+
+ +
+
+
+
5、
+
(Java, 2.5 + 分)用例与用例之间的关系有
+
+
+ +
+
+
+
6、
+
(Java, 2.5 分)Math. + round(-1. 5)
+
+
+ +
+
+
+
+
+
简答题(分值:55 分) +
+
+
+
1、
+
(Java, 5 分)java + 的三大特性
+
+
+ +
+
+
+
2、
+
(Java, 5 分)简述 euqals 和 == + 的区别
+
+
+ +
+
+
+
3、
+
(Java, 5 分)阐述 JavaBean + 规范。
+
+
+ +
+
+
+
4、
+
(Java, 5 分)IO + 流按流向可以分为?按类型分可分为?
+
+
+ +
+
+
+
5、
+
(Java, 5 + 分)String、StringBuffer 与 StringBuilder 的区别?
+
+
+ +
+
+
+
6、
+
(Java, 5 + 分)什么是嵌入式服务器?我们为什么要使用嵌入式服务器?
+
+
+ +
+
+
+
7、
+
(Java, 5 + 分)什么是单元测试、集成测试、系统测试?
+
+
+ +
+
+
+
8、
+
(Java, 5 分)简述 Spring Boot + pom 文件父子继承、start 按组聚集 jar 的运用?
+
+
+ +
+
+
+
9、
+
(Java, 5 分)阐述 Java 中 + final 关键字的作用。
+
+
+ +
+
+
+
10、
+
(Java, 5 分)简述 System.out + 和 System.in 的区别?
+
+
+ +
+
+
+
11、
+
(Java, 5 + 分)测试人员在软件开发过程中的任务是什么
+
+
+ +
+
+
+
+
+
编程题(分值:30 分) +
+
+
+
1、
+
(Java, 15 + 分)找出连续整数列表中缺失的数字
+
+
+ +
+
+
+
2、
+
(Java, 15 + 分)设计一套购物车接口;
+
+
+ +
+
+
+
\ No newline at end of file diff --git a/exam_vue/src/components/account/YuHistoryScore.vue b/exam_vue/src/components/account/YuHistoryScore.vue new file mode 100644 index 0000000000000000000000000000000000000000..bfa374debf5505ac9534efe02f3603e889e3bc65 --- /dev/null +++ b/exam_vue/src/components/account/YuHistoryScore.vue @@ -0,0 +1,94 @@ + + + + + \ No newline at end of file diff --git a/exam_vue/src/components/account/YuStudent.vue b/exam_vue/src/components/account/YuStudent.vue new file mode 100644 index 0000000000000000000000000000000000000000..0f55b08780f4af9d7411b29b38c369b1a37e691f --- /dev/null +++ b/exam_vue/src/components/account/YuStudent.vue @@ -0,0 +1,153 @@ + + + + + \ No newline at end of file diff --git a/exam_vue/src/components/account/YuTakenExam.vue b/exam_vue/src/components/account/YuTakenExam.vue new file mode 100644 index 0000000000000000000000000000000000000000..133d9785c851d2a08c7363fea15f1a30f914e9bf --- /dev/null +++ b/exam_vue/src/components/account/YuTakenExam.vue @@ -0,0 +1,128 @@ + + + + + \ No newline at end of file diff --git a/exam_vue/src/components/account/YuTakenExamView.vue b/exam_vue/src/components/account/YuTakenExamView.vue new file mode 100644 index 0000000000000000000000000000000000000000..a994634c69cd816f0034faad072c9a24f6764155 --- /dev/null +++ b/exam_vue/src/components/account/YuTakenExamView.vue @@ -0,0 +1,419 @@ + + + + + \ No newline at end of file diff --git a/exam_vue/src/components/account/YuUnTakenExam.vue b/exam_vue/src/components/account/YuUnTakenExam.vue new file mode 100644 index 0000000000000000000000000000000000000000..4aee4dcb15293a78cc9c99ec81e1af70cac49c55 --- /dev/null +++ b/exam_vue/src/components/account/YuUnTakenExam.vue @@ -0,0 +1,123 @@ + + + + + \ No newline at end of file diff --git a/exam_vue/src/components/account/YuUnTakenExamView.vue b/exam_vue/src/components/account/YuUnTakenExamView.vue new file mode 100644 index 0000000000000000000000000000000000000000..5a9c1722e04152a147a050a5818ad17d8fe69e43 --- /dev/null +++ b/exam_vue/src/components/account/YuUnTakenExamView.vue @@ -0,0 +1,447 @@ + + + + + \ No newline at end of file diff --git a/exam_vue/src/components/common/Dashboard.vue b/exam_vue/src/components/common/Dashboard.vue new file mode 100644 index 0000000000000000000000000000000000000000..ccb23b1e9642dae8d71199983898906d2ac1d5e9 --- /dev/null +++ b/exam_vue/src/components/common/Dashboard.vue @@ -0,0 +1,17 @@ + + + + + \ No newline at end of file diff --git a/exam_vue/src/components/fragments/YuBreadCrumb.vue b/exam_vue/src/components/fragments/YuBreadCrumb.vue new file mode 100644 index 0000000000000000000000000000000000000000..101049c4dafa3e9594d2e1125023da36be5356a8 --- /dev/null +++ b/exam_vue/src/components/fragments/YuBreadCrumb.vue @@ -0,0 +1,50 @@ + + + + + \ No newline at end of file diff --git a/exam_vue/src/components/fragments/YuFooter.vue b/exam_vue/src/components/fragments/YuFooter.vue new file mode 100644 index 0000000000000000000000000000000000000000..5f065cf4429589adb59650646ddeb626c0ac1761 --- /dev/null +++ b/exam_vue/src/components/fragments/YuFooter.vue @@ -0,0 +1,21 @@ + + + + + \ No newline at end of file diff --git a/exam_vue/src/components/fragments/YuHeader.vue b/exam_vue/src/components/fragments/YuHeader.vue new file mode 100644 index 0000000000000000000000000000000000000000..bf9c1bbaba450a0b26c41fd2b6bfc61eba8de5c1 --- /dev/null +++ b/exam_vue/src/components/fragments/YuHeader.vue @@ -0,0 +1,105 @@ + + + + + \ No newline at end of file diff --git a/exam_vue/src/components/fragments/YuPagination.vue b/exam_vue/src/components/fragments/YuPagination.vue new file mode 100644 index 0000000000000000000000000000000000000000..96680e876f72b00bad8162ef4508d919b7c1440f --- /dev/null +++ b/exam_vue/src/components/fragments/YuPagination.vue @@ -0,0 +1,60 @@ + + + \ No newline at end of file diff --git a/exam_vue/src/components/fragments/YuSideBar.vue b/exam_vue/src/components/fragments/YuSideBar.vue new file mode 100644 index 0000000000000000000000000000000000000000..df85e20c6f6379fad3462ad45d2679538efb0751 --- /dev/null +++ b/exam_vue/src/components/fragments/YuSideBar.vue @@ -0,0 +1,100 @@ + + + + + \ No newline at end of file diff --git a/exam_vue/src/components/HelloWorld.vue b/exam_vue/src/components/test/HelloWorld.vue similarity index 100% rename from exam_vue/src/components/HelloWorld.vue rename to exam_vue/src/components/test/HelloWorld.vue diff --git a/exam_vue/src/main.js b/exam_vue/src/main.js index 63eb05f711c8cb5cda45128882fa69c351f105fb..d7fb2a36f3c0fba60556aaf581b46b00dc89bd93 100644 --- a/exam_vue/src/main.js +++ b/exam_vue/src/main.js @@ -1,8 +1,69 @@ import Vue from 'vue' import App from './App.vue' -Vue.config.productionTip = false + +/** + * 引入第三方组件 + */ +// 引入 vue-router 及路由配置 +import Router from "vue-router"; +import router from "./router"; +Vue.use(Router); +// Echart 组件 +import * as echarts from "echarts"; +Vue.prototype.$echarts = echarts +// 引入 ElementUI 和主题样式 +import ElementUI from "element-ui"; +import "element-ui/lib/theme-chalk/index.css"; +Vue.use(ElementUI); +// 引入 Jquery +import $ from "jquery"; + +/** + * 引入自定义组件,注册 Vue 全局变量 + * 注册方式:Vue.prototype.$appName = 'My App' + * 调用 App:this.$appName + */ +// Bus,用于组件间传递消息 +import Bus from "@/utils/bus.js"; +//在下面这样配置之后,在其他地方就可以直接通过this.$+组件名称的方式直接引用 +Vue.prototype.$Bus = Bus; +// Cookie 组件 +import * as Cookie from "@/utils/cookie.js"; +Vue.prototype.$Cookie = Cookie; +// Storage 组件 +import Storage from "@/utils/storage.js"; +Vue.prototype.$Storage = Storage; +// Vuex Store 组件 +import VuexStore from "@/utils/vuexStore.js"; +Vue.prototype.$VuexStore = VuexStore; +// Axios Request 组件 +import * as Request from "@/utils/request"; +Vue.prototype.$Request = Request; +// 注册过滤器组件 +import * as Filters from "@/utils/filter.js"; +Object.keys(Filters).forEach((key) => { + Vue.filter(key, Filters[key]); +}); +// Common 组件 +import * as Common from "@/utils/common.js"; +Vue.prototype.$Common = Common; +// TestData 组件 +import * as TestData from "@/utils/testData.js"; +Vue.prototype.$TestData = TestData; + + + +/** + * 引入 css + */ +// 引入图标库样式 +import "font-awesome/css/font-awesome.min.css"; + + +Vue.config.productionTip = false; new Vue({ + router, render: h => h(App), }).$mount('#app') diff --git a/exam_vue/src/router/index.js b/exam_vue/src/router/index.js new file mode 100644 index 0000000000000000000000000000000000000000..fbb6e78f95bec4f0f1bda66f3b7be981816cdfd4 --- /dev/null +++ b/exam_vue/src/router/index.js @@ -0,0 +1,88 @@ +import Vue from "vue"; +import Router from "vue-router"; + + +Vue.use(Router); + +export default new Router({ + mode: "history", // history 模式去除地址栏 # 号 + routes: [ + // 一级路由,渲染到 App.vue 中的 + { + // http://127.0.0.1:8080/#/login + path: "/Examing", + name: "examName", + component: () => import("@/components/account/YuTakenExamView.vue"), + }, + // 一级路由,渲染到 App.vue 中的 + { + // http://127.0.0.1:8080/#/login + path: "/UnTakenExaming", + name: "unTakenExam", + component: () => import("@/components/account/YuUnTakenExamView.vue"), + }, + // 二级路由 + { + // http://127.0.0.1:8080/#/ + path: "/", + name: "", + // component: Layout, + //这里也可以模仿ES6的写法 + component: () => import("@/components/YuLayout.vue"), + // 重定向 + redirect: "/index", + // 二级路由,渲染到该组件中的 + children: [ + { + // http://127.0.0.1:8080/#/index + path: "/index", + name: "系统首页", + // ES6 箭头函数写法 + component: () => import("@/components/common/Dashboard.vue"), + meta: { requireAuth: true }, + }, + ], + }, + //账户模块 + { + // http://127.0.0.1:8080/#/ + path: "/student", + name: "学生模块", + component: () => import("@/components/YuLayout.vue"), + // 重定向 + redirect: "/center", + // 二级路由,渲染到该组件中的 + children: [ + { + // http://127.0.0.1:8080/#/account/profile + path: "/student/center", + name: "个人主页", + // ES6 箭头函数写法 + component: () => import("@/components/account/YuStudent.vue"), + }, + { + // http://127.0.0.1:8080/#/account/profile + path: "/student/unTakenExam", + name: "待考考试", + // ES6 箭头函数写法 + component: () => import("@/components/account/YuUnTakenExam.vue"), + }, + { + // http://127.0.0.1:8080/#/account/profile + path: "/student/takenExam", + name: "已考考试", + // ES6 箭头函数写法 + component: () => import("@/components/account/YuTakenExam.vue"), + }, + { + // http://127.0.0.1:8080/#/account/profile + path: "/student/historyScore", + name: "历史成绩", + // ES6 箭头函数写法 + component: () => import("@/components/account/YuHistoryScore.vue"), + }, + ], + }, + + ], +}); \ No newline at end of file diff --git a/exam_vue/src/utils/request.js b/exam_vue/src/utils/request.js index 249e6fb32f563490852c1c6a0c0e1049887ba946..969eb193c306ce728ba4ea16c3c28291cee30aac 100644 --- a/exam_vue/src/utils/request.js +++ b/exam_vue/src/utils/request.js @@ -20,7 +20,7 @@ export const TOKEN_OBJECT_KEY = "TokenObject"; // 定义全局变量,本机只能本地测试,生产环境不可用 // export const domain = "http://127.0.0.1:8888"; -export const domain = "http://127.0.0.1:8081"; +export const domain = "http://127.0.0.1:8080"; // 请求拦截器 axios.interceptors.request.use( diff --git a/exam_vue/src/utils/storage.js b/exam_vue/src/utils/storage.js index cfb0d8961e8ae81f7fa32a1c7a85d4d84e2d5021..53fc3e745fc64adda41b8aba2819cab14973f2bf 100644 --- a/exam_vue/src/utils/storage.js +++ b/exam_vue/src/utils/storage.js @@ -26,6 +26,8 @@ export default { keysForLs() { return ls.keys(); }, + + // sessionStorage 操作 getItemForSs(key) { try { diff --git a/exam_vue/src/utils/testData.js b/exam_vue/src/utils/testData.js new file mode 100644 index 0000000000000000000000000000000000000000..ed1ac87396916ceb64e315218f8dacb42b9b5dd5 --- /dev/null +++ b/exam_vue/src/utils/testData.js @@ -0,0 +1,189 @@ +// LocalStorage keys +export const TOKEN_OBJECT_KEY = "TokenObject"; +export const TOKEN_KEY = "Token"; +// 站点相关信息 +export const webSiteInfo = { + copyright: "Copyright © 2022 Vue Admin. All rights reserved.", + service: "IT云教学服务", + serviceUrl: "/education/index", + icp: "蜀ICP备 *****-1", + icpUrl: "https://beian.miit.gov.cn/", + prn: "蜀公网安备 **********号", + prnUrl: "http://www.beian.gov.cn/portal/index", +}; +// 用户信息 +export const user = { + userId: 1, + userNum:1, + userName: "张三", + userBirthday: "2022-12-07", + userRealName:"张三三", + userPassword:"10086", + userTel:"10086", + userAge:18, + className:"高一一班", + userGender:"男", + userImage:"../img/default_big.jpg", +}; +// 头部导航 +export const navList = [ + { navUrl: "/education/index", target: "", navTitle: "首页" }, + { navUrl: "/education/courses", target: "", navTitle: "课程中心" }, + { navUrl: "/education/notes", target: "", navTitle: "笔记列表" }, + { navUrl: "/education/papers", target: "", navTitle: "在线考试" }, +]; +// SideBar 测试数据 +export const navigationData = [ + { + title: "系统首页", + path: "/index", + icon: "el-icon-setting", + }, + { + title: "学生模块", + path: "/student", + icon: "el-icon-user-solid", + subItems: [ + { + title: "个人中心", + path: "/student/center", + }, + { + title: "待考考试", + path: "/student/unTakenExam", + }, + { + title: "已考考试", + path: "/student/takenExam", + }, + { + title: "历史成绩", + path: "/student/historyScore", + }, + ], + }, +]; +// 主页面板数据 +export const starData = [ + [ + { + icon: "el-icon-service", + title: "公司总员工数", + total: 198397, + bgColor: "#ebcc6f", + }, + { + icon: "el-icon-location-outline", + title: "客户分布区域", + total: 19, + bgColor: "#3acaa9", + }, + { + icon: "el-icon-star-off", + title: "收货好评", + total: 190857, + bgColor: "#67c4ed", + }, + ], + [ + { + icon: "el-icon-edit-outline", + title: "历史订单数", + total: 9397, + bgColor: "#af84cb", + }, + { + icon: "el-icon-share", + title: "产品总转发数量", + total: 9097, + bgColor: "#67c4ed", + }, + { + icon: "el-icon-goods", + title: "产品总数", + total: 397, + bgColor: "#ebcc6f", + }, + ], +]; +// 待做事列表、新闻列表 +export const todoList = [], + latestNewList = []; +for (let i = 0; i < 5; i++) { + todoList.push({ + title: `待办事项 ` + i, + isChecked: false, + }); + latestNewList.push({ + time: new Date(new Date().getTime() + i * 24 * 3600 * 1000).Format("yyyy-MM-dd"), + title: `今日最新新闻` + i, + }); +} + +// 用户列表测试数据 +export const usersData = [ + { + id: 1, + userName: "hujiang1", + email: "hujiang1@163.com", + password: "51c017d79ab2eea8548f22543409cd05", + createDate: "2021-03-03 13:35:48", + }, + { + id: 2, + userName: "hujiang2", + email: "hujiang2@163.com", + password: "51c017d79ab2eea8548f22543409cd05", + createDate: "2021-03-03 13:35:48", + }, + { + id: 3, + userName: "hujiang3", + email: "hujiang3@163.com", + password: "51c017d79ab2eea8548f22543409cd05", + createDate: "2021-03-03 13:35:48", + }, + { + id: 4, + userName: "hujiang4", + email: "hujiang4@163.com", + password: "51c017d79ab2eea8548f22543409cd05", + createDate: "2021-03-03 13:35:48", + }, + { + id: 5, + userName: "hujiang5", + email: "hujiang5@163.com", + password: "51c017d79ab2eea8548f22543409cd05", + createDate: "2021-03-03 13:35:48", + }, +]; +export const examData = [ + { + examName:"第一次考试", + examCreateTime:"2022-12-3", + subjectName:"语文", + examStartTime:"2022-12-3 08:00:00", + examEndTime:"2022-12-3 10:00:00", + paperName:"第一次考试", + + }, + { + examName:"第二次考试", + examCreateTime:"2022-12-3", + subjectName:"数学", + examStartTime:"2022-12-4 08:00:00", + examEndTime:"2022-12-4 10:00:00", + paperName:"第二次考试", + + }, + { + examName:"第三次考试", + examCreateTime:"2022-12-5", + subjectName:"英语", + examStartTime:"2022-12-5 08:00:00", + examEndTime:"2022-12-5 10:00:00", + paperName:"第三次考试", + + } +]; \ No newline at end of file diff --git a/exam_vue/vue.config.js b/exam_vue/vue.config.js index f3a32b985ce5c5f97b133e5561118a73b184e75a..f56086936416cd8775621d2b062391aea7ecf730 100644 --- a/exam_vue/vue.config.js +++ b/exam_vue/vue.config.js @@ -1,6 +1,9 @@ const { defineConfig } = require('@vue/cli-service'); const webpack = require("webpack"); module.exports = defineConfig({ + devServer: { + port: 8081 // 此处修改你想要的端口号 + }, transpileDependencies: true, // 关闭语法检查 lintOnSave: false, diff --git a/src/main/java/com/hqyj/vueproject/VueProjectApplication.java b/src/main/java/com/hqyj/vueproject/VueProjectApplication.java index 758a6152c41fa9c12198fcb0b622f1f107bb62cc..d94fd8e4e48ed3da1264bb8069a2a63b96ae9f6a 100644 --- a/src/main/java/com/hqyj/vueproject/VueProjectApplication.java +++ b/src/main/java/com/hqyj/vueproject/VueProjectApplication.java @@ -1,5 +1,6 @@ package com.hqyj.vueproject; +import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @@ -7,6 +8,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; * @author YuDrag */ @SpringBootApplication +@MapperScan("com.hqyj.vueproject.students.mapper") public class VueProjectApplication { public static void main(String[] args) { diff --git a/src/main/java/com/hqyj/vueproject/config/MyConfig.java b/src/main/java/com/hqyj/vueproject/config/MyConfig.java new file mode 100644 index 0000000000000000000000000000000000000000..4c7469ea25461e8f749e1b7746ed9d5bb5497a4f --- /dev/null +++ b/src/main/java/com/hqyj/vueproject/config/MyConfig.java @@ -0,0 +1,17 @@ +package com.hqyj.vueproject.config; + +import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@Configuration +public class MyConfig { + /** + * mp分页插件 + * @return {@link PaginationInterceptor } + */ + @Bean + public PaginationInterceptor paginationInterceptor(){ + return new PaginationInterceptor(); + } +} diff --git a/src/main/java/com/hqyj/vueproject/config/MyObjectHandler.java b/src/main/java/com/hqyj/vueproject/config/MyObjectHandler.java new file mode 100644 index 0000000000000000000000000000000000000000..de5748674f3e15e4a1a0d8622cf0aa618284c44f --- /dev/null +++ b/src/main/java/com/hqyj/vueproject/config/MyObjectHandler.java @@ -0,0 +1,51 @@ +package com.hqyj.vueproject.config; + +import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; +import org.apache.ibatis.reflection.MetaObject; +import org.springframework.stereotype.Component; + +import java.util.Date; + +/** + * @author YuDrag + * @version 1.0.0 + * @Date 2022/11/30 + * @Description:这个就是专门用来给我们配置mybatis-plus的自动填充策略,就是在新增和修改的时候自动填充时间 + * @ClassName + */ +@Component +public class MyObjectHandler implements MetaObjectHandler { + + /** + * @param metaObject 元对象 + * fill = FieldFill.INSERT + */ + @Override + public void insertFill(MetaObject metaObject) { + +// 创建一个Date对象 + Date date = new Date(); +// 第一个参数就是我们java实体类中的时间属性 +// 设置creatTime时间 + setFieldValByName("creatTime",date,metaObject); +// 设置updateTime时间 + setFieldValByName("updateTime",date,metaObject); + setFieldValByName("examCreateTime",date,metaObject); + setFieldValByName("paperCreateTime",date,metaObject); + } + + + /** + * @param metaObject 元对象 + * fill = FieldFill.INSERT_UPDATE + */ + @Override + public void updateFill(MetaObject metaObject) { + // 创建一个Date对象 + Date date = new Date(); +// 第一个参数就是我们java实体类中的时间属性 +// 设置updateTime时间 +// 注意:调用update方法的时候,实体对象不能为null,否则自动填充将不会生效 + setFieldValByName("updateTime",date,metaObject); + } +} diff --git a/src/main/java/com/hqyj/vueproject/config/MyUpload.java b/src/main/java/com/hqyj/vueproject/config/MyUpload.java new file mode 100644 index 0000000000000000000000000000000000000000..9974e523ffefe221819e8e457e13187bb2b1f4f1 --- /dev/null +++ b/src/main/java/com/hqyj/vueproject/config/MyUpload.java @@ -0,0 +1,31 @@ +package com.hqyj.vueproject.config; + +import org.springframework.context.annotation.Configuration; +import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; + +/** + * @author YuDrag + * @version 1.0.0 + * @Date 2022/12/02 + * @Description:文件上传配置映射 + * @ClassName + */ +@Configuration +public class MyUpload implements WebMvcConfigurer { + + +// 配置路径映射 +// 表示访问地址如果是/images/** 就去D:/JAVA/img去找对应的文件 +// 也就是说这里就相当于我如果请求的地址是images/下的任何东西 + + @Override + public void addResourceHandlers(ResourceHandlerRegistry registry) { +// 这里的配置其实就是将这个网站对图片的请求,从static/images/** +// 中任意的文件都转成D:/JAVA/img/下的文件路径,并且去查找对应的文件即可 + registry.addResourceHandler("static/images/**") + .addResourceLocations("file:D:/JAVA/img/"); + + } + +} diff --git a/src/main/java/com/hqyj/vueproject/config/WebMvcConfig.java b/src/main/java/com/hqyj/vueproject/config/WebMvcConfig.java index 7a68fc8a389b9d842074be984b87a551125b13e9..cec8392739edbca71db661e4bc217a05081bad8e 100644 --- a/src/main/java/com/hqyj/vueproject/config/WebMvcConfig.java +++ b/src/main/java/com/hqyj/vueproject/config/WebMvcConfig.java @@ -1,12 +1,9 @@ package com.hqyj.vueproject.config; -import com.hqyj.vueproject.interceptor.JwtInterceptor; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.CorsRegistry; -import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; /** @@ -20,17 +17,7 @@ import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; @AutoConfigureAfter({WebMvcAutoConfiguration.class}) public class WebMvcConfig implements WebMvcConfigurer { - @Autowired - private JwtInterceptor jwtInterceptor; - /** - * 注入JWTInterceptor,需要重写这个方法 - */ - @Override - public void addInterceptors(InterceptorRegistry registry) { - registry.addInterceptor(jwtInterceptor).addPathPatterns("/**"); - WebMvcConfigurer.super.addInterceptors(registry); - } @Override public void addCorsMappings(CorsRegistry registry) { diff --git a/src/main/java/com/hqyj/vueproject/interceptor/JwtInterceptor.java b/src/main/java/com/hqyj/vueproject/interceptor/JwtInterceptor.java deleted file mode 100644 index 2fb35ca70e9a46873af92d385c853eaae621e65e..0000000000000000000000000000000000000000 --- a/src/main/java/com/hqyj/vueproject/interceptor/JwtInterceptor.java +++ /dev/null @@ -1,71 +0,0 @@ -package com.hqyj.vueproject.interceptor; - - -import java.util.ArrayList; -import java.util.List; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import com.hqyj.vueproject.utils.JwtUtil; -import org.apache.commons.lang3.StringUtils; -import org.springframework.stereotype.Component; -import org.springframework.web.method.HandlerMethod; -import org.springframework.web.servlet.HandlerInterceptor; -import org.springframework.web.servlet.ModelAndView; - -import com.auth0.jwt.interfaces.DecodedJWT; - -/** - * @version 1.0 - * @Author YuDrag - * @Date 2022/11/26 17:06 - * @Description: - */ -@Component -public class JwtInterceptor implements HandlerInterceptor { - - public final static List WHITE_URLS = new ArrayList<>(); - static { -// 谁做登录自己进行添加 - } - - @Override - public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) - throws Exception { - // 如果请求不是映射到方法,直接跳过 - if (!(handler instanceof HandlerMethod)) { - return true; - } - - // 判断是否需要 Token 验证 - String path = request.getServletPath(); - if (WHITE_URLS.stream().filter(item -> path.contains(item)).findFirst().isPresent()) { - String token = request.getHeader("Token"); - if (StringUtils.isBlank(token)) { - throw new Exception("No JWT Token."); - } - - String audience = JwtUtil.getAudience(token); - DecodedJWT decodedJWT = JwtUtil.verifyToken(token, audience); - if (decodedJWT == null) { - throw new Exception("JWT verify failed."); - } - } - - return HandlerInterceptor.super.preHandle(request, response, handler); - } - - @Override - public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, - ModelAndView modelAndView) throws Exception { - HandlerInterceptor.super.postHandle(request, response, handler, modelAndView); - } - - @Override - public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) - throws Exception { - HandlerInterceptor.super.afterCompletion(request, response, handler, ex); - } - -} diff --git a/src/main/java/com/hqyj/vueproject/pojo/Answer.java b/src/main/java/com/hqyj/vueproject/pojo/Answer.java index ad95d41702c498787261b2b338f1f80ca5c196e1..3f0f24dfbd31463715a66cd8edac063a6bd1ed90 100644 --- a/src/main/java/com/hqyj/vueproject/pojo/Answer.java +++ b/src/main/java/com/hqyj/vueproject/pojo/Answer.java @@ -1,6 +1,10 @@ package com.hqyj.vueproject.pojo; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import org.springframework.beans.factory.annotation.Autowired; + /** * @author YuDrag * @version 1.0.0 @@ -8,42 +12,35 @@ package com.hqyj.vueproject.pojo; * @Description * @ClassName:答案实体类 */ +@TableName("answer") public class Answer { - private Integer answerPaperId; + @TableField("answer_paper_name") + private String answerPaperName; + @TableField("answer_question_id") private Integer answerQuestionId; - private String answerStuName; + @TableField("answer_stu_num") + private String answerStuNum; + @TableField("answer_stu_answer") private String answerStuAnswer; + @TableField("answer_right") private String answerRight; + @TableField("answer_score") + private Double answerScore; + @TableField("answer_exam_name") + private String answerExamName; public Answer() { } - /** - * @param answerPaperId 试卷id - * @param answerQuestionId 题目id - * @param answerStuName 考生名字 - * @param answerStuAnswer 考生答案 - * @param answerRight 正确答案 - * @return - */ - public Answer(Integer answerPaperId, Integer answerQuestionId, String answerStuName, String answerStuAnswer, String answerRight) { - this.answerPaperId = answerPaperId; - this.answerQuestionId = answerQuestionId; - this.answerStuName = answerStuName; - this.answerStuAnswer = answerStuAnswer; - this.answerRight = answerRight; + public String getAnswerPaperName() { + return answerPaperName; } - public Integer getAnswerPaperId() { - return answerPaperId; + public void setAnswerPaperName(String answerPaperName) { + this.answerPaperName = answerPaperName; } - public void setAnswerPaperId(Integer answerPaperId) { - this.answerPaperId = answerPaperId; - } - - public Integer getAnswerQuestionId() { return answerQuestionId; } @@ -52,16 +49,14 @@ public class Answer { this.answerQuestionId = answerQuestionId; } - - public String getAnswerStuName() { - return answerStuName; + public String getAnswerStuNum() { + return answerStuNum; } - public void setAnswerStuName(String answerStuName) { - this.answerStuName = answerStuName; + public void setAnswerStuNum(String answerStuNum) { + this.answerStuNum = answerStuNum; } - public String getAnswerStuAnswer() { return answerStuAnswer; } @@ -70,7 +65,6 @@ public class Answer { this.answerStuAnswer = answerStuAnswer; } - public String getAnswerRight() { return answerRight; } @@ -79,4 +73,19 @@ public class Answer { this.answerRight = answerRight; } + public Double getAnswerScore() { + return answerScore; + } + + public void setAnswerScore(Double answerScore) { + this.answerScore = answerScore; + } + + public String getAnswerExamName() { + return answerExamName; + } + + public void setAnswerExamName(String answerExamName) { + this.answerExamName = answerExamName; + } } diff --git a/src/main/java/com/hqyj/vueproject/pojo/Class.java b/src/main/java/com/hqyj/vueproject/pojo/Class.java deleted file mode 100644 index 0c3159721e90ba5654acc7f0e828867828fbd038..0000000000000000000000000000000000000000 --- a/src/main/java/com/hqyj/vueproject/pojo/Class.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.hqyj.vueproject.pojo; - - -/** - * @author YuDrag - * @version 1.0.0 - * @Date 2022/11/29 - * @Description - * @ClassName:班级实体类 - */ -public class Class { - - private Integer classId; - private String className; - - public Class() { - } - - /** - * @param classId 班级id - * @param className 班级名称 - * @return - */ - public Class(Integer classId, String className) { - this.classId = classId; - this.className = className; - } - - public Integer getClassId() { - return classId; - } - - public void setClassId(Integer classId) { - this.classId = classId; - } - - - public String getClassName() { - return className; - } - - public void setClassName(String className) { - this.className = className; - } - -} diff --git a/src/main/java/com/hqyj/vueproject/pojo/Clazz.java b/src/main/java/com/hqyj/vueproject/pojo/Clazz.java new file mode 100644 index 0000000000000000000000000000000000000000..66e8238f9f1e8547d90707f135d5bb8e129c787a --- /dev/null +++ b/src/main/java/com/hqyj/vueproject/pojo/Clazz.java @@ -0,0 +1,56 @@ +package com.hqyj.vueproject.pojo; + + +/** + * @author YuDrag + * @version 1.0.0 + * @Date 2022/11/29 + * @Description + * @ClassName:班级实体类 + */ +public class Clazz { + + private Integer clazzId; + private String className; + private Integer clazzNum; + + public Clazz() { + } + + /** + * @param clazzId clazz id + * @param className 类名 + * @param clazzNum clazz num + * @return + */ + public Clazz(Integer clazzId, String className, Integer clazzNum) { + this.clazzId = clazzId; + this.className = className; + this.clazzNum = clazzNum; + } + + + public Integer getClazzId() { + return clazzId; + } + + public void setClazzId(Integer clazzId) { + this.clazzId = clazzId; + } + + public String getClassName() { + return className; + } + + public void setClassName(String className) { + this.className = className; + } + + public Integer getClazzNum() { + return clazzNum; + } + + public void setClazzNum(Integer clazzNum) { + this.clazzNum = clazzNum; + } +} diff --git a/src/main/java/com/hqyj/vueproject/pojo/ClazzTea.java b/src/main/java/com/hqyj/vueproject/pojo/ClazzTea.java new file mode 100644 index 0000000000000000000000000000000000000000..feb5570937f98a0a8c97fa6051c28d0c90833fa7 --- /dev/null +++ b/src/main/java/com/hqyj/vueproject/pojo/ClazzTea.java @@ -0,0 +1,44 @@ +package com.hqyj.vueproject.pojo; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; + +/** + * @version 1.0 + * @Author YuDrag + * @Date 2022/12/12 10:31 + * @Description: + */ +@TableName("clazz_tea") +public class ClazzTea { + + @TableId(value="clazz_id" ,type = IdType.AUTO) + private Integer clazzId; + + private Integer teaNum; + + public ClazzTea(Integer clazzId, Integer teaNum) { + this.clazzId = clazzId; + this.teaNum = teaNum; + } + + public ClazzTea() { + } + + public Integer getClazzId() { + return clazzId; + } + + public void setClazzId(Integer clazzId) { + this.clazzId = clazzId; + } + + public Integer getTeaNum() { + return teaNum; + } + + public void setTeaNum(Integer teaNum) { + this.teaNum = teaNum; + } +} diff --git a/src/main/java/com/hqyj/vueproject/pojo/Exam.java b/src/main/java/com/hqyj/vueproject/pojo/Exam.java index 67dfb789f01ff8c99cde1f0a035cdefab063989d..909542f5333dcde90ce0be9fd0498d20187f28ae 100644 --- a/src/main/java/com/hqyj/vueproject/pojo/Exam.java +++ b/src/main/java/com/hqyj/vueproject/pojo/Exam.java @@ -1,6 +1,10 @@ package com.hqyj.vueproject.pojo; +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; + import java.util.Date; /** @@ -10,46 +14,71 @@ import java.util.Date; * @Description * @ClassName:考试实体类 */ +@TableName("exam") public class Exam { + @TableId(value = "exam_id",type = IdType.AUTO) private Integer examId; + @TableField(value = "exam_name") private String examName; + @TableField(value = "exam_create_time",fill = FieldFill.INSERT) + @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd") private Date examCreateTime; + @TableField(value = "exam_subject_id") private Integer examSubjectId; + @TableField(value = "exam_publisher") private String examPublisher; - private Integer examClassId; + @TableField(value = "exam_clazz_id") + private Integer examClazzId; + @TableField(value = "exam_time") private Integer examTime; + @TableField(value = "exam_start_time") + @JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss",timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd hh:mm:ss") private Date examStartTime; + @TableField(value = "exam_end_time") + @JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss",timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd hh:mm:ss") private Date examEndTime; - private Integer examPaperId; + @TableField(value = "exam_paper_name") + private String examPaperName; + + @TableField(exist = false) + private Subject subject; + + @TableField(exist = false) + private Clazz clazz; + + @TableField(exist = false) + private String oldExamName; + public Exam() { } - /** - * @param examId 考试id - * @param examName 考试名称 - * @param examCreateTime 考试创建时间 - * @param examSubjectId 考试科目id - * @param examPublisher 考试发布人 - * @param examClassId 考试的班级id - * @param examTime 考试时间 - * @param examStartTime 考试开始时间 - * @param examEndTime 考试结束时间 - * @param examPaperId 考试试卷的ID - * @return - */ - public Exam(Integer examId, String examName, Date examCreateTime, Integer examSubjectId, String examPublisher, Integer examClassId, Integer examTime, Date examStartTime, Date examEndTime, Integer examPaperId) { - this.examId = examId; - this.examName = examName; - this.examCreateTime = examCreateTime; - this.examSubjectId = examSubjectId; - this.examPublisher = examPublisher; - this.examClassId = examClassId; - this.examTime = examTime; - this.examStartTime = examStartTime; - this.examEndTime = examEndTime; - this.examPaperId = examPaperId; + public Subject getSubject() { + return subject; + } + + public void setSubject(Subject subject) { + this.subject = subject; + } + + public Clazz getClazz() { + return clazz; + } + + public void setClazz(Clazz clazz) { + this.clazz = clazz; + } + + public String getOldExamName() { + return oldExamName; + } + + public void setOldExamName(String oldExamName) { + this.oldExamName = oldExamName; } public Integer getExamId() { @@ -92,12 +121,12 @@ public class Exam { this.examPublisher = examPublisher; } - public Integer getExamClassId() { - return examClassId; + public Integer getExamClazzId() { + return examClazzId; } - public void setExamClassId(Integer examClassId) { - this.examClassId = examClassId; + public void setExamClazzId(Integer examClazzId) { + this.examClazzId = examClazzId; } public Integer getExamTime() { @@ -124,11 +153,11 @@ public class Exam { this.examEndTime = examEndTime; } - public Integer getExamPaperId() { - return examPaperId; + public String getExamPaperName() { + return examPaperName; } - public void setExamPaperId(Integer examPaperId) { - this.examPaperId = examPaperId; + public void setExamPaperName(String examPaperName) { + this.examPaperName = examPaperName; } } diff --git a/src/main/java/com/hqyj/vueproject/pojo/ExamStatus.java b/src/main/java/com/hqyj/vueproject/pojo/ExamStatus.java index 0b56dca99783171dd721792bf56c33012cefc278..8791cf88b971ad96ea63c9194cb8938501d0ce14 100644 --- a/src/main/java/com/hqyj/vueproject/pojo/ExamStatus.java +++ b/src/main/java/com/hqyj/vueproject/pojo/ExamStatus.java @@ -1,6 +1,10 @@ package com.hqyj.vueproject.pojo; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; + /** * @author YuDrag * @version 1.0.0 @@ -8,33 +12,23 @@ package com.hqyj.vueproject.pojo; * @Description * @ClassName:考试的状态 */ +@TableName("exam_status") public class ExamStatus { + @TableField(value = "exam_name") private String examName; - private Integer paperId; - private String examStu; + @TableField(value = "paper_name") + private String paperName; + @TableField(value = "exam_stu_id") + private Integer examStuId; + @TableField(value = "exam_status") private Integer examStatus; + @TableField(value = "exam_is_correct") private Integer examIsCorrect; public ExamStatus() { } - /** - * @param examName 考试名称 - * @param paperId 试卷id - * @param examStu 考生 - * @param examStatus 这个考试对应的考生是否已考 - * @param examIsCorrect 这个考试老师是否批改 - * @return - */ - public ExamStatus(String examName, Integer paperId, String examStu, Integer examStatus, Integer examIsCorrect) { - this.examName = examName; - this.paperId = paperId; - this.examStu = examStu; - this.examStatus = examStatus; - this.examIsCorrect = examIsCorrect; - } - public String getExamName() { return examName; } @@ -43,25 +37,22 @@ public class ExamStatus { this.examName = examName; } - - public Integer getPaperId() { - return paperId; + public String getPaperName() { + return paperName; } - public void setPaperId(Integer paperId) { - this.paperId = paperId; + public void setPaperName(String paperName) { + this.paperName = paperName; } - - public String getExamStu() { - return examStu; + public Integer getExamStuId() { + return examStuId; } - public void setExamStu(String examStu) { - this.examStu = examStu; + public void setExamStuId(Integer examStuId) { + this.examStuId = examStuId; } - public Integer getExamStatus() { return examStatus; } @@ -70,7 +61,6 @@ public class ExamStatus { this.examStatus = examStatus; } - public Integer getExamIsCorrect() { return examIsCorrect; } @@ -78,5 +68,4 @@ public class ExamStatus { public void setExamIsCorrect(Integer examIsCorrect) { this.examIsCorrect = examIsCorrect; } - } diff --git a/src/main/java/com/hqyj/vueproject/pojo/Level.java b/src/main/java/com/hqyj/vueproject/pojo/Level.java new file mode 100644 index 0000000000000000000000000000000000000000..2a296de55f64d6f5765c44b8112a2013771e7599 --- /dev/null +++ b/src/main/java/com/hqyj/vueproject/pojo/Level.java @@ -0,0 +1,37 @@ +package com.hqyj.vueproject.pojo; + +/** + * @version 1.0 + * @Author YuDrag + * @Date 2022/12/12 10:36 + * @Description: + */ +public class Level { + private Integer levelId; + + private String levelName; + + public Level() { + } + + public Level(Integer levelId, String levelName) { + this.levelId = levelId; + this.levelName = levelName; + } + + public Integer getLevelId() { + return levelId; + } + + public void setLevelId(Integer levelId) { + this.levelId = levelId; + } + + public String getLevelName() { + return levelName; + } + + public void setLevelName(String levelName) { + this.levelName = levelName; + } +} diff --git a/src/main/java/com/hqyj/vueproject/pojo/Paper.java b/src/main/java/com/hqyj/vueproject/pojo/Paper.java index 0a45fd1f7be61d6db2801890c56a890facb561e9..2ecd3383a3d42e46ce3ede280922ce257b351f53 100644 --- a/src/main/java/com/hqyj/vueproject/pojo/Paper.java +++ b/src/main/java/com/hqyj/vueproject/pojo/Paper.java @@ -1,7 +1,11 @@ package com.hqyj.vueproject.pojo; +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; + import java.sql.Date; +import java.util.List; /** * @author YuDrag @@ -10,28 +14,42 @@ import java.sql.Date; * @Description * @ClassName:试卷的实体类 */ +@TableName("paper") public class Paper { + @TableId(value = "paper_id",type = IdType.AUTO) private Integer paperId; + + @TableField("paper_name") + private String paperName; + + @TableField("paper_subject_id") private Integer paperSubjectId; - private java.sql.Date paperCreateTime; + + @TableField(value = "paper_create_time",fill = FieldFill.INSERT) + @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") + private Date paperCreateTime; + + @TableField("paper_total") private Integer paperTotal; - public Paper() { - } + @TableField("paper_exercise") + private Integer paperExercise; - /** - * @param paperId 试卷id - * @param paperSubjectId 试卷科目 - * @param paperCreateTime 试卷生成时间 - * @param paperTotal 试卷总分 - * @return - */ - public Paper(Integer paperId, Integer paperSubjectId, Date paperCreateTime, Integer paperTotal) { - this.paperId = paperId; - this.paperSubjectId = paperSubjectId; - this.paperCreateTime = paperCreateTime; - this.paperTotal = paperTotal; + @TableField("paper_level") + private String paperLevel; + + @TableField(exist = false) + private Subject subject; + + @TableField(exist = false) + private List paperQuestion; + + @TableField(exist = false) + private List questionType; + + + public Paper() { } public Integer getPaperId() { @@ -42,6 +60,13 @@ public class Paper { this.paperId = paperId; } + public String getPaperName() { + return paperName; + } + + public void setPaperName(String paperName) { + this.paperName = paperName; + } public Integer getPaperSubjectId() { return paperSubjectId; @@ -51,16 +76,14 @@ public class Paper { this.paperSubjectId = paperSubjectId; } - - public java.sql.Date getPaperCreateTime() { + public Date getPaperCreateTime() { return paperCreateTime; } - public void setPaperCreateTime(java.sql.Date paperCreateTime) { + public void setPaperCreateTime(Date paperCreateTime) { this.paperCreateTime = paperCreateTime; } - public Integer getPaperTotal() { return paperTotal; } @@ -69,4 +92,43 @@ public class Paper { this.paperTotal = paperTotal; } + public Integer getPaperExercise() { + return paperExercise; + } + + public void setPaperExercise(Integer paperExercise) { + this.paperExercise = paperExercise; + } + + public String getPaperLevel() { + return paperLevel; + } + + public void setPaperLevel(String paperLevel) { + this.paperLevel = paperLevel; + } + + public Subject getSubject() { + return subject; + } + + public void setSubject(Subject subject) { + this.subject = subject; + } + + public List getPaperQuestion() { + return paperQuestion; + } + + public void setPaperQuestion(List paperQuestion) { + this.paperQuestion = paperQuestion; + } + + public List getQuestionType() { + return questionType; + } + + public void setQuestionType(List questionType) { + this.questionType = questionType; + } } diff --git a/src/main/java/com/hqyj/vueproject/pojo/PaperQuestion.java b/src/main/java/com/hqyj/vueproject/pojo/PaperQuestion.java index 0739ee792a3f8ce86cef76079a06e4d3acc4f6c4..c7ddcf46e473d637b017ad98204a77b5f049ada6 100644 --- a/src/main/java/com/hqyj/vueproject/pojo/PaperQuestion.java +++ b/src/main/java/com/hqyj/vueproject/pojo/PaperQuestion.java @@ -1,6 +1,8 @@ package com.hqyj.vueproject.pojo; +import com.baomidou.mybatisplus.annotation.TableField; + /** * @author YuDrag * @version 1.0.0 @@ -10,31 +12,29 @@ package com.hqyj.vueproject.pojo; */ public class PaperQuestion { - private Integer paperId; + @TableField("paper_name") + private String paperName; + @TableField("question_id") private Integer questionId; + @TableField("question_score") private Double questionScore; + @TableField("paper_question_type") + private Integer paperQuestionType; + @TableField(exist = false) + private QuestionType questionType; + @TableField(exist = false) + private Questions questions; - public PaperQuestion() { - } - /** - * @param paperId 纸id - * @param questionId 问题id - * @param questionScore 问题分值 - * @return - */ - public PaperQuestion(Integer paperId, Integer questionId, Double questionScore) { - this.paperId = paperId; - this.questionId = questionId; - this.questionScore = questionScore; + public PaperQuestion() { } - public Integer getPaperId() { - return paperId; + public String getPaperName() { + return paperName; } - public void setPaperId(Integer paperId) { - this.paperId = paperId; + public void setPaperName(String paperName) { + this.paperName = paperName; } public Integer getQuestionId() { @@ -52,4 +52,28 @@ public class PaperQuestion { public void setQuestionScore(Double questionScore) { this.questionScore = questionScore; } + + public Integer getPaperQuestionType() { + return paperQuestionType; + } + + public void setPaperQuestionType(Integer paperQuestionType) { + this.paperQuestionType = paperQuestionType; + } + + public QuestionType getQuestionType() { + return questionType; + } + + public void setQuestionType(QuestionType questionType) { + this.questionType = questionType; + } + + public Questions getQuestions() { + return questions; + } + + public void setQuestions(Questions questions) { + this.questions = questions; + } } diff --git a/src/main/java/com/hqyj/vueproject/pojo/QuestionType.java b/src/main/java/com/hqyj/vueproject/pojo/QuestionType.java new file mode 100644 index 0000000000000000000000000000000000000000..ab02d56ac1c198059283d5c10c5fa90197c2291e --- /dev/null +++ b/src/main/java/com/hqyj/vueproject/pojo/QuestionType.java @@ -0,0 +1,38 @@ +package com.hqyj.vueproject.pojo; + +/** + * @author 陈春鹏 + * @version 1.0.0 + * @date 2022/11/30 11:05:20 + */ + +public class QuestionType { + + private Integer questionsTypeId; + + private String questionsTypeName; + + public QuestionType() { + } + + public QuestionType(Integer questionsTypeId, String questionsTypeName) { + this.questionsTypeId = questionsTypeId; + this.questionsTypeName = questionsTypeName; + } + + public Integer getQuestionsTypeId() { + return questionsTypeId; + } + + public void setQuestionsTypeId(Integer questionsTypeId) { + this.questionsTypeId = questionsTypeId; + } + + public String getQuestionsTypeName() { + return questionsTypeName; + } + + public void setQuestionsTypeName(String questionsTypeName) { + this.questionsTypeName = questionsTypeName; + } +} diff --git a/src/main/java/com/hqyj/vueproject/pojo/Questions.java b/src/main/java/com/hqyj/vueproject/pojo/Questions.java index 7be379af6663e9ecbd4e882376cd3b7d892de614..cad92c6a7c5deca7b460de11d39f094f0f419c34 100644 --- a/src/main/java/com/hqyj/vueproject/pojo/Questions.java +++ b/src/main/java/com/hqyj/vueproject/pojo/Questions.java @@ -1,6 +1,11 @@ package com.hqyj.vueproject.pojo; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; + /** * @author YuDrag * @version 1.0.0 @@ -8,49 +13,45 @@ package com.hqyj.vueproject.pojo; * @Description * @ClassName:试题的实体类 */ +@TableName("questions") public class Questions { + @TableId(value = "questions_id",type = IdType.AUTO) private Integer questionsId; + + @TableField("questions_text") private String questionsText; - private String questionsType; + + @TableField("questions_text") + private Integer questions_type_id; + + @TableField("questions_answer_one") private String questionsAnswerOne; + + @TableField("questions_answer_two") private String questionsAnswerTwo; + + @TableField("questions_answer_three") private String questionsAnswerThree; + + @TableField("questions_answer_four") private String questionsAnswerFour; + + @TableField("questions_answer_right") private String questionsAnswerRight; + + @TableField("questions_subject_id") private Integer questionsSubjectId; + + @TableField("questions_img") private String questionsImg; - public Questions() { - } + @TableField("questions_level") + private String questionsLevel; - /** - * @param questionsId 题目id - * @param questionsText 题目 - * @param questionsType 题目类型 - * @param questionsAnswerOne 答案1 - * @param questionsAnswerTwo 答案2 - * @param questionsAnswerThree 答案3 - * @param questionsAnswerFour 答案4 - * @param questionsAnswerRight 正确答案 - * @param questionsSubjectId 试题对应的科目 - * @param questionsImg 试题的图片 - * @return - */ - public Questions(Integer questionsId, String questionsText, String questionsType, String questionsAnswerOne, String questionsAnswerTwo, String questionsAnswerThree, String questionsAnswerFour, String questionsAnswerRight, Integer questionsSubjectId, String questionsImg) { - this.questionsId = questionsId; - this.questionsText = questionsText; - this.questionsType = questionsType; - this.questionsAnswerOne = questionsAnswerOne; - this.questionsAnswerTwo = questionsAnswerTwo; - this.questionsAnswerThree = questionsAnswerThree; - this.questionsAnswerFour = questionsAnswerFour; - this.questionsAnswerRight = questionsAnswerRight; - this.questionsSubjectId = questionsSubjectId; - this.questionsImg = questionsImg; + public Questions() { } - public Integer getQuestionsId() { return questionsId; } @@ -67,12 +68,12 @@ public class Questions { this.questionsText = questionsText; } - public String getQuestionsType() { - return questionsType; + public Integer getQuestions_type_id() { + return questions_type_id; } - public void setQuestionsType(String questionsType) { - this.questionsType = questionsType; + public void setQuestions_type_id(Integer questions_type_id) { + this.questions_type_id = questions_type_id; } public String getQuestionsAnswerOne() { @@ -130,4 +131,12 @@ public class Questions { public void setQuestionsImg(String questionsImg) { this.questionsImg = questionsImg; } + + public String getQuestionsLevel() { + return questionsLevel; + } + + public void setQuestionsLevel(String questionsLevel) { + this.questionsLevel = questionsLevel; + } } diff --git a/src/main/java/com/hqyj/vueproject/pojo/Score.java b/src/main/java/com/hqyj/vueproject/pojo/Score.java index cb067b0c64902ab0ddc71f6ef788e6a9421e39ad..3ab7f7cfad16dc397bcc9477d16379f7dd35e9dc 100644 --- a/src/main/java/com/hqyj/vueproject/pojo/Score.java +++ b/src/main/java/com/hqyj/vueproject/pojo/Score.java @@ -1,6 +1,11 @@ package com.hqyj.vueproject.pojo; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; + /** * @author YuDrag * @version 1.0.0 @@ -8,31 +13,28 @@ package com.hqyj.vueproject.pojo; * @Description * @ClassName:成绩实体 */ +@TableName("score") public class Score { + @TableId(value = "score_id",type = IdType.AUTO) private Integer scoreId; + @TableField(value = "score_stu_name") private String scoreStuName; - private Integer scorePaperId; + @TableField(value = "score_exam_name") + private Integer scoreExamName; + @TableField(value = "score_subject_id") private Integer scoreSubjectId; + @TableField(value = "score") private Double score; + @TableField(value = "score_stu_num") + private String scoreStuNum; + @TableField(exist = false) + private String paperName; + @TableField(exist = false) + private Paper paper; - public Score() { - } - /** - * @param scoreId 成绩ID - * @param scoreStuName 学生名称 - * @param scorePaperId 试卷ID - * @param scoreSubjectId 科目ID - * @param score 分数 - * @return - */ - public Score(Integer scoreId, String scoreStuName, Integer scorePaperId, Integer scoreSubjectId, Double score) { - this.scoreId = scoreId; - this.scoreStuName = scoreStuName; - this.scorePaperId = scorePaperId; - this.scoreSubjectId = scoreSubjectId; - this.score = score; + public Score() { } public Integer getScoreId() { @@ -51,12 +53,12 @@ public class Score { this.scoreStuName = scoreStuName; } - public Integer getScorePaperId() { - return scorePaperId; + public Integer getScoreExamName() { + return scoreExamName; } - public void setScorePaperId(Integer scorePaperId) { - this.scorePaperId = scorePaperId; + public void setScoreExamName(Integer scoreExamName) { + this.scoreExamName = scoreExamName; } public Integer getScoreSubjectId() { @@ -74,4 +76,28 @@ public class Score { public void setScore(Double score) { this.score = score; } + + public String getScoreStuNum() { + return scoreStuNum; + } + + public void setScoreStuNum(String scoreStuNum) { + this.scoreStuNum = scoreStuNum; + } + + public String getPaperName() { + return paperName; + } + + public void setPaperName(String paperName) { + this.paperName = paperName; + } + + public Paper getPaper() { + return paper; + } + + public void setPaper(Paper paper) { + this.paper = paper; + } } diff --git a/src/main/java/com/hqyj/vueproject/pojo/User.java b/src/main/java/com/hqyj/vueproject/pojo/User.java index b080c2111678a63567d5f84741bad1822e693c6f..65dcf0a62926ffa0ee71ef6966e2ffc5c414b7ca 100644 --- a/src/main/java/com/hqyj/vueproject/pojo/User.java +++ b/src/main/java/com/hqyj/vueproject/pojo/User.java @@ -1,6 +1,9 @@ package com.hqyj.vueproject.pojo; +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; + import java.util.Date; /** @@ -10,22 +13,60 @@ import java.util.Date; * @Description * @ClassName:User实体类 */ +@TableName("user") public class User { + @TableId(value = "user_id",type = IdType.AUTO) private Integer userId; + + @TableField(value = "user_num") private Integer userNum; + + @TableField(value = "user_name") private String userName; + + @TableField(value = "user_password") private String userPassword; + + @TableField(value = "user_gender") private String userGender; + + @TableField(value = "user_age") private Integer userAge; + + @TableField(value = "user_birthday") + @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") private Date userBirthday; - private Date userUpdateTime; + + @TableField(value = "user_update_time",fill = FieldFill.INSERT) + @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") + private Date updateTime; + + @TableField(value = "user_tel") private String userTel; + + @TableField(value = "user_img") private String userImg; - private String stuClass; + + @TableField(value = "clazz_id") + private String clazzId; + + @TableField(value = "role_id") private Integer roleId; + + @TableField(value = "user_real_name") private String userRealName; + @TableField(value = "user_subject_id") + private Integer userSubjectId; + + @TableField(exist = false) + private Clazz clazz; + + @TableField(exist = false) + private Subject subject; + + /** * @return * 无参 @@ -33,38 +74,21 @@ public class User { public User() { } - /** - * @param userId 用户id - * @param userNum 用户num - * @param userName 用户名 - * @param userPassword 用户密码 - * @param userGender 用户性别 - * @param userAge 用户年龄 - * @param userBirthday 用户生日 - * @param userUpdateTime 用户更新时间 - * @param userTel 用户电话号码 - * @param userImg 用户img - * @param stuClass 学生班级 - * @param roleId 角色id - * @param userRealName 学生名字 - * @return - */ - public User(Integer userId, Integer userNum, String userName, String userPassword, String userGender, Integer userAge, Date userBirthday, Date userUpdateTime, String userTel, String userImg, String stuClass, Integer roleId, String userRealName) { - this.userId = userId; - this.userNum = userNum; - this.userName = userName; - this.userPassword = userPassword; - this.userGender = userGender; - this.userAge = userAge; - this.userBirthday = userBirthday; - this.userUpdateTime = userUpdateTime; - this.userTel = userTel; - this.userImg = userImg; - this.stuClass = stuClass; - this.roleId = roleId; - this.userRealName = userRealName; + public Clazz getClazz() { + return clazz; + } + + public void setClazz(Clazz clazz) { + this.clazz = clazz; } + public Subject getSubject() { + return subject; + } + + public void setSubject(Subject subject) { + this.subject = subject; + } public Integer getUserId() { return userId; @@ -102,6 +126,14 @@ public class User { return userGender; } + public Date getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(Date updateTime) { + this.updateTime = updateTime; + } + public void setUserGender(String userGender) { this.userGender = userGender; } @@ -122,14 +154,6 @@ public class User { this.userBirthday = userBirthday; } - public Date getUserUpdateTime() { - return userUpdateTime; - } - - public void setUserUpdateTime(Date userUpdateTime) { - this.userUpdateTime = userUpdateTime; - } - public String getUserTel() { return userTel; } @@ -146,12 +170,12 @@ public class User { this.userImg = userImg; } - public String getStuClass() { - return stuClass; + public String getClazzId() { + return clazzId; } - public void setStuClass(String stuClass) { - this.stuClass = stuClass; + public void setClazzId(String clazzId) { + this.clazzId = clazzId; } public Integer getRoleId() { @@ -169,4 +193,32 @@ public class User { public void setUserRealName(String userRealName) { this.userRealName = userRealName; } + + public Integer getUserSubjectId() { + return userSubjectId; + } + + public void setUserSubjectId(Integer userSubjectId) { + this.userSubjectId = userSubjectId; + } + + @Override + public String toString() { + return "User{" + + "userId=" + userId + + ", userNum=" + userNum + + ", userName='" + userName + '\'' + + ", userPassword='" + userPassword + '\'' + + ", userGender='" + userGender + '\'' + + ", userAge=" + userAge + + ", userBirthday=" + userBirthday + + ", updateTime=" + updateTime + + ", userTel='" + userTel + '\'' + + ", userImg='" + userImg + '\'' + + ", clazzId='" + clazzId + '\'' + + ", roleId=" + roleId + + ", userRealName='" + userRealName + '\'' + + ", userSubjectId=" + userSubjectId + + '}'; + } } diff --git a/src/main/java/com/hqyj/vueproject/students/controller/YuFileController.java b/src/main/java/com/hqyj/vueproject/students/controller/YuFileController.java new file mode 100644 index 0000000000000000000000000000000000000000..f4cc292c4ab431bbda3694e4f84bb36a65d5abe6 --- /dev/null +++ b/src/main/java/com/hqyj/vueproject/students/controller/YuFileController.java @@ -0,0 +1,47 @@ +package com.hqyj.vueproject.students.controller; + +import com.hqyj.vueproject.utils.ResultInfo; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.multipart.MultipartFile; + +import java.io.File; +import java.io.IOException; + +//上传文件控制器 +@RestController +@RequestMapping("/file") +public class YuFileController { + + @PostMapping("/upload") + public ResultInfo upload(MultipartFile file){ +// 获取文件的名字 + String originalFilename = file.getOriginalFilename(); +// 把图片放在D盘java文件夹中的img文件夹中,但是访问的时候,我通过 +// 我通过路径映射来访问比如:/images/xxx.jpg实际上访问D: \images \xxx.jpg +// 定义一个图片存放的位置路径 + String path = "D:\\JAVA\\img"; +// 创建file对象 + File file1 = new File(path, originalFilename); +// 判断文件夹是否存在 + if (!file1.getParentFile().exists()){ +// 如果这个路径下的文件夹不存在,那么就创建一个 +// 使用mkdirs创建多级目录 + file1.getParentFile().mkdirs(); + } +// 配置存放图片的路径 + String saveImgPath = path + File.separator + originalFilename; + try { +// 向磁盘写入文件 + file.transferTo(new File(saveImgPath)); +// 配置图片返回给前端的路径 +// String imagePath = "/images/" + originalFilename; +// http://localhost:8080/static/images/3l9ody.jpg + return new ResultInfo(200,"upload success","http://localhost:8080/static/images/"+originalFilename); + } catch (IOException e) { + e.printStackTrace(); + return new ResultInfo(500,"upload fail"); + } + } +} diff --git a/src/main/java/com/hqyj/vueproject/students/controller/YuPaperController.java b/src/main/java/com/hqyj/vueproject/students/controller/YuPaperController.java new file mode 100644 index 0000000000000000000000000000000000000000..001dfcc68177af385efe16e220f7df817c036c9a --- /dev/null +++ b/src/main/java/com/hqyj/vueproject/students/controller/YuPaperController.java @@ -0,0 +1,50 @@ +package com.hqyj.vueproject.students.controller; + +import com.hqyj.vueproject.students.query.YuPaperAnswerQuery; +import com.hqyj.vueproject.students.query.YuSearchData; +import com.hqyj.vueproject.students.service.YuPaperService; +import com.hqyj.vueproject.utils.ResultInfo; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @version 1.0 + * @Author YuDrag + * @Date 2022/12/7 17:18 + * @Description:有关试卷的查询 + */ + +@RestController +@RequestMapping("/api") +public class YuPaperController { + + @Autowired + private YuPaperService yuPaperService; + + /** + * 接收前端传回来的学号以及考试名称 + * @param yuSearchData 搜索数据 + * @return {@link ResultInfo } + */ + @PostMapping(value = "paper/detail",consumes = "application/json") + ResultInfo selectPaperDetail(@RequestBody YuSearchData yuSearchData){ + ResultInfo resultInfo = yuPaperService.selectPaperDetail(yuSearchData); + return resultInfo; + } + + @PostMapping(value = "paper/examDetail",consumes = "application/json") + ResultInfo selectUnTakenPaperDetail(@RequestBody YuSearchData yuSearchData){ + ResultInfo resultInfo = yuPaperService.selectUnTakenPaperDetail(yuSearchData); + return resultInfo; + } + @Transactional + @PostMapping(value = "paper/paperAnswer",consumes = "application/json") + ResultInfo insertPaperAnswer(@RequestBody YuPaperAnswerQuery yuPaperAnswerQuery){ + ResultInfo resultInfo = yuPaperService.insertPaperAnswer(yuPaperAnswerQuery); + return resultInfo; + } +} diff --git a/src/main/java/com/hqyj/vueproject/students/controller/YuScoreController.java b/src/main/java/com/hqyj/vueproject/students/controller/YuScoreController.java new file mode 100644 index 0000000000000000000000000000000000000000..989ca0067becb315e9db2c0150aca8ae260ab20f --- /dev/null +++ b/src/main/java/com/hqyj/vueproject/students/controller/YuScoreController.java @@ -0,0 +1,43 @@ +package com.hqyj.vueproject.students.controller; + +import com.hqyj.vueproject.students.query.YuPaperQuery; +import com.hqyj.vueproject.students.query.YuSearchData; +import com.hqyj.vueproject.students.service.YuScoreService; +import com.hqyj.vueproject.utils.ResultInfo; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + + +/** + * @version 1.0 + * @Author YuDrag + * @Date 2022/11/30 9:25 + * @Description: + */ +@RestController +@RequestMapping("api/") +public class YuScoreController { + + @Autowired + private YuScoreService scoreService; + + /** + * 传一个YuUserQuery:使用里面的用户名和分页数据进行查询用户的历史考试记录 + * @return {@link ResultInfo } + */ + @PostMapping("score/historyScore") + ResultInfo historyScoreSelectByClassAndStuName(@RequestBody YuPaperQuery yuPaperQuery){ + return scoreService.historyScoreSelectByUserId(yuPaperQuery); + } + + /** + * 传输一个YuExamQuery: + * 1.使用用户名称在exam_status中查询出来用户已经考过的考试数据 + * 2.对查询出来的考试数据进行循环查询并且加入时间进行查询,将结果放到list中 + * @return {@link ResultInfo } + */ + @PostMapping(value = "score/exams/{id}",consumes = "application/json") + ResultInfo selectExams(@PathVariable("id")Integer userId, @RequestBody YuSearchData page) { + return scoreService.takenExams(userId,page); + } +} diff --git a/src/main/java/com/hqyj/vueproject/students/controller/YuStudentController.java b/src/main/java/com/hqyj/vueproject/students/controller/YuStudentController.java new file mode 100644 index 0000000000000000000000000000000000000000..172c78c1ea2ef177dcf79609b47b3297e6c52e79 --- /dev/null +++ b/src/main/java/com/hqyj/vueproject/students/controller/YuStudentController.java @@ -0,0 +1,41 @@ +package com.hqyj.vueproject.students.controller; + +import com.hqyj.vueproject.pojo.User; +import com.hqyj.vueproject.students.service.YuStuService; +import com.hqyj.vueproject.utils.ResultInfo; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.*; + +/** + * @version 1.0 + * @Author YuDrag + * @Date 2022/12/2 15:46 + * @Description: + */ +@RestController +@RequestMapping("/api") +public class YuStudentController { + + @Autowired + private YuStuService yuStuService; + + /** + * 传一个YuUserQuery:使用里面的用户名和分页数据进行查询用户的历史考试记录 + * @return {@link ResultInfo } + */ + @Transactional + @PutMapping(value = "/student/userData", consumes = "application/json") + ResultInfo updateStudent(@RequestBody User userData){ + return yuStuService.updateStudent(userData); + } + + /** + * 传一个YuUserQuery:使用里面的用户名和分页数据进行查询用户的历史考试记录 + * @return {@link ResultInfo } + */ + @GetMapping(value = "/student/{id}") + ResultInfo selectStudent(@PathVariable("id")Integer userId){ + return yuStuService.selectStudent(userId); + } +} diff --git a/src/main/java/com/hqyj/vueproject/students/mapper/YuAnswerMapper.java b/src/main/java/com/hqyj/vueproject/students/mapper/YuAnswerMapper.java new file mode 100644 index 0000000000000000000000000000000000000000..e5e681da40921beb7fe1a0137e8c17097f179184 --- /dev/null +++ b/src/main/java/com/hqyj/vueproject/students/mapper/YuAnswerMapper.java @@ -0,0 +1,15 @@ +package com.hqyj.vueproject.students.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.hqyj.vueproject.pojo.Answer; +import org.springframework.stereotype.Repository; + +/** + * @version 1.0 + * @Author YuDrag + * @Date 2022/12/10 15:59 + * @Description: + */ +@Repository +public interface YuAnswerMapper extends BaseMapper { +} diff --git a/src/main/java/com/hqyj/vueproject/students/mapper/YuClassMapper.java b/src/main/java/com/hqyj/vueproject/students/mapper/YuClassMapper.java new file mode 100644 index 0000000000000000000000000000000000000000..e4cbf223325c9270c9a3a8f5ebfc4387def59cda --- /dev/null +++ b/src/main/java/com/hqyj/vueproject/students/mapper/YuClassMapper.java @@ -0,0 +1,15 @@ +package com.hqyj.vueproject.students.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.hqyj.vueproject.pojo.Clazz; +import org.springframework.stereotype.Repository; + +/** + * @version 1.0 + * @Author YuDrag + * @Date 2022/12/3 11:26 + * @Description: + */ +@Repository +public interface YuClassMapper extends BaseMapper { +} diff --git a/src/main/java/com/hqyj/vueproject/students/mapper/YuExamMapper.java b/src/main/java/com/hqyj/vueproject/students/mapper/YuExamMapper.java new file mode 100644 index 0000000000000000000000000000000000000000..5085d6c3b5f75576dc75a6a61f8f1b763d90427f --- /dev/null +++ b/src/main/java/com/hqyj/vueproject/students/mapper/YuExamMapper.java @@ -0,0 +1,44 @@ +package com.hqyj.vueproject.students.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.hqyj.vueproject.pojo.Exam; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + * @version 1.0 + * @Author YuDrag + * @Date 2022/11/30 14:11 + * @Description: + */ +@Repository +public interface YuExamMapper extends BaseMapper { + + + /** + * 联表查询,userId,查询对应用户的考试,examStatus查询已经考的考试 + * @param examPage 考试分页数据 + * @param userId 用户id + * @param examStatus 试卷是否已考 + * @return {@link Page }<{@link Exam }> + */ + Page selectExam(@Param("page") Page examPage, @Param("userId") Integer userId, @Param("examStatus") Integer examStatus); + + /** + * 利用paperId进行联表查询Exam信息 + * @param paperName 论文名称 + * @return {@link Exam } + */ + Exam selectExamByPaperName(String paperName); + + /** + * 根据用户id和size查询最近的考试试卷id + * @param userId 用户id + * @param size 大小 + * @return {@link List }<{@link Integer }> + */ + List selectExamByUserIdAndSize(@Param("userId")Integer userId, @Param("size")Integer size); +} diff --git a/src/main/java/com/hqyj/vueproject/students/mapper/YuExamStatusMapper.java b/src/main/java/com/hqyj/vueproject/students/mapper/YuExamStatusMapper.java new file mode 100644 index 0000000000000000000000000000000000000000..e2deebf74b00046210123c4c8d44373ef92a7d03 --- /dev/null +++ b/src/main/java/com/hqyj/vueproject/students/mapper/YuExamStatusMapper.java @@ -0,0 +1,15 @@ +package com.hqyj.vueproject.students.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.hqyj.vueproject.pojo.ExamStatus; +import org.springframework.stereotype.Repository; + +/** + * @version 1.0 + * @Author YuDrag + * @Date 2022/11/30 13:46 + * @Description: + */ +@Repository +public interface YuExamStatusMapper extends BaseMapper { +} diff --git a/src/main/java/com/hqyj/vueproject/students/mapper/YuPaperDetailQueryMapper.java b/src/main/java/com/hqyj/vueproject/students/mapper/YuPaperDetailQueryMapper.java new file mode 100644 index 0000000000000000000000000000000000000000..8feec09462f9e2ee94963cbbb91fbfa601d47794 --- /dev/null +++ b/src/main/java/com/hqyj/vueproject/students/mapper/YuPaperDetailQueryMapper.java @@ -0,0 +1,36 @@ +package com.hqyj.vueproject.students.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.hqyj.vueproject.students.query.YuPaperDetailQuery; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + * @version 1.0 + * @Author YuDrag + * @Date 2022/12/9 9:31 + * @Description: + */ +@Repository +public interface YuPaperDetailQueryMapper extends BaseMapper { + + /** + * 查询学生的答题情况详情 + * @param userNum 用户num + * @param userId 用户id + * @param examName 考试名称 + * @return {@link Page }<{@link YuPaperDetailQuery }> + */ + List selectPaperDetail(@Param("userNum") String userNum, @Param("userId") Integer userId , @Param("examName") String examName); + + /** + * 查询考生的未考试卷的题目 + * @param userId 用户id + * @param examName 考试名称 + * @return {@link List }<{@link YuPaperDetailQuery }> + */ + List selectUnTakenPaperDetail(@Param("userId") Integer userId,@Param("examName") String examName); +} diff --git a/src/main/java/com/hqyj/vueproject/students/mapper/YuPaperMapper.java b/src/main/java/com/hqyj/vueproject/students/mapper/YuPaperMapper.java new file mode 100644 index 0000000000000000000000000000000000000000..3ce6d5c8c46ea07c8c790ed141505edb3867b1a4 --- /dev/null +++ b/src/main/java/com/hqyj/vueproject/students/mapper/YuPaperMapper.java @@ -0,0 +1,20 @@ +package com.hqyj.vueproject.students.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.hqyj.vueproject.pojo.Paper; +import com.hqyj.vueproject.students.query.YuPaperDetailQuery; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; + +/** + * @version 1.0 + * @Author YuDrag + * @Date 2022/12/7 17:25 + * @Description: + */ + +@Repository +public interface YuPaperMapper extends BaseMapper { + +} diff --git a/src/main/java/com/hqyj/vueproject/students/mapper/YuQuestionsMapper.java b/src/main/java/com/hqyj/vueproject/students/mapper/YuQuestionsMapper.java new file mode 100644 index 0000000000000000000000000000000000000000..751ffff7a1ef2bd8e13a4d5c5ceaf2cd0a4381a7 --- /dev/null +++ b/src/main/java/com/hqyj/vueproject/students/mapper/YuQuestionsMapper.java @@ -0,0 +1,15 @@ +package com.hqyj.vueproject.students.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.hqyj.vueproject.pojo.Questions; +import org.springframework.stereotype.Repository; + +/** + * @version 1.0 + * @Author YuDrag + * @Date 2022/12/10 16:33 + * @Description: + */ +@Repository +public interface YuQuestionsMapper extends BaseMapper { +} diff --git a/src/main/java/com/hqyj/vueproject/students/mapper/YuScoreMapper.java b/src/main/java/com/hqyj/vueproject/students/mapper/YuScoreMapper.java new file mode 100644 index 0000000000000000000000000000000000000000..1a4670ddcdef3ba310800765f935155b1123e770 --- /dev/null +++ b/src/main/java/com/hqyj/vueproject/students/mapper/YuScoreMapper.java @@ -0,0 +1,38 @@ +package com.hqyj.vueproject.students.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.hqyj.vueproject.pojo.Score; +import com.hqyj.vueproject.students.query.YuPaperQuery; +import com.hqyj.vueproject.students.query.YuUserQuery; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + * @version 1.0 + * @Author YuDrag + * @Date 2022/11/30 10:08 + * @Description: + */ +@Repository +public interface YuScoreMapper extends BaseMapper { + + + /** + * 使用学生真实姓名来查询他的历史成绩 + * @param userQueryPage 用户查询页面 + * @param userName 用户名 + * @return {@link Page }<{@link Score }> + */ + Page selectScoreList(@Param("page")Page userQueryPage, @Param("userName")String userName); + + /** + * 使用班级和试卷id查询该班在这张试卷的所有学生成绩 + * @param clazzId 班级id + * @param examName 试卷Name + * @return {@link List }<{@link YuPaperQuery }> + */ + List selectClazzScores(@Param("clazzId") Integer clazzId,@Param("examName")String examName); +} diff --git a/src/main/java/com/hqyj/vueproject/students/mapper/YuStuMapper.java b/src/main/java/com/hqyj/vueproject/students/mapper/YuStuMapper.java new file mode 100644 index 0000000000000000000000000000000000000000..86f194c18bd7c4da624a1522e97184ff552037f3 --- /dev/null +++ b/src/main/java/com/hqyj/vueproject/students/mapper/YuStuMapper.java @@ -0,0 +1,15 @@ +package com.hqyj.vueproject.students.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.hqyj.vueproject.pojo.User; +import org.springframework.stereotype.Repository; + +/** + * @version 1.0 + * @Author YuDrag + * @Date 2022/11/30 9:27 + * @Description: + */ +@Repository +public interface YuStuMapper extends BaseMapper { +} diff --git a/src/main/java/com/hqyj/vueproject/students/mapper/YuTakenExamQueryMapper.java b/src/main/java/com/hqyj/vueproject/students/mapper/YuTakenExamQueryMapper.java new file mode 100644 index 0000000000000000000000000000000000000000..be52b6a58000aa3f4b5bbdcaa92b060fc1a58027 --- /dev/null +++ b/src/main/java/com/hqyj/vueproject/students/mapper/YuTakenExamQueryMapper.java @@ -0,0 +1,36 @@ +package com.hqyj.vueproject.students.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.hqyj.vueproject.students.query.YuSearchData; +import com.hqyj.vueproject.students.query.YuTakenExamQuery; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; + +/** + * @version 1.0 + * @Author YuDrag + * @Date 2022/12/3 14:12 + * @Description: + */ +@Repository +public interface YuTakenExamQueryMapper extends BaseMapper { + + /** + * 根据用户id和时间范围以及名称范围查询已考考试 + * @param page 页面 + * @param userId 用户id + * @return {@link Page }<{@link YuTakenExamQuery }> + */ + Page selectTakenExams(@Param("page") Page page, @Param("userId") Integer userId,@Param("searchData") YuSearchData data); + + /** + * 查询未考考试 + * @param page 页面 + * @param userId 用户id + * @param data 数据 + * @return {@link Page }<{@link YuTakenExamQuery }> + */ + Page selectUnTakenExams(@Param("page") Page page, @Param("userId") Integer userId,@Param("searchData") YuSearchData data); + +} diff --git a/src/main/java/com/hqyj/vueproject/students/mapper/YuUserQueryMapper.java b/src/main/java/com/hqyj/vueproject/students/mapper/YuUserQueryMapper.java new file mode 100644 index 0000000000000000000000000000000000000000..913f4591a634e2b71340769ad5e31fff2197b10f --- /dev/null +++ b/src/main/java/com/hqyj/vueproject/students/mapper/YuUserQueryMapper.java @@ -0,0 +1,22 @@ +package com.hqyj.vueproject.students.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.hqyj.vueproject.students.query.YuUserQuery; +import org.springframework.stereotype.Repository; + +/** + * @version 1.0 + * @Author YuDrag + * @Date 2022/12/3 11:30 + * @Description: + */ +@Repository +public interface YuUserQueryMapper extends BaseMapper { + + /** + * 查询用户以及用户的班级 + * @param userId 用户id + * @return {@link YuUserQuery } + */ + YuUserQuery selectStudentOne(Integer userId); +} diff --git a/src/main/java/com/hqyj/vueproject/students/query/YuExamQuery.java b/src/main/java/com/hqyj/vueproject/students/query/YuExamQuery.java new file mode 100644 index 0000000000000000000000000000000000000000..ba124c3b16b15acd3509cca7fc392bd9f0e11955 --- /dev/null +++ b/src/main/java/com/hqyj/vueproject/students/query/YuExamQuery.java @@ -0,0 +1,186 @@ +package com.hqyj.vueproject.students.query; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.fasterxml.jackson.annotation.JsonFormat; + +import java.util.Date; + +/** + * @version 1.0 + * @Author YuDrag + * @Date 2022/11/30 14:15 + * @Description: + */ +public class YuExamQuery { + + private Integer examId; + + private String examName; + + private Date examCreateTime; + + private Integer examSubjectId; + + private String examPublisher; + + private Integer examClassId; + + private Integer examTime; + + @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") + private Date examStartTime; + + @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") + private Date examEndTime; + + private Integer examPaperId; + + + /** + * @Description:分页 + * @see Integer + */ + private Integer page; + private Integer size; + + + /** + * @Description:根据用户名查询的条件 + * @see String + */ + private String userName; + + /** + * @Description:根据时间范围查询的条件 + * @see Date + */ + @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") + private Date startTime; + @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") + private Date EndTime; + + public YuExamQuery() { + } + + public String getUserName() { + return userName; + } + + public void setUserName(String userName) { + this.userName = userName; + } + + public Date getStartTime() { + return startTime; + } + + public void setStartTime(Date startTime) { + this.startTime = startTime; + } + + public Date getEndTime() { + return EndTime; + } + + public void setEndTime(Date endTime) { + EndTime = endTime; + } + + public Integer getExamId() { + return examId; + } + + public void setExamId(Integer examId) { + this.examId = examId; + } + + public String getExamName() { + return examName; + } + + public void setExamName(String examName) { + this.examName = examName; + } + + public Date getExamCreateTime() { + return examCreateTime; + } + + public void setExamCreateTime(Date examCreateTime) { + this.examCreateTime = examCreateTime; + } + + public Integer getExamSubjectId() { + return examSubjectId; + } + + public void setExamSubjectId(Integer examSubjectId) { + this.examSubjectId = examSubjectId; + } + + public String getExamPublisher() { + return examPublisher; + } + + public void setExamPublisher(String examPublisher) { + this.examPublisher = examPublisher; + } + + public Integer getExamClassId() { + return examClassId; + } + + public void setExamClassId(Integer examClassId) { + this.examClassId = examClassId; + } + + public Integer getExamTime() { + return examTime; + } + + public void setExamTime(Integer examTime) { + this.examTime = examTime; + } + + public Date getExamStartTime() { + return examStartTime; + } + + public void setExamStartTime(Date examStartTime) { + this.examStartTime = examStartTime; + } + + public Date getExamEndTime() { + return examEndTime; + } + + public void setExamEndTime(Date examEndTime) { + this.examEndTime = examEndTime; + } + + public Integer getExamPaperId() { + return examPaperId; + } + + public void setExamPaperId(Integer examPaperId) { + this.examPaperId = examPaperId; + } + + public Integer getPage() { + return page; + } + + public void setPage(Integer page) { + this.page = page; + } + + public Integer getSize() { + return size; + } + + public void setSize(Integer size) { + this.size = size; + } +} diff --git a/src/main/java/com/hqyj/vueproject/students/query/YuPaperAnswerQuery.java b/src/main/java/com/hqyj/vueproject/students/query/YuPaperAnswerQuery.java new file mode 100644 index 0000000000000000000000000000000000000000..033eda96c5684951c1e26217babc8549e5c6677c --- /dev/null +++ b/src/main/java/com/hqyj/vueproject/students/query/YuPaperAnswerQuery.java @@ -0,0 +1,78 @@ +package com.hqyj.vueproject.students.query; + +import java.util.List; + +/** + * @version 1.0 + * @Author YuDrag + * @Date 2022/12/10 15:04 + * @Description: + */ +public class YuPaperAnswerQuery { + private String exam; + private String userNum; + private List selectQuestions; + private List judgeQuestions; + private List blanksQuestions; + private List subjectiveQuestions; + private Integer questionScore; + + public YuPaperAnswerQuery() { + } + + public Integer getQuestionScore() { + return questionScore; + } + + public void setQuestionScore(Integer questionScore) { + this.questionScore = questionScore; + } + + public String getExam() { + return exam; + } + + public void setExam(String exam) { + this.exam = exam; + } + + public String getUserNum() { + return userNum; + } + + public void setUserNum(String userNum) { + this.userNum = userNum; + } + + public List getSelectQuestions() { + return selectQuestions; + } + + public void setSelectQuestions(List selectQuestions) { + this.selectQuestions = selectQuestions; + } + + public List getJudgeQuestions() { + return judgeQuestions; + } + + public void setJudgeQuestions(List judgeQuestions) { + this.judgeQuestions = judgeQuestions; + } + + public List getBlanksQuestions() { + return blanksQuestions; + } + + public void setBlanksQuestions(List blanksQuestions) { + this.blanksQuestions = blanksQuestions; + } + + public List getSubjectiveQuestions() { + return subjectiveQuestions; + } + + public void setSubjectiveQuestions(List subjectiveQuestions) { + this.subjectiveQuestions = subjectiveQuestions; + } +} diff --git a/src/main/java/com/hqyj/vueproject/students/query/YuPaperDetailQuery.java b/src/main/java/com/hqyj/vueproject/students/query/YuPaperDetailQuery.java new file mode 100644 index 0000000000000000000000000000000000000000..ad8acde9f4b675f7b98302ebc816a3b32e01ae7a --- /dev/null +++ b/src/main/java/com/hqyj/vueproject/students/query/YuPaperDetailQuery.java @@ -0,0 +1,167 @@ +package com.hqyj.vueproject.students.query; + +import java.util.List; + +/** + * @version 1.0 + * @Author YuDrag + * @Date 2022/12/7 19:27 + * @Description: + */ +public class YuPaperDetailQuery { + + private String questionsText; + private String questionsImg; + private Double questionScore; + private String answerStuAnswer; + private String questionsAnswerRight; + private String questionsAnswerOne; + private String questionsAnswerTwo; + private String questionsAnswerThree; + private String questionsAnswerFour; + private Integer questionsTypeId; + private Double answerScore; + private List emptyAnswer; + + public YuPaperDetailQuery() { + } + + public List getEmptyAnswer() { + return emptyAnswer; + } + + public void setEmptyAnswer(List emptyAnswer) { + this.emptyAnswer = emptyAnswer; + } + + public Double getAnswerScore() { + return answerScore; + } + + public void setAnswerScore(Double answerScore) { + this.answerScore = answerScore; + } + + public Integer getQuestionsTypeId() { + return questionsTypeId; + } + + public void setQuestionsTypeId(Integer questionsTypeId) { + this.questionsTypeId = questionsTypeId; + } + + public String getQuestionsText() { + return questionsText; + } + + public void setQuestionsText(String questionsText) { + this.questionsText = questionsText; + } + + public String getQuestionsImg() { + return questionsImg; + } + + public void setQuestionsImg(String questionsImg) { + this.questionsImg = questionsImg; + } + + public Double getQuestionScore() { + return questionScore; + } + + public void setQuestionScore(Double questionScore) { + this.questionScore = questionScore; + } + + public String getAnswerStuAnswer() { + return answerStuAnswer; + } + + public void setAnswerStuAnswer(String answerStuAnswer) { + this.answerStuAnswer = answerStuAnswer; + } + + public String getQuestionsAnswerRight() { + return questionsAnswerRight; + } + + public void setQuestionsAnswerRight(String questionsAnswerRight) { + this.questionsAnswerRight = questionsAnswerRight; + } + + public String getQuestionsAnswerOne() { + return questionsAnswerOne; + } + + public void setQuestionsAnswerOne(String questionsAnswerOne) { + this.questionsAnswerOne = questionsAnswerOne; + } + + public String getQuestionsAnswerTwo() { + return questionsAnswerTwo; + } + + public void setQuestionsAnswerTwo(String questionsAnswerTwo) { + this.questionsAnswerTwo = questionsAnswerTwo; + } + + public String getQuestionsAnswerThree() { + return questionsAnswerThree; + } + + public void setQuestionsAnswerThree(String questionsAnswerThree) { + this.questionsAnswerThree = questionsAnswerThree; + } + + public String getQuestionsAnswerFour() { + return questionsAnswerFour; + } + + public void setQuestionsAnswerFour(String questionsAnswerFour) { + this.questionsAnswerFour = questionsAnswerFour; + } + + @Override + public String toString() { + return "YuPaperDetailQuery{" + + "questionsText='" + questionsText + '\'' + + ", questionsImg='" + questionsImg + '\'' + + ", questionScore='" + questionScore + '\'' + + ", answerStuAnswer='" + answerStuAnswer + '\'' + + ", questionsAnswerRight='" + questionsAnswerRight + '\'' + + ", questionsAnswerOne='" + questionsAnswerOne + '\'' + + ", questionsAnswerTwo='" + questionsAnswerTwo + '\'' + + ", questionsAnswerThree='" + questionsAnswerThree + '\'' + + ", questionsAnswerFour='" + questionsAnswerFour + '\'' + + ", questionsTypeId=" + questionsTypeId + + ", answerScore=" + answerScore + + '}'; + } + + /** + * 将题目信息和hashcode进行关联,题目内容不一样题目就不一样 + * @return int + */ + @Override + public int hashCode() { + return this.getQuestionsText().hashCode(); + } + + /** + * 题目相同就是一样的题目 + * @param obj obj + * @return boolean + */ + @Override + public boolean equals(Object obj) { +// 判断对象是否是YuPaperDetailQuery类型 + if (obj instanceof YuPaperDetailQuery){ + YuPaperDetailQuery query = (YuPaperDetailQuery) obj; + if (query.getQuestionsText().equals(this.getQuestionsText())){ + return true; + } + } + return false; + } +} diff --git a/src/main/java/com/hqyj/vueproject/students/query/YuPaperQuery.java b/src/main/java/com/hqyj/vueproject/students/query/YuPaperQuery.java new file mode 100644 index 0000000000000000000000000000000000000000..78e5cf88d81cdb29c200b75fa7588ce6e2f135e0 --- /dev/null +++ b/src/main/java/com/hqyj/vueproject/students/query/YuPaperQuery.java @@ -0,0 +1,110 @@ +package com.hqyj.vueproject.students.query; + +import java.util.List; + +/** + * @author YuDrag + * @version 1.0.0 + * @Date 2022/12/05 + * @Description:用于接收考试成绩以及排名 + * @ClassName + */ + +public class YuPaperQuery implements Comparable{ + + private Integer userId; + private Integer clazzId; + private Integer sortNum; + private Double value; + private Integer size; + private String stuNum; + private List paperIds; + private Integer paperId; + + public YuPaperQuery() { + } + + public List getPaperIds() { + return paperIds; + } + + public void setPaperIds(List paperIds) { + this.paperIds = paperIds; + } + + public Integer getPaperId() { + return paperId; + } + + public void setPaperId(Integer paperId) { + this.paperId = paperId; + } + + public String getStuNum() { + return stuNum; + } + + public void setStuNum(String stuNum) { + this.stuNum = stuNum; + } + + public Integer getClazzId() { + return clazzId; + } + + public void setClazzId(Integer clazzId) { + this.clazzId = clazzId; + } + + public Integer getUserId() { + return userId; + } + + public void setUserId(Integer userId) { + this.userId = userId; + } + + public Integer getSortNum() { + return sortNum; + } + + public void setSortNum(Integer sortNum) { + this.sortNum = sortNum; + } + + public Double getValue() { + return value; + } + + public void setValue(Double value) { + this.value = value; + } + + public Integer getSize() { + return size; + } + + public void setSize(Integer size) { + this.size = size; + } + +// 重写比较方法 + @Override + public int compareTo(YuPaperQuery o) { + return (int) (o.value - this.value); + } + + @Override + public String toString() { + return "YuPaperQuery{" + + "userId=" + userId + + ", clazzId=" + clazzId + + ", sortNum=" + sortNum + + ", paperScore=" + value + + ", size=" + size + + ", stuNum='" + stuNum + '\'' + + ", paperIds=" + paperIds + + ", paperId=" + paperId + + '}'; + } +} diff --git a/src/main/java/com/hqyj/vueproject/students/query/YuSearchData.java b/src/main/java/com/hqyj/vueproject/students/query/YuSearchData.java new file mode 100644 index 0000000000000000000000000000000000000000..b28fc0d6400c02545841243c15d5fb24b2377151 --- /dev/null +++ b/src/main/java/com/hqyj/vueproject/students/query/YuSearchData.java @@ -0,0 +1,106 @@ +package com.hqyj.vueproject.students.query; + +import com.fasterxml.jackson.annotation.JsonFormat; + +import java.util.Date; + +/** + * @version 1.0 + * @Author YuDrag + * @Date 2022/12/3 15:26 + * @Description: + */ +public class YuSearchData { + + private Integer id; + @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") + private Date startTime; + @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") + private Date endTime; + private String examName; + private Integer examStatus; + private String userNum; + + private Integer page; + private Integer size; + + public YuSearchData() { + } + + public String getUserNum() { + return userNum; + } + + public void setUserNum(String userNum) { + this.userNum = userNum; + } + + public Integer getExamStatus() { + return examStatus; + } + + public void setExamStatus(Integer examStatus) { + this.examStatus = examStatus; + } + + public String getExamName() { + return examName; + } + + public void setExamName(String examName) { + this.examName = examName; + } + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public Date getStartTime() { + return startTime; + } + + public void setStartTime(Date startTime) { + this.startTime = startTime; + } + + public Date getEndTime() { + return endTime; + } + + public void setEndTime(Date endTime) { + this.endTime = endTime; + } + + public Integer getPage() { + return page; + } + + public void setPage(Integer page) { + this.page = page; + } + + public Integer getSize() { + return size; + } + + public void setSize(Integer size) { + this.size = size; + } + + @Override + public String toString() { + return "YuSearchData{" + + "id=" + id + + ", startTime=" + startTime + + ", endTime=" + endTime + + ", examName='" + examName + '\'' + + ", examStatus=" + examStatus + + ", page=" + page + + ", size=" + size + + '}'; + } +} diff --git a/src/main/java/com/hqyj/vueproject/students/query/YuTakenExamQuery.java b/src/main/java/com/hqyj/vueproject/students/query/YuTakenExamQuery.java new file mode 100644 index 0000000000000000000000000000000000000000..2df855c875b6796cc947f86232d301eba6ffec9f --- /dev/null +++ b/src/main/java/com/hqyj/vueproject/students/query/YuTakenExamQuery.java @@ -0,0 +1,89 @@ +package com.hqyj.vueproject.students.query; + +import com.fasterxml.jackson.annotation.JsonFormat; + +import java.util.Date; + +/** + * @version 1.0 + * @Author YuDrag + * @Date 2022/12/3 14:05 + * @Description: + */ +public class YuTakenExamQuery { + + private String examName; + + private Date examCreateTime; + + @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") + private Date examStartTime; + + @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") + private Date examEndTime; + + private String subjectName; + + private String paperName; + + private Double paperScore; + + public YuTakenExamQuery() { + } + + public String getExamName() { + return examName; + } + + public void setExamName(String examName) { + this.examName = examName; + } + + public Date getExamCreateTime() { + return examCreateTime; + } + + public void setExamCreateTime(Date examCreateTime) { + this.examCreateTime = examCreateTime; + } + + public Date getExamStartTime() { + return examStartTime; + } + + public void setExamStartTime(Date examStartTime) { + this.examStartTime = examStartTime; + } + + public Date getExamEndTime() { + return examEndTime; + } + + public void setExamEndTime(Date examEndTime) { + this.examEndTime = examEndTime; + } + + public String getSubjectName() { + return subjectName; + } + + public void setSubjectName(String subjectName) { + this.subjectName = subjectName; + } + + public Double getPaperScore() { + return paperScore; + } + + public void setPaperScore(Double paperScore) { + this.paperScore = paperScore; + } + + public String getPaperName() { + return paperName; + } + + public void setPaperName(String paperName) { + this.paperName = paperName; + } +} diff --git a/src/main/java/com/hqyj/vueproject/students/query/YuUserQuery.java b/src/main/java/com/hqyj/vueproject/students/query/YuUserQuery.java new file mode 100644 index 0000000000000000000000000000000000000000..54658aa74b1d8a66bc2b257b1d081ef33c86729f --- /dev/null +++ b/src/main/java/com/hqyj/vueproject/students/query/YuUserQuery.java @@ -0,0 +1,212 @@ +package com.hqyj.vueproject.students.query; + + +import com.fasterxml.jackson.annotation.JsonFormat; + +import java.util.Date; + +/** + * @author YuDrag + * @version 1.0.0 + * @Date 2022/11/29 + * @Description + * @ClassName:User实体类 + */ +public class YuUserQuery { + + private Integer userId; + private Integer userNum; + private String userName; + private String userPassword; + private String userGender; + private Integer userAge; + @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") + private Date userBirthday; + @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") + private Date userUpdateTime; + private String userTel; + private String userImg; + private String stuClass; + private Integer roleId; + private String userRealName; + private String className; + private Integer userSubjectId; + + private Integer page; + private Integer size; + + /** + * @return + * 无参 + */ + public YuUserQuery() { + } + + /** + * @param userId 用户id + * @param userNum 用户num + * @param userName 用户名 + * @param userPassword 用户密码 + * @param userGender 用户性别 + * @param userAge 用户年龄 + * @param userBirthday 用户生日 + * @param userUpdateTime 用户更新时间 + * @param userTel 用户电话号码 + * @param userImg 用户img + * @param stuClass 学生班级 + * @param roleId 角色id + * @param userRealName 学生名字 + * @return + */ + public YuUserQuery(Integer userId, Integer userNum, String userName, String userPassword, String userGender, Integer userAge, Date userBirthday, Date userUpdateTime, String userTel, String userImg, String stuClass, Integer roleId, String userRealName) { + this.userId = userId; + this.userNum = userNum; + this.userName = userName; + this.userPassword = userPassword; + this.userGender = userGender; + this.userAge = userAge; + this.userBirthday = userBirthday; + this.userUpdateTime = userUpdateTime; + this.userTel = userTel; + this.userImg = userImg; + this.stuClass = stuClass; + this.roleId = roleId; + this.userRealName = userRealName; + } + + public Integer getUserSubjectId() { + return userSubjectId; + } + + public void setUserSubjectId(Integer userSubjectId) { + this.userSubjectId = userSubjectId; + } + + public String getClassName() { + return className; + } + + public void setClassName(String className) { + this.className = className; + } + + public Integer getUserId() { + return userId; + } + + public void setUserId(Integer userId) { + this.userId = userId; + } + + public Integer getUserNum() { + return userNum; + } + + public void setUserNum(Integer userNum) { + this.userNum = userNum; + } + + public String getUserName() { + return userName; + } + + public void setUserName(String userName) { + this.userName = userName; + } + + public String getUserPassword() { + return userPassword; + } + + public void setUserPassword(String userPassword) { + this.userPassword = userPassword; + } + + public String getUserGender() { + return userGender; + } + + public void setUserGender(String userGender) { + this.userGender = userGender; + } + + public Integer getUserAge() { + return userAge; + } + + public void setUserAge(Integer userAge) { + this.userAge = userAge; + } + + public Date getUserBirthday() { + return userBirthday; + } + + public void setUserBirthday(Date userBirthday) { + this.userBirthday = userBirthday; + } + + public Date getUserUpdateTime() { + return userUpdateTime; + } + + public void setUserUpdateTime(Date userUpdateTime) { + this.userUpdateTime = userUpdateTime; + } + + public String getUserTel() { + return userTel; + } + + public void setUserTel(String userTel) { + this.userTel = userTel; + } + + public String getUserImg() { + return userImg; + } + + public void setUserImg(String userImg) { + this.userImg = userImg; + } + + public String getStuClass() { + return stuClass; + } + + public void setStuClass(String stuClass) { + this.stuClass = stuClass; + } + + public Integer getRoleId() { + return roleId; + } + + public void setRoleId(Integer roleId) { + this.roleId = roleId; + } + + public String getUserRealName() { + return userRealName; + } + + public void setUserRealName(String userRealName) { + this.userRealName = userRealName; + } + + public Integer getPage() { + return page; + } + + public void setPage(Integer page) { + this.page = page; + } + + public Integer getSize() { + return size; + } + + public void setSize(Integer size) { + this.size = size; + } +} diff --git a/src/main/java/com/hqyj/vueproject/students/service/Impl/YuPaperServiceImpl.java b/src/main/java/com/hqyj/vueproject/students/service/Impl/YuPaperServiceImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..918599d4ac66ed8dff352c52dd5cf28361a304a4 --- /dev/null +++ b/src/main/java/com/hqyj/vueproject/students/service/Impl/YuPaperServiceImpl.java @@ -0,0 +1,287 @@ +package com.hqyj.vueproject.students.service.Impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.hqyj.vueproject.pojo.*; +import com.hqyj.vueproject.students.mapper.*; +import com.hqyj.vueproject.students.query.YuPaperAnswerQuery; +import com.hqyj.vueproject.students.query.YuPaperDetailQuery; +import com.hqyj.vueproject.students.query.YuSearchData; +import com.hqyj.vueproject.students.service.YuPaperService; +import com.hqyj.vueproject.utils.ResultInfo; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; + +/** + * @version 1.0 + * @Author YuDrag + * @Date 2022/12/7 17:26 + * @Description: + */ +@Service +public class YuPaperServiceImpl implements YuPaperService { + + @Autowired + private YuPaperDetailQueryMapper yuPaperDetailQueryMapper; + @Autowired + private YuStuMapper yuStuMapper; + @Autowired + private YuExamMapper yuExamMapper; + @Autowired + private YuExamStatusMapper yuExamStatusMapper; + @Autowired + private YuAnswerMapper yuAnswerMapper; + @Autowired + private YuQuestionsMapper yuQuestionsMapper; + + @Override + public ResultInfo selectPaperDetail(YuSearchData yuSearchData) { + String userNum = yuSearchData.getUserNum(); + String examName = yuSearchData.getExamName(); + User user = yuStuMapper.selectOne(new QueryWrapper().eq("user_num", yuSearchData.getUserNum())); +// 查询的这张试卷的所有题目 + List yuPaperDetailQueries = + yuPaperDetailQueryMapper.selectPaperDetail(userNum, user.getUserId(), examName); +// 创建四个list用于接收不同类型的题目 +// 需要重写YuPaperDetailQuery的hashcode和equals方法 + HashSet selectQue = new HashSet<>(); + HashSet blanksQue = new HashSet<>(); + HashSet subjectiveQue = new HashSet<>(); + HashSet judgeQue = new HashSet<>(); +// 各个题型的总分 + Double selectScore = 0.0; + Double blankScore = 0.0; + Double judgeScore = 0.0; + Double subjectiveScore = 0.0; + +// 学生各个题型的得分 + Double selectStuScore = 0.0; + Double blankStuScore = 0.0; + Double judgeStuScore = 0.0; + Double subjectiveStuScore = 0.0; +// 创建map返回给前端 + for (YuPaperDetailQuery item:yuPaperDetailQueries) { + switch (item.getQuestionsTypeId()){ +// 1表示是选择题 + case 1: + selectQue.add(item); + selectScore = selectScore + item.getQuestionScore(); + selectStuScore = selectStuScore + item.getAnswerScore(); + break; +// 2是判断题 + case 2: + judgeQue.add(item); + judgeScore = judgeScore + item.getQuestionScore(); + judgeStuScore = judgeStuScore + item.getAnswerScore(); + break; +// 3是填空题 + case 3: + blanksQue.add(item); + blankScore = blankScore + item.getQuestionScore(); + blankStuScore = blankStuScore + item.getAnswerScore(); + break; + // 其他的都是主观题 + default: + subjectiveQue.add(item); + subjectiveScore = subjectiveScore + item.getQuestionScore(); + subjectiveStuScore = subjectiveStuScore + item.getAnswerScore(); + } + + } +// 题目的map + HashMap> stringListHashMap = new HashMap<>(16); +// 得分的map,这里可以添加其他的信息 + HashMap score = new HashMap<>(16); +// 最终返回的map + HashMap map = new HashMap<>(16); +// 每种题型的题目 + stringListHashMap.put("select",selectQue); + stringListHashMap.put("blank",blanksQue); + stringListHashMap.put("judge",judgeQue); + stringListHashMap.put("subjective",subjectiveQue); +// 各个题型的总分 + score.put("selectScore",selectScore); + score.put("judgeScore",judgeScore); + score.put("blankScore",blankScore); + score.put("subjectiveScore",subjectiveScore); +// 学生得分 + score.put("selectStuScore",selectStuScore); + score.put("judgeStuScore",judgeStuScore); + score.put("blankStuScore",blankStuScore); + score.put("subjectiveStuScore",subjectiveStuScore); + + map.put("Que",stringListHashMap); + map.put("score",score); + + return new ResultInfo(ResultInfo.ResultStatus.SUCCESS.code, "success",map); + } + + + @Override + public ResultInfo selectUnTakenPaperDetail(YuSearchData yuSearchData) { + String userNum = yuSearchData.getUserNum(); + String examName = yuSearchData.getExamName(); + User user = yuStuMapper.selectOne(new QueryWrapper().eq("user_num", yuSearchData.getUserNum())); +// 查询的这张试卷的所有题目 + List yuPaperDetailQueries = + yuPaperDetailQueryMapper.selectUnTakenPaperDetail(user.getUserId(), examName); +// 创建四个list用于接收不同类型的题目 +// 需要重写YuPaperDetailQuery的hashcode和equals方法 + HashSet selectQue = new HashSet<>(); + HashSet blanksQue = new HashSet<>(); + HashSet subjectiveQue = new HashSet<>(); + HashSet judgeQue = new HashSet<>(); +// 各个题型的总分 + Double selectScore = 0.0; + Double blankScore = 0.0; + Double judgeScore = 0.0; + Double subjectiveScore = 0.0; + +// 学生各个题型的得分 + Double selectStuScore = 0.0; + Double blankStuScore = 0.0; + Double judgeStuScore = 0.0; + Double subjectiveStuScore = 0.0; +// 创建map返回给前端 + for (YuPaperDetailQuery item:yuPaperDetailQueries) { +// 对里面的每个题目都设置一个空的答案数组 + item.setEmptyAnswer(new ArrayList<>()); + switch (item.getQuestionsTypeId()){ +// 1表示是选择题 + case 1: + selectQue.add(item); + selectScore = selectScore + item.getQuestionScore(); + break; +// 2是判断题 + case 2: + judgeQue.add(item); + judgeScore = judgeScore + item.getQuestionScore(); + break; +// 3是填空题 + case 3: + blanksQue.add(item); + blankScore = blankScore + item.getQuestionScore(); + break; + // 其他的都是主观题 + default: + subjectiveQue.add(item); + subjectiveScore = subjectiveScore + item.getQuestionScore(); + } + + } +// 题目的map + HashMap> stringListHashMap = new HashMap<>(16); +// 得分的map,这里可以添加其他的信息 + HashMap score = new HashMap<>(16); +// 最终返回的map + HashMap map = new HashMap<>(16); +// 每种题型的题目 + stringListHashMap.put("select",selectQue); + stringListHashMap.put("blank",blanksQue); + stringListHashMap.put("judge",judgeQue); + stringListHashMap.put("subjective",subjectiveQue); +// 各个题型的总分 + score.put("selectScore",selectScore); + score.put("judgeScore",judgeScore); + score.put("blankScore",blankScore); + score.put("subjectiveScore",subjectiveScore); + + map.put("Que",stringListHashMap); + map.put("score",score); + + return new ResultInfo(ResultInfo.ResultStatus.SUCCESS.code, "success",map); + } + + @Override + public ResultInfo insertPaperAnswer(YuPaperAnswerQuery yuPaperAnswerQuery) { +// 第一步将这个学生在这个原来的考试状态改成已考 + String examName = yuPaperAnswerQuery.getExam(); + String userNum = yuPaperAnswerQuery.getUserNum(); +// 查询考试的信息 + Exam exam = yuExamMapper.selectOne(new QueryWrapper().eq("exam_name", examName)); +// 获取这个学生的信息 + User user = yuStuMapper.selectOne(new QueryWrapper().eq("user_num", userNum)); +// 因为考试和学生绑定的关系是在发布考试的时候进行的新增 +// 所以我这里应该对其考试的状态进行修改 + ExamStatus examStatus = new ExamStatus(); + examStatus.setExamStuId(user.getUserId()); + examStatus.setPaperName(exam.getExamPaperName()); + examStatus.setExamStatus(1); + examStatus.setExamIsCorrect(0); + examStatus.setExamName(examName); + int update = yuExamStatusMapper.update(examStatus, new QueryWrapper() + .eq("exam_name", examStatus.getExamName()) + .eq("exam_stu_id", examStatus.getExamStuId())); + +// 第二步循环插入answer表 +// 循环选择题答案 + List selectQuestions = yuPaperAnswerQuery.getSelectQuestions(); + List blanksQuestions = yuPaperAnswerQuery.getBlanksQuestions(); + List judgeQuestions = yuPaperAnswerQuery.getJudgeQuestions(); + List subjectiveQuestions = yuPaperAnswerQuery.getSubjectiveQuestions(); + Integer select = insertAnswer(selectQuestions, examName, userNum, exam); + Integer blank = insertAnswer(blanksQuestions, examName, userNum, exam); + Integer judge = insertAnswer(judgeQuestions, examName, userNum, exam); + Integer subjective = 0; + for (YuPaperDetailQuery item: subjectiveQuestions) { + Answer answer = new Answer(); +// 学生答案 + answer.setAnswerStuAnswer(item.getAnswerStuAnswer()); +// 考试名称 + answer.setAnswerExamName(examName); +// 试卷名称 + answer.setAnswerPaperName(exam.getExamPaperName()); +// 通过试题题目查找题目的id + Questions questions = + yuQuestionsMapper.selectOne(new QueryWrapper().eq("questions_text", item.getQuestionsText())); +// 题目id + answer.setAnswerQuestionId(questions.getQuestionsId()); +// 正确答案 + answer.setAnswerRight(questions.getQuestionsAnswerRight()); +// 学号 + answer.setAnswerStuNum(userNum); +// 设置分数 + answer.setAnswerScore(null); +// 执行插入操作 + subjective = yuAnswerMapper.insert(answer); + } + Integer all = select + blank + judge + subjective; + return new ResultInfo(ResultInfo.ResultStatus.SUCCESS.code, "success",all); + } + + public Integer insertAnswer(List selectQuestions,String examName,String userNum,Exam exam){ + Integer result = 0; + for (YuPaperDetailQuery item: selectQuestions) { + Answer answer = new Answer(); +// 学生答案 + answer.setAnswerStuAnswer(item.getAnswerStuAnswer()); +// 考试名称 + answer.setAnswerExamName(examName); +// 试卷名称 + answer.setAnswerPaperName(exam.getExamPaperName()); +// 通过试题题目查找题目的id + Questions questions = + yuQuestionsMapper.selectOne(new QueryWrapper().eq("questions_text", item.getQuestionsText())); +// 题目id + answer.setAnswerQuestionId(questions.getQuestionsId()); +// 正确答案 + answer.setAnswerRight(questions.getQuestionsAnswerRight()); +// 学号 + answer.setAnswerStuNum(userNum); +// 设置分数 +// 判断如果学生答案和正确答案相同那么就直接满分 + if (item.getAnswerStuAnswer().equals(questions.getQuestionsAnswerRight())){ +// 设置得分为当前试题的得分 + answer.setAnswerScore(item.getQuestionScore()); + } +// 执行插入操作 + result = yuAnswerMapper.insert(answer); + } + return result; + } +} diff --git a/src/main/java/com/hqyj/vueproject/students/service/Impl/YuScoreServiceImpl.java b/src/main/java/com/hqyj/vueproject/students/service/Impl/YuScoreServiceImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..75eaf3b8fcce1147323dbd97f87e0b75ae467ca1 --- /dev/null +++ b/src/main/java/com/hqyj/vueproject/students/service/Impl/YuScoreServiceImpl.java @@ -0,0 +1,107 @@ +package com.hqyj.vueproject.students.service.Impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.hqyj.vueproject.pojo.Exam; +import com.hqyj.vueproject.pojo.Score; +import com.hqyj.vueproject.pojo.User; +import com.hqyj.vueproject.students.mapper.*; +import com.hqyj.vueproject.students.query.*; +import com.hqyj.vueproject.students.service.YuScoreService; +import com.hqyj.vueproject.utils.ResultInfo; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.*; + +/** + * @version 1.0 + * @Author YuDrag + * @Date 2022/11/30 9:26 + * @Description: + */ +@Service +public class YuScoreServiceImpl implements YuScoreService { + + @Autowired + private YuStuMapper yuStuMapper; + @Autowired + private YuScoreMapper yuScoreMapper; + @Autowired + private YuTakenExamQueryMapper yuTakenExamQueryMapper; + @Autowired + private YuExamMapper yuExamMapper; + + /** + * + * @return {@link List }<{@link Score }> + */ + @Override + public ResultInfo historyScoreSelectByUserId(YuPaperQuery yuPaperQuery){ +// 根据传回来的stuNum查询这个用户的信息 + User stu = yuStuMapper.selectOne(new QueryWrapper().eq("user_num", yuPaperQuery.getStuNum())); +// 在通过size查出这个学生最近的考试,个数有size确定 +// integers就是该学生最近的所有考试 + List names = yuExamMapper.selectExamByUserIdAndSize(stu.getUserId(),yuPaperQuery.getSize()); +// 创建一个集合用于存储学号以及成绩排名信息 +// 根据阿里的开发手册,如果无法确认大小就按照16进行处理 + HashMap map = new HashMap<>(16); +// 存放考试名称 + List examName = new ArrayList<>(); +// 存放排名信息 + List scores = new ArrayList<>(); +// 对paperIds进行循环查询每一次考试的该班的成绩 + + for (String paperName:names) { +// 通过paperId获取所有的考试名称 + Exam exam = yuExamMapper.selectExamByPaperName(paperName); +// 查询这个班级的所有的成绩以及对应的学号 + List yuPaperQueries = yuScoreMapper.selectClazzScores(Integer.valueOf(stu.getClazzId()), exam.getExamName()); + Collections.sort(yuPaperQueries); + for (YuPaperQuery item:yuPaperQueries) { +// 如果传回的学号和这个学号相等,那么就代表是对应学生的成绩,并且提取排名 + if (item.getStuNum().equals(yuPaperQuery.getStuNum())){ +// 这就是该生在某次考试在班级的排名 + YuPaperQuery newQuery= new YuPaperQuery(); + newQuery.setStuNum(item.getStuNum()); + newQuery.setSortNum(yuPaperQueries.indexOf(item)+1); + newQuery.setValue(item.getValue()); + examName.add(exam.getExamName()); + scores.add(newQuery); + } + } + } +// 所有数据添加完成之后,放到map + map.put("examName",examName); + map.put("scores",scores); + System.out.println(map); + return new ResultInfo(ResultInfo.ResultStatus.SUCCESS.code, "success",map); + } + + /** + * 利用id进行查询学生的已考考试 + * @param userId 用户id + * @return {@link ResultInfo } + */ + @Override + public ResultInfo takenExams(Integer userId, YuSearchData data) { + if (data.getExamStatus() == 1){ + Page page = new Page<>(data.getPage(),data.getSize()); + Page result = yuTakenExamQueryMapper.selectTakenExams(page,userId,data); + return new ResultInfo(ResultInfo.ResultStatus.SUCCESS.code,ResultInfo.ResultStatus.SUCCESS.msg,result); + }else { +// 0则查询未考的考试 + Page page = new Page<>(data.getPage(),data.getSize()); + Page result = yuTakenExamQueryMapper.selectUnTakenExams(page,userId,data); + return new ResultInfo(ResultInfo.ResultStatus.SUCCESS.code,ResultInfo.ResultStatus.SUCCESS.msg,result); + } + } + + @Override + public ResultInfo unTakenExams(Integer userId, YuSearchData data) { + Page page = new Page<>(data.getPage(),data.getSize()); + Page result = yuTakenExamQueryMapper.selectUnTakenExams(page,userId,data); + return new ResultInfo(ResultInfo.ResultStatus.SUCCESS.code,ResultInfo.ResultStatus.SUCCESS.msg,result); + } +} diff --git a/src/main/java/com/hqyj/vueproject/students/service/Impl/YuStuServiceImpl.java b/src/main/java/com/hqyj/vueproject/students/service/Impl/YuStuServiceImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..cd26690fa1a34d72f534b88094a6daefcad186a0 --- /dev/null +++ b/src/main/java/com/hqyj/vueproject/students/service/Impl/YuStuServiceImpl.java @@ -0,0 +1,53 @@ +package com.hqyj.vueproject.students.service.Impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.hqyj.vueproject.pojo.Clazz; +import com.hqyj.vueproject.pojo.User; +import com.hqyj.vueproject.students.mapper.YuClassMapper; +import com.hqyj.vueproject.students.mapper.YuStuMapper; +import com.hqyj.vueproject.students.mapper.YuUserQueryMapper; +import com.hqyj.vueproject.students.query.YuUserQuery; +import com.hqyj.vueproject.students.service.YuStuService; +import com.hqyj.vueproject.utils.ResultInfo; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * @version 1.0 + * @Author YuDrag + * @Date 2022/12/3 10:52 + * @Description: + */ +@Service +public class YuStuServiceImpl implements YuStuService { + + @Autowired + private YuStuMapper yuStuMapper; + @Autowired + private YuUserQueryMapper yuUserQueryMapper; + /** + * 修改学生用户信息 + * @param user 用户 + * @return {@link ResultInfo } + */ + @Override + public ResultInfo updateStudent(User user) { + int result = yuStuMapper.update(user, new QueryWrapper() + .eq("user_id",user.getUserId())); + if (result > 0){ + return new ResultInfo(ResultInfo.ResultStatus.SUCCESS.code, ResultInfo.ResultStatus.SUCCESS.msg,user); + } + return new ResultInfo(ResultInfo.ResultStatus.FAILED.code, ResultInfo.ResultStatus.FAILED.msg,user); + } + + /** + * userID查询user + * @param userId 用户id + * @return {@link ResultInfo } + */ + @Override + public ResultInfo selectStudent(Integer userId) { + YuUserQuery yuUserQuery = yuUserQueryMapper.selectStudentOne(userId); + return new ResultInfo(ResultInfo.ResultStatus.SUCCESS.code, ResultInfo.ResultStatus.SUCCESS.msg,yuUserQuery); + } +} diff --git a/src/main/java/com/hqyj/vueproject/students/service/YuPaperService.java b/src/main/java/com/hqyj/vueproject/students/service/YuPaperService.java new file mode 100644 index 0000000000000000000000000000000000000000..b234ddfe99f608af366677990c6e4dc2f43061e7 --- /dev/null +++ b/src/main/java/com/hqyj/vueproject/students/service/YuPaperService.java @@ -0,0 +1,19 @@ +package com.hqyj.vueproject.students.service; + +import com.hqyj.vueproject.students.query.YuPaperAnswerQuery; +import com.hqyj.vueproject.students.query.YuSearchData; +import com.hqyj.vueproject.utils.ResultInfo; + +/** + * @version 1.0 + * @Author YuDrag + * @Date 2022/12/7 17:25 + * @Description: + */ +public interface YuPaperService { + ResultInfo selectPaperDetail(YuSearchData yuSearchData); + + ResultInfo selectUnTakenPaperDetail(YuSearchData yuSearchData); + + ResultInfo insertPaperAnswer(YuPaperAnswerQuery yuPaperAnswerQuery); +} diff --git a/src/main/java/com/hqyj/vueproject/students/service/YuScoreService.java b/src/main/java/com/hqyj/vueproject/students/service/YuScoreService.java new file mode 100644 index 0000000000000000000000000000000000000000..7a9d23fa3a2e13516935a2b91d00200f7902c73b --- /dev/null +++ b/src/main/java/com/hqyj/vueproject/students/service/YuScoreService.java @@ -0,0 +1,44 @@ +package com.hqyj.vueproject.students.service; + +import com.hqyj.vueproject.pojo.User; +import com.hqyj.vueproject.students.query.YuExamQuery; +import com.hqyj.vueproject.students.query.YuPaperQuery; +import com.hqyj.vueproject.students.query.YuSearchData; +import com.hqyj.vueproject.students.query.YuUserQuery; +import com.hqyj.vueproject.utils.ResultInfo; + +/** + * @version 1.0 + * @Author YuDrag + * @Date 2022/11/30 9:26 + * @Description: + */ +public interface YuScoreService { + + /** + * userId查询历史成绩以及每次考试排名 + * @param yuPaperQuery 成绩查询Query + * @return {@link ResultInfo } + */ + ResultInfo historyScoreSelectByUserId(YuPaperQuery yuPaperQuery); + + + /** + * 根据用户id和时间范围以及名称范围查询已考考试 + * @param userId 用户id + * @param data 数据 + * @return {@link ResultInfo } + */ + ResultInfo takenExams(Integer userId, YuSearchData data); + + /** + * 根据用户id和时间范围以及名称范围查询已考考试 + * @param userId 用户id + * @param data 数据 + * @return {@link ResultInfo } + */ + ResultInfo unTakenExams(Integer userId, YuSearchData data); + + + +} diff --git a/src/main/java/com/hqyj/vueproject/students/service/YuStuService.java b/src/main/java/com/hqyj/vueproject/students/service/YuStuService.java new file mode 100644 index 0000000000000000000000000000000000000000..811b30b0dcf4abe28e5efeb881e19ae4a4622a6d --- /dev/null +++ b/src/main/java/com/hqyj/vueproject/students/service/YuStuService.java @@ -0,0 +1,27 @@ +package com.hqyj.vueproject.students.service; + +import com.hqyj.vueproject.pojo.User; +import com.hqyj.vueproject.utils.ResultInfo; + +/** + * @version 1.0 + * @Author YuDrag + * @Date 2022/12/3 10:51 + * @Description: + */ +public interface YuStuService { + + /** + * 修改学生用户信息 + * @param user 用户 + * @return {@link ResultInfo } + */ + ResultInfo updateStudent(User user); + + /** + * userId查询用户 + * @param userId 用户id + * @return {@link ResultInfo } + */ + ResultInfo selectStudent(Integer userId); +} diff --git a/src/main/java/com/hqyj/vueproject/utils/JwtUtil.java b/src/main/java/com/hqyj/vueproject/utils/JwtUtil.java deleted file mode 100644 index 97add99efd8e2f74d5e577dcc8fec1c7c28e0501..0000000000000000000000000000000000000000 --- a/src/main/java/com/hqyj/vueproject/utils/JwtUtil.java +++ /dev/null @@ -1,100 +0,0 @@ -package com.hqyj.vueproject.utils; - -import com.auth0.jwt.JWT; -import com.auth0.jwt.algorithms.Algorithm; -import com.auth0.jwt.interfaces.Claim; -import com.auth0.jwt.interfaces.DecodedJWT; -import com.auth0.jwt.interfaces.JWTVerifier; -import com.hqyj.vueproject.pojo.User; - -import java.util.Date; - -/** - * @version 1.0 - * @Author YuDrag - * @Date 2022/11/26 16:53 - * @Description: - */ -public class JwtUtil { - /** - * @Description:过期时间,毫秒 - * @see Long - */ - private static final Long EXPIRES_TIME = 24 * 60 * 60 * 1000L; - public static final String TOKEN_SALT = "JiangHu"; - - /** - * -创建用户令牌 - */ - public static String createUserToken(User user, long expTime) { - Date currentDate = new Date(); - Date expDate = new Date(System.currentTimeMillis() + expTime); - - // 签发对象 - return JWT.create().withAudience(user.getId() + "") - // 发行时间 - .withIssuedAt(currentDate) - // 有效期 - .withExpiresAt(expDate) - // Payload 载荷,可按官方推荐,也可自定义,可有多个 - .withClaim("id", user.getId()) - .withClaim("userName", user.getUserName()) - .withClaim("userImage", user.getUserImage()) - // 使用 HMAC256 加密算法,生成签名 - .sign(Algorithm.HMAC256(user.getId() + TOKEN_SALT)); - } - - public static String createUserToken(User user) { - return createUserToken(user, EXPIRES_TIME); - } - - /** - * - 获取令牌中的签发对象 - */ - public static String getAudience(String token) { - String audience = null; - try { - audience = JWT.decode(token).getAudience().get(0); - } catch (Exception e) { - e.printStackTrace(); - } - return audience; - } - - /** - * - 用签发对象验证令牌 - */ - public static DecodedJWT verifyToken(String token, String secret) { - DecodedJWT decodedJWT = null; - try { - JWTVerifier jWTVerifier = JWT.require(Algorithm.HMAC256(secret + TOKEN_SALT)).build(); - decodedJWT = jWTVerifier.verify(token); - } catch (Exception e) { - e.printStackTrace(); - } - - return decodedJWT; - } - - /** - * - 根据名字获取载荷内容 - */ - public static Claim getClaimByName(String token, String claimName) { - return JWT.decode(token).getClaim(claimName); - } - - public static void main(String[] args) { - User user = new User(); - user.setId(1); - user.setUserName("HuJiang"); - user.setUserImage("http://www.sfac.xyz:8000/images/news/1668577428989.jpg"); - String token = JwtUtil.createUserToken(user); - System.out.println(token); - System.out.println(JwtUtil.verifyToken(token, user.getId() + "").getClaims()); - System.out.println(JwtUtil.verifyToken(token, "2")); - System.out.println(JwtUtil.getAudience(token)); - System.out.println(JwtUtil.getClaimByName(token, "id")); - System.out.println(JwtUtil.getClaimByName(token, "userName")); - System.out.println(JwtUtil.getClaimByName(token, "userImage")); - } -} diff --git a/src/main/java/com/hqyj/vueproject/utils/ResultInfo.java b/src/main/java/com/hqyj/vueproject/utils/ResultInfo.java new file mode 100644 index 0000000000000000000000000000000000000000..23dc2d44f3d282e1b169c0f77786c1efdee3d3bd --- /dev/null +++ b/src/main/java/com/hqyj/vueproject/utils/ResultInfo.java @@ -0,0 +1,76 @@ +package com.hqyj.vueproject.utils; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @author YuDrag + * @version 1.0.0 + * @Date 2022/12/08 + * @Description + * @ClassName + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class ResultInfo { + private Integer status; + private String msg; + private Object data; + + public ResultInfo(Integer status, String msg) { + this.status = status; + this.msg = msg; + } + + /** + * @author YuDrag + * @version 1.0.0 + * @Date 2022/12/01 + * @Description:结果集状态码 + * @ClassName + */ + public enum ResultStatus { + + /** + * 表示状态码 + */ + SUCCESS(200,"success"), + FAILED(500,"Fail"), + Login_Num(503,"学号不存在"), + Login_Role(504,"角色选择错误"), + Login_Pass(505,"密码错误"), + Question_Add(506,"试题添加错误"), + Exam_Add(507,"试卷生成错误"), + Exam_Name(508,"试卷名重复"), + ; + + public Integer code; + public String msg; + + private ResultStatus(int code) { + this.code = code; + } + private ResultStatus(int code,String msg){ + this.code = code; + this.msg = msg; + } + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + } +} diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 8bac7f9aac89419d86d6fed30d23d777e89fb8b8..ebec30de414d66c249b33ab7bf44b23222cef54a 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -5,9 +5,9 @@ server.port = 8080 #\u9A7C\u5CF0\u547D\u540D\u6620\u5C04 mybatis-plus.configuration.map-underscore-to-camel-case=true #\u8D77\u522B\u540D -mybatis-plus.type-aliases-package=com.YuDrag.pojo +mybatis-plus.type-aliases-package=com.hqyj.vueproject.pojo;com.hqyj.vueproject.students.query #\u6307\u5B9Axml\u6587\u4EF6 -mybatis-plus.mapper-locations=classpath:mapper/*Mapper.xml +mybatis-plus.mapper-locations=classpath:static/mapper/*Mapper.xml # \u63A7\u5236\u53F0sql\u6253\u5370 mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl diff --git a/src/main/resources/static/mapper/YuExamMapper.xml b/src/main/resources/static/mapper/YuExamMapper.xml new file mode 100644 index 0000000000000000000000000000000000000000..456ce24c9b382567f20e38e7baa568aa3929e9a3 --- /dev/null +++ b/src/main/resources/static/mapper/YuExamMapper.xml @@ -0,0 +1,45 @@ + + + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/static/mapper/YuPaperDetailMapper.xml b/src/main/resources/static/mapper/YuPaperDetailMapper.xml new file mode 100644 index 0000000000000000000000000000000000000000..acc556c03fec0c61734b09b5931dfbd6e9de593e --- /dev/null +++ b/src/main/resources/static/mapper/YuPaperDetailMapper.xml @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/static/mapper/YuScoreMapper.xml b/src/main/resources/static/mapper/YuScoreMapper.xml new file mode 100644 index 0000000000000000000000000000000000000000..ed06be74b4eb9c58cf2009fae0e3ad39d2164c32 --- /dev/null +++ b/src/main/resources/static/mapper/YuScoreMapper.xml @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/static/mapper/YuTakenExamQueryMapper.xml b/src/main/resources/static/mapper/YuTakenExamQueryMapper.xml new file mode 100644 index 0000000000000000000000000000000000000000..c305fa522b11c36d7e83ab89fe55f1b734efa61c --- /dev/null +++ b/src/main/resources/static/mapper/YuTakenExamQueryMapper.xml @@ -0,0 +1,90 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/static/mapper/YuUserMapper.xml b/src/main/resources/static/mapper/YuUserMapper.xml new file mode 100644 index 0000000000000000000000000000000000000000..69d1437d422342f5c2999738d979590c65a51b19 --- /dev/null +++ b/src/main/resources/static/mapper/YuUserMapper.xml @@ -0,0 +1,9 @@ + + + + + + + \ No newline at end of file diff --git a/src/main/resources/static/mapper/YuUserQueryMapper.xml b/src/main/resources/static/mapper/YuUserQueryMapper.xml new file mode 100644 index 0000000000000000000000000000000000000000..5463c95ef16db8dc141767c77939465bb32df7f9 --- /dev/null +++ b/src/main/resources/static/mapper/YuUserQueryMapper.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/test/java/com/hqyj/vueproject/VueProjectApplicationTests.java b/src/test/java/com/hqyj/vueproject/VueProjectApplicationTests.java index abbf7c95b6dd2be6f67706c905c452288799af05..594fcc7c363f5c651a4961cdfd9d889c8f9b858e 100644 --- a/src/test/java/com/hqyj/vueproject/VueProjectApplicationTests.java +++ b/src/test/java/com/hqyj/vueproject/VueProjectApplicationTests.java @@ -1,13 +1,61 @@ package com.hqyj.vueproject; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.hqyj.vueproject.students.mapper.YuExamMapper; +import com.hqyj.vueproject.students.mapper.YuPaperDetailQueryMapper; +import com.hqyj.vueproject.students.mapper.YuPaperMapper; +import com.hqyj.vueproject.students.mapper.YuScoreMapper; +import com.hqyj.vueproject.students.query.YuPaperDetailQuery; +import com.hqyj.vueproject.students.query.YuPaperQuery; +import com.hqyj.vueproject.students.query.YuSearchData; +import com.hqyj.vueproject.students.service.YuPaperService; +import com.hqyj.vueproject.students.service.YuScoreService; +import com.hqyj.vueproject.utils.ResultInfo; import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + @SpringBootTest class VueProjectApplicationTests { + @Autowired + private YuScoreMapper yuScoreMapper; + @Autowired + private YuScoreService yuScoreService; + @Autowired + private YuExamMapper yuExamMapper; + @Autowired + private YuPaperDetailQueryMapper yuPaperDetailQueryMapper; + @Autowired + private YuPaperMapper yuPaperMapper; + @Autowired + private YuPaperService yuPaperService; + + @Test + void contextLoads() throws ParseException { + YuPaperQuery yuPaperQuery = new YuPaperQuery(); + ArrayList integers = new ArrayList<>(); + integers.add(7); + integers.add(8); + integers.add(9); + integers.add(10); + yuPaperQuery.setPaperIds(integers); + yuPaperQuery.setClazzId(1); + yuPaperQuery.setStuNum("1"); + yuScoreService.historyScoreSelectByUserId(yuPaperQuery); + } @Test - void contextLoads() { + void contextLoads1() { + YuSearchData yuSearchData = new YuSearchData(); + yuSearchData.setUserNum("1"); + yuSearchData.setExamName("数学考试"); + ResultInfo resultInfo = yuPaperService.selectUnTakenPaperDetail(yuSearchData); } }