update1.3 #4

Open
ml5sa8pux wants to merge 10 commits from xiangjincheng_branch into master

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$" />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
<component name="SonarLintModuleSettings">
<option name="uniqueId" value="fc6edd0f-e7ea-408a-bb1f-a18ef2b9c9f2" />
</component>
</module>

@ -12,6 +12,7 @@
</annotationProcessing>
<bytecodeTargetLevel>
<module name="springboot" target="17" />
<module name="test_model" target="11" />
</bytecodeTargetLevel>
</component>
<component name="JavacSettings">

@ -17,6 +17,9 @@
<component name="DBNavigator.Project.DatabaseFileManager">
<open-files />
</component>
<component name="DBNavigator.Project.ExecutionManager">
<retain-sticky-names value="false" />
</component>
<component name="DBNavigator.Project.Settings">
<connections />
<browser-settings>

@ -2,5 +2,7 @@
<project version="4">
<component name="Encoding">
<file url="file://$PROJECT_DIR$/springboot/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/test_model/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/test_model/src/main/resources" charset="UTF-8" />
</component>
</project>

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.15.2">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/com/fasterxml/jackson/dataformat/jackson-dataformat-yaml/2.15.2/jackson-dataformat-yaml-2.15.2.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/com/fasterxml/jackson/dataformat/jackson-dataformat-yaml/2.15.2/jackson-dataformat-yaml-2.15.2-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/com/fasterxml/jackson/dataformat/jackson-dataformat-yaml/2.15.2/jackson-dataformat-yaml-2.15.2-sources.jar!/" />
</SOURCES>
</library>
</component>

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: com.google.code.findbugs:jsr305:3.0.2">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2-sources.jar!/" />
</SOURCES>
</library>
</component>

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: com.google.code.gson:gson:2.10.1">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/com/google/code/gson/gson/2.10.1/gson-2.10.1.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/com/google/code/gson/gson/2.10.1/gson-2.10.1-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/com/google/code/gson/gson/2.10.1/gson-2.10.1-sources.jar!/" />
</SOURCES>
</library>
</component>

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: com.google.errorprone:error_prone_annotations:2.3.4">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/com/google/errorprone/error_prone_annotations/2.3.4/error_prone_annotations-2.3.4.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/com/google/errorprone/error_prone_annotations/2.3.4/error_prone_annotations-2.3.4-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/com/google/errorprone/error_prone_annotations/2.3.4/error_prone_annotations-2.3.4-sources.jar!/" />
</SOURCES>
</library>
</component>

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: com.google.guava:failureaccess:1.0.1">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1-sources.jar!/" />
</SOURCES>
</library>
</component>

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: com.google.guava:guava:29.0-jre">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/com/google/guava/guava/29.0-jre/guava-29.0-jre.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/com/google/guava/guava/29.0-jre/guava-29.0-jre-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/com/google/guava/guava/29.0-jre/guava-29.0-jre-sources.jar!/" />
</SOURCES>
</library>
</component>

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava-sources.jar!/" />
</SOURCES>
</library>
</component>

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: com.google.j2objc:j2objc-annotations:1.3">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3-sources.jar!/" />
</SOURCES>
</library>
</component>

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: io.lettuce:lettuce-core:6.2.5.RELEASE">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/io/lettuce/lettuce-core/6.2.5.RELEASE/lettuce-core-6.2.5.RELEASE.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/io/lettuce/lettuce-core/6.2.5.RELEASE/lettuce-core-6.2.5.RELEASE-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/io/lettuce/lettuce-core/6.2.5.RELEASE/lettuce-core-6.2.5.RELEASE-sources.jar!/" />
</SOURCES>
</library>
</component>

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: io.netty:netty-buffer:4.1.94.Final">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/io/netty/netty-buffer/4.1.94.Final/netty-buffer-4.1.94.Final.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/io/netty/netty-buffer/4.1.94.Final/netty-buffer-4.1.94.Final-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/io/netty/netty-buffer/4.1.94.Final/netty-buffer-4.1.94.Final-sources.jar!/" />
</SOURCES>
</library>
</component>

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: io.netty:netty-codec:4.1.94.Final">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/io/netty/netty-codec/4.1.94.Final/netty-codec-4.1.94.Final.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/io/netty/netty-codec/4.1.94.Final/netty-codec-4.1.94.Final-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/io/netty/netty-codec/4.1.94.Final/netty-codec-4.1.94.Final-sources.jar!/" />
</SOURCES>
</library>
</component>

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: io.netty:netty-codec-dns:4.1.94.Final">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/io/netty/netty-codec-dns/4.1.94.Final/netty-codec-dns-4.1.94.Final.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/io/netty/netty-codec-dns/4.1.94.Final/netty-codec-dns-4.1.94.Final-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/io/netty/netty-codec-dns/4.1.94.Final/netty-codec-dns-4.1.94.Final-sources.jar!/" />
</SOURCES>
</library>
</component>

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: io.netty:netty-common:4.1.94.Final">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/io/netty/netty-common/4.1.94.Final/netty-common-4.1.94.Final.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/io/netty/netty-common/4.1.94.Final/netty-common-4.1.94.Final-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/io/netty/netty-common/4.1.94.Final/netty-common-4.1.94.Final-sources.jar!/" />
</SOURCES>
</library>
</component>

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: io.netty:netty-handler:4.1.94.Final">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/io/netty/netty-handler/4.1.94.Final/netty-handler-4.1.94.Final.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/io/netty/netty-handler/4.1.94.Final/netty-handler-4.1.94.Final-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/io/netty/netty-handler/4.1.94.Final/netty-handler-4.1.94.Final-sources.jar!/" />
</SOURCES>
</library>
</component>

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: io.netty:netty-resolver:4.1.94.Final">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/io/netty/netty-resolver/4.1.94.Final/netty-resolver-4.1.94.Final.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/io/netty/netty-resolver/4.1.94.Final/netty-resolver-4.1.94.Final-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/io/netty/netty-resolver/4.1.94.Final/netty-resolver-4.1.94.Final-sources.jar!/" />
</SOURCES>
</library>
</component>

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: io.netty:netty-resolver-dns:4.1.94.Final">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/io/netty/netty-resolver-dns/4.1.94.Final/netty-resolver-dns-4.1.94.Final.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/io/netty/netty-resolver-dns/4.1.94.Final/netty-resolver-dns-4.1.94.Final-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/io/netty/netty-resolver-dns/4.1.94.Final/netty-resolver-dns-4.1.94.Final-sources.jar!/" />
</SOURCES>
</library>
</component>

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: io.netty:netty-transport:4.1.94.Final">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/io/netty/netty-transport/4.1.94.Final/netty-transport-4.1.94.Final.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/io/netty/netty-transport/4.1.94.Final/netty-transport-4.1.94.Final-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/io/netty/netty-transport/4.1.94.Final/netty-transport-4.1.94.Final-sources.jar!/" />
</SOURCES>
</library>
</component>

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: io.netty:netty-transport-native-unix-common:4.1.94.Final">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/io/netty/netty-transport-native-unix-common/4.1.94.Final/netty-transport-native-unix-common-4.1.94.Final.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/io/netty/netty-transport-native-unix-common/4.1.94.Final/netty-transport-native-unix-common-4.1.94.Final-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/io/netty/netty-transport-native-unix-common/4.1.94.Final/netty-transport-native-unix-common-4.1.94.Final-sources.jar!/" />
</SOURCES>
</library>
</component>

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: io.projectreactor:reactor-core:3.5.8">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/io/projectreactor/reactor-core/3.5.8/reactor-core-3.5.8.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/io/projectreactor/reactor-core/3.5.8/reactor-core-3.5.8-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/io/projectreactor/reactor-core/3.5.8/reactor-core-3.5.8-sources.jar!/" />
</SOURCES>
</library>
</component>

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: io.reactivex.rxjava3:rxjava:3.1.6">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/io/reactivex/rxjava3/rxjava/3.1.6/rxjava-3.1.6.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/io/reactivex/rxjava3/rxjava/3.1.6/rxjava-3.1.6-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/io/reactivex/rxjava3/rxjava/3.1.6/rxjava-3.1.6-sources.jar!/" />
</SOURCES>
</library>
</component>

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: javax.cache:cache-api:1.1.1">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/javax/cache/cache-api/1.1.1/cache-api-1.1.1.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/javax/cache/cache-api/1.1.1/cache-api-1.1.1-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/javax/cache/cache-api/1.1.1/cache-api-1.1.1-sources.jar!/" />
</SOURCES>
</library>
</component>

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.apache.commons:commons-pool2:2.11.1">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/org/apache/commons/commons-pool2/2.11.1/commons-pool2-2.11.1.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/org/apache/commons/commons-pool2/2.11.1/commons-pool2-2.11.1-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/org/apache/commons/commons-pool2/2.11.1/commons-pool2-2.11.1-sources.jar!/" />
</SOURCES>
</library>
</component>

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.aspectj:aspectjweaver:1.9.19">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/org/aspectj/aspectjweaver/1.9.19/aspectjweaver-1.9.19.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/org/aspectj/aspectjweaver/1.9.19/aspectjweaver-1.9.19-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/org/aspectj/aspectjweaver/1.9.19/aspectjweaver-1.9.19-sources.jar!/" />
</SOURCES>
</library>
</component>

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.checkerframework:checker-qual:2.11.1">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/org/checkerframework/checker-qual/2.11.1/checker-qual-2.11.1.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/org/checkerframework/checker-qual/2.11.1/checker-qual-2.11.1-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/org/checkerframework/checker-qual/2.11.1/checker-qual-2.11.1-sources.jar!/" />
</SOURCES>
</library>
</component>

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.jboss.marshalling:jboss-marshalling:2.0.10.Final">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/org/jboss/marshalling/jboss-marshalling/2.0.10.Final/jboss-marshalling-2.0.10.Final.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/org/jboss/marshalling/jboss-marshalling/2.0.10.Final/jboss-marshalling-2.0.10.Final-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/org/jboss/marshalling/jboss-marshalling/2.0.10.Final/jboss-marshalling-2.0.10.Final-sources.jar!/" />
</SOURCES>
</library>
</component>

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.jboss.marshalling:jboss-marshalling-river:2.0.10.Final">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/org/jboss/marshalling/jboss-marshalling-river/2.0.10.Final/jboss-marshalling-river-2.0.10.Final.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/org/jboss/marshalling/jboss-marshalling-river/2.0.10.Final/jboss-marshalling-river-2.0.10.Final-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/org/jboss/marshalling/jboss-marshalling-river/2.0.10.Final/jboss-marshalling-river-2.0.10.Final-sources.jar!/" />
</SOURCES>
</library>
</component>

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.jodd:jodd-bean:5.1.6">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/org/jodd/jodd-bean/5.1.6/jodd-bean-5.1.6.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/org/jodd/jodd-bean/5.1.6/jodd-bean-5.1.6-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/org/jodd/jodd-bean/5.1.6/jodd-bean-5.1.6-sources.jar!/" />
</SOURCES>
</library>
</component>

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.jodd:jodd-core:5.1.6">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/org/jodd/jodd-core/5.1.6/jodd-core-5.1.6.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/org/jodd/jodd-core/5.1.6/jodd-core-5.1.6-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/org/jodd/jodd-core/5.1.6/jodd-core-5.1.6-sources.jar!/" />
</SOURCES>
</library>
</component>

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.json:json:20220320">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/org/json/json/20220320/json-20220320.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/org/json/json/20220320/json-20220320-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/org/json/json/20220320/json-20220320-sources.jar!/" />
</SOURCES>
</library>
</component>

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.reactivestreams:reactive-streams:1.0.4">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/org/reactivestreams/reactive-streams/1.0.4/reactive-streams-1.0.4.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/org/reactivestreams/reactive-streams/1.0.4/reactive-streams-1.0.4-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/org/reactivestreams/reactive-streams/1.0.4/reactive-streams-1.0.4-sources.jar!/" />
</SOURCES>
</library>
</component>

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.redisson:redisson:3.14.1">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/org/redisson/redisson/3.14.1/redisson-3.14.1.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/org/redisson/redisson/3.14.1/redisson-3.14.1-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/org/redisson/redisson/3.14.1/redisson-3.14.1-sources.jar!/" />
</SOURCES>
</library>
</component>

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.springframework.boot:spring-boot-configuration-processor:3.1.2">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/org/springframework/boot/spring-boot-configuration-processor/3.1.2/spring-boot-configuration-processor-3.1.2.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/org/springframework/boot/spring-boot-configuration-processor/3.1.2/spring-boot-configuration-processor-3.1.2-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/org/springframework/boot/spring-boot-configuration-processor/3.1.2/spring-boot-configuration-processor-3.1.2-sources.jar!/" />
</SOURCES>
</library>
</component>

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.springframework.boot:spring-boot-starter-aop:3.1.2">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/org/springframework/boot/spring-boot-starter-aop/3.1.2/spring-boot-starter-aop-3.1.2.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/org/springframework/boot/spring-boot-starter-aop/3.1.2/spring-boot-starter-aop-3.1.2-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/org/springframework/boot/spring-boot-starter-aop/3.1.2/spring-boot-starter-aop-3.1.2-sources.jar!/" />
</SOURCES>
</library>
</component>

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.springframework.boot:spring-boot-starter-cache:3.1.2">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/org/springframework/boot/spring-boot-starter-cache/3.1.2/spring-boot-starter-cache-3.1.2.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/org/springframework/boot/spring-boot-starter-cache/3.1.2/spring-boot-starter-cache-3.1.2-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/org/springframework/boot/spring-boot-starter-cache/3.1.2/spring-boot-starter-cache-3.1.2-sources.jar!/" />
</SOURCES>
</library>
</component>

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.springframework.boot:spring-boot-starter-data-redis:3.1.2">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/org/springframework/boot/spring-boot-starter-data-redis/3.1.2/spring-boot-starter-data-redis-3.1.2.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/org/springframework/boot/spring-boot-starter-data-redis/3.1.2/spring-boot-starter-data-redis-3.1.2-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/org/springframework/boot/spring-boot-starter-data-redis/3.1.2/spring-boot-starter-data-redis-3.1.2-sources.jar!/" />
</SOURCES>
</library>
</component>

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.springframework.boot:spring-boot-starter-redis:1.4.7.RELEASE">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/org/springframework/boot/spring-boot-starter-redis/1.4.7.RELEASE/spring-boot-starter-redis-1.4.7.RELEASE.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/org/springframework/boot/spring-boot-starter-redis/1.4.7.RELEASE/spring-boot-starter-redis-1.4.7.RELEASE-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/org/springframework/boot/spring-boot-starter-redis/1.4.7.RELEASE/spring-boot-starter-redis-1.4.7.RELEASE-sources.jar!/" />
</SOURCES>
</library>
</component>

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.springframework.data:spring-data-commons:3.1.2">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/org/springframework/data/spring-data-commons/3.1.2/spring-data-commons-3.1.2.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/org/springframework/data/spring-data-commons/3.1.2/spring-data-commons-3.1.2-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/org/springframework/data/spring-data-commons/3.1.2/spring-data-commons-3.1.2-sources.jar!/" />
</SOURCES>
</library>
</component>

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.springframework.data:spring-data-keyvalue:3.1.2">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/org/springframework/data/spring-data-keyvalue/3.1.2/spring-data-keyvalue-3.1.2.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/org/springframework/data/spring-data-keyvalue/3.1.2/spring-data-keyvalue-3.1.2-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/org/springframework/data/spring-data-keyvalue/3.1.2/spring-data-keyvalue-3.1.2-sources.jar!/" />
</SOURCES>
</library>
</component>

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.springframework.data:spring-data-redis:3.1.2">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/org/springframework/data/spring-data-redis/3.1.2/spring-data-redis-3.1.2.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/org/springframework/data/spring-data-redis/3.1.2/spring-data-redis-3.1.2-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/org/springframework/data/spring-data-redis/3.1.2/spring-data-redis-3.1.2-sources.jar!/" />
</SOURCES>
</library>
</component>

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.springframework:spring-context-support:6.0.11">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/org/springframework/spring-context-support/6.0.11/spring-context-support-6.0.11.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/org/springframework/spring-context-support/6.0.11/spring-context-support-6.0.11-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/org/springframework/spring-context-support/6.0.11/spring-context-support-6.0.11-sources.jar!/" />
</SOURCES>
</library>
</component>

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.springframework:spring-oxm:6.0.11">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/org/springframework/spring-oxm/6.0.11/spring-oxm-6.0.11.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/org/springframework/spring-oxm/6.0.11/spring-oxm-6.0.11-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/org/springframework/spring-oxm/6.0.11/spring-oxm-6.0.11-sources.jar!/" />
</SOURCES>
</library>
</component>

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: redis.clients:jedis:4.3.2">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/redis/clients/jedis/4.3.2/jedis-4.3.2.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/redis/clients/jedis/4.3.2/jedis-4.3.2-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$PROJECT_DIR$/../../../../Maven/repository/redis/clients/jedis/4.3.2/jedis-4.3.2-sources.jar!/" />
</SOURCES>
</library>
</component>

