diff --git a/Doc/错误日志.txt b/Doc/错误日志.txt index 56c62a02..58a1a38c 100644 --- a/Doc/错误日志.txt +++ b/Doc/错误日志.txt @@ -1,4 +1,4 @@ -D:\JDK21\bin\java.exe "-javaagent:D:\Program Files\JetBrains\IntelliJ IDEA 2025.1\lib\idea_rt.jar=1786" -Dfile.encoding=UTF-8 -Dsun.stdout.encoding=UTF-8 -Dsun.stderr.encoding=UTF-8 -classpath D:\dsWork\YunNanDsBase\target\classes;D:\apache-maven\MavenRepository\com\jfinal\jfinal\5.2.3\jfinal-5.2.3.jar;D:\apache-maven\MavenRepository\com\jfinal\jfinal-undertow\3.6\jfinal-undertow-3.6.jar;D:\apache-maven\MavenRepository\io\undertow\undertow-core\2.2.33.Final\undertow-core-2.2.33.Final.jar;D:\apache-maven\MavenRepository\org\jboss\logging\jboss-logging\3.4.1.Final\jboss-logging-3.4.1.Final.jar;D:\apache-maven\MavenRepository\org\jboss\xnio\xnio-api\3.8.16.Final\xnio-api-3.8.16.Final.jar;D:\apache-maven\MavenRepository\org\wildfly\common\wildfly-common\1.5.4.Final\wildfly-common-1.5.4.Final.jar;D:\apache-maven\MavenRepository\org\wildfly\client\wildfly-client-config\1.0.1.Final\wildfly-client-config-1.0.1.Final.jar;D:\apache-maven\MavenRepository\org\jboss\xnio\xnio-nio\3.8.16.Final\xnio-nio-3.8.16.Final.jar;D:\apache-maven\MavenRepository\org\jboss\threads\jboss-threads\3.1.0.Final\jboss-threads-3.1.0.Final.jar;D:\apache-maven\MavenRepository\io\undertow\undertow-servlet\2.2.33.Final\undertow-servlet-2.2.33.Final.jar;D:\apache-maven\MavenRepository\javax\servlet\javax.servlet-api\4.0.1\javax.servlet-api-4.0.1.jar;D:\apache-maven\MavenRepository\com\jfinal\cos\2022.2\cos-2022.2.jar;D:\apache-maven\MavenRepository\cn\idev\excel\fastexcel\1.1.0\fastexcel-1.1.0.jar;D:\apache-maven\MavenRepository\cn\idev\excel\fastexcel-core\1.1.0\fastexcel-core-1.1.0.jar;D:\apache-maven\MavenRepository\org\apache\commons\commons-csv\1.11.0\commons-csv-1.11.0.jar;D:\apache-maven\MavenRepository\org\ehcache\ehcache\3.9.11\ehcache-3.9.11.jar;D:\apache-maven\MavenRepository\cn\idev\excel\fastexcel-support\0.0.1\fastexcel-support-0.0.1.jar;D:\apache-maven\MavenRepository\com\alibaba\dashscope-sdk-java\2.16.9\dashscope-sdk-java-2.16.9.jar;D:\apache-maven\MavenRepository\io\reactivex\rxjava2\rxjava\2.2.21\rxjava-2.2.21.jar;D:\apache-maven\MavenRepository\org\reactivestreams\reactive-streams\1.0.3\reactive-streams-1.0.3.jar;D:\apache-maven\MavenRepository\org\jetbrains\kotlin\kotlin-stdlib-jdk8\1.8.21\kotlin-stdlib-jdk8-1.8.21.jar;D:\apache-maven\MavenRepository\org\jetbrains\kotlin\kotlin-stdlib-jdk7\1.8.21\kotlin-stdlib-jdk7-1.8.21.jar;D:\apache-maven\MavenRepository\com\squareup\okio\okio\3.6.0\okio-3.6.0.jar;D:\apache-maven\MavenRepository\com\squareup\okhttp3\logging-interceptor\4.12.0\logging-interceptor-4.12.0.jar;D:\apache-maven\MavenRepository\com\squareup\okhttp3\okhttp-sse\4.12.0\okhttp-sse-4.12.0.jar;D:\apache-maven\MavenRepository\com\github\victools\jsonschema-generator\4.31.1\jsonschema-generator-4.31.1.jar;D:\apache-maven\MavenRepository\com\fasterxml\classmate\1.5.1\classmate-1.5.1.jar;D:\apache-maven\MavenRepository\com\squareup\okhttp3\okhttp\4.10.0\okhttp-4.10.0.jar;D:\apache-maven\MavenRepository\com\squareup\okio\okio-jvm\3.0.0\okio-jvm-3.0.0.jar;D:\apache-maven\MavenRepository\org\jetbrains\kotlin\kotlin-stdlib-common\1.5.31\kotlin-stdlib-common-1.5.31.jar;D:\apache-maven\MavenRepository\org\jetbrains\kotlin\kotlin-stdlib\1.6.20\kotlin-stdlib-1.6.20.jar;D:\apache-maven\MavenRepository\org\jetbrains\annotations\13.0\annotations-13.0.jar;D:\apache-maven\MavenRepository\cn\smallbun\screw\screw-core\1.0.5\screw-core-1.0.5.jar;D:\apache-maven\MavenRepository\commons-lang\commons-lang\2.6\commons-lang-2.6.jar;D:\apache-maven\MavenRepository\org\freemarker\freemarker\2.3.30\freemarker-2.3.30.jar;D:\apache-maven\MavenRepository\mysql\mysql-connector-java\8.0.28\mysql-connector-java-8.0.28.jar;D:\apache-maven\MavenRepository\com\google\protobuf\protobuf-java\3.11.4\protobuf-java-3.11.4.jar;D:\apache-maven\MavenRepository\io\minio\minio\8.5.12\minio-8.5.12.jar;D:\apache-maven\MavenRepository\com\carrotsearch\thirdparty\simple-xml-safe\2.7.1\simple-xml-safe-2.7.1.jar;D:\apache-maven\MavenRepository\com\google\guava\guava\33.0.0-jre\guava-33.0.0-jre.jar;D:\apache-maven\MavenRepository\com\google\guava\failureaccess\1.0.2\failureaccess-1.0.2.jar;D:\apache-maven\MavenRepository\com\google\guava\listenablefuture\9999.0-empty-to-avoid-conflict-with-guava\listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar;D:\apache-maven\MavenRepository\com\google\code\findbugs\jsr305\3.0.2\jsr305-3.0.2.jar;D:\apache-maven\MavenRepository\org\checkerframework\checker-qual\3.41.0\checker-qual-3.41.0.jar;D:\apache-maven\MavenRepository\com\google\errorprone\error_prone_annotations\2.23.0\error_prone_annotations-2.23.0.jar;D:\apache-maven\MavenRepository\com\google\j2objc\j2objc-annotations\2.8\j2objc-annotations-2.8.jar;D:\apache-maven\MavenRepository\com\fasterxml\jackson\core\jackson-annotations\2.16.1\jackson-annotations-2.16.1.jar;D:\apache-maven\MavenRepository\org\bouncycastle\bcprov-jdk18on\1.78\bcprov-jdk18on-1.78.jar;D:\apache-maven\MavenRepository\org\apache\commons\commons-compress\1.26.0\commons-compress-1.26.0.jar;D:\apache-maven\MavenRepository\commons-codec\commons-codec\1.16.1\commons-codec-1.16.1.jar;D:\apache-maven\MavenRepository\org\xerial\snappy\snappy-java\1.1.10.5\snappy-java-1.1.10.5.jar;D:\apache-maven\MavenRepository\io\github\yedaxia\japidocs\1.4.4\japidocs-1.4.4.jar;D:\apache-maven\MavenRepository\com\github\javaparser\javaparser-core\3.6.16\javaparser-core-3.6.16.jar;D:\apache-maven\MavenRepository\javax\xml\bind\jaxb-api\2.3.1\jaxb-api-2.3.1.jar;D:\apache-maven\MavenRepository\javax\activation\javax.activation-api\1.2.0\javax.activation-api-1.2.0.jar;D:\apache-maven\MavenRepository\javax\activation\activation\1.1.1\activation-1.1.1.jar;D:\apache-maven\MavenRepository\org\glassfish\jaxb\jaxb-runtime\2.3.3\jaxb-runtime-2.3.3.jar;D:\apache-maven\MavenRepository\jakarta\xml\bind\jakarta.xml.bind-api\2.3.3\jakarta.xml.bind-api-2.3.3.jar;D:\apache-maven\MavenRepository\org\glassfish\jaxb\txw2\2.3.3\txw2-2.3.3.jar;D:\apache-maven\MavenRepository\com\sun\istack\istack-commons-runtime\3.0.11\istack-commons-runtime-3.0.11.jar;D:\apache-maven\MavenRepository\com\sun\activation\jakarta.activation\1.2.2\jakarta.activation-1.2.2.jar;D:\apache-maven\MavenRepository\org\xerial\sqlite-jdbc\3.43.2.0\sqlite-jdbc-3.43.2.0.jar;D:\apache-maven\MavenRepository\org\slf4j\slf4j-api\2.0.16\slf4j-api-2.0.16.jar;D:\apache-maven\MavenRepository\net\sf\json-lib\json-lib\2.4\json-lib-2.4-jdk15.jar;D:\apache-maven\MavenRepository\commons-beanutils\commons-beanutils\1.8.0\commons-beanutils-1.8.0.jar;D:\apache-maven\MavenRepository\commons-collections\commons-collections\3.2.1\commons-collections-3.2.1.jar;D:\apache-maven\MavenRepository\net\sf\ezmorph\ezmorph\1.0.6\ezmorph-1.0.6.jar;D:\apache-maven\MavenRepository\commons-logging\commons-logging\1.2\commons-logging-1.2.jar;D:\apache-maven\MavenRepository\log4j\log4j\1.2.17\log4j-1.2.17.jar;D:\apache-maven\MavenRepository\org\slf4j\slf4j-log4j12\1.7.25\slf4j-log4j12-1.7.25.jar;D:\apache-maven\MavenRepository\ch\qos\logback\logback-classic\1.5.6\logback-classic-1.5.6.jar;D:\apache-maven\MavenRepository\ch\qos\logback\logback-core\1.5.6\logback-core-1.5.6.jar;D:\apache-maven\MavenRepository\cn\hutool\hutool-all\5.8.29\hutool-all-5.8.29.jar;D:\apache-maven\MavenRepository\com\alibaba\fastjson\2.0.52\fastjson-2.0.52.jar;D:\apache-maven\MavenRepository\com\alibaba\fastjson2\fastjson2-extension\2.0.52\fastjson2-extension-2.0.52.jar;D:\apache-maven\MavenRepository\com\alibaba\fastjson2\fastjson2\2.0.52\fastjson2-2.0.52.jar;D:\apache-maven\MavenRepository\org\jsoup\jsoup\1.17.2\jsoup-1.17.2.jar;D:\apache-maven\MavenRepository\com\google\code\gson\gson\2.10.1\gson-2.10.1.jar;D:\apache-maven\MavenRepository\commons-io\commons-io\2.14.0\commons-io-2.14.0.jar;D:\apache-maven\MavenRepository\org\apache\commons\commons-email\1.5\commons-email-1.5.jar;D:\apache-maven\MavenRepository\com\sun\mail\javax.mail\1.5.6\javax.mail-1.5.6.jar;D:\apache-maven\MavenRepository\org\apache\commons\commons-lang3\3.12.0\commons-lang3-3.12.0.jar;D:\apache-maven\MavenRepository\org\dom4j\dom4j\2.1.4\dom4j-2.1.4.jar;D:\apache-maven\MavenRepository\jaxen\jaxen\1.1.6\jaxen-1.1.6.jar;D:\apache-maven\MavenRepository\redis\clients\jedis\5.1.0\jedis-5.1.0.jar;D:\apache-maven\MavenRepository\org\apache\commons\commons-pool2\2.12.0\commons-pool2-2.12.0.jar;D:\apache-maven\MavenRepository\org\json\json\20231013\json-20231013.jar;D:\apache-maven\MavenRepository\org\apache\httpcomponents\httpmime\4.5.14\httpmime-4.5.14.jar;D:\apache-maven\MavenRepository\org\apache\httpcomponents\httpclient\4.5.14\httpclient-4.5.14.jar;D:\apache-maven\MavenRepository\org\apache\httpcomponents\httpcore\4.4.16\httpcore-4.4.16.jar;D:\apache-maven\MavenRepository\org\apache\logging\log4j\log4j-core\2.20.0\log4j-core-2.20.0.jar;D:\apache-maven\MavenRepository\org\apache\logging\log4j\log4j-api\2.20.0\log4j-api-2.20.0.jar;D:\apache-maven\MavenRepository\com\fasterxml\jackson\core\jackson-core\2.17.2\jackson-core-2.17.2.jar;D:\apache-maven\MavenRepository\com\fasterxml\jackson\core\jackson-databind\2.17.2\jackson-databind-2.17.2.jar;D:\apache-maven\MavenRepository\com\github\mwiede\jsch\0.2.19\jsch-0.2.19.jar;D:\apache-maven\MavenRepository\com\zaxxer\HikariCP\5.1.0\HikariCP-5.1.0.jar;D:\apache-maven\MavenRepository\com\alibaba\druid\1.2.23\druid-1.2.23.jar;D:\apache-maven\MavenRepository\org\yaml\snakeyaml\2.3\snakeyaml-2.3.jar;D:\apache-maven\MavenRepository\io\jsonwebtoken\jjwt\0.7.0\jjwt-0.7.0.jar;D:\apache-maven\MavenRepository\com\zendesk\mysql-binlog-connector-java\0.30.1\mysql-binlog-connector-java-0.30.1.jar;D:\apache-maven\MavenRepository\com\github\luben\zstd-jni\1.5.0-2\zstd-jni-1.5.0-2.jar;D:\apache-maven\MavenRepository\org\apache\poi\poi\5.2.5\poi-5.2.5.jar;D:\apache-maven\MavenRepository\org\apache\commons\commons-collections4\4.4\commons-collections4-4.4.jar;D:\apache-maven\MavenRepository\org\apache\commons\commons-math3\3.6.1\commons-math3-3.6.1.jar;D:\apache-maven\MavenRepository\com\zaxxer\SparseBitSet\1.3\SparseBitSet-1.3.jar;D:\apache-maven\MavenRepository\org\apache\poi\poi-ooxml\5.2.5\poi-ooxml-5.2.5.jar;D:\apache-maven\MavenRepository\org\apache\poi\poi-ooxml-lite\5.2.5\poi-ooxml-lite-5.2.5.jar;D:\apache-maven\MavenRepository\org\apache\xmlbeans\xmlbeans\5.2.0\xmlbeans-5.2.0.jar;D:\apache-maven\MavenRepository\com\github\virtuald\curvesapi\1.08\curvesapi-1.08.jar;D:\apache-maven\MavenRepository\org\apache\poi\poi-scratchpad\5.2.5\poi-scratchpad-5.2.5.jar com.dsideal.base.AI.AiGenerate +D:\JDK21\bin\java.exe "-javaagent:D:\Program Files\JetBrains\IntelliJ IDEA 2025.1\lib\idea_rt.jar=1786" -Dfile.encoding=UTF-8 -Dsun.stdout.encoding=UTF-8 -Dsun.stderr.encoding=UTF-8 -classpath D:\dsWork\YunNanDsBase\target\classes;D:\apache-maven\MavenRepository\com\jfinal\jfinal\5.2.3\jfinal-5.2.3.jar;D:\apache-maven\MavenRepository\com\jfinal\jfinal-undertow\3.6\jfinal-undertow-3.6.jar;D:\apache-maven\MavenRepository\io\undertow\undertow-core\2.2.33.Final\undertow-core-2.2.33.Final.jar;D:\apache-maven\MavenRepository\org\jboss\logging\jboss-logging\3.4.1.Final\jboss-logging-3.4.1.Final.jar;D:\apache-maven\MavenRepository\org\jboss\xnio\xnio-api\3.8.16.Final\xnio-api-3.8.16.Final.jar;D:\apache-maven\MavenRepository\org\wildfly\common\wildfly-common\1.5.4.Final\wildfly-common-1.5.4.Final.jar;D:\apache-maven\MavenRepository\org\wildfly\client\wildfly-client-config\1.0.1.Final\wildfly-client-config-1.0.1.Final.jar;D:\apache-maven\MavenRepository\org\jboss\xnio\xnio-nio\3.8.16.Final\xnio-nio-3.8.16.Final.jar;D:\apache-maven\MavenRepository\org\jboss\threads\jboss-threads\3.1.0.Final\jboss-threads-3.1.0.Final.jar;D:\apache-maven\MavenRepository\io\undertow\undertow-servlet\2.2.33.Final\undertow-servlet-2.2.33.Final.jar;D:\apache-maven\MavenRepository\javax\servlet\javax.servlet-api\4.0.1\javax.servlet-api-4.0.1.jar;D:\apache-maven\MavenRepository\com\jfinal\cos\2022.2\cos-2022.2.jar;D:\apache-maven\MavenRepository\cn\idev\excel\fastexcel\1.1.0\fastexcel-1.1.0.jar;D:\apache-maven\MavenRepository\cn\idev\excel\fastexcel-core\1.1.0\fastexcel-core-1.1.0.jar;D:\apache-maven\MavenRepository\org\apache\commons\commons-csv\1.11.0\commons-csv-1.11.0.jar;D:\apache-maven\MavenRepository\org\ehcache\ehcache\3.9.11\ehcache-3.9.11.jar;D:\apache-maven\MavenRepository\cn\idev\excel\fastexcel-support\0.0.1\fastexcel-support-0.0.1.jar;D:\apache-maven\MavenRepository\com\alibaba\dashscope-sdk-java\2.16.9\dashscope-sdk-java-2.16.9.jar;D:\apache-maven\MavenRepository\io\reactivex\rxjava2\rxjava\2.2.21\rxjava-2.2.21.jar;D:\apache-maven\MavenRepository\org\reactivestreams\reactive-streams\1.0.3\reactive-streams-1.0.3.jar;D:\apache-maven\MavenRepository\org\jetbrains\kotlin\kotlin-stdlib-jdk8\1.8.21\kotlin-stdlib-jdk8-1.8.21.jar;D:\apache-maven\MavenRepository\org\jetbrains\kotlin\kotlin-stdlib-jdk7\1.8.21\kotlin-stdlib-jdk7-1.8.21.jar;D:\apache-maven\MavenRepository\com\squareup\okio\okio\3.6.0\okio-3.6.0.jar;D:\apache-maven\MavenRepository\com\squareup\okhttp3\logging-interceptor\4.12.0\logging-interceptor-4.12.0.jar;D:\apache-maven\MavenRepository\com\squareup\okhttp3\okhttp-sse\4.12.0\okhttp-sse-4.12.0.jar;D:\apache-maven\MavenRepository\com\github\victools\jsonschema-generator\4.31.1\jsonschema-generator-4.31.1.jar;D:\apache-maven\MavenRepository\com\fasterxml\classmate\1.5.1\classmate-1.5.1.jar;D:\apache-maven\MavenRepository\com\squareup\okhttp3\okhttp\4.10.0\okhttp-4.10.0.jar;D:\apache-maven\MavenRepository\com\squareup\okio\okio-jvm\3.0.0\okio-jvm-3.0.0.jar;D:\apache-maven\MavenRepository\org\jetbrains\kotlin\kotlin-stdlib-common\1.5.31\kotlin-stdlib-common-1.5.31.jar;D:\apache-maven\MavenRepository\org\jetbrains\kotlin\kotlin-stdlib\1.6.20\kotlin-stdlib-1.6.20.jar;D:\apache-maven\MavenRepository\org\jetbrains\annotations\13.0\annotations-13.0.jar;D:\apache-maven\MavenRepository\cn\smallbun\screw\screw-core\1.0.5\screw-core-1.0.5.jar;D:\apache-maven\MavenRepository\commons-lang\commons-lang\2.6\commons-lang-2.6.jar;D:\apache-maven\MavenRepository\org\freemarker\freemarker\2.3.30\freemarker-2.3.30.jar;D:\apache-maven\MavenRepository\mysql\mysql-connector-java\8.0.28\mysql-connector-java-8.0.28.jar;D:\apache-maven\MavenRepository\com\google\protobuf\protobuf-java\3.11.4\protobuf-java-3.11.4.jar;D:\apache-maven\MavenRepository\io\minio\minio\8.5.12\minio-8.5.12.jar;D:\apache-maven\MavenRepository\com\carrotsearch\thirdparty\simple-xml-safe\2.7.1\simple-xml-safe-2.7.1.jar;D:\apache-maven\MavenRepository\com\google\guava\guava\33.0.0-jre\guava-33.0.0-jre.jar;D:\apache-maven\MavenRepository\com\google\guava\failureaccess\1.0.2\failureaccess-1.0.2.jar;D:\apache-maven\MavenRepository\com\google\guava\listenablefuture\9999.0-empty-to-avoid-conflict-with-guava\listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar;D:\apache-maven\MavenRepository\com\google\code\findbugs\jsr305\3.0.2\jsr305-3.0.2.jar;D:\apache-maven\MavenRepository\org\checkerframework\checker-qual\3.41.0\checker-qual-3.41.0.jar;D:\apache-maven\MavenRepository\com\google\errorprone\error_prone_annotations\2.23.0\error_prone_annotations-2.23.0.jar;D:\apache-maven\MavenRepository\com\google\j2objc\j2objc-annotations\2.8\j2objc-annotations-2.8.jar;D:\apache-maven\MavenRepository\com\fasterxml\jackson\core\jackson-annotations\2.16.1\jackson-annotations-2.16.1.jar;D:\apache-maven\MavenRepository\org\bouncycastle\bcprov-jdk18on\1.78\bcprov-jdk18on-1.78.jar;D:\apache-maven\MavenRepository\org\apache\commons\commons-compress\1.26.0\commons-compress-1.26.0.jar;D:\apache-maven\MavenRepository\commons-codec\commons-codec\1.16.1\commons-codec-1.16.1.jar;D:\apache-maven\MavenRepository\org\xerial\snappy\snappy-java\1.1.10.5\snappy-java-1.1.10.5.jar;D:\apache-maven\MavenRepository\io\github\yedaxia\japidocs\1.4.4\japidocs-1.4.4.jar;D:\apache-maven\MavenRepository\com\github\javaparser\javaparser-core\3.6.16\javaparser-core-3.6.16.jar;D:\apache-maven\MavenRepository\javax\xml\bind\jaxb-api\2.3.1\jaxb-api-2.3.1.jar;D:\apache-maven\MavenRepository\javax\activation\javax.activation-api\1.2.0\javax.activation-api-1.2.0.jar;D:\apache-maven\MavenRepository\javax\activation\activation\1.1.1\activation-1.1.1.jar;D:\apache-maven\MavenRepository\org\glassfish\jaxb\jaxb-runtime\2.3.3\jaxb-runtime-2.3.3.jar;D:\apache-maven\MavenRepository\jakarta\xml\bind\jakarta.xml.bind-api\2.3.3\jakarta.xml.bind-api-2.3.3.jar;D:\apache-maven\MavenRepository\org\glassfish\jaxb\txw2\2.3.3\txw2-2.3.3.jar;D:\apache-maven\MavenRepository\com\sun\istack\istack-commons-runtime\3.0.11\istack-commons-runtime-3.0.11.jar;D:\apache-maven\MavenRepository\com\sun\activation\jakarta.activation\1.2.2\jakarta.activation-1.2.2.jar;D:\apache-maven\MavenRepository\org\xerial\sqlite-jdbc\3.43.2.0\sqlite-jdbc-3.43.2.0.jar;D:\apache-maven\MavenRepository\org\slf4j\slf4j-api\2.0.16\slf4j-api-2.0.16.jar;D:\apache-maven\MavenRepository\net\sf\json-lib\json-lib\2.4\json-lib-2.4-jdk15.jar;D:\apache-maven\MavenRepository\commons-beanutils\commons-beanutils\1.8.0\commons-beanutils-1.8.0.jar;D:\apache-maven\MavenRepository\commons-collections\commons-collections\3.2.1\commons-collections-3.2.1.jar;D:\apache-maven\MavenRepository\net\sf\ezmorph\ezmorph\1.0.6\ezmorph-1.0.6.jar;D:\apache-maven\MavenRepository\commons-logging\commons-logging\1.2\commons-logging-1.2.jar;D:\apache-maven\MavenRepository\log4j\log4j\1.2.17\log4j-1.2.17.jar;D:\apache-maven\MavenRepository\org\slf4j\slf4j-log4j12\1.7.25\slf4j-log4j12-1.7.25.jar;D:\apache-maven\MavenRepository\ch\qos\logback\logback-classic\1.5.6\logback-classic-1.5.6.jar;D:\apache-maven\MavenRepository\ch\qos\logback\logback-core\1.5.6\logback-core-1.5.6.jar;D:\apache-maven\MavenRepository\cn\hutool\hutool-all\5.8.29\hutool-all-5.8.29.jar;D:\apache-maven\MavenRepository\com\alibaba\fastjson\2.0.52\fastjson-2.0.52.jar;D:\apache-maven\MavenRepository\com\alibaba\fastjson2\fastjson2-extension\2.0.52\fastjson2-extension-2.0.52.jar;D:\apache-maven\MavenRepository\com\alibaba\fastjson2\fastjson2\2.0.52\fastjson2-2.0.52.jar;D:\apache-maven\MavenRepository\org\jsoup\jsoup\1.17.2\jsoup-1.17.2.jar;D:\apache-maven\MavenRepository\com\google\code\gson\gson\2.10.1\gson-2.10.1.jar;D:\apache-maven\MavenRepository\commons-io\commons-io\2.14.0\commons-io-2.14.0.jar;D:\apache-maven\MavenRepository\org\apache\commons\commons-email\1.5\commons-email-1.5.jar;D:\apache-maven\MavenRepository\com\sun\mail\javax.mail\1.5.6\javax.mail-1.5.6.jar;D:\apache-maven\MavenRepository\org\apache\commons\commons-lang3\3.12.0\commons-lang3-3.12.0.jar;D:\apache-maven\MavenRepository\org\dom4j\dom4j\2.1.4\dom4j-2.1.4.jar;D:\apache-maven\MavenRepository\jaxen\jaxen\1.1.6\jaxen-1.1.6.jar;D:\apache-maven\MavenRepository\redis\clients\jedis\5.1.0\jedis-5.1.0.jar;D:\apache-maven\MavenRepository\org\apache\commons\commons-pool2\2.12.0\commons-pool2-2.12.0.jar;D:\apache-maven\MavenRepository\org\json\json\20231013\json-20231013.jar;D:\apache-maven\MavenRepository\org\apache\httpcomponents\httpmime\4.5.14\httpmime-4.5.14.jar;D:\apache-maven\MavenRepository\org\apache\httpcomponents\httpclient\4.5.14\httpclient-4.5.14.jar;D:\apache-maven\MavenRepository\org\apache\httpcomponents\httpcore\4.4.16\httpcore-4.4.16.jar;D:\apache-maven\MavenRepository\org\apache\logging\log4j\log4j-core\2.20.0\log4j-core-2.20.0.jar;D:\apache-maven\MavenRepository\org\apache\logging\log4j\log4j-api\2.20.0\log4j-api-2.20.0.jar;D:\apache-maven\MavenRepository\com\fasterxml\jackson\core\jackson-core\2.17.2\jackson-core-2.17.2.jar;D:\apache-maven\MavenRepository\com\fasterxml\jackson\core\jackson-databind\2.17.2\jackson-databind-2.17.2.jar;D:\apache-maven\MavenRepository\com\github\mwiede\jsch\0.2.19\jsch-0.2.19.jar;D:\apache-maven\MavenRepository\com\zaxxer\HikariCP\5.1.0\HikariCP-5.1.0.jar;D:\apache-maven\MavenRepository\com\alibaba\druid\1.2.23\druid-1.2.23.jar;D:\apache-maven\MavenRepository\org\yaml\snakeyaml\2.3\snakeyaml-2.3.jar;D:\apache-maven\MavenRepository\io\jsonwebtoken\jjwt\0.7.0\jjwt-0.7.0.jar;D:\apache-maven\MavenRepository\com\zendesk\mysql-binlog-connector-java\0.30.1\mysql-binlog-connector-java-0.30.1.jar;D:\apache-maven\MavenRepository\com\github\luben\zstd-jni\1.5.0-2\zstd-jni-1.5.0-2.jar;D:\apache-maven\MavenRepository\org\apache\poi\poi\5.2.5\poi-5.2.5.jar;D:\apache-maven\MavenRepository\org\apache\commons\commons-collections4\4.4\commons-collections4-4.4.jar;D:\apache-maven\MavenRepository\org\apache\commons\commons-math3\3.6.1\commons-math3-3.6.1.jar;D:\apache-maven\MavenRepository\com\zaxxer\SparseBitSet\1.3\SparseBitSet-1.3.jar;D:\apache-maven\MavenRepository\org\apache\poi\poi-ooxml\5.2.5\poi-ooxml-5.2.5.jar;D:\apache-maven\MavenRepository\org\apache\poi\poi-ooxml-lite\5.2.5\poi-ooxml-lite-5.2.5.jar;D:\apache-maven\MavenRepository\org\apache\xmlbeans\xmlbeans\5.2.0\xmlbeans-5.2.0.jar;D:\apache-maven\MavenRepository\com\github\virtuald\curvesapi\1.08\curvesapi-1.08.jar;D:\apache-maven\MavenRepository\org\apache\poi\poi-scratchpad\5.2.5\poi-scratchpad-5.2.5.jar com.dsideal.base.AI.Generator.AiGenerate 19:16:34,395 |-INFO in ch.qos.logback.classic.LoggerContext[default] - This is logback-classic version 1.5.6 19:16:34,397 |-INFO in ch.qos.logback.classic.util.ContextInitializer@3c3d9b6b - No custom configurators were discovered as a service. 19:16:34,397 |-INFO in ch.qos.logback.classic.util.ContextInitializer@3c3d9b6b - Trying to configure with ch.qos.logback.classic.joran.SerializedModelConfigurator diff --git a/src/main/java/com/dsideal/base/AI/AiGenerate.java b/src/main/java/com/dsideal/base/AI/AiGenerate.java deleted file mode 100644 index 30097d76..00000000 --- a/src/main/java/com/dsideal/base/AI/AiGenerate.java +++ /dev/null @@ -1,112 +0,0 @@ -package com.dsideal.base.AI; - -import com.dsideal.base.BaseApplication; -import com.dsideal.base.DataEase.Model.DataEaseModel; -import com.dsideal.base.Plugin.YamlProp; -import com.dsideal.base.Tools.DataCollector; -import com.dsideal.base.Util.CallDeepSeek; -import com.dsideal.base.Util.LocalMysqlConnectUtil; -import com.dsideal.base.Util.PptAIKit; - -import java.text.SimpleDateFormat; -import java.util.Date; - -/** - * AI生成器主类 - 协调数据获取、Word生成和PPT生成 - */ -public class AiGenerate { - public static DataEaseModel dm = new DataEaseModel(); - - public static void main(String[] args) { - try { - // 初始化配置 - initializeConfiguration(); - - // 定义对比地区 - String[] regions = {"文山州", "楚雄州"}; - - // 第一步:数据获取 - String dataContent = DataCollector.collectEducationData(regions); - String analysisPrompt = DataCollector.createAnalysisPrompt(dataContent, regions); - - // 第二步:AI分析并生成Word文档 - generateWordReport(analysisPrompt, regions); - - } catch (Exception e) { - System.err.println("程序执行出错: " + e.getMessage()); - e.printStackTrace(); - } - } - - /** - * 初始化配置 - */ - private static void initializeConfiguration() { - String configFile = "application.yaml"; - BaseApplication.PropKit = new YamlProp(configFile); - LocalMysqlConnectUtil.Init(); - } - - /** - * 生成Word报告 - */ - private static void generateWordReport(String analysisPrompt, String[] regions) { - // 生成输出文件名(不包含路径) - String timestamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date()); - - // 构建区域名称 - String regionName = String.join("与", regions); - - // 调用DeepSeek进行分析 - CallDeepSeek.callDeepSeekStream(analysisPrompt, new CallDeepSeek.SSEListener() { - private StringBuilder fullResponse = new StringBuilder(); - - @Override - public void onData(String data) { - System.out.print(data); - System.out.flush(); - fullResponse.append(data); - } - - @Override - public void onComplete(String response) { - System.out.println("\n\n=== Word文档分析完成 ==="); - - try { - // 使用完整的分析结果 - String analysisResult = fullResponse.toString(); - - // 生成Word文档 - String wordOutputPath = "D:\\dsWork\\YunNanDsBase\\WebRoot\\upload\\" + regionName + "_教育分析报告_" + timestamp + ".docx"; - String wordFilePath = WordGenerator.generateWordDocument(analysisResult, wordOutputPath, regions); - if (wordFilePath != null) { - System.out.println("Word文档生成完成: " + wordFilePath); - } - - // 生成HTML报告 - String htmlOutputPath = "D:\\dsWork\\YunNanDsBase\\WebRoot\\upload\\" + regionName + "_教育分析报告_" + timestamp + ".html"; - String htmlFilePath = HtmlGenerator.generateHtmlReport(analysisResult, htmlOutputPath, regionName); - if (htmlFilePath != null) { - System.out.println("HTML报告生成完成: " + htmlFilePath); - } - - // 生成PPT - String token = PptAIKit.createApiToken("dsideal", 1000); - String pptFilePath = PptGenerator.generatePptPresentation(analysisResult, regions, token); - if (pptFilePath != null) { - System.out.println("PPT演示文稿生成完成: " + pptFilePath); - } - - } catch (Exception e) { - System.err.println("保存文件时出错: " + e.getMessage()); - e.printStackTrace(); - } - } - - @Override - public void onError(String error) { - System.err.println("DeepSeek分析出错: " + error); - } - }); - } -} diff --git a/src/main/java/com/dsideal/base/AI/Controller/YunNanAiController.java b/src/main/java/com/dsideal/base/AI/Controller/YunNanAiController.java new file mode 100644 index 00000000..f7cf8c42 --- /dev/null +++ b/src/main/java/com/dsideal/base/AI/Controller/YunNanAiController.java @@ -0,0 +1,28 @@ +package com.dsideal.base.AI.Controller; + +import com.dsideal.base.AI.Model.YunNanModel; +import com.jfinal.aop.Before; +import com.jfinal.core.Controller; +import com.jfinal.ext.interceptor.GET; + +public class YunNanAiController extends Controller { + YunNanModel ym = new YunNanModel(); + + /** + * 对比市州,生成对比报告 + * + * @param shiZhouA 市州A + * @param shiZhouB 市州B + */ + @Before({GET.class}) + public void compareShiZhou(String shiZhouA, String shiZhouB) { + String[] regions = {shiZhouA, shiZhouB}; + // 第一步:数据获取 + String dataContent = ym.collectEducationData(regions); + String analysisPrompt = ym.createAnalysisPrompt(dataContent, regions); + + // 第二步:AI分析并生成Word文档 + ym.generateWordReport(analysisPrompt, regions); + } + +} diff --git a/src/main/java/com/dsideal/base/AI/HtmlGenerator.java b/src/main/java/com/dsideal/base/AI/Generator/HtmlGenerator.java similarity index 96% rename from src/main/java/com/dsideal/base/AI/HtmlGenerator.java rename to src/main/java/com/dsideal/base/AI/Generator/HtmlGenerator.java index b1c05b56..e6c9d4ee 100644 --- a/src/main/java/com/dsideal/base/AI/HtmlGenerator.java +++ b/src/main/java/com/dsideal/base/AI/Generator/HtmlGenerator.java @@ -1,4 +1,4 @@ -package com.dsideal.base.AI; +package com.dsideal.base.AI.Generator; import com.dsideal.base.Util.CallDeepSeek; import java.io.FileWriter; diff --git a/src/main/java/com/dsideal/base/AI/PptGenerator.java b/src/main/java/com/dsideal/base/AI/Generator/PptGenerator.java similarity index 97% rename from src/main/java/com/dsideal/base/AI/PptGenerator.java rename to src/main/java/com/dsideal/base/AI/Generator/PptGenerator.java index 4366e9c6..0bf90929 100644 --- a/src/main/java/com/dsideal/base/AI/PptGenerator.java +++ b/src/main/java/com/dsideal/base/AI/Generator/PptGenerator.java @@ -1,4 +1,4 @@ -package com.dsideal.base.AI; +package com.dsideal.base.AI.Generator; import com.alibaba.fastjson.JSONObject; import java.io.BufferedReader; diff --git a/src/main/java/com/dsideal/base/AI/WordGenerator.java b/src/main/java/com/dsideal/base/AI/Generator/WordGenerator.java similarity index 96% rename from src/main/java/com/dsideal/base/AI/WordGenerator.java rename to src/main/java/com/dsideal/base/AI/Generator/WordGenerator.java index 311c1255..6df770ee 100644 --- a/src/main/java/com/dsideal/base/AI/WordGenerator.java +++ b/src/main/java/com/dsideal/base/AI/Generator/WordGenerator.java @@ -1,4 +1,4 @@ -package com.dsideal.base.AI; +package com.dsideal.base.AI.Generator; import org.apache.poi.xwpf.usermodel.XWPFDocument; import org.apache.poi.xwpf.usermodel.XWPFParagraph; diff --git a/src/main/java/com/dsideal/base/AI/Model/YunNanModel.java b/src/main/java/com/dsideal/base/AI/Model/YunNanModel.java new file mode 100644 index 00000000..706c3ea4 --- /dev/null +++ b/src/main/java/com/dsideal/base/AI/Model/YunNanModel.java @@ -0,0 +1,150 @@ +package com.dsideal.base.AI.Model; + +import cn.hutool.json.JSONUtil; +import com.dsideal.base.AI.Generator.HtmlGenerator; +import com.dsideal.base.AI.Generator.PptGenerator; +import com.dsideal.base.AI.Generator.WordGenerator; +import com.dsideal.base.DataEase.Model.DataEaseModel; +import com.dsideal.base.Util.CallDeepSeek; +import com.dsideal.base.Util.PptAIKit; +import com.jfinal.plugin.activerecord.Db; +import com.jfinal.plugin.activerecord.Record; + +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.List; + +public class YunNanModel { + /** + * 收集指定地区的教育资源配置数据 + * + * @param regions 要对比的地区数组 + * @return 格式化的数据内容 + */ + public String collectEducationData(String[] regions) { + // 查询教育资源配置发展预测相关表 + String sql = "SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'dataease' AND TABLE_NAME LIKE 'excel_报告-教育资源配置发展预测%';"; + List tableList = Db.find(sql); + + StringBuilder dataContent = new StringBuilder(); + + // 构建数据标题 + dataContent.append("教育资源配置发展预测数据对比分析\n\n"); + dataContent.append("对比州市:").append(String.join(" vs ", regions)).append("\n\n"); + + // 遍历所有相关数据表 + for (com.jfinal.plugin.activerecord.Record record : tableList) { + String tableName = record.getStr("TABLE_NAME"); + dataContent.append("数据表:").append(tableName).append("\n"); + + // 为每个地区收集数据 + for (String region : regions) { + sql = "select * from `" + tableName + "` where `行政区划`=?"; + List listContent = Db.use(DataEaseModel.DB_NAME).find(sql, region); + + if (!listContent.isEmpty()) { + dataContent.append("\n").append(region).append("数据:\n"); + for (Record dataRecord : listContent) { + dataContent.append(JSONUtil.toJsonPrettyStr(dataRecord.getColumns())).append("\n"); + } + } else { + dataContent.append("\n").append(region).append(":无相关数据\n"); + } + } + dataContent.append("\n----------------------------------------\n\n"); + } + + return dataContent.toString(); + } + + /** + * 创建分析提示词 + * + * @param dataContent 数据内容 + * @param regions 对比地区 + * @return 分析提示词 + */ + public String createAnalysisPrompt(String dataContent, String[] regions) { + String regionNames = String.join("和", regions); + return "你是一位专业的教育数据分析专家,请基于以下数据对" + regionNames + "的教育资源配置情况进行深入对比分析。\n\n" + + "重要要求:请生成结构化的纯文本格式报告,使用清晰的段落结构,不要使用markdown语法。\n\n" + + "请按照以下结构进行分析并生成专业的分析报告:\n\n" + + "1. 执行摘要\n" + + " 简要概述两州教育资源配置的整体情况和主要发现\n\n" + + "2. 数据概览\n" + + " 两州基本教育数据对比和关键指标汇总\n\n" + + "3. 详细对比分析\n" + + " 教育资源配置水平对比、发展趋势分析、优势与不足分析\n\n" + + "4. 问题识别\n" + + " 存在的主要问题和资源配置不均衡情况\n\n" + + "5. 建议与对策\n" + + " 针对性改进建议和资源优化配置方案\n\n" + + "6. 结论\n" + + " 总体评价和未来发展方向\n\n" + + "请确保分析客观、专业,数据引用准确,建议具有可操作性。\n\n" + + "=== 原始数据 ===\n" + dataContent; + } + + /** + * 生成Word报告 + */ + public void generateWordReport(String analysisPrompt, String[] regions) { + // 生成输出文件名(不包含路径) + String timestamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date()); + + // 构建区域名称 + String regionName = String.join("与", regions); + + // 调用DeepSeek进行分析 + CallDeepSeek.callDeepSeekStream(analysisPrompt, new CallDeepSeek.SSEListener() { + private StringBuilder fullResponse = new StringBuilder(); + + @Override + public void onData(String data) { + System.out.print(data); + System.out.flush(); + fullResponse.append(data); + } + + @Override + public void onComplete(String response) { + System.out.println("\n\n=== Word文档分析完成 ==="); + + try { + // 使用完整的分析结果 + String analysisResult = fullResponse.toString(); + + // 生成Word文档 + String wordOutputPath = "D:\\dsWork\\YunNanDsBase\\WebRoot\\upload\\" + regionName + "_教育分析报告_" + timestamp + ".docx"; + String wordFilePath = WordGenerator.generateWordDocument(analysisResult, wordOutputPath, regions); + if (wordFilePath != null) { + System.out.println("Word文档生成完成: " + wordFilePath); + } + + // 生成HTML报告 + String htmlOutputPath = "D:\\dsWork\\YunNanDsBase\\WebRoot\\upload\\" + regionName + "_教育分析报告_" + timestamp + ".html"; + String htmlFilePath = HtmlGenerator.generateHtmlReport(analysisResult, htmlOutputPath, regionName); + if (htmlFilePath != null) { + System.out.println("HTML报告生成完成: " + htmlFilePath); + } + + // 生成PPT + String token = PptAIKit.createApiToken("dsideal", 1000); + String pptFilePath = PptGenerator.generatePptPresentation(analysisResult, regions, token); + if (pptFilePath != null) { + System.out.println("PPT演示文稿生成完成: " + pptFilePath); + } + + } catch (Exception e) { + System.err.println("保存文件时出错: " + e.getMessage()); + e.printStackTrace(); + } + } + + @Override + public void onError(String error) { + System.err.println("DeepSeek分析出错: " + error); + } + }); + } +} diff --git a/src/main/java/com/dsideal/base/BaseApplication.java b/src/main/java/com/dsideal/base/BaseApplication.java index 546c688d..a4df3531 100644 --- a/src/main/java/com/dsideal/base/BaseApplication.java +++ b/src/main/java/com/dsideal/base/BaseApplication.java @@ -1,5 +1,6 @@ package com.dsideal.base; +import com.dsideal.base.AI.Controller.YunNanAiController; import com.dsideal.base.Base.Controller.BaseController; import com.dsideal.base.Classes.Controller.ClassController; import com.dsideal.base.DataAuthority.Controller.DataAuthorityController; @@ -100,6 +101,8 @@ public class BaseApplication extends JFinalConfig { me.add("/res", ResourceController.class); //云校 me.add("/yx",YunXiaoController.class); + //大数据AI + me.add("/ai", YunNanAiController.class); } @Override diff --git a/src/main/java/com/dsideal/base/Tools/DataCollector.java b/src/main/java/com/dsideal/base/Tools/DataCollector.java deleted file mode 100644 index a59dc754..00000000 --- a/src/main/java/com/dsideal/base/Tools/DataCollector.java +++ /dev/null @@ -1,82 +0,0 @@ -package com.dsideal.base.Tools; - -import com.dsideal.base.DataEase.Model.DataEaseModel; -import com.jfinal.plugin.activerecord.Db; -import com.jfinal.plugin.activerecord.Record; -import cn.hutool.json.JSONUtil; - -import java.util.List; - -/** - * 数据收集器 - 负责从数据库获取教育资源配置数据 - */ -public class DataCollector { - - /** - * 收集指定地区的教育资源配置数据 - * @param regions 要对比的地区数组 - * @return 格式化的数据内容 - */ - public static String collectEducationData(String[] regions) { - // 查询教育资源配置发展预测相关表 - String sql = "SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'dataease' AND TABLE_NAME LIKE 'excel_报告-教育资源配置发展预测%';"; - List tableList = Db.find(sql); - - StringBuilder dataContent = new StringBuilder(); - - // 构建数据标题 - dataContent.append("教育资源配置发展预测数据对比分析\n\n"); - dataContent.append("对比州市:").append(String.join(" vs ", regions)).append("\n\n"); - - // 遍历所有相关数据表 - for (Record record : tableList) { - String tableName = record.getStr("TABLE_NAME"); - dataContent.append("数据表:").append(tableName).append("\n"); - - // 为每个地区收集数据 - for (String region : regions) { - sql = "select * from `" + tableName + "` where `行政区划`=?"; - List listContent = Db.use(DataEaseModel.DB_NAME).find(sql, region); - - if (!listContent.isEmpty()) { - dataContent.append("\n").append(region).append("数据:\n"); - for (Record dataRecord : listContent) { - dataContent.append(JSONUtil.toJsonPrettyStr(dataRecord.getColumns())).append("\n"); - } - } else { - dataContent.append("\n").append(region).append(":无相关数据\n"); - } - } - dataContent.append("\n----------------------------------------\n\n"); - } - - return dataContent.toString(); - } - - /** - * 创建分析提示词 - * @param dataContent 数据内容 - * @param regions 对比地区 - * @return 分析提示词 - */ - public static String createAnalysisPrompt(String dataContent, String[] regions) { - String regionNames = String.join("和", regions); - return "你是一位专业的教育数据分析专家,请基于以下数据对" + regionNames + "的教育资源配置情况进行深入对比分析。\n\n" + - "重要要求:请生成结构化的纯文本格式报告,使用清晰的段落结构,不要使用markdown语法。\n\n" + - "请按照以下结构进行分析并生成专业的分析报告:\n\n" + - "1. 执行摘要\n" + - " 简要概述两州教育资源配置的整体情况和主要发现\n\n" + - "2. 数据概览\n" + - " 两州基本教育数据对比和关键指标汇总\n\n" + - "3. 详细对比分析\n" + - " 教育资源配置水平对比、发展趋势分析、优势与不足分析\n\n" + - "4. 问题识别\n" + - " 存在的主要问题和资源配置不均衡情况\n\n" + - "5. 建议与对策\n" + - " 针对性改进建议和资源优化配置方案\n\n" + - "6. 结论\n" + - " 总体评价和未来发展方向\n\n" + - "请确保分析客观、专业,数据引用准确,建议具有可操作性。\n\n" + - "=== 原始数据 ===\n" + dataContent; - } -} \ No newline at end of file