From 0852760852f994ca263e6957cc08529b430f6284 Mon Sep 17 00:00:00 2001 From: Haixing Hu Date: Thu, 20 Feb 2025 15:34:19 +0800 Subject: [PATCH] =?UTF-8?q?init:=20=E5=88=9D=E5=A7=8B=E5=8C=96=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/pom.xml | 161 +++++++++++++++++ .../controller/GlobalExceptionHandler.java | 78 +++++++++ .../survey/controller/QuestionController.java | 61 +++++++ .../survey/controller/SurveyController.java | 56 ++++++ .../survey/controller/UserController.java | 53 ++++++ .../java/ltd/qubit/survey/dao/BaseDao.java | 51 ++++++ .../java/ltd/qubit/survey/dao/OptionDao.java | 43 +++++ .../ltd/qubit/survey/dao/QuestionDao.java | 41 +++++ .../qubit/survey/dao/SurveyResponseDao.java | 51 ++++++ .../java/ltd/qubit/survey/dao/UserDao.java | 27 +++ .../ltd/qubit/survey/model/ErrorInfo.java | 65 +++++++ .../java/ltd/qubit/survey/model/Option.java | 40 +++++ .../ltd/qubit/survey/model/PositionType.java | 36 ++++ .../java/ltd/qubit/survey/model/Question.java | 50 ++++++ .../ltd/qubit/survey/model/QuestionType.java | 21 +++ .../qubit/survey/model/SurveyResponse.java | 41 +++++ .../java/ltd/qubit/survey/model/User.java | 40 +++++ .../java/ltd/qubit/survey/model/WorkArea.java | 51 ++++++ .../ltd/qubit/survey/service/BaseService.java | 55 ++++++ .../qubit/survey/service/OptionService.java | 42 +++++ .../qubit/survey/service/QuestionService.java | 54 ++++++ .../survey/service/SurveyResponseService.java | 64 +++++++ .../ltd/qubit/survey/service/UserService.java | 46 +++++ .../service/impl/OptionServiceImpl.java | 73 ++++++++ .../service/impl/QuestionServiceImpl.java | 128 ++++++++++++++ .../impl/SurveyResponseServiceImpl.java | 111 ++++++++++++ .../survey/service/impl/UserServiceImpl.java | 72 ++++++++ .../src/main/resources/application.properties | 18 ++ .../resources/mybatis/mapper/OptionMapper.xml | 83 +++++++++ .../mybatis/mapper/QuestionMapper.xml | 86 +++++++++ .../mybatis/mapper/SurveyResponseMapper.xml | 93 ++++++++++ .../resources/mybatis/mapper/UserMapper.xml | 68 ++++++++ .../main/resources/mybatis/mybatis-config.xml | 32 ++++ .../resources/spring/applicationContext.xml | 24 +++ .../src/main/resources/spring/spring-mvc.xml | 46 +++++ .../main/resources/spring/spring-mybatis.xml | 39 +++++ backend/src/main/webapp/WEB-INF/web.xml | 57 ++++++ backend/target/classes/application.properties | 18 ++ .../controller/GlobalExceptionHandler.class | Bin 0 -> 5690 bytes .../controller/QuestionController.class | Bin 0 -> 3157 bytes .../survey/controller/SurveyController.class | Bin 0 -> 2039 bytes .../survey/controller/UserController.class | Bin 0 -> 2553 bytes .../ltd/qubit/survey/dao/BaseDao.class | Bin 0 -> 496 bytes .../ltd/qubit/survey/dao/OptionDao.class | Bin 0 -> 769 bytes .../ltd/qubit/survey/dao/QuestionDao.class | Bin 0 -> 791 bytes .../qubit/survey/dao/SurveyResponseDao.class | Bin 0 -> 842 bytes .../ltd/qubit/survey/dao/UserDao.class | Bin 0 -> 589 bytes .../ltd/qubit/survey/model/ErrorInfo.class | Bin 0 -> 3832 bytes .../ltd/qubit/survey/model/Option.class | Bin 0 -> 4217 bytes .../ltd/qubit/survey/model/PositionType.class | Bin 0 -> 1558 bytes .../ltd/qubit/survey/model/Question.class | Bin 0 -> 5546 bytes .../ltd/qubit/survey/model/QuestionType.class | Bin 0 -> 1203 bytes .../qubit/survey/model/SurveyResponse.class | Bin 0 -> 4455 bytes .../classes/ltd/qubit/survey/model/User.class | Bin 0 -> 4313 bytes .../ltd/qubit/survey/model/WorkArea.class | Bin 0 -> 1725 bytes .../qubit/survey/service/BaseService.class | Bin 0 -> 705 bytes .../qubit/survey/service/OptionService.class | Bin 0 -> 860 bytes .../survey/service/QuestionService.class | Bin 0 -> 1270 bytes .../service/SurveyResponseService.class | Bin 0 -> 1316 bytes .../qubit/survey/service/UserService.class | Bin 0 -> 885 bytes .../service/impl/OptionServiceImpl.class | Bin 0 -> 4157 bytes .../service/impl/QuestionServiceImpl$1.class | Bin 0 -> 916 bytes .../service/impl/QuestionServiceImpl.class | Bin 0 -> 6790 bytes .../impl/SurveyResponseServiceImpl.class | Bin 0 -> 6808 bytes .../survey/service/impl/UserServiceImpl.class | Bin 0 -> 3187 bytes .../classes/mybatis/mapper/OptionMapper.xml | 83 +++++++++ .../classes/mybatis/mapper/QuestionMapper.xml | 86 +++++++++ .../mybatis/mapper/SurveyResponseMapper.xml | 93 ++++++++++ .../classes/mybatis/mapper/UserMapper.xml | 68 ++++++++ .../target/classes/mybatis/mybatis-config.xml | 32 ++++ .../classes/spring/applicationContext.xml | 24 +++ backend/target/classes/spring/spring-mvc.xml | 46 +++++ .../target/classes/spring/spring-mybatis.xml | 39 +++++ .../compile/default-compile/createdFiles.lst | 27 +++ .../compile/default-compile/inputFiles.lst | 26 +++ database/init_database.sh | 30 ++++ database/init_database.sql | 73 ++++++++ doc/api.md | 163 ++++++++++++++++++ doc/requirements.md | 62 +++++++ doc/大模型应用需求调研问卷.md | 156 +++++++++++++++++ pom.xml | 161 +++++++++++++++++ .../controller/GlobalExceptionHandler.java | 78 +++++++++ .../survey/controller/QuestionController.java | 62 +++++++ .../survey/controller/SurveyController.java | 58 +++++++ .../survey/controller/UserController.java | 55 ++++++ .../java/ltd/qubit/survey/dao/BaseDao.java | 51 ++++++ .../java/ltd/qubit/survey/dao/OptionDao.java | 43 +++++ .../ltd/qubit/survey/dao/QuestionDao.java | 41 +++++ .../qubit/survey/dao/SurveyResponseDao.java | 51 ++++++ .../java/ltd/qubit/survey/dao/UserDao.java | 27 +++ .../ltd/qubit/survey/model/ErrorInfo.java | 65 +++++++ .../java/ltd/qubit/survey/model/Option.java | 40 +++++ .../ltd/qubit/survey/model/PositionType.java | 36 ++++ .../java/ltd/qubit/survey/model/Question.java | 50 ++++++ .../ltd/qubit/survey/model/QuestionType.java | 21 +++ .../qubit/survey/model/SurveyResponse.java | 41 +++++ .../java/ltd/qubit/survey/model/User.java | 40 +++++ .../java/ltd/qubit/survey/model/WorkArea.java | 51 ++++++ .../ltd/qubit/survey/service/BaseService.java | 55 ++++++ .../qubit/survey/service/OptionService.java | 42 +++++ .../qubit/survey/service/QuestionService.java | 54 ++++++ .../survey/service/SurveyResponseService.java | 64 +++++++ .../ltd/qubit/survey/service/UserService.java | 46 +++++ .../service/impl/OptionServiceImpl.java | 73 ++++++++ .../service/impl/QuestionServiceImpl.java | 128 ++++++++++++++ .../impl/SurveyResponseServiceImpl.java | 111 ++++++++++++ .../survey/service/impl/UserServiceImpl.java | 72 ++++++++ src/main/resources/application.properties | 18 ++ .../resources/mybatis/mapper/OptionMapper.xml | 83 +++++++++ .../mybatis/mapper/QuestionMapper.xml | 86 +++++++++ .../mybatis/mapper/SurveyResponseMapper.xml | 93 ++++++++++ .../resources/mybatis/mapper/UserMapper.xml | 68 ++++++++ src/main/resources/mybatis/mybatis-config.xml | 32 ++++ .../resources/spring/applicationContext.xml | 24 +++ src/main/resources/spring/spring-mvc.xml | 46 +++++ src/main/resources/spring/spring-mybatis.xml | 39 +++++ src/main/webapp/WEB-INF/web.xml | 57 ++++++ target/classes/application.properties | 18 ++ .../controller/GlobalExceptionHandler.class | Bin 0 -> 5690 bytes .../controller/QuestionController.class | Bin 0 -> 3157 bytes .../survey/controller/SurveyController.class | Bin 0 -> 2039 bytes .../survey/controller/UserController.class | Bin 0 -> 2553 bytes .../ltd/qubit/survey/dao/BaseDao.class | Bin 0 -> 496 bytes .../ltd/qubit/survey/dao/OptionDao.class | Bin 0 -> 769 bytes .../ltd/qubit/survey/dao/QuestionDao.class | Bin 0 -> 791 bytes .../qubit/survey/dao/SurveyResponseDao.class | Bin 0 -> 842 bytes .../ltd/qubit/survey/dao/UserDao.class | Bin 0 -> 589 bytes .../ltd/qubit/survey/model/ErrorInfo.class | Bin 0 -> 3832 bytes .../ltd/qubit/survey/model/Option.class | Bin 0 -> 4217 bytes .../ltd/qubit/survey/model/PositionType.class | Bin 0 -> 1558 bytes .../ltd/qubit/survey/model/Question.class | Bin 0 -> 5546 bytes .../ltd/qubit/survey/model/QuestionType.class | Bin 0 -> 1203 bytes .../qubit/survey/model/SurveyResponse.class | Bin 0 -> 4455 bytes .../classes/ltd/qubit/survey/model/User.class | Bin 0 -> 4313 bytes .../ltd/qubit/survey/model/WorkArea.class | Bin 0 -> 1725 bytes .../qubit/survey/service/BaseService.class | Bin 0 -> 705 bytes .../qubit/survey/service/OptionService.class | Bin 0 -> 860 bytes .../survey/service/QuestionService.class | Bin 0 -> 1270 bytes .../service/SurveyResponseService.class | Bin 0 -> 1316 bytes .../qubit/survey/service/UserService.class | Bin 0 -> 885 bytes .../service/impl/OptionServiceImpl.class | Bin 0 -> 4157 bytes .../service/impl/QuestionServiceImpl$1.class | Bin 0 -> 916 bytes .../service/impl/QuestionServiceImpl.class | Bin 0 -> 6790 bytes .../impl/SurveyResponseServiceImpl.class | Bin 0 -> 6808 bytes .../survey/service/impl/UserServiceImpl.class | Bin 0 -> 3187 bytes .../classes/mybatis/mapper/OptionMapper.xml | 83 +++++++++ .../classes/mybatis/mapper/QuestionMapper.xml | 86 +++++++++ .../mybatis/mapper/SurveyResponseMapper.xml | 93 ++++++++++ target/classes/mybatis/mapper/UserMapper.xml | 68 ++++++++ target/classes/mybatis/mybatis-config.xml | 32 ++++ target/classes/spring/applicationContext.xml | 24 +++ target/classes/spring/spring-mvc.xml | 46 +++++ target/classes/spring/spring-mybatis.xml | 39 +++++ .../compile/default-compile/createdFiles.lst | 27 +++ .../compile/default-compile/inputFiles.lst | 26 +++ 155 files changed, 5887 insertions(+) create mode 100644 backend/pom.xml create mode 100644 backend/src/main/java/ltd/qubit/survey/controller/GlobalExceptionHandler.java create mode 100644 backend/src/main/java/ltd/qubit/survey/controller/QuestionController.java create mode 100644 backend/src/main/java/ltd/qubit/survey/controller/SurveyController.java create mode 100644 backend/src/main/java/ltd/qubit/survey/controller/UserController.java create mode 100644 backend/src/main/java/ltd/qubit/survey/dao/BaseDao.java create mode 100644 backend/src/main/java/ltd/qubit/survey/dao/OptionDao.java create mode 100644 backend/src/main/java/ltd/qubit/survey/dao/QuestionDao.java create mode 100644 backend/src/main/java/ltd/qubit/survey/dao/SurveyResponseDao.java create mode 100644 backend/src/main/java/ltd/qubit/survey/dao/UserDao.java create mode 100644 backend/src/main/java/ltd/qubit/survey/model/ErrorInfo.java create mode 100644 backend/src/main/java/ltd/qubit/survey/model/Option.java create mode 100644 backend/src/main/java/ltd/qubit/survey/model/PositionType.java create mode 100644 backend/src/main/java/ltd/qubit/survey/model/Question.java create mode 100644 backend/src/main/java/ltd/qubit/survey/model/QuestionType.java create mode 100644 backend/src/main/java/ltd/qubit/survey/model/SurveyResponse.java create mode 100644 backend/src/main/java/ltd/qubit/survey/model/User.java create mode 100644 backend/src/main/java/ltd/qubit/survey/model/WorkArea.java create mode 100644 backend/src/main/java/ltd/qubit/survey/service/BaseService.java create mode 100644 backend/src/main/java/ltd/qubit/survey/service/OptionService.java create mode 100644 backend/src/main/java/ltd/qubit/survey/service/QuestionService.java create mode 100644 backend/src/main/java/ltd/qubit/survey/service/SurveyResponseService.java create mode 100644 backend/src/main/java/ltd/qubit/survey/service/UserService.java create mode 100644 backend/src/main/java/ltd/qubit/survey/service/impl/OptionServiceImpl.java create mode 100644 backend/src/main/java/ltd/qubit/survey/service/impl/QuestionServiceImpl.java create mode 100644 backend/src/main/java/ltd/qubit/survey/service/impl/SurveyResponseServiceImpl.java create mode 100644 backend/src/main/java/ltd/qubit/survey/service/impl/UserServiceImpl.java create mode 100644 backend/src/main/resources/application.properties create mode 100644 backend/src/main/resources/mybatis/mapper/OptionMapper.xml create mode 100644 backend/src/main/resources/mybatis/mapper/QuestionMapper.xml create mode 100644 backend/src/main/resources/mybatis/mapper/SurveyResponseMapper.xml create mode 100644 backend/src/main/resources/mybatis/mapper/UserMapper.xml create mode 100644 backend/src/main/resources/mybatis/mybatis-config.xml create mode 100644 backend/src/main/resources/spring/applicationContext.xml create mode 100644 backend/src/main/resources/spring/spring-mvc.xml create mode 100644 backend/src/main/resources/spring/spring-mybatis.xml create mode 100644 backend/src/main/webapp/WEB-INF/web.xml create mode 100644 backend/target/classes/application.properties create mode 100644 backend/target/classes/ltd/qubit/survey/controller/GlobalExceptionHandler.class create mode 100644 backend/target/classes/ltd/qubit/survey/controller/QuestionController.class create mode 100644 backend/target/classes/ltd/qubit/survey/controller/SurveyController.class create mode 100644 backend/target/classes/ltd/qubit/survey/controller/UserController.class create mode 100644 backend/target/classes/ltd/qubit/survey/dao/BaseDao.class create mode 100644 backend/target/classes/ltd/qubit/survey/dao/OptionDao.class create mode 100644 backend/target/classes/ltd/qubit/survey/dao/QuestionDao.class create mode 100644 backend/target/classes/ltd/qubit/survey/dao/SurveyResponseDao.class create mode 100644 backend/target/classes/ltd/qubit/survey/dao/UserDao.class create mode 100644 backend/target/classes/ltd/qubit/survey/model/ErrorInfo.class create mode 100644 backend/target/classes/ltd/qubit/survey/model/Option.class create mode 100644 backend/target/classes/ltd/qubit/survey/model/PositionType.class create mode 100644 backend/target/classes/ltd/qubit/survey/model/Question.class create mode 100644 backend/target/classes/ltd/qubit/survey/model/QuestionType.class create mode 100644 backend/target/classes/ltd/qubit/survey/model/SurveyResponse.class create mode 100644 backend/target/classes/ltd/qubit/survey/model/User.class create mode 100644 backend/target/classes/ltd/qubit/survey/model/WorkArea.class create mode 100644 backend/target/classes/ltd/qubit/survey/service/BaseService.class create mode 100644 backend/target/classes/ltd/qubit/survey/service/OptionService.class create mode 100644 backend/target/classes/ltd/qubit/survey/service/QuestionService.class create mode 100644 backend/target/classes/ltd/qubit/survey/service/SurveyResponseService.class create mode 100644 backend/target/classes/ltd/qubit/survey/service/UserService.class create mode 100644 backend/target/classes/ltd/qubit/survey/service/impl/OptionServiceImpl.class create mode 100644 backend/target/classes/ltd/qubit/survey/service/impl/QuestionServiceImpl$1.class create mode 100644 backend/target/classes/ltd/qubit/survey/service/impl/QuestionServiceImpl.class create mode 100644 backend/target/classes/ltd/qubit/survey/service/impl/SurveyResponseServiceImpl.class create mode 100644 backend/target/classes/ltd/qubit/survey/service/impl/UserServiceImpl.class create mode 100644 backend/target/classes/mybatis/mapper/OptionMapper.xml create mode 100644 backend/target/classes/mybatis/mapper/QuestionMapper.xml create mode 100644 backend/target/classes/mybatis/mapper/SurveyResponseMapper.xml create mode 100644 backend/target/classes/mybatis/mapper/UserMapper.xml create mode 100644 backend/target/classes/mybatis/mybatis-config.xml create mode 100644 backend/target/classes/spring/applicationContext.xml create mode 100644 backend/target/classes/spring/spring-mvc.xml create mode 100644 backend/target/classes/spring/spring-mybatis.xml create mode 100644 backend/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst create mode 100644 backend/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst create mode 100755 database/init_database.sh create mode 100644 database/init_database.sql create mode 100644 doc/api.md create mode 100644 doc/requirements.md create mode 100644 doc/大模型应用需求调研问卷.md create mode 100644 pom.xml create mode 100644 src/main/java/ltd/qubit/survey/controller/GlobalExceptionHandler.java create mode 100644 src/main/java/ltd/qubit/survey/controller/QuestionController.java create mode 100644 src/main/java/ltd/qubit/survey/controller/SurveyController.java create mode 100644 src/main/java/ltd/qubit/survey/controller/UserController.java create mode 100644 src/main/java/ltd/qubit/survey/dao/BaseDao.java create mode 100644 src/main/java/ltd/qubit/survey/dao/OptionDao.java create mode 100644 src/main/java/ltd/qubit/survey/dao/QuestionDao.java create mode 100644 src/main/java/ltd/qubit/survey/dao/SurveyResponseDao.java create mode 100644 src/main/java/ltd/qubit/survey/dao/UserDao.java create mode 100644 src/main/java/ltd/qubit/survey/model/ErrorInfo.java create mode 100644 src/main/java/ltd/qubit/survey/model/Option.java create mode 100644 src/main/java/ltd/qubit/survey/model/PositionType.java create mode 100644 src/main/java/ltd/qubit/survey/model/Question.java create mode 100644 src/main/java/ltd/qubit/survey/model/QuestionType.java create mode 100644 src/main/java/ltd/qubit/survey/model/SurveyResponse.java create mode 100644 src/main/java/ltd/qubit/survey/model/User.java create mode 100644 src/main/java/ltd/qubit/survey/model/WorkArea.java create mode 100644 src/main/java/ltd/qubit/survey/service/BaseService.java create mode 100644 src/main/java/ltd/qubit/survey/service/OptionService.java create mode 100644 src/main/java/ltd/qubit/survey/service/QuestionService.java create mode 100644 src/main/java/ltd/qubit/survey/service/SurveyResponseService.java create mode 100644 src/main/java/ltd/qubit/survey/service/UserService.java create mode 100644 src/main/java/ltd/qubit/survey/service/impl/OptionServiceImpl.java create mode 100644 src/main/java/ltd/qubit/survey/service/impl/QuestionServiceImpl.java create mode 100644 src/main/java/ltd/qubit/survey/service/impl/SurveyResponseServiceImpl.java create mode 100644 src/main/java/ltd/qubit/survey/service/impl/UserServiceImpl.java create mode 100644 src/main/resources/application.properties create mode 100644 src/main/resources/mybatis/mapper/OptionMapper.xml create mode 100644 src/main/resources/mybatis/mapper/QuestionMapper.xml create mode 100644 src/main/resources/mybatis/mapper/SurveyResponseMapper.xml create mode 100644 src/main/resources/mybatis/mapper/UserMapper.xml create mode 100644 src/main/resources/mybatis/mybatis-config.xml create mode 100644 src/main/resources/spring/applicationContext.xml create mode 100644 src/main/resources/spring/spring-mvc.xml create mode 100644 src/main/resources/spring/spring-mybatis.xml create mode 100644 src/main/webapp/WEB-INF/web.xml create mode 100644 target/classes/application.properties create mode 100644 target/classes/ltd/qubit/survey/controller/GlobalExceptionHandler.class create mode 100644 target/classes/ltd/qubit/survey/controller/QuestionController.class create mode 100644 target/classes/ltd/qubit/survey/controller/SurveyController.class create mode 100644 target/classes/ltd/qubit/survey/controller/UserController.class create mode 100644 target/classes/ltd/qubit/survey/dao/BaseDao.class create mode 100644 target/classes/ltd/qubit/survey/dao/OptionDao.class create mode 100644 target/classes/ltd/qubit/survey/dao/QuestionDao.class create mode 100644 target/classes/ltd/qubit/survey/dao/SurveyResponseDao.class create mode 100644 target/classes/ltd/qubit/survey/dao/UserDao.class create mode 100644 target/classes/ltd/qubit/survey/model/ErrorInfo.class create mode 100644 target/classes/ltd/qubit/survey/model/Option.class create mode 100644 target/classes/ltd/qubit/survey/model/PositionType.class create mode 100644 target/classes/ltd/qubit/survey/model/Question.class create mode 100644 target/classes/ltd/qubit/survey/model/QuestionType.class create mode 100644 target/classes/ltd/qubit/survey/model/SurveyResponse.class create mode 100644 target/classes/ltd/qubit/survey/model/User.class create mode 100644 target/classes/ltd/qubit/survey/model/WorkArea.class create mode 100644 target/classes/ltd/qubit/survey/service/BaseService.class create mode 100644 target/classes/ltd/qubit/survey/service/OptionService.class create mode 100644 target/classes/ltd/qubit/survey/service/QuestionService.class create mode 100644 target/classes/ltd/qubit/survey/service/SurveyResponseService.class create mode 100644 target/classes/ltd/qubit/survey/service/UserService.class create mode 100644 target/classes/ltd/qubit/survey/service/impl/OptionServiceImpl.class create mode 100644 target/classes/ltd/qubit/survey/service/impl/QuestionServiceImpl$1.class create mode 100644 target/classes/ltd/qubit/survey/service/impl/QuestionServiceImpl.class create mode 100644 target/classes/ltd/qubit/survey/service/impl/SurveyResponseServiceImpl.class create mode 100644 target/classes/ltd/qubit/survey/service/impl/UserServiceImpl.class create mode 100644 target/classes/mybatis/mapper/OptionMapper.xml create mode 100644 target/classes/mybatis/mapper/QuestionMapper.xml create mode 100644 target/classes/mybatis/mapper/SurveyResponseMapper.xml create mode 100644 target/classes/mybatis/mapper/UserMapper.xml create mode 100644 target/classes/mybatis/mybatis-config.xml create mode 100644 target/classes/spring/applicationContext.xml create mode 100644 target/classes/spring/spring-mvc.xml create mode 100644 target/classes/spring/spring-mybatis.xml create mode 100644 target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst create mode 100644 target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst diff --git a/backend/pom.xml b/backend/pom.xml new file mode 100644 index 0000000..f7deefc --- /dev/null +++ b/backend/pom.xml @@ -0,0 +1,161 @@ + + + 4.0.0 + + ltd.qubit + llm-survey-api + 1.0-SNAPSHOT + war + + + 17 + ${java.version} + ${java.version} + UTF-8 + 5.3.31 + 3.5.15 + 2.1.2 + 8.3.0 + 5.1.0 + 2.16.1 + 1.18.30 + 2.0.11 + 1.4.14 + 4.0.1 + + + + + + org.springframework + spring-webmvc + ${spring.version} + + + org.springframework + spring-jdbc + ${spring.version} + + + org.springframework + spring-context-support + ${spring.version} + + + org.springframework + spring-tx + ${spring.version} + + + + + org.mybatis + mybatis + ${mybatis.version} + + + org.mybatis + mybatis-spring + ${mybatis-spring.version} + + + + + com.mysql + mysql-connector-j + ${mysql-connector.version} + + + + + com.zaxxer + HikariCP + ${hikaricp.version} + + + + + com.fasterxml.jackson.core + jackson-databind + ${jackson.version} + + + + + org.projectlombok + lombok + ${lombok.version} + provided + + + + + org.slf4j + slf4j-api + ${slf4j.version} + + + ch.qos.logback + logback-classic + ${logback.version} + + + + + javax.servlet + javax.servlet-api + ${servlet-api.version} + provided + + + + + llm-survey-api + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.11.0 + + ${java.version} + ${project.build.sourceEncoding} + + + org.projectlombok + lombok + ${lombok.version} + + + + + + + + org.apache.maven.plugins + maven-war-plugin + 3.4.0 + + false + + + + + + + + src/main/resources + true + + + src/main/java + + **/*.xml + + true + + + + \ No newline at end of file diff --git a/backend/src/main/java/ltd/qubit/survey/controller/GlobalExceptionHandler.java b/backend/src/main/java/ltd/qubit/survey/controller/GlobalExceptionHandler.java new file mode 100644 index 0000000..ef094e3 --- /dev/null +++ b/backend/src/main/java/ltd/qubit/survey/controller/GlobalExceptionHandler.java @@ -0,0 +1,78 @@ +package ltd.qubit.survey.controller; + +import lombok.extern.slf4j.Slf4j; +import ltd.qubit.survey.model.ErrorInfo; +import org.springframework.dao.DataAccessException; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.validation.BindException; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.RestControllerAdvice; + +/** + * 全局异常处理器 + */ +@Slf4j +@RestControllerAdvice +public class GlobalExceptionHandler { + + /** + * 处理参数校验异常 + */ + @ExceptionHandler(BindException.class) + public ResponseEntity handleBindException(BindException e) { + String message = e.getBindingResult().getFieldErrors().stream() + .map(error -> error.getField() + ": " + error.getDefaultMessage()) + .reduce((a, b) -> a + "; " + b) + .orElse("参数错误"); + + ErrorInfo error = ErrorInfo.of( + "INVALID_ARGUMENT", + "参数校验失败", + message, + e.getObjectName()); + + return new ResponseEntity<>(error, HttpStatus.BAD_REQUEST); + } + + /** + * 处理业务异常 + */ + @ExceptionHandler(IllegalArgumentException.class) + public ResponseEntity handleIllegalArgumentException(IllegalArgumentException e) { + log.warn("业务异常", e); + ErrorInfo error = ErrorInfo.of( + "BAD_REQUEST", + e.getMessage(), + e.getClass().getName()); + return new ResponseEntity<>(error, HttpStatus.BAD_REQUEST); + } + + /** + * 处理数据访问异常 + */ + @ExceptionHandler(DataAccessException.class) + public ResponseEntity handleDataAccessException(DataAccessException e) { + log.error("数据访问异常", e); + ErrorInfo error = ErrorInfo.of( + "DATABASE_ERROR", + "数据库访问错误", + e.getMessage(), + e.getClass().getName()); + return new ResponseEntity<>(error, HttpStatus.INTERNAL_SERVER_ERROR); + } + + /** + * 处理其他未知异常 + */ + @ExceptionHandler(Exception.class) + public ResponseEntity handleUnknownException(Exception e) { + log.error("系统异常", e); + ErrorInfo error = ErrorInfo.of( + "SYSTEM_ERROR", + "系统错误", + e.getMessage(), + e.getClass().getName()); + return new ResponseEntity<>(error, HttpStatus.INTERNAL_SERVER_ERROR); + } +} \ No newline at end of file diff --git a/backend/src/main/java/ltd/qubit/survey/controller/QuestionController.java b/backend/src/main/java/ltd/qubit/survey/controller/QuestionController.java new file mode 100644 index 0000000..e983c75 --- /dev/null +++ b/backend/src/main/java/ltd/qubit/survey/controller/QuestionController.java @@ -0,0 +1,61 @@ +package ltd.qubit.survey.controller; + +import java.util.List; +import lombok.RequiredArgsConstructor; +import ltd.qubit.survey.model.Question; +import ltd.qubit.survey.model.Option; +import ltd.qubit.survey.service.QuestionService; +import ltd.qubit.survey.service.OptionService; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * 问题控制器 + */ +@RestController +@RequiredArgsConstructor +public class QuestionController { + private final QuestionService questionService; + private final OptionService optionService; + + /** + * 获取用户的问题列表 + * + * @param userId 用户ID + * @return 问题列表 + */ + @GetMapping("/question/user/{userId}") + public List getUserQuestions(@PathVariable Long userId) { + return questionService.getUserQuestions(userId); + } + + /** + * 获取问题的选项列表 + * + * @param questionId 问题ID + * @return 选项列表 + */ + @GetMapping("/question/{questionId}/option") + public List