@ -1,2 +0,0 @@
t java:S120"ZRename this package name to match the regular expression '^[a-z_]+(\.[a-z_][a-z0-9_]*)*$'.(³Ãôíþÿÿÿÿ

@ -1,4 +0,0 @@
{ java:S120"ZRename this package name to match the regular expression '^[a-z_]+(\.[a-z_][a-z0-9_]*)*$'.(³Ãôíþÿÿÿÿ8£ƒï¥1
M
java:S1128 "+Remove this unused import 'java.util.List'.(Õë±Äøÿÿÿÿ8¥ƒï¥1

@ -1,4 +0,0 @@
{ java:S120"ZRename this package name to match the regular expression '^[a-z_]+(\.[a-z_][a-z0-9_]*)*$'.(³Ãôíþÿÿÿÿ8¨ì<C2A8>Ð¥1
V
java:S1128"9Remove this unused import 'org.apache.ibatis.type.Alias'.(’´´÷8½Í»Ð¥1

@ -0,0 +1,10 @@
{ java:S120"ZRename this package name to match the regular expression '^[a-z_]+(\.[a-z_][a-z0-9_]*)*$'.(<28>Ž×Úýÿÿÿÿ8Ø…<C398>Óµ1
Z java:S106"9Replace this use of System.out or System.err by a logger.(Îù—´þÿÿÿÿ8õ…<C3B5>Óµ1
H
java:S1075"&Remove this hard-coded path-delimiter.(”™Œ‚þÿÿÿÿ8õ…<C3B5>Óµ1
P
java:S1128"3Remove this unused import 'java.io.BufferedReader'.(€é²Å8ö…<C3B6>Óµ1
S
java:S1128
"6Remove this unused import 'java.io.InputStreamReader'.(ãˆÎÉ8ö…<C3B6>Óµ1

@ -1,6 +0,0 @@
{ java:S120"ZRename this package name to match the regular expression '^[a-z_]+(\.[a-z_][a-z0-9_]*)*$'.(±ÖÀ—úÿÿÿÿ­¶Ï¥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

@ -1,2 +0,0 @@
{ java:S120"ZRename this package name to match the regular expression '^[a-z_]+(\.[a-z_][a-z0-9_]*)*$'.(­œ¡ üÿÿÿÿ8±œ¡×¤1

@ -1,2 +0,0 @@
{ java:S120"ZRename this package name to match the regular expression '^[a-z_]+(\.[a-z_][a-z0-9_]*)*$'.(<28>Ž×Úýÿÿÿÿ˜«¦1

@ -1,17 +0,0 @@
` 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]*$'.(šÕˆ<C395>
e
java:S2095"OUse try-with-resources or close this "PythonInterpreter" in a "finally" clause.(šÕˆ<C395>
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".(šÕˆ<C395>
?
java:S1481")Remove this unused "Pyit" local variable.(šÕˆ<C395>
t
java:S2142"^Either re-interrupt this method or rethrow the "InterruptedException" that can be caught here.(ä ¹€

@ -1,16 +0,0 @@
t
java:S1104 "RMake status a static final constant or non-public and provide accessors if needed.(¥žß®üÿÿÿÿ8½Øî¿¦1
k
java:S1104 "NMake OK a static final constant or non-public and provide accessors if needed.(‹ç·Ï<38>ÑÒ¦1
l
java:S1104 "PMake FAIL a static final constant or non-public and provide accessors if needed.(ã¬V8<56><38>ÑÒ¦1
E
java:S1444 "(Make this "public static OK" field final(‹ç·Ï<38>ÑÒ¦1
F
java:S1444 "*Make this "public static FAIL" field final(ã¬V8Ž<38>ÑÒ¦1
u java:S120"ZRename this package name to match the regular expression '^[a-z_]+(\.[a-z_][a-z0-9_]*)*$'.(騦$8ÀØî¿¦1
j
java:S3008 "MRename this field "OK" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(‹ç·Ï8<><38>ÑÒ¦1
k
java:S3008 "ORename this field "FAIL" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(ã¬V8<56><38>ÑÒ¦1

@ -1,2 +0,0 @@
{ java:S120"ZRename this package name to match the regular expression '^[a-z_]+(\.[a-z_][a-z0-9_]*)*$'.(±ÖÀ—úÿÿÿÿ8ã„Ñï¥1

@ -1,4 +0,0 @@
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

@ -1,2 +0,0 @@
t java:S120"ZRename this package name to match the regular expression '^[a-z_]+(\.[a-z_][a-z0-9_]*)*$'.(­œ¡ üÿÿÿÿ

@ -1,47 +1,83 @@
}
Mspringboot/src/main/java/com/xht/springboot/Control/GetSpiderInformation.java,6\a\6ae8bd6e0b13a9d9272e5cd44460d2d0a72091d9
B
springboot/pom.xml,e\4\e46aee6c7c512a7b48980a296fca0acf004a1907
{
Kspringboot/src/test/java/com/xht/springboot/SpringbootApplicationTests.java,3\b\3b2df34c425c25ecc13e5e6f866bd6d388aaaf50
`
0springboot/.mvn/wrapper/maven-wrapper.properties,e\d\ed8f4c800d81f8a64f7cb76ea964f2420d820df6
w
Gspringboot/src/main/java/com/xht/springboot/Config/RedissionConfig.java,e\7\e7fb8e0140bfaca4a8371f31a806802c8dad2ee2
w
Gspringboot/src/main/java/com/xht/springboot/Utils/BloomFilterUtils.java,6\6\661af37e1535a382309f94140434b4de4d42f13f
y
Ispringboot/src/main/java/com/xht/springboot/Config/CrossOriginConfig.java,2\b\2b9b4bc8935d211a450568375cf2d7da4d92eab5
s
Cspringboot/src/main/java/com/xht/springboot/Config/RedisConfig.java,0\3\03febb48c6f14848416295ea77d17704b452f798
m
=springboot/src/main/java/com/xht/springboot/Utils/MyLock.java,d\6\d6d02a5bfa15e38571f6a2c3200cbaaebce3a1ae

Yspringboot/src/main/java/com/xht/springboot/Utils/FuncInterFaces/DeleteFunctionForDB.java,0\b\0b251f1bfaf2cd8f80058d8dc2aa5d92389ae5dd

Yspringboot/src/main/java/com/xht/springboot/Utils/FuncInterFaces/InsertFunctionForDB.java,7\d\7d70f34e659e4d46090652b3abb110013fe4a496

Yspringboot/src/main/java/com/xht/springboot/Utils/FuncInterFaces/UpdateFunctionForDB.java,a\2\a208e939918d2caeb2c9b38f01b7b2b9a9c1c423
r
Bspringboot/src/main/java/com/xht/springboot/Dao/WebHomeMapper.java,2\a\2ad2a1260dac6c01c8b352bb0e2ca62f513676a9
w
Gspringboot/src/main/java/com/xht/springboot/Dao/PersonalHomeMapper.java,8\e\8ea61bcc473345da7a8363076b3ae562bc76fedc
ˆ
Xspringboot/src/main/java/com/xht/springboot/Utils/FuncInterFaces/QueryFunctionForDB.java,5\b\5be6cb1ac1481aa1480b23c960b9102ff121b2c3

Ospringboot/src/main/java/com/xht/springboot/Control/PersonalHomeController.java,b\e\be5bf7d32cedc052850e2cc0c99f2cf7357cac12
|
Lspringboot/src/main/java/com/xht/springboot/Service/PersonalHomeService.java,7\6\762bc359bc75ba7b3073e784c826f31f6c989305
z
Jspringboot/src/main/java/com/xht/springboot/pythonspider/PythonSpider.java,8\2\82d065e13dbb46b69838db763af0105eec47337f
Jspringboot/src/main/java/com/xht/springboot/Control/WebHomeController.java,e\d\edeacc9d294f3b307d4238fb3f381c6838218bb6
s
Cspringboot/src/main/java/com/xht/springboot/Entity/UserComment.java,9\3\932ae6b8f9f42f924c25e69e48dc30fddd63ec28
q
Aspringboot/src/main/java/com/xht/springboot/Entity/UserLogin.java,1\3\139a0da36daad8c438a5607ee212d1f38a505779
p
@springboot/src/main/java/com/xht/springboot/Entity/UserHome.java,0\b\0bf6f777ae20a7657065bc4a2b2a9f1f3b4876b1
B
springboot/pom.xml,e\4\e46aee6c7c512a7b48980a296fca0acf004a1907
q
Aspringboot/src/main/java/com/xht/springboot/Entity/UserReply.java,0\5\051eaf551b928a8ccf651611c070ebb2b8155264
p
@springboot/src/main/java/com/xht/springboot/Entity/UserText.java,4\0\40a2343a36c9747fa26c52f19f82c0a493b5c2e0
{
Kspringboot/src/main/java/com/xht/springboot/Dao/InformationQueryMapper.java,0\f\0fcaad315f4a551d84b6b331d3458cf4bcdc6276
{
Kspringboot/src/main/java/com/xht/springboot/Dao/LoginAndRegisterMapper.java,6\4\6455addaf8475c1ee66ddf019aba9934cde58b33
q
Aspringboot/src/main/java/com/xht/springboot/Entity/UserLogin.java,1\3\139a0da36daad8c438a5607ee212d1f38a505779
ƒ
Sspringboot/src/main/java/com/xht/springboot/Control/LoginAndRegisterController.java,4\2\42d62ad23989879b1e669e84287f32b9ec3b7df5

Pspringboot/src/main/java/com/xht/springboot/Service/LoginAndRegisterService.java,1\2\12a535cbad8593fe8b50774140fecabf852efa9a
r
Bspringboot/src/main/java/com/xht/springboot/Tip/RequestResult.java,8\a\8ac776bbbb6e77f29694ccc4476b533f9f4573da
q
Aspringboot/src/main/java/com/xht/springboot/Entity/UserReply.java,0\5\051eaf551b928a8ccf651611c070ebb2b8155264
|
Lspringboot/src/main/java/com/xht/springboot/Service/PersonalHomeService.java,7\6\762bc359bc75ba7b3073e784c826f31f6c989305
m
=train_cancer/test_information/train_model_and_load_picture.py,b\c\bc14878c6e46b0ed0df34c90b21fc25660f0e1f1
W
'train_cancer/train_model/train/train.py,1\9\197bfd3ed06240b421d21990e0f9a694f132bfac
X
(train_cancer/train_model/test/predict.py,d\a\da7c5892671567272f27695c433f21af25c378a9
]
-train_cancer/train_model/gpu_cpu/check_cpu.py,f\6\f61ac2808b4dc885ec9d8e0a2e3a842098bfb484
`
0train_cancer/train_model/data_gen/data_output.py,6\9\69a341fae4073fedbb8b01a3b078c3012c70ce5f
y
Ispringboot/src/main/java/com/xht/springboot/Config/InterceptorConfig.java,1\2\129776adc8407ad9ef1e9ad82d91867dfe647d40
}
Mspringboot/src/main/java/com/xht/springboot/Interceptor/LoginInterceptor.java,0\d\0dbe3bf0a12d53f67d34580170641b79ed8ca216
y
Ispringboot/src/main/java/com/xht/springboot/Entity/CancerInformation.java,b\5\b5e9edd6a873e8f600b989138d8c3c025f1b2893

Ospringboot/src/main/java/com/xht/springboot/Control/PersonalHomeController.java,b\e\be5bf7d32cedc052850e2cc0c99f2cf7357cac12
Ospringboot/src/main/java/com/xht/springboot/Control/CancerDetectController.java,b\7\b7cd5493e06e5fd9d49343a72ed251284cff7045
y
Ispringboot/src/main/java/com/xht/springboot/Utils/RedisAndDbOpsUtils.java,2\e\2e88797485b4a9bb730c7a3ee47a6bf0fd5d7447
ƒ
Sspringboot/src/main/java/com/xht/springboot/Control/LoginAndRegisterController.java,4\2\42d62ad23989879b1e669e84287f32b9ec3b7df5
p
@springboot/src/main/java/com/xht/springboot/Entity/UserText.java,4\0\40a2343a36c9747fa26c52f19f82c0a493b5c2e0
s
Cspringboot/src/main/java/com/xht/springboot/Entity/UserComment.java,9\3\932ae6b8f9f42f924c25e69e48dc30fddd63ec28
r
Bspringboot/src/main/java/com/xht/springboot/Dao/WebHomeMapper.java,2\a\2ad2a1260dac6c01c8b352bb0e2ca62f513676a9
v
Fspringboot/src/main/java/com/xht/springboot/SpringbootApplication.java,4\0\40324953a2003c0d6c6b3ceece38a620d48a0df7
Sspringboot/src/main/java/com/xht/springboot/Control/InformationQueryController.java,2\b\2b64f726d758544a03ab9287b407bfd77c4179b3
?
springboot/mvnw,0\9\09333a471984b28a4cd4526d1125b33c56b2495d
E
springboot/.gitignore,2\c\2c05bdd0aef78b83c2e6c20e1fe9e9d57e8a7f63
C
springboot/mvnw.cmd,a\0\a027316d6320e979eb2d643acc8d7431b5899762
w
Gspringboot/src/main/java/com/xht/springboot/Service/WebHomeService.java,5\f\5feb9f75e1bc678660918562fd0ce2745899be29
z
Jspringboot/src/main/java/com/xht/springboot/Control/WebHomeController.java,e\d\edeacc9d294f3b307d4238fb3f381c6838218bb6
|
Lspringboot/src/main/java/com/xht/springboot/Service/CancerDetectService.java,5\a\5aa79857db1807fe40f0941af9e17d8a19d8bc97

Rspringboot/src/main/java/com/xht/springboot/Entity/CancerInformationProcessed.java,2\e\2e789a45bab29b515d553bcbc6fb93843b27bd70
v
Fspringboot/src/main/java/com/xht/springboot/SpringbootApplication.java,4\0\40324953a2003c0d6c6b3ceece38a620d48a0df7

Pspringboot/src/main/java/com/xht/springboot/Service/InformationQueryService.java,3\e\3e8390fc18f553cd8e40f74084a3622827076137

@ -1,47 +1,83 @@
}
Mspringboot/src/main/java/com/xht/springboot/Control/GetSpiderInformation.java,6\a\6ae8bd6e0b13a9d9272e5cd44460d2d0a72091d9
w
Gspringboot/src/main/java/com/xht/springboot/Dao/PersonalHomeMapper.java,8\e\8ea61bcc473345da7a8363076b3ae562bc76fedc
z
Jspringboot/src/main/java/com/xht/springboot/pythonspider/PythonSpider.java,8\2\82d065e13dbb46b69838db763af0105eec47337f
p
@springboot/src/main/java/com/xht/springboot/Entity/UserHome.java,0\b\0bf6f777ae20a7657065bc4a2b2a9f1f3b4876b1
B
springboot/pom.xml,e\4\e46aee6c7c512a7b48980a296fca0acf004a1907
r
Bspringboot/src/main/java/com/xht/springboot/Tip/RequestResult.java,8\a\8ac776bbbb6e77f29694ccc4476b533f9f4573da
q
Aspringboot/src/main/java/com/xht/springboot/Entity/UserLogin.java,1\3\139a0da36daad8c438a5607ee212d1f38a505779
{
Kspringboot/src/main/java/com/xht/springboot/Dao/LoginAndRegisterMapper.java,6\4\6455addaf8475c1ee66ddf019aba9934cde58b33
q
Aspringboot/src/main/java/com/xht/springboot/Entity/UserReply.java,0\5\051eaf551b928a8ccf651611c070ebb2b8155264
|
Lspringboot/src/main/java/com/xht/springboot/Service/PersonalHomeService.java,7\6\762bc359bc75ba7b3073e784c826f31f6c989305
m
=train_cancer/test_information/train_model_and_load_picture.py,b\c\bc14878c6e46b0ed0df34c90b21fc25660f0e1f1
W
'train_cancer/train_model/train/train.py,1\9\197bfd3ed06240b421d21990e0f9a694f132bfac
X
(train_cancer/train_model/test/predict.py,d\a\da7c5892671567272f27695c433f21af25c378a9
]
-train_cancer/train_model/gpu_cpu/check_cpu.py,f\6\f61ac2808b4dc885ec9d8e0a2e3a842098bfb484
Kspringboot/src/test/java/com/xht/springboot/SpringbootApplicationTests.java,3\b\3b2df34c425c25ecc13e5e6f866bd6d388aaaf50
`
0train_cancer/train_model/data_gen/data_output.py,6\9\69a341fae4073fedbb8b01a3b078c3012c70ce5f
v
Fspringboot/src/main/java/com/xht/springboot/SpringbootApplication.java,4\0\40324953a2003c0d6c6b3ceece38a620d48a0df7
0springboot/.mvn/wrapper/maven-wrapper.properties,e\d\ed8f4c800d81f8a64f7cb76ea964f2420d820df6
w
Gspringboot/src/main/java/com/xht/springboot/Config/RedissionConfig.java,e\7\e7fb8e0140bfaca4a8371f31a806802c8dad2ee2
w
Gspringboot/src/main/java/com/xht/springboot/Utils/BloomFilterUtils.java,6\6\661af37e1535a382309f94140434b4de4d42f13f
y
Ispringboot/src/main/java/com/xht/springboot/Config/CrossOriginConfig.java,2\b\2b9b4bc8935d211a450568375cf2d7da4d92eab5
s
Cspringboot/src/main/java/com/xht/springboot/Config/RedisConfig.java,0\3\03febb48c6f14848416295ea77d17704b452f798
m
=springboot/src/main/java/com/xht/springboot/Utils/MyLock.java,d\6\d6d02a5bfa15e38571f6a2c3200cbaaebce3a1ae

Yspringboot/src/main/java/com/xht/springboot/Utils/FuncInterFaces/DeleteFunctionForDB.java,0\b\0b251f1bfaf2cd8f80058d8dc2aa5d92389ae5dd

Yspringboot/src/main/java/com/xht/springboot/Utils/FuncInterFaces/InsertFunctionForDB.java,7\d\7d70f34e659e4d46090652b3abb110013fe4a496

Yspringboot/src/main/java/com/xht/springboot/Utils/FuncInterFaces/UpdateFunctionForDB.java,a\2\a208e939918d2caeb2c9b38f01b7b2b9a9c1c423
r
Bspringboot/src/main/java/com/xht/springboot/Dao/WebHomeMapper.java,2\a\2ad2a1260dac6c01c8b352bb0e2ca62f513676a9
w
Gspringboot/src/main/java/com/xht/springboot/Dao/PersonalHomeMapper.java,8\e\8ea61bcc473345da7a8363076b3ae562bc76fedc
ˆ
Xspringboot/src/main/java/com/xht/springboot/Utils/FuncInterFaces/QueryFunctionForDB.java,5\b\5be6cb1ac1481aa1480b23c960b9102ff121b2c3

Ospringboot/src/main/java/com/xht/springboot/Control/PersonalHomeController.java,b\e\be5bf7d32cedc052850e2cc0c99f2cf7357cac12
ƒ
Sspringboot/src/main/java/com/xht/springboot/Control/LoginAndRegisterController.java,4\2\42d62ad23989879b1e669e84287f32b9ec3b7df5
|
Lspringboot/src/main/java/com/xht/springboot/Service/PersonalHomeService.java,7\6\762bc359bc75ba7b3073e784c826f31f6c989305
z
Jspringboot/src/main/java/com/xht/springboot/Control/WebHomeController.java,e\d\edeacc9d294f3b307d4238fb3f381c6838218bb6
s
Cspringboot/src/main/java/com/xht/springboot/Entity/UserComment.java,9\3\932ae6b8f9f42f924c25e69e48dc30fddd63ec28
q
Aspringboot/src/main/java/com/xht/springboot/Entity/UserLogin.java,1\3\139a0da36daad8c438a5607ee212d1f38a505779
p
@springboot/src/main/java/com/xht/springboot/Entity/UserHome.java,0\b\0bf6f777ae20a7657065bc4a2b2a9f1f3b4876b1
q
Aspringboot/src/main/java/com/xht/springboot/Entity/UserReply.java,0\5\051eaf551b928a8ccf651611c070ebb2b8155264
p
@springboot/src/main/java/com/xht/springboot/Entity/UserText.java,4\0\40a2343a36c9747fa26c52f19f82c0a493b5c2e0
{
Kspringboot/src/main/java/com/xht/springboot/Dao/InformationQueryMapper.java,0\f\0fcaad315f4a551d84b6b331d3458cf4bcdc6276
{
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

Pspringboot/src/main/java/com/xht/springboot/Service/LoginAndRegisterService.java,1\2\12a535cbad8593fe8b50774140fecabf852efa9a
r
Bspringboot/src/main/java/com/xht/springboot/Tip/RequestResult.java,8\a\8ac776bbbb6e77f29694ccc4476b533f9f4573da
y
Ispringboot/src/main/java/com/xht/springboot/Config/InterceptorConfig.java,1\2\129776adc8407ad9ef1e9ad82d91867dfe647d40
}
Mspringboot/src/main/java/com/xht/springboot/Interceptor/LoginInterceptor.java,0\d\0dbe3bf0a12d53f67d34580170641b79ed8ca216
y
Ispringboot/src/main/java/com/xht/springboot/Entity/CancerInformation.java,b\5\b5e9edd6a873e8f600b989138d8c3c025f1b2893

Ospringboot/src/main/java/com/xht/springboot/Control/CancerDetectController.java,b\7\b7cd5493e06e5fd9d49343a72ed251284cff7045
y
Ispringboot/src/main/java/com/xht/springboot/Utils/RedisAndDbOpsUtils.java,2\e\2e88797485b4a9bb730c7a3ee47a6bf0fd5d7447
ƒ
Sspringboot/src/main/java/com/xht/springboot/Control/InformationQueryController.java,2\b\2b64f726d758544a03ab9287b407bfd77c4179b3
?
springboot/mvnw,0\9\09333a471984b28a4cd4526d1125b33c56b2495d
E
springboot/.gitignore,2\c\2c05bdd0aef78b83c2e6c20e1fe9e9d57e8a7f63
C
springboot/mvnw.cmd,a\0\a027316d6320e979eb2d643acc8d7431b5899762
w
Gspringboot/src/main/java/com/xht/springboot/Service/WebHomeService.java,5\f\5feb9f75e1bc678660918562fd0ce2745899be29
z
Jspringboot/src/main/java/com/xht/springboot/Control/WebHomeController.java,e\d\edeacc9d294f3b307d4238fb3f381c6838218bb6
|
Lspringboot/src/main/java/com/xht/springboot/Service/CancerDetectService.java,5\a\5aa79857db1807fe40f0941af9e17d8a19d8bc97

Rspringboot/src/main/java/com/xht/springboot/Entity/CancerInformationProcessed.java,2\e\2e789a45bab29b515d553bcbc6fb93843b27bd70
v
Fspringboot/src/main/java/com/xht/springboot/SpringbootApplication.java,4\0\40324953a2003c0d6c6b3ceece38a620d48a0df7

Pspringboot/src/main/java/com/xht/springboot/Service/InformationQueryService.java,3\e\3e8390fc18f553cd8e40f74084a3622827076137

@ -35,6 +35,49 @@
<version>8.0.31</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-redis</artifactId>
<version>1.4.7.RELEASE</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-pool2</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-cache</artifactId>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>29.0-jre</version>
</dependency>
<dependency>
<groupId>org.redisson</groupId>
<artifactId>redisson</artifactId>
<version>3.14.1</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>

@ -0,0 +1,16 @@
package com.xht.springboot.Config;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@Configuration
public class CrossOriginConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedOrigins("*")
.allowedMethods("*");
}
}

@ -0,0 +1,24 @@
package com.xht.springboot.Config;
import com.xht.springboot.Interceptor.LoginInterceptor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@Configuration
public class InterceptorConfig implements WebMvcConfigurer {
@Autowired
private LoginInterceptor loginInterceptor;
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry
.addInterceptor(loginInterceptor)
.addPathPatterns("/**")
.excludePathPatterns("/user/login");
}
}

@ -0,0 +1,40 @@
package com.xht.springboot.Config;
import org.springframework.boot.autoconfigure.cache.CacheProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.cache.RedisCacheConfiguration;
import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.*;
import java.util.Collection;
@Configuration
public class RedisConfig {
@Bean
public RedisCacheConfiguration redisCacheConfiguration(){
RedisCacheConfiguration config = RedisCacheConfiguration.defaultCacheConfig();
config = config.serializeKeysWith(RedisSerializationContext.SerializationPair.fromSerializer(new StringRedisSerializer()));
config = config.serializeValuesWith(RedisSerializationContext.SerializationPair.fromSerializer(new GenericJackson2JsonRedisSerializer()));
return config;
}
@Bean
public RedisTemplate redisTemplate(LettuceConnectionFactory lettuceConnectionFactory){
RedisTemplate redisTemplate = new RedisTemplate();
redisTemplate.setConnectionFactory(lettuceConnectionFactory);
redisTemplate.setKeySerializer(RedisSerializer.string());
redisTemplate.setValueSerializer(RedisSerializer.json());
redisTemplate.setHashKeySerializer(RedisSerializer.string());
redisTemplate.setHashValueSerializer(RedisSerializer.json());
redisTemplate.afterPropertiesSet();
return redisTemplate;
}
}

@ -0,0 +1,31 @@
package com.xht.springboot.Config;
import org.redisson.Redisson;
import org.redisson.api.RedissonClient;
import org.redisson.config.Config;
import org.redisson.config.SingleServerConfig;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class RedissionConfig {
/*@Value("#{spring.data.redis.host}")
String address;
@Value("#{spring.data.redis.port}")
String port;
@Value("#{spring.data.redis.password}")
String pwd;*/
@Bean
public RedissonClient redissonClient(){
Config config = new Config();
SingleServerConfig singleServerConfig = config.useSingleServer();
singleServerConfig.setAddress("redis://192.168.225.128:6390")
.setPassword("molong")
.setDatabase(0);
RedissonClient redissonClient = Redisson.create(config);
return redissonClient;
}
}

@ -0,0 +1,44 @@
package com.xht.springboot.Control;
import com.xht.springboot.Service.CancerDetectService;
import com.xht.springboot.Tip.RequestResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.io.IOException;
@Controller
@RequestMapping("/picture")
public class CancerDetectController {
@Autowired
CancerDetectService cancerDetectService;
@PostMapping("/upload")
@ResponseBody
public RequestResult upload(MultipartFile cancerPicture) throws IOException {
RequestResult requestResult = new RequestResult();
if(cancerPicture.isEmpty()){
requestResult.status = RequestResult.FAIL;
}else{
if(cancerDetectService.upload(cancerPicture))
{
requestResult.status = RequestResult.OK;
}else{
requestResult.status = RequestResult.FAIL;
}
}
return requestResult;
}
@RequestMapping("/")
public String s1(){
return "test";
}
}

@ -1,14 +0,0 @@
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";
}
}

@ -0,0 +1,28 @@
package com.xht.springboot.Control;
import com.xht.springboot.Entity.CancerInformation;
import com.xht.springboot.Entity.CancerInformationProcessed;
import com.xht.springboot.Service.InformationQueryService;
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.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.List;
@Controller
@RequestMapping("/information")
public class InformationQueryController {
@Autowired
InformationQueryService informationQueryService;
@RequestMapping("/cancer")
@ResponseBody
public List<CancerInformationProcessed> getCancerInformation(String token){
return informationQueryService.queryCancerInformation(token);
}
}

@ -3,6 +3,7 @@ package com.xht.springboot.Control;
import com.xht.springboot.Dao.LoginAndRegisterMapper;
import com.xht.springboot.Entity.UserLogin;
import com.xht.springboot.Service.LoginAndRegisterService;
import com.xht.springboot.Tip.RequestResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
@ -17,39 +18,30 @@ import java.util.List;
@Controller
public class LoginAndRegisterController {
@Autowired
LoginAndRegisterMapper loginAndRegisterMapper;
@Autowired
RequestResult requestResult;
LoginAndRegisterService loginAndRegisterService;
@RequestMapping(value = "/findisrepeat",method = RequestMethod.POST)
@ResponseBody
public List<UserLogin> findIsRepeat(@RequestBody UserLogin userLogin){
return loginAndRegisterMapper.findIsRepeat(userLogin);
public RequestResult findIsRepeat(@RequestBody UserLogin userLogin){
return loginAndRegisterService.findIsRepeat(userLogin);
}
@RequestMapping(value = "/register",method = RequestMethod.POST)
@ResponseBody
public RequestResult register(@RequestBody UserLogin userLogin){
if(loginAndRegisterMapper.register(userLogin) >= 1){
requestResult.status = RequestResult.OK;
return requestResult;
}else {
requestResult.status = RequestResult.FAIL;
return requestResult;
}
return loginAndRegisterService.register(userLogin);
}
@RequestMapping(value = "/login",method = RequestMethod.POST)
@ResponseBody
public UserLogin login(@RequestBody UserLogin userLogin){
return loginAndRegisterMapper.find(userLogin);
public RequestResult login(@RequestBody UserLogin userLogin){
return loginAndRegisterService.login(userLogin);
}
@RequestMapping(value = "/forgetpassword",method = RequestMethod.POST)
@ResponseBody
public UserLogin getPassword(@RequestBody UserLogin userLogin){
return loginAndRegisterMapper.find(userLogin);
return loginAndRegisterService.getPwd(userLogin);
}
}

@ -7,12 +7,15 @@ 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.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.List;
@Controller
@RequestMapping("user")
public class PersonalHomeController {
@Autowired
PersonalHomeService personalHomeService;
@ -20,12 +23,34 @@ public class PersonalHomeController {
@Autowired
RequestResult requestResult;
@RequestMapping("/getpersonahomedata")
@RequestMapping("/getuserhomedata")
@ResponseBody
public UserHome getPersonalHomeData(int uid){
public UserHome getUserHomeData(int uid){
return personalHomeService.getUserHomeData(uid);
}
@PostMapping("/postuserhomedata")
@ResponseBody
public RequestResult postUserHomeData(@RequestBody UserHome userHome){
RequestResult result = new RequestResult();
if(personalHomeService.postUserHomeData(userHome))
result.status = RequestResult.OK;
else
result.status = RequestResult.FAIL;
return result;
}
@PostMapping("/updateuserhomedata")
@ResponseBody
public RequestResult updateUserHomeData(@RequestBody UserHome userHome){
RequestResult result = new RequestResult();
if(personalHomeService.updateUserHomeData(userHome))
result.status = RequestResult.OK;
else
result.status = RequestResult.FAIL;
return result;
}
@RequestMapping("/getusertexts")
@ResponseBody
public List<UserText> getUserTexts(int uid){

@ -6,6 +6,8 @@ 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.cache.annotation.Cacheable;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
@ -38,11 +40,10 @@ public class WebHomeController {
public RequestResult postText(@RequestBody UserText userText){
if(webHomeService.postUserText(userText)){
requestResult.status = RequestResult.OK;
return requestResult;
}else {
requestResult.status = RequestResult.FAIL;
return requestResult;
}
return requestResult;
}
@PostMapping("/deltext")
@ -149,7 +150,7 @@ public class WebHomeController {
@PostMapping("/findreply")
@ResponseBody
public List<UserReply> selectReply(@RequestBody UserReply userReply){
return webHomeService.selectUserReply(userReply);
public UserReply selectReply(@RequestParam("id") int replyId){
return webHomeService.selectUserReply(replyId);
}
}

@ -0,0 +1,12 @@
package com.xht.springboot.Dao;
import com.xht.springboot.Entity.CancerInformation;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper
public interface InformationQueryMapper {
public List<CancerInformation> queryCancerInformation(String token);
}

@ -12,5 +12,9 @@ public interface PersonalHomeMapper {
//根据uid查询用户详情
public UserHome findById(int id);
public int postUserHomeData(UserHome userHome);
public int updateUserHomeData(UserHome userHome);
public List<UserText> findTexts(int id);
}

@ -54,7 +54,7 @@ public interface WebHomeMapper {
public int updateUserReply(UserReply userReply);
public List<UserReply> selectUserReply(UserReply userReply);
public UserReply selectUserReply(int id);

@ -0,0 +1,19 @@
package com.xht.springboot.Entity;
import lombok.Data;
import lombok.ToString;
import org.springframework.stereotype.Component;
@Component
@Data
@ToString
public class CancerInformation {
private int id;
private String name;
private String impact;
private String summary;
private String symptom;
private String factor;
private String judge;
private String heal;
}

@ -0,0 +1,20 @@
package com.xht.springboot.Entity;
import lombok.Data;
import lombok.ToString;
import org.springframework.stereotype.Component;
@Component
@Data
@ToString
public class CancerInformationProcessed {
private int id;
private String name;
private String[] impact;
private String[] summary;
private String[] symptom;
private String[] factor;
private String[] judge;
private String[] heal;
private String totalStr;
}

@ -5,11 +5,12 @@ import lombok.Data;
import lombok.ToString;
import org.springframework.stereotype.Component;
import java.io.Serializable;
import java.util.List;
@Data
@ToString
@Component
public class UserComment {
public class UserComment implements Serializable {
private int commentid;
private int textid;

@ -5,13 +5,14 @@ import lombok.Data;
import lombok.ToString;
import org.springframework.stereotype.Component;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
@Data
@ToString
@Component
public class UserHome {
public class UserHome implements Serializable {
private int uid;
//用户累计使用网站时间

@ -6,10 +6,12 @@ import lombok.ToString;
import org.apache.ibatis.type.Alias;
import org.springframework.stereotype.Component;
import java.io.Serializable;
@Component
@Data
@ToString
public class UserLogin {
public class UserLogin implements Serializable {
private int uid;
private String uname;
private String upassword;

@ -5,10 +5,12 @@ import lombok.Data;
import lombok.ToString;
import org.springframework.stereotype.Component;
import java.io.Serializable;
@Component
@Data
@ToString
public class UserReply {
public class UserReply implements Serializable {
private int replyid;
private int commentid;

@ -5,13 +5,14 @@ import lombok.Data;
import lombok.ToString;
import org.springframework.stereotype.Component;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
@Data
@ToString
@Component
public class UserText {
public class UserText implements Serializable {
private int textid;
private int uid;

@ -0,0 +1,37 @@
package com.xht.springboot.Interceptor;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.http.HttpMethod;
import org.springframework.stereotype.Component;
import org.springframework.web.servlet.HandlerInterceptor;
@Component
public class LoginInterceptor implements HandlerInterceptor {
@Autowired
RedisTemplate redisTemplate;
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
System.out.println("请求方式:"+request.getMethod());
System.out.println("URL"+request.getRequestURI());
if (HttpMethod.OPTIONS.toString().equals(request.getMethod())) {
System.out.println("放行");
return true;
}
System.out.println(request.getRequestURI());
String token = request.getHeader("token");
System.out.println(token);
String result = (String) redisTemplate.opsForValue().get(token);
System.out.println("redis token: "+result);
if(result==null)
return false;
else
return true;
}
}

@ -0,0 +1,33 @@
package com.xht.springboot.Service;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStreamReader;
@Service
public class CancerDetectService {
@Value("${upload.dir}")
String dir;
public boolean upload(MultipartFile cancerPicture) throws IOException {
File fileDir = new File("springboot/src/main/resources/"+dir);
if(!fileDir.exists()){
fileDir.mkdirs();
}
String originalFilename = cancerPicture.getOriginalFilename();
if(cancerPicture.isEmpty())
return false;
else{
System.out.println(fileDir.getAbsolutePath());
cancerPicture.transferTo(new File(fileDir.getAbsolutePath() + "/" + originalFilename));
return true;
}
}
}

@ -0,0 +1,69 @@
package com.xht.springboot.Service;
import com.xht.springboot.Dao.InformationQueryMapper;
import com.xht.springboot.Entity.CancerInformation;
import com.xht.springboot.Entity.CancerInformationProcessed;
import com.xht.springboot.Utils.FuncInterFaces.QueryFunctionForDB;
import com.xht.springboot.Utils.RedisAndDbOpsUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
@Service
public class InformationQueryService {
@Autowired
InformationQueryMapper informationQueryMapper;
@Autowired
RedisAndDbOpsUtils redisAndDbOpsUtils;
String cancerInformationCacheName = "cancerInformationByToken::";
String cancerInformationLockName = "cancerInformationByTokenLock";
public List<CancerInformationProcessed> queryCancerInformation(String token){
QueryFunctionForDB<List<CancerInformation>> queryFunctionForDB = new QueryFunctionForDB<List<CancerInformation>>() {
@Override
public List<CancerInformation> queryForDB(String token) {
List<CancerInformation> results = informationQueryMapper.queryCancerInformation(token);
if(results.size()==0)
return null;
else
return results;
}
};
List<CancerInformation> results = redisAndDbOpsUtils.queryNoFilter(cancerInformationCacheName, token, cancerInformationLockName, queryFunctionForDB, token);
List<CancerInformationProcessed> res = new ArrayList<>();
StringBuilder totalStr = new StringBuilder();
for(int i=0;i<results.size();i++){
CancerInformation cancerInformation = results.get(i);
CancerInformationProcessed cancerInformationProcessed = new CancerInformationProcessed();
cancerInformationProcessed.setId(cancerInformation.getId());
cancerInformationProcessed.setName(cancerInformation.getName());
totalStr.append(cancerInformation.getImpact());
totalStr.append(cancerInformation.getSummary());
totalStr.append(cancerInformation.getSymptom());
totalStr.append(cancerInformation.getFactor());
totalStr.append(cancerInformation.getJudge());
totalStr.append(cancerInformation.getHeal());
cancerInformationProcessed.setTotalStr(totalStr.toString());
cancerInformationProcessed.setImpact(cancerInformation.getImpact().split("\\$"));
cancerInformationProcessed.setSummary(cancerInformation.getSummary().split("\\$"));
cancerInformationProcessed.setSymptom(cancerInformation.getSymptom().split("\\$"));
cancerInformationProcessed.setFactor(cancerInformation.getFactor().split("\\$"));
cancerInformationProcessed.setJudge(cancerInformation.getJudge().split("\\$"));
cancerInformationProcessed.setHeal(cancerInformation.getHeal().split("\\$"));
res.add(cancerInformationProcessed);
totalStr.setLength(0);
}
return res;
}
}

@ -0,0 +1,75 @@
package com.xht.springboot.Service;
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.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.UUID;
import java.util.concurrent.TimeUnit;
@Service
public class LoginAndRegisterService {
@Autowired
LoginAndRegisterMapper loginAndRegisterMapper;
@Autowired
RequestResult requestResult;
@Autowired
RedisTemplate redisTemplate;
public RequestResult findIsRepeat(UserLogin userLogin){
List<UserLogin> result = loginAndRegisterMapper.findIsRepeat(userLogin);
RequestResult requestResult = new RequestResult();
if(result.size()==0){
requestResult.status = RequestResult.OK;
requestResult.message = RequestResult.USER_NOT_REPEAT;
}else{
requestResult.status = RequestResult.FAIL;
requestResult.message = RequestResult.USER_REPEAT;
}
return requestResult;
}
public RequestResult register(UserLogin userLogin){
if(loginAndRegisterMapper.register(userLogin) >= 1){
requestResult.status = RequestResult.OK;
requestResult.message = RequestResult.USER_REGISTER_SUCCESS;
}else {
requestResult.status = RequestResult.FAIL;
requestResult.message = RequestResult.USER_REGISTER_FAILED;
}
return requestResult;
}
public RequestResult login(UserLogin userLogin){
UserLogin result = loginAndRegisterMapper.find(userLogin);
RequestResult requestResult = new RequestResult();
if(result==null){
requestResult.status = RequestResult.FAIL;
requestResult.message = RequestResult.USER_LOGIN_FAILED;
}
else{
String token = UUID.randomUUID().toString();//登录成功返回token
redisTemplate.opsForValue().set(token,"user_token",30, TimeUnit.MINUTES);//存入用户token
requestResult.status = RequestResult.OK;
requestResult.message = RequestResult.USER_LOGIN_SUCCESS;
requestResult.data = token;
}
return requestResult;
}
public UserLogin getPwd(UserLogin userLogin){
return loginAndRegisterMapper.find(userLogin);
}
}

@ -4,22 +4,95 @@ package com.xht.springboot.Service;
import com.xht.springboot.Dao.PersonalHomeMapper;
import com.xht.springboot.Entity.UserHome;
import com.xht.springboot.Entity.UserText;
import com.xht.springboot.Utils.BloomFilterUtils;
import com.xht.springboot.Utils.FuncInterFaces.InsertFunctionForDB;
import com.xht.springboot.Utils.FuncInterFaces.QueryFunctionForDB;
import com.xht.springboot.Utils.FuncInterFaces.UpdateFunctionForDB;
import com.xht.springboot.Utils.RedisAndDbOpsUtils;
import org.redisson.RedissonMultiLock;
import org.redisson.api.RLock;
import org.redisson.api.RedissonClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.concurrent.TimeUnit;
@Service
public class PersonalHomeService {
@Autowired
PersonalHomeMapper personalHomeMapper;
@Autowired
RedisTemplate redisTemplate;
@Autowired
BloomFilterUtils bloomFilterUtils;
@Autowired
RedissonClient redissonClient;
@Autowired
RedisAndDbOpsUtils redisAndDbOpsUtils;
String userHomeDataCacheName = "userData::";
String userTxtByUidCacheName = "userTxtByUid::";
String userHomeDataLockHome = "userHomeDataLock";
String userTxtByUidLockHome = "userTxtByUidLock";
//获得用户主页数据
public UserHome getUserHomeData(int uid){
return personalHomeMapper.findById(uid);
QueryFunctionForDB<UserHome> queryFunctionForDB = new QueryFunctionForDB<UserHome>() {
@Override
public UserHome queryForDB(String token) {
UserHome userHome = personalHomeMapper.findById(Integer.parseInt(token));
return userHome;
}
};
return redisAndDbOpsUtils.queryHaveFilter(userHomeDataCacheName,uid+"",userHomeDataLockHome,queryFunctionForDB,uid+"");
}
public boolean postUserHomeData(UserHome userHome){//先更新数据库后删除缓存
InsertFunctionForDB<UserHome> insertFunctionForDB = new InsertFunctionForDB<UserHome>() {
@Override
public boolean insertForDB(UserHome data) {
int rows = personalHomeMapper.postUserHomeData(data);
System.out.println("insert userHomeData "+rows);
return rows >= 1;
}
};
return redisAndDbOpsUtils.insertHaveFilter(userHomeDataCacheName,userHome.getUid()+"",userHome,insertFunctionForDB);
}
public boolean updateUserHomeData(UserHome userHome){
UpdateFunctionForDB<UserHome> updateFunctionForDB = new UpdateFunctionForDB<UserHome>() {
@Override
public boolean updateForDB(UserHome data) {
int rows = personalHomeMapper.updateUserHomeData(data);
System.out.println("update userHomeData "+rows);
return rows >= 1;
}
};
return redisAndDbOpsUtils.baseUpdate(userHomeDataCacheName,userHome.getUid()+"",userHomeDataLockHome,userHome,updateFunctionForDB);
}
public List<UserText> getUserTexts(int uid){
return personalHomeMapper.findTexts(uid);
QueryFunctionForDB<List<UserText>> queryFunctionForDB = new QueryFunctionForDB<List<UserText>>() {
@Override
public List<UserText> queryForDB(String token) {
List<UserText> userTexts = personalHomeMapper.findTexts(Integer.parseInt(token));
if(userTexts.size()==0)
return null;
else
return userTexts;
}
};
return redisAndDbOpsUtils.queryNoFilter(userTxtByUidCacheName,uid+"",userTxtByUidLockHome,queryFunctionForDB,uid+"");
}
}

@ -5,7 +5,18 @@ import com.xht.springboot.Dao.WebHomeMapper;
import com.xht.springboot.Entity.UserComment;
import com.xht.springboot.Entity.UserReply;
import com.xht.springboot.Entity.UserText;
import com.xht.springboot.Utils.BloomFilterUtils;
import com.xht.springboot.Utils.FuncInterFaces.DeleteFunctionForDB;
import com.xht.springboot.Utils.FuncInterFaces.InsertFunctionForDB;
import com.xht.springboot.Utils.FuncInterFaces.QueryFunctionForDB;
import com.xht.springboot.Utils.FuncInterFaces.UpdateFunctionForDB;
import com.xht.springboot.Utils.RedisAndDbOpsUtils;
import org.redisson.RedissonMultiLock;
import org.redisson.api.RLock;
import org.redisson.api.RedissonClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -15,91 +26,165 @@ import java.util.List;
public class WebHomeService {
@Autowired
WebHomeMapper webHomeMapper;
@Autowired
RedisAndDbOpsUtils redisAndDbOpsUtils;
@Autowired
RedissonClient redissonClient;
@Autowired
RedisTemplate redisTemplate;
@Autowired
BloomFilterUtils bloomFilterUtils;
String webHomeDataCacheName = "userTxt&Cmt::";
String webHomeDataKey = "all";
String userRepliesOfCmtCacheName = "userRepliesOfCmt::";
String userTxtCacheName = "userTxt::";
String userCmtCacheName = "userCmt::";
String userReplyCacheName = "userReply::";
String userFindTxtCacheName = "userFindTxt::";
String webHomeDataLockName = "webHomeDataLock";
String userRepliesOfCmtLockName = "userRepliesOfCmtLock";
String userTxtLockName = "userTxtLock";
String userFindTxtLockName = "userFindTxtLock";
String userCmtLockName = "userCmtLock";
String userReplyLockName = "userReplyLock";
//获得所有文章除了评论的回复
public List<UserText> getWebHomeData(){
return webHomeMapper.findAllTextAndComments();
QueryFunctionForDB<List<UserText>> queryFunctionForDB = new QueryFunctionForDB<List<UserText>>() {
@Override
public List<UserText> queryForDB(String token) {
List<UserText> userTexts = webHomeMapper.findAllTextAndComments();//没有返回空集合
if(userTexts.size()==0)
return null;
else
return userTexts;
}
};
return redisAndDbOpsUtils.queryNoFilter(webHomeDataCacheName,webHomeDataKey,webHomeDataLockName,queryFunctionForDB,"");
}
public List<UserReply> getUserReplies(int commentid){
return webHomeMapper.findRepliesByCommentId(commentid);
QueryFunctionForDB<List<UserReply>> queryFunctionForDB = new QueryFunctionForDB<List<UserReply>>() {
@Override
public List<UserReply> queryForDB(String token) {
List<UserReply> userReplies = webHomeMapper.findRepliesByCommentId(Integer.parseInt(token));
if(userReplies.size()==0)
return null;
else
return userReplies;
}
};
return redisAndDbOpsUtils.queryNoFilter(userRepliesOfCmtCacheName,commentid+"",userRepliesOfCmtLockName,queryFunctionForDB,commentid+"");
}
public boolean postUserText(UserText userText){
int rows=0;
rows = webHomeMapper.insertUserText(userText);
if(rows >= 1){
System.out.println("insert text OK "+rows);
return true;
}else{
return false;
}
InsertFunctionForDB<UserText> insertFunctionForDB = new InsertFunctionForDB<UserText>() {
@Override
public boolean insertForDB(UserText data) {
int rows = webHomeMapper.insertUserText(data);
System.out.println("insert userText "+rows);
return rows >= 1;
}
};
return redisAndDbOpsUtils.insertHaveFilter(userTxtCacheName,userText.getTextid()+"" ,userText,insertFunctionForDB);
}
public boolean deleteUserText(UserText userText){
int rows=0;
rows = webHomeMapper.deleteUserText(userText);
if(rows >= 1){
System.out.println("delete text OK "+rows);
return true;
}else{
return false;
}
DeleteFunctionForDB<UserText> deleteFunctionForDB = new DeleteFunctionForDB<UserText>() {
@Override
public boolean deleteForDB(UserText data) {
int rows = webHomeMapper.deleteUserText(data);
System.out.println("delete userText "+rows);
return rows >= 1;
}
};
return redisAndDbOpsUtils.baseDelete(userTxtCacheName,userText.getTextid()+"",userTxtLockName,userText,deleteFunctionForDB);
}
public boolean updateUserText(UserText userText){
int rows=0;
rows = webHomeMapper.updateUserText(userText);
if(rows >= 1){
System.out.println("update text OK "+rows);
return true;
}else{
return false;
}
UpdateFunctionForDB<UserText> userTextUpdateFunctionForDB = new UpdateFunctionForDB<UserText>() {
@Override
public boolean updateForDB(UserText data) {
int rows = webHomeMapper.updateUserText(data);
System.out.println("update userText "+rows);
return rows >= 1;
}
};
return redisAndDbOpsUtils.baseUpdate(userTxtCacheName,userText.getTextid()+"",userTxtLockName,userText,userTextUpdateFunctionForDB);
}
@Transactional
public List<UserText> findUserText(String token){
List<UserText> results = null;
results = webHomeMapper.findOfTextContains(token);//查询文本中是否包含
results.addAll(webHomeMapper.findOfTitleContains(token));//查询标题中是否包含
return results;
QueryFunctionForDB<List<UserText>> queryFunctionForDB = new QueryFunctionForDB<List<UserText>>() {
@Override
public List<UserText> queryForDB(String token) {
List<UserText> userTexts = webHomeMapper.findOfTextContains(token);//查询文本中是否包含
userTexts.addAll(webHomeMapper.findOfTitleContains(token));//查询标题中是否包含
if(userTexts.size()==0)
return userTexts;
else
return userTexts;
}
};
return redisAndDbOpsUtils.queryNoFilter(userFindTxtCacheName,token,userFindTxtLockName,queryFunctionForDB,token);
}
public boolean postUserComment(UserComment userComment){
int rows=0;
rows = webHomeMapper.insertUserComment(userComment);
if(rows >= 1){
System.out.println("insert comment OK "+rows);
return true;
}else{
return false;
}
InsertFunctionForDB<UserComment> insertFunctionForDB = new InsertFunctionForDB<UserComment>() {
@Override
public boolean insertForDB(UserComment data) {
int rows = webHomeMapper.insertUserComment(data);
System.out.println("insert userComment "+rows);
return rows >= 1;
}
};
return redisAndDbOpsUtils.insertHaveFilter(userCmtCacheName,userComment.getCommentid()+"",userComment,insertFunctionForDB);
}
public boolean deleteUserComment(UserComment userComment){
int rows=0;
rows = webHomeMapper.deleteUserComment(userComment);
if(rows >= 1){
System.out.println("delete comment OK "+rows);
return true;
}else{
return false;
}
DeleteFunctionForDB<UserComment> deleteFunctionForDB = new DeleteFunctionForDB<UserComment>() {
@Override
public boolean deleteForDB(UserComment data) {
int rows = webHomeMapper.deleteUserComment(data);
System.out.println("delete userComment "+rows);
return rows >= 1;
}
};
return redisAndDbOpsUtils.baseDelete(userCmtCacheName,userComment.getCommentid()+"",userCmtLockName,userComment,deleteFunctionForDB);
}
public boolean updateUserComment(UserComment userComment){
int rows=0;
rows = webHomeMapper.updateUserComment(userComment);
if(rows >= 1){
System.out.println("update comment OK "+rows);
return true;
}else{
return false;
}
UpdateFunctionForDB<UserComment> updateFunctionForDB = new UpdateFunctionForDB<UserComment>() {
@Override
public boolean updateForDB(UserComment data) {
int rows = webHomeMapper.updateUserComment(data);
System.out.println("update userComment "+rows);
return rows >= 1;
}
};
return redisAndDbOpsUtils.baseUpdate(userCmtCacheName,userComment.getCommentid()+"",userCmtLockName,userComment,updateFunctionForDB);
}
@ -107,40 +192,50 @@ public class WebHomeService {
public boolean postUserReply(UserReply userReply){
int rows=0;
rows = webHomeMapper.insertUserReply(userReply);
if(rows >= 1){
System.out.println("insert reply OK "+rows);
return true;
}else{
return false;
}
InsertFunctionForDB<UserReply> insertFunctionForDB = new InsertFunctionForDB<UserReply>() {
@Override
public boolean insertForDB(UserReply data) {
int rows = webHomeMapper.insertUserReply(data);
System.out.println("insert userReply "+rows);
return rows >= 1;
}
};
return redisAndDbOpsUtils.insertHaveFilter(userReplyCacheName,userReply.getReplyid()+"",userReply,insertFunctionForDB);
}
public boolean deleteUserReply(UserReply userReply){
int rows=0;
rows = webHomeMapper.deleteUserReply(userReply);
if(rows >= 1){
System.out.println("delete reply OK "+rows);
return true;
}else{
return false;
}
DeleteFunctionForDB<UserReply> userReplyDeleteFunctionForDB = new DeleteFunctionForDB<UserReply>() {
@Override
public boolean deleteForDB(UserReply data) {
int rows = webHomeMapper.deleteUserReply(data);
System.out.println("delete userReply "+rows);
return rows >= 1;
}
};
return redisAndDbOpsUtils.baseDelete(userReplyCacheName,userReply.getReplyid()+"",userReplyLockName,userReply,userReplyDeleteFunctionForDB);
}
public boolean updateUserReply(UserReply userReply){
int rows=0;
rows = webHomeMapper.updateUserReply(userReply);
if(rows >= 1){
System.out.println("update reply OK "+rows);
return true;
}else{
return false;
}
UpdateFunctionForDB<UserReply> updateFunctionForDB = new UpdateFunctionForDB<UserReply>() {
@Override
public boolean updateForDB(UserReply data) {
int rows = webHomeMapper.updateUserReply(data);
System.out.println("update userReply "+rows);
return rows >= 1;
}
};
return redisAndDbOpsUtils.baseUpdate(userReplyCacheName,userReply.getReplyid()+"",userReplyLockName,userReply,updateFunctionForDB);
}
public List<UserReply> selectUserReply(UserReply userReply){
return webHomeMapper.selectUserReply(userReply);
@Cacheable(cacheNames = "userReply",key = "#p0")
public UserReply selectUserReply(int id){
return webHomeMapper.selectUserReply(id);
}
}

@ -1,16 +1,29 @@
package com.xht.springboot;
import com.xht.springboot.pythonspider.PythonSpider;
import com.xht.springboot.Utils.BloomFilterUtils;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cache.annotation.EnableCaching;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.data.redis.core.RedisTemplate;
import java.util.ArrayList;
import java.util.Set;
@SpringBootApplication
@EnableCaching
public class SpringbootApplication {
public static void main(String[] args) {
SpringApplication.run(SpringbootApplication.class, args);
ConfigurableApplicationContext applicationContext = SpringApplication.run(SpringbootApplication.class, args);
BloomFilterUtils bloomFilterUtils = applicationContext.getBean(BloomFilterUtils.class);
RedisTemplate redisTemplate = (RedisTemplate) applicationContext.getBean("redisTemplate");
Set<String> keys = redisTemplate.keys("*");
System.out.println("BloomFilter: insert data");
for(String key : keys){
bloomFilterUtils.putIntoBloomFilter(key);
System.out.println(key);
}
}
}

@ -9,6 +9,14 @@ import org.springframework.stereotype.Component;
@ToString
public class RequestResult {
public int status;
public static int OK = 0;
public static int FAIL = 1;
public String message;
public String data;
public static int OK = 200;
public static int FAIL = 400;
public static String USER_LOGIN_FAILED = "user_login_failed";
public static String USER_LOGIN_SUCCESS = "user_login_success";
public static String USER_REGISTER_FAILED = "user_register_failed";
public static String USER_REGISTER_SUCCESS = "user_register_success";
public static String USER_REPEAT = "user_repeat";
public static String USER_NOT_REPEAT = "user_not_repeat";
}

@ -0,0 +1,22 @@
package com.xht.springboot.Utils;
import com.google.common.hash.BloomFilter;
import com.google.common.hash.Funnels;
import org.springframework.stereotype.Component;
import java.nio.charset.StandardCharsets;
@Component
public class BloomFilterUtils {
private int bloomFilterSize = 10000;
private double fpp = 0.3;
private BloomFilter<String> bloomFilter = BloomFilter.create(Funnels.stringFunnel(StandardCharsets.UTF_8),bloomFilterSize,fpp);
public boolean putIntoBloomFilter(String key){
return bloomFilter.put(key);
}
public boolean queryKey(String key){
return bloomFilter.mightContain(key);
}
}

@ -0,0 +1,5 @@
package com.xht.springboot.Utils.FuncInterFaces;
public interface DeleteFunctionForDB <T>{
public boolean deleteForDB(T data);
}

@ -0,0 +1,5 @@
package com.xht.springboot.Utils.FuncInterFaces;
public interface InsertFunctionForDB <T>{
public boolean insertForDB(T data);
}

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save