diff --git a/src/medicine/.idea/.gitignore b/src/medicine/.idea/.gitignore
new file mode 100644
index 00000000..359bb530
--- /dev/null
+++ b/src/medicine/.idea/.gitignore
@@ -0,0 +1,3 @@
+# 默认忽略的文件
+/shelf/
+/workspace.xml
diff --git a/src/medicine/.idea/compiler.xml b/src/medicine/.idea/compiler.xml
new file mode 100644
index 00000000..a89ee903
--- /dev/null
+++ b/src/medicine/.idea/compiler.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/dbnavigator.xml b/src/medicine/.idea/dbnavigator.xml
new file mode 100644
index 00000000..f0bf29ec
--- /dev/null
+++ b/src/medicine/.idea/dbnavigator.xml
@@ -0,0 +1,420 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/encodings.xml b/src/medicine/.idea/encodings.xml
new file mode 100644
index 00000000..6390bb1a
--- /dev/null
+++ b/src/medicine/.idea/encodings.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/jarRepositories.xml b/src/medicine/.idea/jarRepositories.xml
new file mode 100644
index 00000000..e6b00eb3
--- /dev/null
+++ b/src/medicine/.idea/jarRepositories.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__ch_qos_logback_logback_classic_1_4_8.xml b/src/medicine/.idea/libraries/Maven__ch_qos_logback_logback_classic_1_4_8.xml
new file mode 100644
index 00000000..b75eb3ae
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__ch_qos_logback_logback_classic_1_4_8.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__ch_qos_logback_logback_core_1_4_8.xml b/src/medicine/.idea/libraries/Maven__ch_qos_logback_logback_core_1_4_8.xml
new file mode 100644
index 00000000..cdc376a0
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__ch_qos_logback_logback_core_1_4_8.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_15_2.xml b/src/medicine/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_15_2.xml
new file mode 100644
index 00000000..ab198bc3
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_15_2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_15_2.xml b/src/medicine/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_15_2.xml
new file mode 100644
index 00000000..10165d4e
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_15_2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_15_2.xml b/src/medicine/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_15_2.xml
new file mode 100644
index 00000000..94eb40c7
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_15_2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_15_2.xml b/src/medicine/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_15_2.xml
new file mode 100644
index 00000000..50a3cfb7
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_15_2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_15_2.xml b/src/medicine/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_15_2.xml
new file mode 100644
index 00000000..a86602c8
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_15_2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_15_2.xml b/src/medicine/.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_15_2.xml
new file mode 100644
index 00000000..5bc34919
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_15_2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__com_jayway_jsonpath_json_path_2_8_0.xml b/src/medicine/.idea/libraries/Maven__com_jayway_jsonpath_json_path_2_8_0.xml
new file mode 100644
index 00000000..5fcd1a6b
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__com_jayway_jsonpath_json_path_2_8_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__com_mysql_mysql_connector_j_8_0_31.xml b/src/medicine/.idea/libraries/Maven__com_mysql_mysql_connector_j_8_0_31.xml
new file mode 100644
index 00000000..960316bd
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__com_mysql_mysql_connector_j_8_0_31.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml b/src/medicine/.idea/libraries/Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml
new file mode 100644
index 00000000..0892619e
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__com_zaxxer_HikariCP_5_0_1.xml b/src/medicine/.idea/libraries/Maven__com_zaxxer_HikariCP_5_0_1.xml
new file mode 100644
index 00000000..b0c248e1
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__com_zaxxer_HikariCP_5_0_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__io_micrometer_micrometer_commons_1_11_2.xml b/src/medicine/.idea/libraries/Maven__io_micrometer_micrometer_commons_1_11_2.xml
new file mode 100644
index 00000000..0afbaae8
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__io_micrometer_micrometer_commons_1_11_2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__io_micrometer_micrometer_observation_1_11_2.xml b/src/medicine/.idea/libraries/Maven__io_micrometer_micrometer_observation_1_11_2.xml
new file mode 100644
index 00000000..1c3060ef
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__io_micrometer_micrometer_observation_1_11_2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__jakarta_activation_jakarta_activation_api_2_1_2.xml b/src/medicine/.idea/libraries/Maven__jakarta_activation_jakarta_activation_api_2_1_2.xml
new file mode 100644
index 00000000..47ff26e5
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__jakarta_activation_jakarta_activation_api_2_1_2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__jakarta_annotation_jakarta_annotation_api_2_1_1.xml b/src/medicine/.idea/libraries/Maven__jakarta_annotation_jakarta_annotation_api_2_1_1.xml
new file mode 100644
index 00000000..78380ea7
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__jakarta_annotation_jakarta_annotation_api_2_1_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__jakarta_xml_bind_jakarta_xml_bind_api_4_0_0.xml b/src/medicine/.idea/libraries/Maven__jakarta_xml_bind_jakarta_xml_bind_api_4_0_0.xml
new file mode 100644
index 00000000..ea281f5f
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__jakarta_xml_bind_jakarta_xml_bind_api_4_0_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__net_bytebuddy_byte_buddy_1_14_5.xml b/src/medicine/.idea/libraries/Maven__net_bytebuddy_byte_buddy_1_14_5.xml
new file mode 100644
index 00000000..cc18b321
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__net_bytebuddy_byte_buddy_1_14_5.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__net_bytebuddy_byte_buddy_agent_1_14_5.xml b/src/medicine/.idea/libraries/Maven__net_bytebuddy_byte_buddy_agent_1_14_5.xml
new file mode 100644
index 00000000..e4d29dcc
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__net_bytebuddy_byte_buddy_agent_1_14_5.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__net_minidev_accessors_smart_2_4_11.xml b/src/medicine/.idea/libraries/Maven__net_minidev_accessors_smart_2_4_11.xml
new file mode 100644
index 00000000..2c3a52a6
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__net_minidev_accessors_smart_2_4_11.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__net_minidev_json_smart_2_4_11.xml b/src/medicine/.idea/libraries/Maven__net_minidev_json_smart_2_4_11.xml
new file mode 100644
index 00000000..0e23e426
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__net_minidev_json_smart_2_4_11.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__org_apache_logging_log4j_log4j_api_2_20_0.xml b/src/medicine/.idea/libraries/Maven__org_apache_logging_log4j_log4j_api_2_20_0.xml
new file mode 100644
index 00000000..a8dd34fe
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__org_apache_logging_log4j_log4j_api_2_20_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__org_apache_logging_log4j_log4j_to_slf4j_2_20_0.xml b/src/medicine/.idea/libraries/Maven__org_apache_logging_log4j_log4j_to_slf4j_2_20_0.xml
new file mode 100644
index 00000000..071fbd4b
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__org_apache_logging_log4j_log4j_to_slf4j_2_20_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_core_10_1_11.xml b/src/medicine/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_core_10_1_11.xml
new file mode 100644
index 00000000..6f75e9d0
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_core_10_1_11.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_el_10_1_11.xml b/src/medicine/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_el_10_1_11.xml
new file mode 100644
index 00000000..1d24270b
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_el_10_1_11.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_websocket_10_1_11.xml b/src/medicine/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_websocket_10_1_11.xml
new file mode 100644
index 00000000..9135d443
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_websocket_10_1_11.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__org_apiguardian_apiguardian_api_1_1_2.xml b/src/medicine/.idea/libraries/Maven__org_apiguardian_apiguardian_api_1_1_2.xml
new file mode 100644
index 00000000..af980450
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__org_apiguardian_apiguardian_api_1_1_2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__org_assertj_assertj_core_3_24_2.xml b/src/medicine/.idea/libraries/Maven__org_assertj_assertj_core_3_24_2.xml
new file mode 100644
index 00000000..c7bb4160
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__org_assertj_assertj_core_3_24_2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__org_attoparser_attoparser_2_0_6_RELEASE.xml b/src/medicine/.idea/libraries/Maven__org_attoparser_attoparser_2_0_6_RELEASE.xml
new file mode 100644
index 00000000..50186432
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__org_attoparser_attoparser_2_0_6_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__org_hamcrest_hamcrest_2_2.xml b/src/medicine/.idea/libraries/Maven__org_hamcrest_hamcrest_2_2.xml
new file mode 100644
index 00000000..8cb53774
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__org_hamcrest_hamcrest_2_2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_5_9_3.xml b/src/medicine/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_5_9_3.xml
new file mode 100644
index 00000000..4f3de637
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_5_9_3.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_api_5_9_3.xml b/src/medicine/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_api_5_9_3.xml
new file mode 100644
index 00000000..3bfefcf1
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_api_5_9_3.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_engine_5_9_3.xml b/src/medicine/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_engine_5_9_3.xml
new file mode 100644
index 00000000..4edc1451
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_engine_5_9_3.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_params_5_9_3.xml b/src/medicine/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_params_5_9_3.xml
new file mode 100644
index 00000000..b950fe32
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_params_5_9_3.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__org_junit_platform_junit_platform_commons_1_9_3.xml b/src/medicine/.idea/libraries/Maven__org_junit_platform_junit_platform_commons_1_9_3.xml
new file mode 100644
index 00000000..676f9998
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__org_junit_platform_junit_platform_commons_1_9_3.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__org_junit_platform_junit_platform_engine_1_9_3.xml b/src/medicine/.idea/libraries/Maven__org_junit_platform_junit_platform_engine_1_9_3.xml
new file mode 100644
index 00000000..4ca2365a
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__org_junit_platform_junit_platform_engine_1_9_3.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__org_mockito_mockito_core_5_3_1.xml b/src/medicine/.idea/libraries/Maven__org_mockito_mockito_core_5_3_1.xml
new file mode 100644
index 00000000..88171963
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__org_mockito_mockito_core_5_3_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__org_mockito_mockito_junit_jupiter_5_3_1.xml b/src/medicine/.idea/libraries/Maven__org_mockito_mockito_junit_jupiter_5_3_1.xml
new file mode 100644
index 00000000..7e48f1bc
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__org_mockito_mockito_junit_jupiter_5_3_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__org_mybatis_mybatis_3_5_13.xml b/src/medicine/.idea/libraries/Maven__org_mybatis_mybatis_3_5_13.xml
new file mode 100644
index 00000000..df2ca4f5
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__org_mybatis_mybatis_3_5_13.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__org_mybatis_mybatis_spring_3_0_2.xml b/src/medicine/.idea/libraries/Maven__org_mybatis_mybatis_spring_3_0_2.xml
new file mode 100644
index 00000000..a1fff777
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__org_mybatis_mybatis_spring_3_0_2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_autoconfigure_3_0_2.xml b/src/medicine/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_autoconfigure_3_0_2.xml
new file mode 100644
index 00000000..1331aeb0
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_autoconfigure_3_0_2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_starter_3_0_2.xml b/src/medicine/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_starter_3_0_2.xml
new file mode 100644
index 00000000..968ab6f3
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_starter_3_0_2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__org_objenesis_objenesis_3_3.xml b/src/medicine/.idea/libraries/Maven__org_objenesis_objenesis_3_3.xml
new file mode 100644
index 00000000..07278e97
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__org_objenesis_objenesis_3_3.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__org_opentest4j_opentest4j_1_2_0.xml b/src/medicine/.idea/libraries/Maven__org_opentest4j_opentest4j_1_2_0.xml
new file mode 100644
index 00000000..123e107a
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__org_opentest4j_opentest4j_1_2_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__org_ow2_asm_asm_9_3.xml b/src/medicine/.idea/libraries/Maven__org_ow2_asm_asm_9_3.xml
new file mode 100644
index 00000000..d239cce6
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__org_ow2_asm_asm_9_3.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__org_projectlombok_lombok_1_18_28.xml b/src/medicine/.idea/libraries/Maven__org_projectlombok_lombok_1_18_28.xml
new file mode 100644
index 00000000..aa473006
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__org_projectlombok_lombok_1_18_28.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__org_python_jython_standalone_2_7_3.xml b/src/medicine/.idea/libraries/Maven__org_python_jython_standalone_2_7_3.xml
new file mode 100644
index 00000000..468e0436
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__org_python_jython_standalone_2_7_3.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__org_skyscreamer_jsonassert_1_5_1.xml b/src/medicine/.idea/libraries/Maven__org_skyscreamer_jsonassert_1_5_1.xml
new file mode 100644
index 00000000..833d59aa
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__org_skyscreamer_jsonassert_1_5_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__org_slf4j_jul_to_slf4j_2_0_7.xml b/src/medicine/.idea/libraries/Maven__org_slf4j_jul_to_slf4j_2_0_7.xml
new file mode 100644
index 00000000..e9b4e71b
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__org_slf4j_jul_to_slf4j_2_0_7.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__org_slf4j_slf4j_api_2_0_7.xml b/src/medicine/.idea/libraries/Maven__org_slf4j_slf4j_api_2_0_7.xml
new file mode 100644
index 00000000..3e9b53b5
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__org_slf4j_slf4j_api_2_0_7.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__org_springframework_boot_spring_boot_3_1_2.xml b/src/medicine/.idea/libraries/Maven__org_springframework_boot_spring_boot_3_1_2.xml
new file mode 100644
index 00000000..96711c4e
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__org_springframework_boot_spring_boot_3_1_2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__org_springframework_boot_spring_boot_autoconfigure_3_1_2.xml b/src/medicine/.idea/libraries/Maven__org_springframework_boot_spring_boot_autoconfigure_3_1_2.xml
new file mode 100644
index 00000000..59fadbd9
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__org_springframework_boot_spring_boot_autoconfigure_3_1_2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__org_springframework_boot_spring_boot_devtools_3_1_2.xml b/src/medicine/.idea/libraries/Maven__org_springframework_boot_spring_boot_devtools_3_1_2.xml
new file mode 100644
index 00000000..4fdb1454
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__org_springframework_boot_spring_boot_devtools_3_1_2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_3_1_2.xml b/src/medicine/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_3_1_2.xml
new file mode 100644
index 00000000..055a3ca4
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_3_1_2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_jdbc_3_1_2.xml b/src/medicine/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_jdbc_3_1_2.xml
new file mode 100644
index 00000000..32d63ed7
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_jdbc_3_1_2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_json_3_1_2.xml b/src/medicine/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_json_3_1_2.xml
new file mode 100644
index 00000000..a53b3f8e
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_json_3_1_2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_logging_3_1_2.xml b/src/medicine/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_logging_3_1_2.xml
new file mode 100644
index 00000000..6b74225b
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_logging_3_1_2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_test_3_1_2.xml b/src/medicine/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_test_3_1_2.xml
new file mode 100644
index 00000000..307721fe
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_test_3_1_2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_thymeleaf_3_1_2.xml b/src/medicine/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_thymeleaf_3_1_2.xml
new file mode 100644
index 00000000..cd727315
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_thymeleaf_3_1_2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_tomcat_3_1_2.xml b/src/medicine/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_tomcat_3_1_2.xml
new file mode 100644
index 00000000..b474d6ef
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_tomcat_3_1_2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_web_3_1_2.xml b/src/medicine/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_web_3_1_2.xml
new file mode 100644
index 00000000..2f6bf430
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_web_3_1_2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_3_1_2.xml b/src/medicine/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_3_1_2.xml
new file mode 100644
index 00000000..6bfd5c6b
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_3_1_2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_autoconfigure_3_1_2.xml b/src/medicine/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_autoconfigure_3_1_2.xml
new file mode 100644
index 00000000..0df69d31
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_autoconfigure_3_1_2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__org_springframework_spring_aop_6_0_11.xml b/src/medicine/.idea/libraries/Maven__org_springframework_spring_aop_6_0_11.xml
new file mode 100644
index 00000000..42b38910
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__org_springframework_spring_aop_6_0_11.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__org_springframework_spring_beans_6_0_11.xml b/src/medicine/.idea/libraries/Maven__org_springframework_spring_beans_6_0_11.xml
new file mode 100644
index 00000000..f1c59781
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__org_springframework_spring_beans_6_0_11.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__org_springframework_spring_context_6_0_11.xml b/src/medicine/.idea/libraries/Maven__org_springframework_spring_context_6_0_11.xml
new file mode 100644
index 00000000..1b95092d
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__org_springframework_spring_context_6_0_11.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__org_springframework_spring_core_6_0_11.xml b/src/medicine/.idea/libraries/Maven__org_springframework_spring_core_6_0_11.xml
new file mode 100644
index 00000000..56f184bd
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__org_springframework_spring_core_6_0_11.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__org_springframework_spring_expression_6_0_11.xml b/src/medicine/.idea/libraries/Maven__org_springframework_spring_expression_6_0_11.xml
new file mode 100644
index 00000000..7670d9a7
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__org_springframework_spring_expression_6_0_11.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__org_springframework_spring_jcl_6_0_11.xml b/src/medicine/.idea/libraries/Maven__org_springframework_spring_jcl_6_0_11.xml
new file mode 100644
index 00000000..dc6eb763
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__org_springframework_spring_jcl_6_0_11.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__org_springframework_spring_jdbc_6_0_11.xml b/src/medicine/.idea/libraries/Maven__org_springframework_spring_jdbc_6_0_11.xml
new file mode 100644
index 00000000..66124e5e
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__org_springframework_spring_jdbc_6_0_11.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__org_springframework_spring_test_6_0_11.xml b/src/medicine/.idea/libraries/Maven__org_springframework_spring_test_6_0_11.xml
new file mode 100644
index 00000000..61825ec2
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__org_springframework_spring_test_6_0_11.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__org_springframework_spring_tx_6_0_11.xml b/src/medicine/.idea/libraries/Maven__org_springframework_spring_tx_6_0_11.xml
new file mode 100644
index 00000000..23d14082
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__org_springframework_spring_tx_6_0_11.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__org_springframework_spring_web_6_0_11.xml b/src/medicine/.idea/libraries/Maven__org_springframework_spring_web_6_0_11.xml
new file mode 100644
index 00000000..2ac85ca5
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__org_springframework_spring_web_6_0_11.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__org_springframework_spring_webmvc_6_0_11.xml b/src/medicine/.idea/libraries/Maven__org_springframework_spring_webmvc_6_0_11.xml
new file mode 100644
index 00000000..ff2b143f
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__org_springframework_spring_webmvc_6_0_11.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__org_thymeleaf_thymeleaf_3_1_1_RELEASE.xml b/src/medicine/.idea/libraries/Maven__org_thymeleaf_thymeleaf_3_1_1_RELEASE.xml
new file mode 100644
index 00000000..8aa8e702
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__org_thymeleaf_thymeleaf_3_1_1_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__org_thymeleaf_thymeleaf_spring6_3_1_1_RELEASE.xml b/src/medicine/.idea/libraries/Maven__org_thymeleaf_thymeleaf_spring6_3_1_1_RELEASE.xml
new file mode 100644
index 00000000..bc3eebfa
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__org_thymeleaf_thymeleaf_spring6_3_1_1_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__org_unbescape_unbescape_1_1_6_RELEASE.xml b/src/medicine/.idea/libraries/Maven__org_unbescape_unbescape_1_1_6_RELEASE.xml
new file mode 100644
index 00000000..0db4a238
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__org_unbescape_unbescape_1_1_6_RELEASE.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__org_xmlunit_xmlunit_core_2_9_1.xml b/src/medicine/.idea/libraries/Maven__org_xmlunit_xmlunit_core_2_9_1.xml
new file mode 100644
index 00000000..b2c44d80
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__org_xmlunit_xmlunit_core_2_9_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/libraries/Maven__org_yaml_snakeyaml_1_33.xml b/src/medicine/.idea/libraries/Maven__org_yaml_snakeyaml_1_33.xml
new file mode 100644
index 00000000..1f967471
--- /dev/null
+++ b/src/medicine/.idea/libraries/Maven__org_yaml_snakeyaml_1_33.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/medicine.iml b/src/medicine/.idea/medicine.iml
new file mode 100644
index 00000000..9a0b8ba9
--- /dev/null
+++ b/src/medicine/.idea/medicine.iml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/misc.xml b/src/medicine/.idea/misc.xml
new file mode 100644
index 00000000..e7904b37
--- /dev/null
+++ b/src/medicine/.idea/misc.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/modules.xml b/src/medicine/.idea/modules.xml
new file mode 100644
index 00000000..a6cf5887
--- /dev/null
+++ b/src/medicine/.idea/modules.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/sonarlint/issuestore/0/5/051eaf551b928a8ccf651611c070ebb2b8155264 b/src/medicine/.idea/sonarlint/issuestore/0/5/051eaf551b928a8ccf651611c070ebb2b8155264
new file mode 100644
index 00000000..d0f8ba3c
--- /dev/null
+++ b/src/medicine/.idea/sonarlint/issuestore/0/5/051eaf551b928a8ccf651611c070ebb2b8155264
@@ -0,0 +1,2 @@
+
+t java:S120"ZRename this package name to match the regular expression '^[a-z_]+(\.[a-z_][a-z0-9_]*)*$'.(
\ No newline at end of file
diff --git a/src/medicine/.idea/sonarlint/issuestore/0/b/0bf6f777ae20a7657065bc4a2b2a9f1f3b4876b1 b/src/medicine/.idea/sonarlint/issuestore/0/b/0bf6f777ae20a7657065bc4a2b2a9f1f3b4876b1
new file mode 100644
index 00000000..9dca1267
--- /dev/null
+++ b/src/medicine/.idea/sonarlint/issuestore/0/b/0bf6f777ae20a7657065bc4a2b2a9f1f3b4876b1
@@ -0,0 +1,4 @@
+
+{ java:S120"ZRename this package name to match the regular expression '^[a-z_]+(\.[a-z_][a-z0-9_]*)*$'.(81
+M
+java:S1128 "+Remove this unused import 'java.util.List'.(81
\ No newline at end of file
diff --git a/src/medicine/.idea/sonarlint/issuestore/1/3/139a0da36daad8c438a5607ee212d1f38a505779 b/src/medicine/.idea/sonarlint/issuestore/1/3/139a0da36daad8c438a5607ee212d1f38a505779
new file mode 100644
index 00000000..d215fe77
--- /dev/null
+++ b/src/medicine/.idea/sonarlint/issuestore/1/3/139a0da36daad8c438a5607ee212d1f38a505779
@@ -0,0 +1,4 @@
+
+{ java:S120"ZRename this package name to match the regular expression '^[a-z_]+(\.[a-z_][a-z0-9_]*)*$'.(8Х1
+V
+java:S1128"9Remove this unused import 'org.apache.ibatis.type.Alias'.(8ͻХ1
\ No newline at end of file
diff --git a/src/medicine/.idea/sonarlint/issuestore/4/2/42d62ad23989879b1e669e84287f32b9ec3b7df5 b/src/medicine/.idea/sonarlint/issuestore/4/2/42d62ad23989879b1e669e84287f32b9ec3b7df5
new file mode 100644
index 00000000..8b6dc3f9
--- /dev/null
+++ b/src/medicine/.idea/sonarlint/issuestore/4/2/42d62ad23989879b1e669e84287f32b9ec3b7df5
@@ -0,0 +1,2 @@
+
+{ java:S120"ZRename this package name to match the regular expression '^[a-z_]+(\.[a-z_][a-z0-9_]*)*$'.(8Ҧ1
\ No newline at end of file
diff --git a/src/medicine/.idea/sonarlint/issuestore/6/4/6455addaf8475c1ee66ddf019aba9934cde58b33 b/src/medicine/.idea/sonarlint/issuestore/6/4/6455addaf8475c1ee66ddf019aba9934cde58b33
new file mode 100644
index 00000000..11cc87e8
--- /dev/null
+++ b/src/medicine/.idea/sonarlint/issuestore/6/4/6455addaf8475c1ee66ddf019aba9934cde58b33
@@ -0,0 +1,6 @@
+
+{ java:S120"ZRename this package name to match the regular expression '^[a-z_]+(\.[a-z_][a-z0-9_]*)*$'.(8ϥ1
+^
+java:S1128"ARemove this unused import 'org.apache.ibatis.annotations.Select'.(ߘ8ڠХ1
+g
+java:S1128"ERemove this unused import 'org.springframework.stereotype.Component'.(Ѹ8ѷХ1
\ No newline at end of file
diff --git a/src/medicine/.idea/sonarlint/issuestore/6/a/6ae8bd6e0b13a9d9272e5cd44460d2d0a72091d9 b/src/medicine/.idea/sonarlint/issuestore/6/a/6ae8bd6e0b13a9d9272e5cd44460d2d0a72091d9
new file mode 100644
index 00000000..20b018d9
--- /dev/null
+++ b/src/medicine/.idea/sonarlint/issuestore/6/a/6ae8bd6e0b13a9d9272e5cd44460d2d0a72091d9
@@ -0,0 +1,2 @@
+
+{ java:S120"ZRename this package name to match the regular expression '^[a-z_]+(\.[a-z_][a-z0-9_]*)*$'.(8פ1
\ No newline at end of file
diff --git a/src/medicine/.idea/sonarlint/issuestore/7/6/762bc359bc75ba7b3073e784c826f31f6c989305 b/src/medicine/.idea/sonarlint/issuestore/7/6/762bc359bc75ba7b3073e784c826f31f6c989305
new file mode 100644
index 00000000..4a81afc1
--- /dev/null
+++ b/src/medicine/.idea/sonarlint/issuestore/7/6/762bc359bc75ba7b3073e784c826f31f6c989305
@@ -0,0 +1,2 @@
+
+{ java:S120"ZRename this package name to match the regular expression '^[a-z_]+(\.[a-z_][a-z0-9_]*)*$'.(81
\ No newline at end of file
diff --git a/src/medicine/.idea/sonarlint/issuestore/8/2/82d065e13dbb46b69838db763af0105eec47337f b/src/medicine/.idea/sonarlint/issuestore/8/2/82d065e13dbb46b69838db763af0105eec47337f
new file mode 100644
index 00000000..022143ef
--- /dev/null
+++ b/src/medicine/.idea/sonarlint/issuestore/8/2/82d065e13dbb46b69838db763af0105eec47337f
@@ -0,0 +1,17 @@
+
+` java:S112"FDefine and throw a dedicated exception instead of using a generic one.(҂
+
+java:S1319"pThe return type of this method should be an interface such as "List" rather than the implementation "ArrayList".(
+f java:S117"QRename this local variable to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(Ո
+e
+java:S2095"OUse try-with-resources or close this "PythonInterpreter" in a "finally" clause.(Ո
+U
+java:S1118
+":Add a private constructor to hide the implicit public one.(
+c java:S100"NRename this method name to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(
+N
+java:S1854"8Remove this useless assignment to local variable "Pyit".(Ո
+?
+java:S1481")Remove this unused "Pyit" local variable.(Ո
+t
+java:S2142"^Either re-interrupt this method or rethrow the "InterruptedException" that can be caught here.(䠹
\ No newline at end of file
diff --git a/src/medicine/.idea/sonarlint/issuestore/8/a/8ac776bbbb6e77f29694ccc4476b533f9f4573da b/src/medicine/.idea/sonarlint/issuestore/8/a/8ac776bbbb6e77f29694ccc4476b533f9f4573da
new file mode 100644
index 00000000..2fe3898d
--- /dev/null
+++ b/src/medicine/.idea/sonarlint/issuestore/8/a/8ac776bbbb6e77f29694ccc4476b533f9f4573da
@@ -0,0 +1,16 @@
+
+t
+java:S1104"RMake status a static final constant or non-public and provide accessors if needed.(߮81
+k
+java:S1104"NMake OK a static final constant or non-public and provide accessors if needed.(8Ҧ1
+l
+java:S1104
"PMake FAIL a static final constant or non-public and provide accessors if needed.(㑬V8Ҧ1
+E
+java:S1444"(Make this "public static OK" field final(8Ҧ1
+F
+java:S1444
"*Make this "public static FAIL" field final(㑬V8Ҧ1
+u java:S120"ZRename this package name to match the regular expression '^[a-z_]+(\.[a-z_][a-z0-9_]*)*$'.(騦$81
+j
+java:S3008"MRename this field "OK" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(8Ҧ1
+k
+java:S3008
"ORename this field "FAIL" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(㑬V8Ҧ1
\ No newline at end of file
diff --git a/src/medicine/.idea/sonarlint/issuestore/8/e/8ea61bcc473345da7a8363076b3ae562bc76fedc b/src/medicine/.idea/sonarlint/issuestore/8/e/8ea61bcc473345da7a8363076b3ae562bc76fedc
new file mode 100644
index 00000000..ecdc35b5
--- /dev/null
+++ b/src/medicine/.idea/sonarlint/issuestore/8/e/8ea61bcc473345da7a8363076b3ae562bc76fedc
@@ -0,0 +1,2 @@
+
+{ java:S120"ZRename this package name to match the regular expression '^[a-z_]+(\.[a-z_][a-z0-9_]*)*$'.(81
\ No newline at end of file
diff --git a/src/medicine/.idea/sonarlint/issuestore/9/3/932ae6b8f9f42f924c25e69e48dc30fddd63ec28 b/src/medicine/.idea/sonarlint/issuestore/9/3/932ae6b8f9f42f924c25e69e48dc30fddd63ec28
new file mode 100644
index 00000000..4d8c457a
--- /dev/null
+++ b/src/medicine/.idea/sonarlint/issuestore/9/3/932ae6b8f9f42f924c25e69e48dc30fddd63ec28
@@ -0,0 +1,4 @@
+
+t java:S120"ZRename this package name to match the regular expression '^[a-z_]+(\.[a-z_][a-z0-9_]*)*$'.(
+M
+java:S1128"+Remove this unused import 'java.util.List'.(8䂦1
\ No newline at end of file
diff --git a/src/medicine/.idea/sonarlint/issuestore/b/e/be5bf7d32cedc052850e2cc0c99f2cf7357cac12 b/src/medicine/.idea/sonarlint/issuestore/b/e/be5bf7d32cedc052850e2cc0c99f2cf7357cac12
new file mode 100644
index 00000000..25a5fa64
--- /dev/null
+++ b/src/medicine/.idea/sonarlint/issuestore/b/e/be5bf7d32cedc052850e2cc0c99f2cf7357cac12
@@ -0,0 +1,2 @@
+
+t java:S120"ZRename this package name to match the regular expression '^[a-z_]+(\.[a-z_][a-z0-9_]*)*$'.(
\ No newline at end of file
diff --git a/src/medicine/.idea/sonarlint/issuestore/e/4/e46aee6c7c512a7b48980a296fca0acf004a1907 b/src/medicine/.idea/sonarlint/issuestore/e/4/e46aee6c7c512a7b48980a296fca0acf004a1907
new file mode 100644
index 00000000..e69de29b
diff --git a/src/medicine/.idea/sonarlint/issuestore/index.pb b/src/medicine/.idea/sonarlint/issuestore/index.pb
new file mode 100644
index 00000000..ec97fdab
--- /dev/null
+++ b/src/medicine/.idea/sonarlint/issuestore/index.pb
@@ -0,0 +1,27 @@
+
+z
+Jspringboot/src/main/java/com/xht/springboot/pythonspider/PythonSpider.java,8\2\82d065e13dbb46b69838db763af0105eec47337f
+B
+springboot/pom.xml,e\4\e46aee6c7c512a7b48980a296fca0acf004a1907
+}
+Mspringboot/src/main/java/com/xht/springboot/Control/GetSpiderInformation.java,6\a\6ae8bd6e0b13a9d9272e5cd44460d2d0a72091d9
+|
+Lspringboot/src/main/java/com/xht/springboot/Service/PersonalHomeService.java,7\6\762bc359bc75ba7b3073e784c826f31f6c989305
+s
+Cspringboot/src/main/java/com/xht/springboot/Entity/UserComment.java,9\3\932ae6b8f9f42f924c25e69e48dc30fddd63ec28
+q
+Aspringboot/src/main/java/com/xht/springboot/Entity/UserReply.java,0\5\051eaf551b928a8ccf651611c070ebb2b8155264
+r
+Bspringboot/src/main/java/com/xht/springboot/Tip/RequestResult.java,8\a\8ac776bbbb6e77f29694ccc4476b533f9f4573da
+
+Sspringboot/src/main/java/com/xht/springboot/Control/LoginAndRegisterController.java,4\2\42d62ad23989879b1e669e84287f32b9ec3b7df5
+{
+Kspringboot/src/main/java/com/xht/springboot/Dao/LoginAndRegisterMapper.java,6\4\6455addaf8475c1ee66ddf019aba9934cde58b33
+
+Ospringboot/src/main/java/com/xht/springboot/Control/PersonalHomeController.java,b\e\be5bf7d32cedc052850e2cc0c99f2cf7357cac12
+w
+Gspringboot/src/main/java/com/xht/springboot/Dao/PersonalHomeMapper.java,8\e\8ea61bcc473345da7a8363076b3ae562bc76fedc
+p
+@springboot/src/main/java/com/xht/springboot/Entity/UserHome.java,0\b\0bf6f777ae20a7657065bc4a2b2a9f1f3b4876b1
+q
+Aspringboot/src/main/java/com/xht/springboot/Entity/UserLogin.java,1\3\139a0da36daad8c438a5607ee212d1f38a505779
\ No newline at end of file
diff --git a/src/medicine/.idea/sonarlint/securityhotspotstore/0/5/051eaf551b928a8ccf651611c070ebb2b8155264 b/src/medicine/.idea/sonarlint/securityhotspotstore/0/5/051eaf551b928a8ccf651611c070ebb2b8155264
new file mode 100644
index 00000000..e69de29b
diff --git a/src/medicine/.idea/sonarlint/securityhotspotstore/0/b/0bf6f777ae20a7657065bc4a2b2a9f1f3b4876b1 b/src/medicine/.idea/sonarlint/securityhotspotstore/0/b/0bf6f777ae20a7657065bc4a2b2a9f1f3b4876b1
new file mode 100644
index 00000000..e69de29b
diff --git a/src/medicine/.idea/sonarlint/securityhotspotstore/1/3/139a0da36daad8c438a5607ee212d1f38a505779 b/src/medicine/.idea/sonarlint/securityhotspotstore/1/3/139a0da36daad8c438a5607ee212d1f38a505779
new file mode 100644
index 00000000..e69de29b
diff --git a/src/medicine/.idea/sonarlint/securityhotspotstore/4/2/42d62ad23989879b1e669e84287f32b9ec3b7df5 b/src/medicine/.idea/sonarlint/securityhotspotstore/4/2/42d62ad23989879b1e669e84287f32b9ec3b7df5
new file mode 100644
index 00000000..e69de29b
diff --git a/src/medicine/.idea/sonarlint/securityhotspotstore/6/4/6455addaf8475c1ee66ddf019aba9934cde58b33 b/src/medicine/.idea/sonarlint/securityhotspotstore/6/4/6455addaf8475c1ee66ddf019aba9934cde58b33
new file mode 100644
index 00000000..e69de29b
diff --git a/src/medicine/.idea/sonarlint/securityhotspotstore/6/a/6ae8bd6e0b13a9d9272e5cd44460d2d0a72091d9 b/src/medicine/.idea/sonarlint/securityhotspotstore/6/a/6ae8bd6e0b13a9d9272e5cd44460d2d0a72091d9
new file mode 100644
index 00000000..e69de29b
diff --git a/src/medicine/.idea/sonarlint/securityhotspotstore/7/6/762bc359bc75ba7b3073e784c826f31f6c989305 b/src/medicine/.idea/sonarlint/securityhotspotstore/7/6/762bc359bc75ba7b3073e784c826f31f6c989305
new file mode 100644
index 00000000..e69de29b
diff --git a/src/medicine/.idea/sonarlint/securityhotspotstore/8/2/82d065e13dbb46b69838db763af0105eec47337f b/src/medicine/.idea/sonarlint/securityhotspotstore/8/2/82d065e13dbb46b69838db763af0105eec47337f
new file mode 100644
index 00000000..e69de29b
diff --git a/src/medicine/.idea/sonarlint/securityhotspotstore/8/a/8ac776bbbb6e77f29694ccc4476b533f9f4573da b/src/medicine/.idea/sonarlint/securityhotspotstore/8/a/8ac776bbbb6e77f29694ccc4476b533f9f4573da
new file mode 100644
index 00000000..e69de29b
diff --git a/src/medicine/.idea/sonarlint/securityhotspotstore/8/e/8ea61bcc473345da7a8363076b3ae562bc76fedc b/src/medicine/.idea/sonarlint/securityhotspotstore/8/e/8ea61bcc473345da7a8363076b3ae562bc76fedc
new file mode 100644
index 00000000..e69de29b
diff --git a/src/medicine/.idea/sonarlint/securityhotspotstore/9/3/932ae6b8f9f42f924c25e69e48dc30fddd63ec28 b/src/medicine/.idea/sonarlint/securityhotspotstore/9/3/932ae6b8f9f42f924c25e69e48dc30fddd63ec28
new file mode 100644
index 00000000..e69de29b
diff --git a/src/medicine/.idea/sonarlint/securityhotspotstore/b/e/be5bf7d32cedc052850e2cc0c99f2cf7357cac12 b/src/medicine/.idea/sonarlint/securityhotspotstore/b/e/be5bf7d32cedc052850e2cc0c99f2cf7357cac12
new file mode 100644
index 00000000..e69de29b
diff --git a/src/medicine/.idea/sonarlint/securityhotspotstore/e/4/e46aee6c7c512a7b48980a296fca0acf004a1907 b/src/medicine/.idea/sonarlint/securityhotspotstore/e/4/e46aee6c7c512a7b48980a296fca0acf004a1907
new file mode 100644
index 00000000..e69de29b
diff --git a/src/medicine/.idea/sonarlint/securityhotspotstore/index.pb b/src/medicine/.idea/sonarlint/securityhotspotstore/index.pb
new file mode 100644
index 00000000..7c28c336
--- /dev/null
+++ b/src/medicine/.idea/sonarlint/securityhotspotstore/index.pb
@@ -0,0 +1,27 @@
+
+z
+Jspringboot/src/main/java/com/xht/springboot/pythonspider/PythonSpider.java,8\2\82d065e13dbb46b69838db763af0105eec47337f
+B
+springboot/pom.xml,e\4\e46aee6c7c512a7b48980a296fca0acf004a1907
+}
+Mspringboot/src/main/java/com/xht/springboot/Control/GetSpiderInformation.java,6\a\6ae8bd6e0b13a9d9272e5cd44460d2d0a72091d9
+s
+Cspringboot/src/main/java/com/xht/springboot/Entity/UserComment.java,9\3\932ae6b8f9f42f924c25e69e48dc30fddd63ec28
+|
+Lspringboot/src/main/java/com/xht/springboot/Service/PersonalHomeService.java,7\6\762bc359bc75ba7b3073e784c826f31f6c989305
+q
+Aspringboot/src/main/java/com/xht/springboot/Entity/UserReply.java,0\5\051eaf551b928a8ccf651611c070ebb2b8155264
+r
+Bspringboot/src/main/java/com/xht/springboot/Tip/RequestResult.java,8\a\8ac776bbbb6e77f29694ccc4476b533f9f4573da
+{
+Kspringboot/src/main/java/com/xht/springboot/Dao/LoginAndRegisterMapper.java,6\4\6455addaf8475c1ee66ddf019aba9934cde58b33
+
+Sspringboot/src/main/java/com/xht/springboot/Control/LoginAndRegisterController.java,4\2\42d62ad23989879b1e669e84287f32b9ec3b7df5
+
+Ospringboot/src/main/java/com/xht/springboot/Control/PersonalHomeController.java,b\e\be5bf7d32cedc052850e2cc0c99f2cf7357cac12
+w
+Gspringboot/src/main/java/com/xht/springboot/Dao/PersonalHomeMapper.java,8\e\8ea61bcc473345da7a8363076b3ae562bc76fedc
+p
+@springboot/src/main/java/com/xht/springboot/Entity/UserHome.java,0\b\0bf6f777ae20a7657065bc4a2b2a9f1f3b4876b1
+q
+Aspringboot/src/main/java/com/xht/springboot/Entity/UserLogin.java,1\3\139a0da36daad8c438a5607ee212d1f38a505779
\ No newline at end of file
diff --git a/src/medicine/.idea/uiDesigner.xml b/src/medicine/.idea/uiDesigner.xml
new file mode 100644
index 00000000..2b63946d
--- /dev/null
+++ b/src/medicine/.idea/uiDesigner.xml
@@ -0,0 +1,124 @@
+
+
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/.idea/vcs.xml b/src/medicine/.idea/vcs.xml
new file mode 100644
index 00000000..8fe5bdbd
--- /dev/null
+++ b/src/medicine/.idea/vcs.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/python/loader_picture/__pycache__/data_loader.cpython-311.pyc b/src/medicine/python/loader_picture/__pycache__/data_loader.cpython-311.pyc
new file mode 100644
index 00000000..9d84bec3
Binary files /dev/null and b/src/medicine/python/loader_picture/__pycache__/data_loader.cpython-311.pyc differ
diff --git a/src/medicine/python/loader_picture/data_loader.py b/src/medicine/python/loader_picture/data_loader.py
new file mode 100644
index 00000000..b51b14b8
--- /dev/null
+++ b/src/medicine/python/loader_picture/data_loader.py
@@ -0,0 +1,74 @@
+'''
+dir 图片路径
+size 图片尺寸
+'''
+import os
+
+import cv2
+from PIL import Image
+import numpy as np
+import keras as ks
+from tensorflow.keras.utils import to_categorical
+
+
+class Loader:
+ def __init__(self):
+ train1, train2 = int(437 * 0.7), int(210 * 0.7)
+ self.benign_train = np.array(self.data_loader('./picture/benign', 224, train1, True))
+ self.malignant_train = np.array(self.data_loader('./picture/malignant', 224, train2, True))
+ self.malignant_test = np.array(self.data_loader('./picture/malignant', 224, train2, False))
+ self.benign_test = np.array(self.data_loader('./picture/benign', 224, train1, False))
+
+ # 创造标签用于标记图像 0矩阵表示良性 1矩阵表示恶性
+ self.benign_train_label = np.zeros(len(self.benign_train))
+ self.benign_test_label = np.zeros(len(self.benign_test))
+ self.malignant_train_label = np.ones(len(self.malignant_train))
+ self.malignant_test_label = np.ones(len(self.malignant_test))
+
+ self.x_train = np.concatenate((self.benign_train , self.malignant_train))
+ self.y_train = np.concatenate((self.benign_train_label , self.malignant_train_label))
+ self.x_test = np.concatenate((self.benign_test , self.malignant_test))
+ self.y_test = np.concatenate((self.benign_test_label , self.malignant_test_label))
+
+ s = np.arange(self.x_train.shape[0])
+ np.random.shuffle(s)
+ # 随机打乱train
+ self.x_train = self.x_train[s]
+ self.y_train = self.y_train[s]
+
+ s = np.arange(self.x_train.shape[0])
+ np.random.shuffle(s)
+ # 随机打乱test
+ self.x_test = self.x_test[s]
+ self.y_test = self.y_test[s]
+
+ self.y_train = ks.to_categorical(self.y_train , 2)
+ self.y_test = ks.to_categorical(self.y_test , 2)
+
+
+ def data_loader(self, dir, size, train, f):
+ IMG = [] # 图片
+ # 打开该路径下的图像文件转换为RGB模式并返回numpy数组
+ read = lambda i: np.asarray(Image.open(i).convert("RGB"))
+ home_dir = sorted(os.listdir(dir))
+ n = len(home_dir)
+ for i in range(n):
+ # 获取图片路径
+ path = os.path.join(dir, home_dir[i])
+ l = os.path.split(path)
+ if f:
+ if i > train:
+ break
+ else:
+ if i <= train:
+ continue
+
+ if "_mask" not in l[1]:
+ # 正常png图片
+ img = read(path)
+ #
+ # 需要resize缩放为224x224
+ img = cv2.resize(img, (size, size))
+ IMG.append(np.array(img))
+
+ return IMG
\ No newline at end of file
diff --git a/src/medicine/python/test.py b/src/medicine/python/test.py
new file mode 100644
index 00000000..5a8e01f1
--- /dev/null
+++ b/src/medicine/python/test.py
@@ -0,0 +1,4 @@
+from loader_picture import data_loader
+
+load = data_loader.Loader()
+print(load.benign_train_label.shape)
\ No newline at end of file
diff --git a/src/medicine/python/train_test.ipynb b/src/medicine/python/train_test.ipynb
new file mode 100644
index 00000000..8d0e1e09
--- /dev/null
+++ b/src/medicine/python/train_test.ipynb
@@ -0,0 +1,66 @@
+{
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "outputs": [],
+ "source": [
+ "from PIL import Image"
+ ],
+ "metadata": {
+ "collapsed": false
+ }
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "f = open('picture\\\\benign\\\\benign (1).png' , 'rb')\n",
+ "img = Image.open(f)\n",
+ "print(img)"
+ ],
+ "metadata": {
+ "collapsed": false
+ }
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "outputs": [],
+ "source": [],
+ "metadata": {
+ "collapsed": false
+ }
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.6"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/src/medicine/python/思路整理.md b/src/medicine/python/思路整理.md
new file mode 100644
index 00000000..f93aa10a
--- /dev/null
+++ b/src/medicine/python/思路整理.md
@@ -0,0 +1,11 @@
+#### *第一步、搜集数据集*
+
+- *文件保存在picture文件夹中*
+ - *benign 良性乳腺癌图片*
+ - *malignant 恶性乳腺癌图片*
+ - *normal 正常乳腺癌图片*
+- *以70%作为训练集、30%作为测试集*
+
+#### *第二步、选择合适的方法学习*
+- *(1) 读取图片*
+- *(2) *
\ No newline at end of file
diff --git a/src/medicine/springboot/.gitignore b/src/medicine/springboot/.gitignore
new file mode 100644
index 00000000..549e00a2
--- /dev/null
+++ b/src/medicine/springboot/.gitignore
@@ -0,0 +1,33 @@
+HELP.md
+target/
+!.mvn/wrapper/maven-wrapper.jar
+!**/src/main/**/target/
+!**/src/test/**/target/
+
+### STS ###
+.apt_generated
+.classpath
+.factorypath
+.project
+.settings
+.springBeans
+.sts4-cache
+
+### IntelliJ IDEA ###
+.idea
+*.iws
+*.iml
+*.ipr
+
+### NetBeans ###
+/nbproject/private/
+/nbbuild/
+/dist/
+/nbdist/
+/.nb-gradle/
+build/
+!**/src/main/**/build/
+!**/src/test/**/build/
+
+### VS Code ###
+.vscode/
diff --git a/src/medicine/springboot/.mvn/wrapper/maven-wrapper.jar b/src/medicine/springboot/.mvn/wrapper/maven-wrapper.jar
new file mode 100644
index 00000000..cb28b0e3
Binary files /dev/null and b/src/medicine/springboot/.mvn/wrapper/maven-wrapper.jar differ
diff --git a/src/medicine/springboot/.mvn/wrapper/maven-wrapper.properties b/src/medicine/springboot/.mvn/wrapper/maven-wrapper.properties
new file mode 100644
index 00000000..2e76e189
--- /dev/null
+++ b/src/medicine/springboot/.mvn/wrapper/maven-wrapper.properties
@@ -0,0 +1,2 @@
+distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.4/apache-maven-3.9.4-bin.zip
+wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar
diff --git a/src/medicine/springboot/mvnw b/src/medicine/springboot/mvnw
new file mode 100644
index 00000000..66df2854
--- /dev/null
+++ b/src/medicine/springboot/mvnw
@@ -0,0 +1,308 @@
+#!/bin/sh
+# ----------------------------------------------------------------------------
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+# ----------------------------------------------------------------------------
+
+# ----------------------------------------------------------------------------
+# Apache Maven Wrapper startup batch script, version 3.2.0
+#
+# Required ENV vars:
+# ------------------
+# JAVA_HOME - location of a JDK home dir
+#
+# Optional ENV vars
+# -----------------
+# MAVEN_OPTS - parameters passed to the Java VM when running Maven
+# e.g. to debug Maven itself, use
+# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
+# MAVEN_SKIP_RC - flag to disable loading of mavenrc files
+# ----------------------------------------------------------------------------
+
+if [ -z "$MAVEN_SKIP_RC" ] ; then
+
+ if [ -f /usr/local/etc/mavenrc ] ; then
+ . /usr/local/etc/mavenrc
+ fi
+
+ if [ -f /etc/mavenrc ] ; then
+ . /etc/mavenrc
+ fi
+
+ if [ -f "$HOME/.mavenrc" ] ; then
+ . "$HOME/.mavenrc"
+ fi
+
+fi
+
+# OS specific support. $var _must_ be set to either true or false.
+cygwin=false;
+darwin=false;
+mingw=false
+case "$(uname)" in
+ CYGWIN*) cygwin=true ;;
+ MINGW*) mingw=true;;
+ Darwin*) darwin=true
+ # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home
+ # See https://developer.apple.com/library/mac/qa/qa1170/_index.html
+ if [ -z "$JAVA_HOME" ]; then
+ if [ -x "/usr/libexec/java_home" ]; then
+ JAVA_HOME="$(/usr/libexec/java_home)"; export JAVA_HOME
+ else
+ JAVA_HOME="/Library/Java/Home"; export JAVA_HOME
+ fi
+ fi
+ ;;
+esac
+
+if [ -z "$JAVA_HOME" ] ; then
+ if [ -r /etc/gentoo-release ] ; then
+ JAVA_HOME=$(java-config --jre-home)
+ fi
+fi
+
+# For Cygwin, ensure paths are in UNIX format before anything is touched
+if $cygwin ; then
+ [ -n "$JAVA_HOME" ] &&
+ JAVA_HOME=$(cygpath --unix "$JAVA_HOME")
+ [ -n "$CLASSPATH" ] &&
+ CLASSPATH=$(cygpath --path --unix "$CLASSPATH")
+fi
+
+# For Mingw, ensure paths are in UNIX format before anything is touched
+if $mingw ; then
+ [ -n "$JAVA_HOME" ] && [ -d "$JAVA_HOME" ] &&
+ JAVA_HOME="$(cd "$JAVA_HOME" || (echo "cannot cd into $JAVA_HOME."; exit 1); pwd)"
+fi
+
+if [ -z "$JAVA_HOME" ]; then
+ javaExecutable="$(which javac)"
+ if [ -n "$javaExecutable" ] && ! [ "$(expr "\"$javaExecutable\"" : '\([^ ]*\)')" = "no" ]; then
+ # readlink(1) is not available as standard on Solaris 10.
+ readLink=$(which readlink)
+ if [ ! "$(expr "$readLink" : '\([^ ]*\)')" = "no" ]; then
+ if $darwin ; then
+ javaHome="$(dirname "\"$javaExecutable\"")"
+ javaExecutable="$(cd "\"$javaHome\"" && pwd -P)/javac"
+ else
+ javaExecutable="$(readlink -f "\"$javaExecutable\"")"
+ fi
+ javaHome="$(dirname "\"$javaExecutable\"")"
+ javaHome=$(expr "$javaHome" : '\(.*\)/bin')
+ JAVA_HOME="$javaHome"
+ export JAVA_HOME
+ fi
+ fi
+fi
+
+if [ -z "$JAVACMD" ] ; then
+ if [ -n "$JAVA_HOME" ] ; then
+ if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+ # IBM's JDK on AIX uses strange locations for the executables
+ JAVACMD="$JAVA_HOME/jre/sh/java"
+ else
+ JAVACMD="$JAVA_HOME/bin/java"
+ fi
+ else
+ JAVACMD="$(\unset -f command 2>/dev/null; \command -v java)"
+ fi
+fi
+
+if [ ! -x "$JAVACMD" ] ; then
+ echo "Error: JAVA_HOME is not defined correctly." >&2
+ echo " We cannot execute $JAVACMD" >&2
+ exit 1
+fi
+
+if [ -z "$JAVA_HOME" ] ; then
+ echo "Warning: JAVA_HOME environment variable is not set."
+fi
+
+# traverses directory structure from process work directory to filesystem root
+# first directory with .mvn subdirectory is considered project base directory
+find_maven_basedir() {
+ if [ -z "$1" ]
+ then
+ echo "Path not specified to find_maven_basedir"
+ return 1
+ fi
+
+ basedir="$1"
+ wdir="$1"
+ while [ "$wdir" != '/' ] ; do
+ if [ -d "$wdir"/.mvn ] ; then
+ basedir=$wdir
+ break
+ fi
+ # workaround for JBEAP-8937 (on Solaris 10/Sparc)
+ if [ -d "${wdir}" ]; then
+ wdir=$(cd "$wdir/.." || exit 1; pwd)
+ fi
+ # end of workaround
+ done
+ printf '%s' "$(cd "$basedir" || exit 1; pwd)"
+}
+
+# concatenates all lines of a file
+concat_lines() {
+ if [ -f "$1" ]; then
+ # Remove \r in case we run on Windows within Git Bash
+ # and check out the repository with auto CRLF management
+ # enabled. Otherwise, we may read lines that are delimited with
+ # \r\n and produce $'-Xarg\r' rather than -Xarg due to word
+ # splitting rules.
+ tr -s '\r\n' ' ' < "$1"
+ fi
+}
+
+log() {
+ if [ "$MVNW_VERBOSE" = true ]; then
+ printf '%s\n' "$1"
+ fi
+}
+
+BASE_DIR=$(find_maven_basedir "$(dirname "$0")")
+if [ -z "$BASE_DIR" ]; then
+ exit 1;
+fi
+
+MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"}; export MAVEN_PROJECTBASEDIR
+log "$MAVEN_PROJECTBASEDIR"
+
+##########################################################################################
+# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
+# This allows using the maven wrapper in projects that prohibit checking in binary data.
+##########################################################################################
+wrapperJarPath="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar"
+if [ -r "$wrapperJarPath" ]; then
+ log "Found $wrapperJarPath"
+else
+ log "Couldn't find $wrapperJarPath, downloading it ..."
+
+ if [ -n "$MVNW_REPOURL" ]; then
+ wrapperUrl="$MVNW_REPOURL/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar"
+ else
+ wrapperUrl="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar"
+ fi
+ while IFS="=" read -r key value; do
+ # Remove '\r' from value to allow usage on windows as IFS does not consider '\r' as a separator ( considers space, tab, new line ('\n'), and custom '=' )
+ safeValue=$(echo "$value" | tr -d '\r')
+ case "$key" in (wrapperUrl) wrapperUrl="$safeValue"; break ;;
+ esac
+ done < "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.properties"
+ log "Downloading from: $wrapperUrl"
+
+ if $cygwin; then
+ wrapperJarPath=$(cygpath --path --windows "$wrapperJarPath")
+ fi
+
+ if command -v wget > /dev/null; then
+ log "Found wget ... using wget"
+ [ "$MVNW_VERBOSE" = true ] && QUIET="" || QUIET="--quiet"
+ if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
+ wget $QUIET "$wrapperUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath"
+ else
+ wget $QUIET --http-user="$MVNW_USERNAME" --http-password="$MVNW_PASSWORD" "$wrapperUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath"
+ fi
+ elif command -v curl > /dev/null; then
+ log "Found curl ... using curl"
+ [ "$MVNW_VERBOSE" = true ] && QUIET="" || QUIET="--silent"
+ if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
+ curl $QUIET -o "$wrapperJarPath" "$wrapperUrl" -f -L || rm -f "$wrapperJarPath"
+ else
+ curl $QUIET --user "$MVNW_USERNAME:$MVNW_PASSWORD" -o "$wrapperJarPath" "$wrapperUrl" -f -L || rm -f "$wrapperJarPath"
+ fi
+ else
+ log "Falling back to using Java to download"
+ javaSource="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/MavenWrapperDownloader.java"
+ javaClass="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/MavenWrapperDownloader.class"
+ # For Cygwin, switch paths to Windows format before running javac
+ if $cygwin; then
+ javaSource=$(cygpath --path --windows "$javaSource")
+ javaClass=$(cygpath --path --windows "$javaClass")
+ fi
+ if [ -e "$javaSource" ]; then
+ if [ ! -e "$javaClass" ]; then
+ log " - Compiling MavenWrapperDownloader.java ..."
+ ("$JAVA_HOME/bin/javac" "$javaSource")
+ fi
+ if [ -e "$javaClass" ]; then
+ log " - Running MavenWrapperDownloader.java ..."
+ ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$wrapperUrl" "$wrapperJarPath") || rm -f "$wrapperJarPath"
+ fi
+ fi
+ fi
+fi
+##########################################################################################
+# End of extension
+##########################################################################################
+
+# If specified, validate the SHA-256 sum of the Maven wrapper jar file
+wrapperSha256Sum=""
+while IFS="=" read -r key value; do
+ case "$key" in (wrapperSha256Sum) wrapperSha256Sum=$value; break ;;
+ esac
+done < "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.properties"
+if [ -n "$wrapperSha256Sum" ]; then
+ wrapperSha256Result=false
+ if command -v sha256sum > /dev/null; then
+ if echo "$wrapperSha256Sum $wrapperJarPath" | sha256sum -c > /dev/null 2>&1; then
+ wrapperSha256Result=true
+ fi
+ elif command -v shasum > /dev/null; then
+ if echo "$wrapperSha256Sum $wrapperJarPath" | shasum -a 256 -c > /dev/null 2>&1; then
+ wrapperSha256Result=true
+ fi
+ else
+ echo "Checksum validation was requested but neither 'sha256sum' or 'shasum' are available."
+ echo "Please install either command, or disable validation by removing 'wrapperSha256Sum' from your maven-wrapper.properties."
+ exit 1
+ fi
+ if [ $wrapperSha256Result = false ]; then
+ echo "Error: Failed to validate Maven wrapper SHA-256, your Maven wrapper might be compromised." >&2
+ echo "Investigate or delete $wrapperJarPath to attempt a clean download." >&2
+ echo "If you updated your Maven version, you need to update the specified wrapperSha256Sum property." >&2
+ exit 1
+ fi
+fi
+
+MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS"
+
+# For Cygwin, switch paths to Windows format before running java
+if $cygwin; then
+ [ -n "$JAVA_HOME" ] &&
+ JAVA_HOME=$(cygpath --path --windows "$JAVA_HOME")
+ [ -n "$CLASSPATH" ] &&
+ CLASSPATH=$(cygpath --path --windows "$CLASSPATH")
+ [ -n "$MAVEN_PROJECTBASEDIR" ] &&
+ MAVEN_PROJECTBASEDIR=$(cygpath --path --windows "$MAVEN_PROJECTBASEDIR")
+fi
+
+# Provide a "standardized" way to retrieve the CLI args that will
+# work with both Windows and non-Windows executions.
+MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $*"
+export MAVEN_CMD_LINE_ARGS
+
+WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
+
+# shellcheck disable=SC2086 # safe args
+exec "$JAVACMD" \
+ $MAVEN_OPTS \
+ $MAVEN_DEBUG_OPTS \
+ -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \
+ "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \
+ ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@"
diff --git a/src/medicine/springboot/mvnw.cmd b/src/medicine/springboot/mvnw.cmd
new file mode 100644
index 00000000..95ba6f54
--- /dev/null
+++ b/src/medicine/springboot/mvnw.cmd
@@ -0,0 +1,205 @@
+@REM ----------------------------------------------------------------------------
+@REM Licensed to the Apache Software Foundation (ASF) under one
+@REM or more contributor license agreements. See the NOTICE file
+@REM distributed with this work for additional information
+@REM regarding copyright ownership. The ASF licenses this file
+@REM to you under the Apache License, Version 2.0 (the
+@REM "License"); you may not use this file except in compliance
+@REM with the License. You may obtain a copy of the License at
+@REM
+@REM https://www.apache.org/licenses/LICENSE-2.0
+@REM
+@REM Unless required by applicable law or agreed to in writing,
+@REM software distributed under the License is distributed on an
+@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+@REM KIND, either express or implied. See the License for the
+@REM specific language governing permissions and limitations
+@REM under the License.
+@REM ----------------------------------------------------------------------------
+
+@REM ----------------------------------------------------------------------------
+@REM Apache Maven Wrapper startup batch script, version 3.2.0
+@REM
+@REM Required ENV vars:
+@REM JAVA_HOME - location of a JDK home dir
+@REM
+@REM Optional ENV vars
+@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands
+@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending
+@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven
+@REM e.g. to debug Maven itself, use
+@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
+@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files
+@REM ----------------------------------------------------------------------------
+
+@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on'
+@echo off
+@REM set title of command window
+title %0
+@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on'
+@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO%
+
+@REM set %HOME% to equivalent of $HOME
+if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%")
+
+@REM Execute a user defined script before this one
+if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre
+@REM check for pre script, once with legacy .bat ending and once with .cmd ending
+if exist "%USERPROFILE%\mavenrc_pre.bat" call "%USERPROFILE%\mavenrc_pre.bat" %*
+if exist "%USERPROFILE%\mavenrc_pre.cmd" call "%USERPROFILE%\mavenrc_pre.cmd" %*
+:skipRcPre
+
+@setlocal
+
+set ERROR_CODE=0
+
+@REM To isolate internal variables from possible post scripts, we use another setlocal
+@setlocal
+
+@REM ==== START VALIDATION ====
+if not "%JAVA_HOME%" == "" goto OkJHome
+
+echo.
+echo Error: JAVA_HOME not found in your environment. >&2
+echo Please set the JAVA_HOME variable in your environment to match the >&2
+echo location of your Java installation. >&2
+echo.
+goto error
+
+:OkJHome
+if exist "%JAVA_HOME%\bin\java.exe" goto init
+
+echo.
+echo Error: JAVA_HOME is set to an invalid directory. >&2
+echo JAVA_HOME = "%JAVA_HOME%" >&2
+echo Please set the JAVA_HOME variable in your environment to match the >&2
+echo location of your Java installation. >&2
+echo.
+goto error
+
+@REM ==== END VALIDATION ====
+
+:init
+
+@REM Find the project base dir, i.e. the directory that contains the folder ".mvn".
+@REM Fallback to current working directory if not found.
+
+set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR%
+IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir
+
+set EXEC_DIR=%CD%
+set WDIR=%EXEC_DIR%
+:findBaseDir
+IF EXIST "%WDIR%"\.mvn goto baseDirFound
+cd ..
+IF "%WDIR%"=="%CD%" goto baseDirNotFound
+set WDIR=%CD%
+goto findBaseDir
+
+:baseDirFound
+set MAVEN_PROJECTBASEDIR=%WDIR%
+cd "%EXEC_DIR%"
+goto endDetectBaseDir
+
+:baseDirNotFound
+set MAVEN_PROJECTBASEDIR=%EXEC_DIR%
+cd "%EXEC_DIR%"
+
+:endDetectBaseDir
+
+IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig
+
+@setlocal EnableExtensions EnableDelayedExpansion
+for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a
+@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS%
+
+:endReadAdditionalConfig
+
+SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe"
+set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar"
+set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
+
+set WRAPPER_URL="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar"
+
+FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO (
+ IF "%%A"=="wrapperUrl" SET WRAPPER_URL=%%B
+)
+
+@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
+@REM This allows using the maven wrapper in projects that prohibit checking in binary data.
+if exist %WRAPPER_JAR% (
+ if "%MVNW_VERBOSE%" == "true" (
+ echo Found %WRAPPER_JAR%
+ )
+) else (
+ if not "%MVNW_REPOURL%" == "" (
+ SET WRAPPER_URL="%MVNW_REPOURL%/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar"
+ )
+ if "%MVNW_VERBOSE%" == "true" (
+ echo Couldn't find %WRAPPER_JAR%, downloading it ...
+ echo Downloading from: %WRAPPER_URL%
+ )
+
+ powershell -Command "&{"^
+ "$webclient = new-object System.Net.WebClient;"^
+ "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^
+ "$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^
+ "}"^
+ "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%WRAPPER_URL%', '%WRAPPER_JAR%')"^
+ "}"
+ if "%MVNW_VERBOSE%" == "true" (
+ echo Finished downloading %WRAPPER_JAR%
+ )
+)
+@REM End of extension
+
+@REM If specified, validate the SHA-256 sum of the Maven wrapper jar file
+SET WRAPPER_SHA_256_SUM=""
+FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO (
+ IF "%%A"=="wrapperSha256Sum" SET WRAPPER_SHA_256_SUM=%%B
+)
+IF NOT %WRAPPER_SHA_256_SUM%=="" (
+ powershell -Command "&{"^
+ "$hash = (Get-FileHash \"%WRAPPER_JAR%\" -Algorithm SHA256).Hash.ToLower();"^
+ "If('%WRAPPER_SHA_256_SUM%' -ne $hash){"^
+ " Write-Output 'Error: Failed to validate Maven wrapper SHA-256, your Maven wrapper might be compromised.';"^
+ " Write-Output 'Investigate or delete %WRAPPER_JAR% to attempt a clean download.';"^
+ " Write-Output 'If you updated your Maven version, you need to update the specified wrapperSha256Sum property.';"^
+ " exit 1;"^
+ "}"^
+ "}"
+ if ERRORLEVEL 1 goto error
+)
+
+@REM Provide a "standardized" way to retrieve the CLI args that will
+@REM work with both Windows and non-Windows executions.
+set MAVEN_CMD_LINE_ARGS=%*
+
+%MAVEN_JAVA_EXE% ^
+ %JVM_CONFIG_MAVEN_PROPS% ^
+ %MAVEN_OPTS% ^
+ %MAVEN_DEBUG_OPTS% ^
+ -classpath %WRAPPER_JAR% ^
+ "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" ^
+ %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %*
+if ERRORLEVEL 1 goto error
+goto end
+
+:error
+set ERROR_CODE=1
+
+:end
+@endlocal & set ERROR_CODE=%ERROR_CODE%
+
+if not "%MAVEN_SKIP_RC%"=="" goto skipRcPost
+@REM check for post script, once with legacy .bat ending and once with .cmd ending
+if exist "%USERPROFILE%\mavenrc_post.bat" call "%USERPROFILE%\mavenrc_post.bat"
+if exist "%USERPROFILE%\mavenrc_post.cmd" call "%USERPROFILE%\mavenrc_post.cmd"
+:skipRcPost
+
+@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on'
+if "%MAVEN_BATCH_PAUSE%"=="on" pause
+
+if "%MAVEN_TERMINATE_CMD%"=="on" exit %ERROR_CODE%
+
+cmd /C exit /B %ERROR_CODE%
diff --git a/src/medicine/springboot/pom.xml b/src/medicine/springboot/pom.xml
new file mode 100644
index 00000000..10cddd05
--- /dev/null
+++ b/src/medicine/springboot/pom.xml
@@ -0,0 +1,77 @@
+
+
+ 4.0.0
+
+ org.springframework.boot
+ spring-boot-starter-parent
+ 3.1.2
+
+
+ com.xht
+ springboot
+ 0.0.1-SNAPSHOT
+ springboot
+ springboot
+
+ 17
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+
+ org.mybatis.spring.boot
+ mybatis-spring-boot-starter
+ 3.0.2
+
+
+
+ mysql
+ mysql-connector-java
+ 8.0.31
+
+
+
+ org.projectlombok
+ lombok
+
+
+
+ org.springframework.boot
+ spring-boot-devtools
+ true
+
+
+
+ org.springframework.boot
+ spring-boot-starter-thymeleaf
+
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+
+ org.python
+ jython-standalone
+ 2.7.3
+
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+
+
+
diff --git a/src/medicine/springboot/src/main/java/com/xht/springboot/Control/GetSpiderInformation.java b/src/medicine/springboot/src/main/java/com/xht/springboot/Control/GetSpiderInformation.java
new file mode 100644
index 00000000..6d0c6338
--- /dev/null
+++ b/src/medicine/springboot/src/main/java/com/xht/springboot/Control/GetSpiderInformation.java
@@ -0,0 +1,14 @@
+package com.xht.springboot.Control;
+
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+@Controller
+public class GetSpiderInformation
+{
+ @RequestMapping("/index")
+ public String pagespider()
+ {
+ return "index";
+ }
+}
diff --git a/src/medicine/springboot/src/main/java/com/xht/springboot/Control/LoginAndRegisterController.java b/src/medicine/springboot/src/main/java/com/xht/springboot/Control/LoginAndRegisterController.java
new file mode 100644
index 00000000..adb4825a
--- /dev/null
+++ b/src/medicine/springboot/src/main/java/com/xht/springboot/Control/LoginAndRegisterController.java
@@ -0,0 +1,52 @@
+package com.xht.springboot.Control;
+
+
+import com.xht.springboot.Dao.LoginAndRegisterMapper;
+import com.xht.springboot.Entity.UserLogin;
+import com.xht.springboot.Tip.RequestResult;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import java.util.List;
+
+@Controller
+public class LoginAndRegisterController {
+ @Autowired
+ LoginAndRegisterMapper loginAndRegisterMapper;
+
+ @Autowired
+ RequestResult requestResult;
+
+ @RequestMapping("/findisrepeat")
+ @ResponseBody
+ public List findIsRepeat(UserLogin userLogin){
+ return loginAndRegisterMapper.findIsRepeat(userLogin);
+ }
+
+ @RequestMapping("/register")
+ @ResponseBody
+ public RequestResult register(UserLogin userLogin){
+ if(loginAndRegisterMapper.register(userLogin) >= 1){
+ requestResult.status = RequestResult.OK;
+ return requestResult;
+ }else {
+ requestResult.status = RequestResult.FAIL;
+ return requestResult;
+ }
+ }
+
+ @RequestMapping("/login")
+ @ResponseBody
+ public UserLogin login(UserLogin userLogin){
+ return loginAndRegisterMapper.find(userLogin);
+ }
+
+ @RequestMapping("/forgetpassword")
+ @ResponseBody
+ public UserLogin getPassword(UserLogin userLogin){
+ return loginAndRegisterMapper.find(userLogin);
+ }
+
+}
diff --git a/src/medicine/springboot/src/main/java/com/xht/springboot/Control/PersonalHomeController.java b/src/medicine/springboot/src/main/java/com/xht/springboot/Control/PersonalHomeController.java
new file mode 100644
index 00000000..98317a5d
--- /dev/null
+++ b/src/medicine/springboot/src/main/java/com/xht/springboot/Control/PersonalHomeController.java
@@ -0,0 +1,34 @@
+package com.xht.springboot.Control;
+
+
+import com.xht.springboot.Entity.UserHome;
+import com.xht.springboot.Entity.UserText;
+import com.xht.springboot.Service.PersonalHomeService;
+import com.xht.springboot.Tip.RequestResult;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import java.util.List;
+
+@Controller
+public class PersonalHomeController {
+ @Autowired
+ PersonalHomeService personalHomeService;
+
+ @Autowired
+ RequestResult requestResult;
+
+ @RequestMapping("/getpersonahomedata")
+ @ResponseBody
+ public UserHome getPersonalHomeData(int uid){
+ return personalHomeService.getUserHomeData(uid);
+ }
+
+ @RequestMapping("/getusertexts")
+ @ResponseBody
+ public List getUserTexts(int uid){
+ return personalHomeService.getUserTexts(uid);
+ }
+}
diff --git a/src/medicine/springboot/src/main/java/com/xht/springboot/Control/WebHomeController.java b/src/medicine/springboot/src/main/java/com/xht/springboot/Control/WebHomeController.java
new file mode 100644
index 00000000..61df26c6
--- /dev/null
+++ b/src/medicine/springboot/src/main/java/com/xht/springboot/Control/WebHomeController.java
@@ -0,0 +1,76 @@
+package com.xht.springboot.Control;
+
+import com.xht.springboot.Entity.UserReply;
+import com.xht.springboot.Entity.UserText;
+import com.xht.springboot.Service.WebHomeService;
+import com.xht.springboot.Tip.RequestResult;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import java.util.List;
+
+
+@Controller
+public class WebHomeController {
+ @Autowired
+ WebHomeService webHomeService;
+
+ @Autowired
+ RequestResult requestResult;
+
+ @RequestMapping("/getwebhomedata")
+ @ResponseBody
+ public List getWebHomeData(){
+ return webHomeService.getWebHomeData();
+ }
+
+ @RequestMapping("/getreplies")
+ @ResponseBody
+ public List getReplies(int commentid){
+ return webHomeService.getUserReplies(commentid);
+ }
+
+ @RequestMapping("/posttext")
+ @ResponseBody
+ public RequestResult postText(UserText userText){
+ if(webHomeService.postUserText(userText)){
+ requestResult.status = RequestResult.OK;
+ return requestResult;
+ }else {
+ requestResult.status = RequestResult.FAIL;
+ return requestResult;
+ }
+ }
+
+ @RequestMapping("/deltext")
+ @ResponseBody
+ public RequestResult deleteText(UserText userText){
+ if(webHomeService.deleteUserText(userText)){
+ requestResult.status = RequestResult.OK;
+ return requestResult;
+ }else {
+ requestResult.status = RequestResult.FAIL;
+ return requestResult;
+ }
+ }
+
+ @RequestMapping("/updatetext")
+ @ResponseBody
+ public RequestResult updateText(UserText userText){
+ if(webHomeService.updateUserText(userText)){
+ requestResult.status = RequestResult.OK;
+ return requestResult;
+ }else {
+ requestResult.status = RequestResult.FAIL;
+ return requestResult;
+ }
+ }
+
+ @RequestMapping("/findtext")
+ @ResponseBody
+ public List findText(String token){
+ return webHomeService.findUserText(token);
+ }
+}
diff --git a/src/medicine/springboot/src/main/java/com/xht/springboot/Dao/LoginAndRegisterMapper.java b/src/medicine/springboot/src/main/java/com/xht/springboot/Dao/LoginAndRegisterMapper.java
new file mode 100644
index 00000000..680c1de3
--- /dev/null
+++ b/src/medicine/springboot/src/main/java/com/xht/springboot/Dao/LoginAndRegisterMapper.java
@@ -0,0 +1,23 @@
+package com.xht.springboot.Dao;
+
+
+import com.xht.springboot.Entity.UserLogin;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Select;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+@Mapper
+public interface LoginAndRegisterMapper {
+
+ //查询是否账号重复
+ public List findIsRepeat(UserLogin userLogin);
+
+ //注册到数据库
+ public int register(UserLogin userLogin);
+
+
+ //查询是否在数据库,查询密码等
+ public UserLogin find(UserLogin userLogin);
+}
diff --git a/src/medicine/springboot/src/main/java/com/xht/springboot/Dao/PersonalHomeMapper.java b/src/medicine/springboot/src/main/java/com/xht/springboot/Dao/PersonalHomeMapper.java
new file mode 100644
index 00000000..4060a8c1
--- /dev/null
+++ b/src/medicine/springboot/src/main/java/com/xht/springboot/Dao/PersonalHomeMapper.java
@@ -0,0 +1,16 @@
+package com.xht.springboot.Dao;
+
+
+import com.xht.springboot.Entity.UserHome;
+import com.xht.springboot.Entity.UserText;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+@Mapper
+public interface PersonalHomeMapper {
+ //根据uid查询用户详情
+ public UserHome findById(int id);
+
+ public List findTexts(int id);
+}
diff --git a/src/medicine/springboot/src/main/java/com/xht/springboot/Dao/WebHomeMapper.java b/src/medicine/springboot/src/main/java/com/xht/springboot/Dao/WebHomeMapper.java
new file mode 100644
index 00000000..fce61b9d
--- /dev/null
+++ b/src/medicine/springboot/src/main/java/com/xht/springboot/Dao/WebHomeMapper.java
@@ -0,0 +1,33 @@
+package com.xht.springboot.Dao;
+
+import com.xht.springboot.Entity.UserReply;
+import com.xht.springboot.Entity.UserText;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.Collection;
+import java.util.List;
+
+@Mapper
+public interface WebHomeMapper {
+ //查询所有文章
+ public List findAllTextAndComments();
+
+ //查询评论包含的回复
+ public List findRepliesByCommentId(int id);
+
+ //上传文章
+ public int insertUserText(UserText userText);
+
+ //删除文章
+ public int deleteUserText(UserText userText);
+
+ //修改文章
+ public int updateUserText(UserText userText);
+
+ //查询文章-文本包含
+ public List findOfTextContains(String string);
+
+ //查询文章-标题包含
+ public Collection findOfTitleContains(String string);
+
+}
diff --git a/src/medicine/springboot/src/main/java/com/xht/springboot/Entity/UserComment.java b/src/medicine/springboot/src/main/java/com/xht/springboot/Entity/UserComment.java
new file mode 100644
index 00000000..f37a14c4
--- /dev/null
+++ b/src/medicine/springboot/src/main/java/com/xht/springboot/Entity/UserComment.java
@@ -0,0 +1,24 @@
+package com.xht.springboot.Entity;
+
+
+import lombok.Data;
+import lombok.ToString;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+@Data
+@ToString
+@Component
+public class UserComment {
+ private int commentId;
+
+ private int textId;
+
+ private int uid;
+
+ private String comment;
+
+ private int likeCount;
+
+}
diff --git a/src/medicine/springboot/src/main/java/com/xht/springboot/Entity/UserHome.java b/src/medicine/springboot/src/main/java/com/xht/springboot/Entity/UserHome.java
new file mode 100644
index 00000000..4dbc31a5
--- /dev/null
+++ b/src/medicine/springboot/src/main/java/com/xht/springboot/Entity/UserHome.java
@@ -0,0 +1,26 @@
+package com.xht.springboot.Entity;
+
+
+import lombok.Data;
+import lombok.ToString;
+import org.springframework.stereotype.Component;
+
+import java.util.Date;
+import java.util.List;
+
+@Data
+@ToString
+@Component
+public class UserHome {
+ private int uid;
+
+ //用户累计使用网站时间
+ private Date registerTime;
+
+ //累计发表文章
+ private int textCounts;
+
+ //用户自己病症的描述
+ private String diseases;
+
+}
diff --git a/src/medicine/springboot/src/main/java/com/xht/springboot/Entity/UserLogin.java b/src/medicine/springboot/src/main/java/com/xht/springboot/Entity/UserLogin.java
new file mode 100644
index 00000000..d79609e2
--- /dev/null
+++ b/src/medicine/springboot/src/main/java/com/xht/springboot/Entity/UserLogin.java
@@ -0,0 +1,16 @@
+package com.xht.springboot.Entity;
+
+
+import lombok.Data;
+import lombok.ToString;
+import org.apache.ibatis.type.Alias;
+import org.springframework.stereotype.Component;
+
+@Component
+@Data
+@ToString
+public class UserLogin {
+ private int uid;
+ private String uname;
+ private String upassword;
+}
diff --git a/src/medicine/springboot/src/main/java/com/xht/springboot/Entity/UserReply.java b/src/medicine/springboot/src/main/java/com/xht/springboot/Entity/UserReply.java
new file mode 100644
index 00000000..9b17e565
--- /dev/null
+++ b/src/medicine/springboot/src/main/java/com/xht/springboot/Entity/UserReply.java
@@ -0,0 +1,17 @@
+package com.xht.springboot.Entity;
+
+
+import lombok.Data;
+import lombok.ToString;
+import org.springframework.stereotype.Component;
+
+@Component
+@Data
+@ToString
+public class UserReply {
+ private int replyId;
+
+ private int commentId;
+
+ private String text;
+}
diff --git a/src/medicine/springboot/src/main/java/com/xht/springboot/Entity/UserText.java b/src/medicine/springboot/src/main/java/com/xht/springboot/Entity/UserText.java
new file mode 100644
index 00000000..15b677c8
--- /dev/null
+++ b/src/medicine/springboot/src/main/java/com/xht/springboot/Entity/UserText.java
@@ -0,0 +1,29 @@
+package com.xht.springboot.Entity;
+
+
+import lombok.Data;
+import lombok.ToString;
+import org.springframework.stereotype.Component;
+
+import java.util.Date;
+import java.util.List;
+
+@Data
+@ToString
+@Component
+public class UserText {
+
+ private int textId;
+ private int uid;
+
+ private String title;
+
+ private String text;
+
+ private Date updateTime;
+ private Date createTime;
+
+ private int likeCount;
+
+ private List comments;
+}
diff --git a/src/medicine/springboot/src/main/java/com/xht/springboot/Service/PersonalHomeService.java b/src/medicine/springboot/src/main/java/com/xht/springboot/Service/PersonalHomeService.java
new file mode 100644
index 00000000..77204a64
--- /dev/null
+++ b/src/medicine/springboot/src/main/java/com/xht/springboot/Service/PersonalHomeService.java
@@ -0,0 +1,25 @@
+package com.xht.springboot.Service;
+
+
+import com.xht.springboot.Dao.PersonalHomeMapper;
+import com.xht.springboot.Entity.UserHome;
+import com.xht.springboot.Entity.UserText;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class PersonalHomeService {
+ @Autowired
+ PersonalHomeMapper personalHomeMapper;
+
+ //获得用户主页数据
+ public UserHome getUserHomeData(int uid){
+ return personalHomeMapper.findById(uid);
+ }
+
+ public List getUserTexts(int uid){
+ return personalHomeMapper.findTexts(uid);
+ }
+}
diff --git a/src/medicine/springboot/src/main/java/com/xht/springboot/Service/WebHomeService.java b/src/medicine/springboot/src/main/java/com/xht/springboot/Service/WebHomeService.java
new file mode 100644
index 00000000..ac78c1a9
--- /dev/null
+++ b/src/medicine/springboot/src/main/java/com/xht/springboot/Service/WebHomeService.java
@@ -0,0 +1,65 @@
+package com.xht.springboot.Service;
+
+
+import com.xht.springboot.Dao.WebHomeMapper;
+import com.xht.springboot.Entity.UserReply;
+import com.xht.springboot.Entity.UserText;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class WebHomeService {
+ @Autowired
+ WebHomeMapper webHomeMapper;
+
+ //获得所有文章除了评论的回复
+ public List getWebHomeData(){
+ return webHomeMapper.findAllTextAndComments();
+ }
+
+ public List getUserReplies(int commentid){
+ return webHomeMapper.findRepliesByCommentId(commentid);
+ }
+
+ public boolean postUserText(UserText userText){
+ int rows=0;
+ rows = webHomeMapper.insertUserText(userText);
+ if(rows >= 1){
+ System.out.println("insert OK "+rows);
+ return true;
+ }else{
+ return false;
+ }
+ }
+
+ public boolean deleteUserText(UserText userText){
+ int rows=0;
+ rows = webHomeMapper.deleteUserText(userText);
+ if(rows >= 1){
+ System.out.println("delete OK "+rows);
+ return true;
+ }else{
+ return false;
+ }
+ }
+
+ public boolean updateUserText(UserText userText){
+ int rows=0;
+ rows = webHomeMapper.updateUserText(userText);
+ if(rows >= 1){
+ System.out.println("update OK "+rows);
+ return true;
+ }else{
+ return false;
+ }
+ }
+
+ public List findUserText(String token){
+ List results = null;
+ results = webHomeMapper.findOfTextContains(token);//查询文本中是否包含
+ results.addAll(webHomeMapper.findOfTitleContains(token));//查询标题中是否包含
+ return results;
+ }
+}
diff --git a/src/medicine/springboot/src/main/java/com/xht/springboot/SpringbootApplication.java b/src/medicine/springboot/src/main/java/com/xht/springboot/SpringbootApplication.java
new file mode 100644
index 00000000..783d46ee
--- /dev/null
+++ b/src/medicine/springboot/src/main/java/com/xht/springboot/SpringbootApplication.java
@@ -0,0 +1,16 @@
+package com.xht.springboot;
+
+import com.xht.springboot.pythonspider.PythonSpider;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+import java.util.ArrayList;
+
+@SpringBootApplication
+public class SpringbootApplication {
+
+ public static void main(String[] args) {
+ SpringApplication.run(SpringbootApplication.class, args);
+ }
+
+}
diff --git a/src/medicine/springboot/src/main/java/com/xht/springboot/Tip/RequestResult.java b/src/medicine/springboot/src/main/java/com/xht/springboot/Tip/RequestResult.java
new file mode 100644
index 00000000..c0bb536f
--- /dev/null
+++ b/src/medicine/springboot/src/main/java/com/xht/springboot/Tip/RequestResult.java
@@ -0,0 +1,14 @@
+package com.xht.springboot.Tip;
+
+import lombok.Data;
+import lombok.ToString;
+import org.springframework.stereotype.Component;
+
+@Component
+@Data
+@ToString
+public class RequestResult {
+ public int status;
+ public static int OK = 0;
+ public static int FAIL = 1;
+}
diff --git a/src/medicine/springboot/src/main/java/com/xht/springboot/pythonspider/CancerSpider/spider.py b/src/medicine/springboot/src/main/java/com/xht/springboot/pythonspider/CancerSpider/spider.py
new file mode 100644
index 00000000..9b7ebc20
--- /dev/null
+++ b/src/medicine/springboot/src/main/java/com/xht/springboot/pythonspider/CancerSpider/spider.py
@@ -0,0 +1,89 @@
+import requests
+from PIL import Image
+from selenium import webdriver
+from selenium.webdriver import ActionChains
+from selenium.webdriver.common.by import By
+import time
+from lxml import etree
+
+
+def analyse(driver , input_imagexpath , input_anlxpath , imagepath):
+ # 图片按钮
+ loc1 = driver.find_element(By.XPATH, input_imagexpath).send_keys(imagepath)
+ # 分析按钮
+ loc2 = driver.find_element(By.XPATH, input_anlxpath)
+
+ ActionChains(driver).click(loc1).perform()
+ time.sleep(2)
+ ActionChains(driver).click(loc2).perform()
+ time.sleep(2)
+
+def go_in(driver , input_user , input_password , input_upload):
+ # 用户名
+ loc3 = driver.find_element(By.XPATH, input_user).send_keys("xht")
+ # 密码
+ loc4 = driver.find_element(By.XPATH, input_password).send_keys("Xht@20021213")
+ # 点击进入
+ loc5 = driver.find_element(By.XPATH, input_upload)
+
+ ActionChains(driver).click(loc3).perform()
+ time.sleep(2)
+ ActionChains(driver).click(loc4).perform()
+ time.sleep(2)
+
+ ActionChains(driver).click(loc5).perform()
+ time.sleep(2)
+
+def get_information(driver , url):
+ input_res = []
+ for i in range(2 , 7):
+ if i == 5:
+ continue
+ else:
+ # / html / body / p[3] / text()[2]
+ t = "/html/body/p[" + str(i) + "]"
+ input_res.append(t)
+ loc_res = []
+ for i in input_res:
+ temp = driver.find_element(By.XPATH , i).text
+ loc_res.append(temp)
+
+ return loc_res
+
+def get_picture(driver , output_pic , imagename):
+ return driver.find_element(By.XPATH , output_pic).screenshot(imagename)
+
+
+
+if __name__ == "__main__":
+ # driver.get("http://mammo.neuralrad.com:5300/upload")
+ option = webdriver.EdgeOptions()
+ option.add_argument("--headless")
+ option.add_argument("--disable-gpu")
+ option.add_argument("--disable-software-rasterizer")
+
+ url = "http://mammo.neuralrad.com:5300/"
+ driver = webdriver.Edge(options=option)
+ imagepath = "D:\\pro_of_program\\Java\\test\\SOB_B_A-14-22549AB-400-006.png"
+ imagename = "SOB_B_A-14-22549AB-400-006.png"
+
+ driver.get(url)
+
+ input_imagexpath = "/html/body/section[2]/form/p/input[1]"
+ input_anlxpath = "/html/body/section[2]/form/p/input[2]"
+
+ input_user = "/html/body/section[1]/div/header/div/div[2]/a[1]/div/p/input"
+ input_password = "/html/body/section[1]/div/header/div/div[2]/a[2]/div/p/input"
+
+ input_upload = "/html/body/section[2]/div/div/h1/a"
+ output_picture = "/html/body/img"
+
+ go_in(driver , input_user , input_password , input_upload)
+ analyse(driver , input_imagexpath , input_anlxpath , imagepath)
+ # context 解析结果
+ context = get_information(driver , url)
+ for i in context:
+ print(i)
+ # 获取图片
+ picture = get_picture(driver , output_picture , imagename)
+ # print(picture)
\ No newline at end of file
diff --git a/src/medicine/springboot/src/main/java/com/xht/springboot/pythonspider/PythonSpider.java b/src/medicine/springboot/src/main/java/com/xht/springboot/pythonspider/PythonSpider.java
new file mode 100644
index 00000000..d75c8248
--- /dev/null
+++ b/src/medicine/springboot/src/main/java/com/xht/springboot/pythonspider/PythonSpider.java
@@ -0,0 +1,35 @@
+package com.xht.springboot.pythonspider;
+
+import org.python.util.PythonInterpreter;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.util.ArrayList;
+
+public class PythonSpider
+{
+ public static ArrayList Spider()
+ {
+ ArrayList res = new ArrayList<>();
+ PythonInterpreter Pyit = new PythonInterpreter();
+ Process proc;
+ String path = "src/main/java/com/xht/springboot/pythonspider/CancerSpider/spider.py";
+ path = "python " + path;
+ try {
+ proc = Runtime.getRuntime().exec(path);
+ BufferedReader in = new BufferedReader(new InputStreamReader(proc.getInputStream()));
+ String line = null;
+ while((line = in.readLine()) != null)
+ res.add(line);
+ in.close();
+ proc.waitFor();
+ }
+ catch (IOException e) {
+ e.printStackTrace();
+ } catch (InterruptedException e) {
+ throw new RuntimeException(e);
+ }
+ return res;
+ }
+}
diff --git a/src/medicine/springboot/src/main/resources/application.properties b/src/medicine/springboot/src/main/resources/application.properties
new file mode 100644
index 00000000..a3ac65ce
--- /dev/null
+++ b/src/medicine/springboot/src/main/resources/application.properties
@@ -0,0 +1 @@
+server.port=8080
\ No newline at end of file
diff --git a/src/medicine/springboot/src/main/resources/application.yaml b/src/medicine/springboot/src/main/resources/application.yaml
new file mode 100644
index 00000000..4f17caf5
--- /dev/null
+++ b/src/medicine/springboot/src/main/resources/application.yaml
@@ -0,0 +1,12 @@
+mybatis:
+ config-location: classpath:mybatis/db1/mybatis_config.xml
+ mapper-locations:
+ - classpath:mybatis/db1/*Mapper.xml
+
+
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://localhost:3306/medicine_web
+ username: root
+ password: molong
\ No newline at end of file
diff --git a/src/medicine/springboot/src/main/resources/mybatis/db1/LoginAndRegisterMapper.xml b/src/medicine/springboot/src/main/resources/mybatis/db1/LoginAndRegisterMapper.xml
new file mode 100644
index 00000000..7f99bedc
--- /dev/null
+++ b/src/medicine/springboot/src/main/resources/mybatis/db1/LoginAndRegisterMapper.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
+
+ insert into users(uname,upassword) values(#{uname},#{upassword})
+
+
+
\ No newline at end of file
diff --git a/src/medicine/springboot/src/main/resources/mybatis/db1/PersonalHomeMapper.xml b/src/medicine/springboot/src/main/resources/mybatis/db1/PersonalHomeMapper.xml
new file mode 100644
index 00000000..bd7897c0
--- /dev/null
+++ b/src/medicine/springboot/src/main/resources/mybatis/db1/PersonalHomeMapper.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/springboot/src/main/resources/mybatis/db1/WebHomeMapper.xml b/src/medicine/springboot/src/main/resources/mybatis/db1/WebHomeMapper.xml
new file mode 100644
index 00000000..2c0ad33f
--- /dev/null
+++ b/src/medicine/springboot/src/main/resources/mybatis/db1/WebHomeMapper.xml
@@ -0,0 +1,51 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ insert into usertexts(uid,title,text,createtime) values(#{uid},#{title},#{text},#{createtime})
+
+
+
+ delete from usertexts where textid=#{textid}
+
+
+
+ update usertexts set title=#{title} and text=#{text} and updatetime=#{updatetime}
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/springboot/src/main/resources/mybatis/db1/mybatis_config.xml b/src/medicine/springboot/src/main/resources/mybatis/db1/mybatis_config.xml
new file mode 100644
index 00000000..8f25beb3
--- /dev/null
+++ b/src/medicine/springboot/src/main/resources/mybatis/db1/mybatis_config.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
diff --git a/src/medicine/springboot/src/main/resources/templates/index.html b/src/medicine/springboot/src/main/resources/templates/index.html
new file mode 100644
index 00000000..c758426d
--- /dev/null
+++ b/src/medicine/springboot/src/main/resources/templates/index.html
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+ Document
+
+
+
+ web
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/medicine/springboot/src/test/java/com/xht/springboot/SpringbootApplicationTests.java b/src/medicine/springboot/src/test/java/com/xht/springboot/SpringbootApplicationTests.java
new file mode 100644
index 00000000..5ca2e30f
--- /dev/null
+++ b/src/medicine/springboot/src/test/java/com/xht/springboot/SpringbootApplicationTests.java
@@ -0,0 +1,12 @@
+package com.xht.springboot;
+
+import org.junit.jupiter.api.Test;
+import org.springframework.boot.test.context.SpringBootTest;
+
+@SpringBootTest
+class SpringbootApplicationTests {
+
+ @Test
+ void contextLoads() {
+ }
+}