diff --git a/.gitignore b/.gitignore old mode 100644 new mode 100755 diff --git a/HELP.md b/HELP.md old mode 100644 new mode 100755 diff --git a/LICENSE b/LICENSE old mode 100644 new mode 100755 diff --git a/README.md b/README.md old mode 100644 new mode 100755 diff --git a/ai-interview-ard.vue b/ai-interview-ard.vue deleted file mode 100644 index 7aa1e81..0000000 --- a/ai-interview-ard.vue +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - - 欢迎回来! - 准备好开始您的下一次模拟面试了吗?在这里管理您的题库,不断提升面试技巧。 - - - - - - - - - - - - - 开始模拟面试 - 上传简历,与AI进行实战演练 - - - - - - - - - - - 题库管理 - 新增、编辑和导入您的面试题库 - - - - - - - - - - - 面试历史 - 查看过往的面试记录与AI复盘报告 - - - - - - - - - - - diff --git a/mvnw b/mvnw old mode 100644 new mode 100755 diff --git a/mvnw.cmd b/mvnw.cmd old mode 100644 new mode 100755 diff --git a/pom.xml b/pom.xml old mode 100644 new mode 100755 diff --git a/sql/.idea/.gitignore b/sql/.idea/.gitignore old mode 100644 new mode 100755 diff --git a/src/main/java/com/qingqiu/interview/AiInterviewApplication.java b/src/main/java/com/qingqiu/interview/AiInterviewApplication.java old mode 100644 new mode 100755 diff --git a/src/main/java/com/qingqiu/interview/ai/entity/Message.java b/src/main/java/com/qingqiu/interview/ai/entity/Message.java old mode 100644 new mode 100755 diff --git a/src/main/java/com/qingqiu/interview/ai/factory/AIClientFactory.java b/src/main/java/com/qingqiu/interview/ai/factory/AIClientFactory.java old mode 100644 new mode 100755 diff --git a/src/main/java/com/qingqiu/interview/ai/factory/AIClientManager.java b/src/main/java/com/qingqiu/interview/ai/factory/AIClientManager.java old mode 100644 new mode 100755 diff --git a/src/main/java/com/qingqiu/interview/ai/factory/DeepSeekClientFactory.java b/src/main/java/com/qingqiu/interview/ai/factory/DeepSeekClientFactory.java old mode 100644 new mode 100755 diff --git a/src/main/java/com/qingqiu/interview/ai/factory/QwenClientFactory.java b/src/main/java/com/qingqiu/interview/ai/factory/QwenClientFactory.java old mode 100644 new mode 100755 diff --git a/src/main/java/com/qingqiu/interview/ai/service/AIClientService.java b/src/main/java/com/qingqiu/interview/ai/service/AIClientService.java old mode 100644 new mode 100755 diff --git a/src/main/java/com/qingqiu/interview/ai/service/impl/DeepSeekClientServiceImpl.java b/src/main/java/com/qingqiu/interview/ai/service/impl/DeepSeekClientServiceImpl.java old mode 100644 new mode 100755 diff --git a/src/main/java/com/qingqiu/interview/ai/service/impl/QwenClientServiceImpl.java b/src/main/java/com/qingqiu/interview/ai/service/impl/QwenClientServiceImpl.java old mode 100644 new mode 100755 diff --git a/src/main/java/com/qingqiu/interview/common/constants/AIStrategyConstant.java b/src/main/java/com/qingqiu/interview/common/constants/AIStrategyConstant.java old mode 100644 new mode 100755 diff --git a/src/main/java/com/qingqiu/interview/common/constants/CommonConstant.java b/src/main/java/com/qingqiu/interview/common/constants/CommonConstant.java old mode 100644 new mode 100755 diff --git a/src/main/java/com/qingqiu/interview/common/constants/QwenModelConstant.java b/src/main/java/com/qingqiu/interview/common/constants/QwenModelConstant.java old mode 100644 new mode 100755 diff --git a/src/main/java/com/qingqiu/interview/common/enums/CommonStateEnum.java b/src/main/java/com/qingqiu/interview/common/enums/CommonStateEnum.java old mode 100644 new mode 100755 diff --git a/src/main/java/com/qingqiu/interview/common/ex/ApiException.java b/src/main/java/com/qingqiu/interview/common/ex/ApiException.java old mode 100644 new mode 100755 diff --git a/src/main/java/com/qingqiu/interview/common/ex/GlobalErrorHandler.java b/src/main/java/com/qingqiu/interview/common/ex/GlobalErrorHandler.java old mode 100644 new mode 100755 diff --git a/src/main/java/com/qingqiu/interview/common/res/IErrorCode.java b/src/main/java/com/qingqiu/interview/common/res/IErrorCode.java old mode 100644 new mode 100755 diff --git a/src/main/java/com/qingqiu/interview/common/res/R.java b/src/main/java/com/qingqiu/interview/common/res/R.java old mode 100644 new mode 100755 diff --git a/src/main/java/com/qingqiu/interview/common/res/ResultCode.java b/src/main/java/com/qingqiu/interview/common/res/ResultCode.java old mode 100644 new mode 100755 diff --git a/src/main/java/com/qingqiu/interview/common/service/HttpService.java b/src/main/java/com/qingqiu/interview/common/service/HttpService.java old mode 100644 new mode 100755 diff --git a/src/main/java/com/qingqiu/interview/common/service/impl/HttpServiceImpl.java b/src/main/java/com/qingqiu/interview/common/service/impl/HttpServiceImpl.java old mode 100644 new mode 100755 diff --git a/src/main/java/com/qingqiu/interview/common/utils/AIUtils.java b/src/main/java/com/qingqiu/interview/common/utils/AIUtils.java old mode 100644 new mode 100755 diff --git a/src/main/java/com/qingqiu/interview/common/utils/SpringApplicationContextUtil.java b/src/main/java/com/qingqiu/interview/common/utils/SpringApplicationContextUtil.java old mode 100644 new mode 100755 diff --git a/src/main/java/com/qingqiu/interview/common/utils/TreeUtil.java b/src/main/java/com/qingqiu/interview/common/utils/TreeUtil.java old mode 100644 new mode 100755 diff --git a/src/main/java/com/qingqiu/interview/config/DashScopeConfig.java b/src/main/java/com/qingqiu/interview/config/DashScopeConfig.java old mode 100644 new mode 100755 diff --git a/src/main/java/com/qingqiu/interview/config/JacksonConfig.java b/src/main/java/com/qingqiu/interview/config/JacksonConfig.java old mode 100644 new mode 100755 diff --git a/src/main/java/com/qingqiu/interview/config/MyBatisPlusConfig.java b/src/main/java/com/qingqiu/interview/config/MyBatisPlusConfig.java old mode 100644 new mode 100755 diff --git a/src/main/java/com/qingqiu/interview/config/WebClientConfig.java b/src/main/java/com/qingqiu/interview/config/WebClientConfig.java old mode 100644 new mode 100755 diff --git a/src/main/java/com/qingqiu/interview/controller/AiSessionLogController.java b/src/main/java/com/qingqiu/interview/controller/AiSessionLogController.java old mode 100644 new mode 100755 diff --git a/src/main/java/com/qingqiu/interview/controller/DashboardController.java b/src/main/java/com/qingqiu/interview/controller/DashboardController.java old mode 100644 new mode 100755 diff --git a/src/main/java/com/qingqiu/interview/controller/InterviewController.java b/src/main/java/com/qingqiu/interview/controller/InterviewController.java old mode 100644 new mode 100755 diff --git a/src/main/java/com/qingqiu/interview/controller/InterviewQuestionProgressController.java b/src/main/java/com/qingqiu/interview/controller/InterviewQuestionProgressController.java old mode 100644 new mode 100755 diff --git a/src/main/java/com/qingqiu/interview/controller/QuestionCategoryController.java b/src/main/java/com/qingqiu/interview/controller/QuestionCategoryController.java old mode 100644 new mode 100755 index ca46d2d..86113fe --- a/src/main/java/com/qingqiu/interview/controller/QuestionCategoryController.java +++ b/src/main/java/com/qingqiu/interview/controller/QuestionCategoryController.java @@ -1,15 +1,159 @@ package com.qingqiu.interview.controller; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.qingqiu.interview.common.res.R; +import com.qingqiu.interview.dto.QuestionCategoryDTO; +import com.qingqiu.interview.dto.QuestionCategoryPageParams; +import com.qingqiu.interview.entity.QuestionCategory; import com.qingqiu.interview.service.IQuestionCategoryService; import lombok.RequiredArgsConstructor; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import java.util.List; + +@Slf4j @RestController @RequestMapping("/api/v1/question-category") @RequiredArgsConstructor public class QuestionCategoryController { private final IQuestionCategoryService questionCategoryService; + + /** + * 获取分类树列表 + */ + @GetMapping("/tree-list") + public R> getTreeList() { + try { + List list = questionCategoryService.getTreeList(); + return R.success(list); + } catch (Exception e) { + log.error("获取分类树列表失败", e); + return R.error("获取分类树列表失败"); + } + } + + /** + * 获取分类选项 + */ + @GetMapping("/options") + public R> getOptions() { + try { + List options = questionCategoryService.getOptions(); + return R.success(options); + } catch (Exception e) { + log.error("获取分类选项失败", e); + return R.error("获取分类选项失败"); + } + } + + /** + * 获取分类详情 + */ + @GetMapping("/{id}") + public R getDetail(@PathVariable Long id) { + try { + QuestionCategory category = questionCategoryService.getCategoryDetail(id); + return R.success(category); + } catch (Exception e) { + log.error("获取分类详情失败", e); + return R.error("获取分类详情失败"); + } + } + + /** + * 分页查询分类 + */ + @GetMapping("/page") + public R> getPage(QuestionCategoryPageParams query) { + try { + Page pageR = questionCategoryService.getCategoryPage(query); + return R.success(pageR); + } catch (Exception e) { + log.error("分页查询分类失败", e); + return R.error("分页查询分类失败"); + } + } + + /** + * 创建分类 + */ + @PostMapping + public R create(@Validated @RequestBody QuestionCategoryDTO dto) { + try { + Long id = questionCategoryService.createCategory(dto); + return R.success(id); + } catch (RuntimeException e) { + log.error("创建分类失败", e); + return R.error(e.getMessage()); + } catch (Exception e) { + log.error("创建分类失败", e); + return R.error("创建分类失败"); + } + } + + /** + * 更新分类 + */ + @PutMapping("/{id}") + public R update(@PathVariable Long id, @Validated @RequestBody QuestionCategoryDTO dto) { + try { + questionCategoryService.updateCategory(id, dto); + return R.success(); + } catch (RuntimeException e) { + log.error("更新分类失败", e); + return R.error(e.getMessage()); + } catch (Exception e) { + log.error("更新分类失败", e); + return R.error("更新分类失败"); + } + } + + /** + * 删除分类 + */ + @DeleteMapping("/{id}") + public R delete(@PathVariable Long id) { + try { + questionCategoryService.deleteCategory(id); + return R.success(); + } catch (RuntimeException e) { + log.error("删除分类失败", e); + return R.error(e.getMessage()); + } catch (Exception e) { + log.error("删除分类失败", e); + return R.error("删除分类失败"); + } + } + + /** + * 更新分类状态 + */ + @PatchMapping("/{id}/state") + public R updateState(@PathVariable Long id, @RequestParam Integer state) { + try { + questionCategoryService.updateState(id, state); + return R.success(); + } catch (Exception e) { + log.error("更新分类状态失败", e); + return R.error("更新分类状态失败"); + } + } + + /** + * 搜索分类 + */ + @GetMapping("/search") + public R> search(@RequestParam String name) { + try { + List res = questionCategoryService.searchByName(name); + return R.success(res); + } catch (Exception e) { + log.error("搜索分类失败", e); + return R.error("搜索分类失败"); + } + } } diff --git a/src/main/java/com/qingqiu/interview/controller/QuestionController.java b/src/main/java/com/qingqiu/interview/controller/QuestionController.java old mode 100644 new mode 100755 diff --git a/src/main/java/com/qingqiu/interview/dto/ApiResponse.java b/src/main/java/com/qingqiu/interview/dto/ApiResponse.java old mode 100644 new mode 100755 diff --git a/src/main/java/com/qingqiu/interview/dto/ChatRequest.java b/src/main/java/com/qingqiu/interview/dto/ChatRequest.java old mode 100644 new mode 100755 diff --git a/src/main/java/com/qingqiu/interview/dto/DashboardStatsResponse.java b/src/main/java/com/qingqiu/interview/dto/DashboardStatsResponse.java old mode 100644 new mode 100755 diff --git a/src/main/java/com/qingqiu/interview/dto/InterviewReportResponse.java b/src/main/java/com/qingqiu/interview/dto/InterviewReportResponse.java old mode 100644 new mode 100755 diff --git a/src/main/java/com/qingqiu/interview/dto/InterviewResponse.java b/src/main/java/com/qingqiu/interview/dto/InterviewResponse.java old mode 100644 new mode 100755 diff --git a/src/main/java/com/qingqiu/interview/dto/InterviewStartRequest.java b/src/main/java/com/qingqiu/interview/dto/InterviewStartRequest.java old mode 100644 new mode 100755 diff --git a/src/main/java/com/qingqiu/interview/dto/PageBaseParams.java b/src/main/java/com/qingqiu/interview/dto/PageBaseParams.java old mode 100644 new mode 100755 diff --git a/src/main/java/com/qingqiu/interview/dto/QuestionCategoryDTO.java b/src/main/java/com/qingqiu/interview/dto/QuestionCategoryDTO.java old mode 100644 new mode 100755 diff --git a/src/main/java/com/qingqiu/interview/dto/QuestionCategoryPageParams.java b/src/main/java/com/qingqiu/interview/dto/QuestionCategoryPageParams.java old mode 100644 new mode 100755 diff --git a/src/main/java/com/qingqiu/interview/dto/QuestionPageParams.java b/src/main/java/com/qingqiu/interview/dto/QuestionPageParams.java old mode 100644 new mode 100755 diff --git a/src/main/java/com/qingqiu/interview/dto/QuestionProgressPageParams.java b/src/main/java/com/qingqiu/interview/dto/QuestionProgressPageParams.java old mode 100644 new mode 100755 diff --git a/src/main/java/com/qingqiu/interview/dto/SessionHistoryResponse.java b/src/main/java/com/qingqiu/interview/dto/SessionHistoryResponse.java old mode 100644 new mode 100755 diff --git a/src/main/java/com/qingqiu/interview/dto/SessionRequest.java b/src/main/java/com/qingqiu/interview/dto/SessionRequest.java old mode 100644 new mode 100755 diff --git a/src/main/java/com/qingqiu/interview/entity/AiSessionLog.java b/src/main/java/com/qingqiu/interview/entity/AiSessionLog.java old mode 100644 new mode 100755 diff --git a/src/main/java/com/qingqiu/interview/entity/InterviewEvaluation.java b/src/main/java/com/qingqiu/interview/entity/InterviewEvaluation.java old mode 100644 new mode 100755 diff --git a/src/main/java/com/qingqiu/interview/entity/InterviewMessage.java b/src/main/java/com/qingqiu/interview/entity/InterviewMessage.java old mode 100644 new mode 100755 diff --git a/src/main/java/com/qingqiu/interview/entity/InterviewQuestionProgress.java b/src/main/java/com/qingqiu/interview/entity/InterviewQuestionProgress.java old mode 100644 new mode 100755 diff --git a/src/main/java/com/qingqiu/interview/entity/InterviewSession.java b/src/main/java/com/qingqiu/interview/entity/InterviewSession.java old mode 100644 new mode 100755 diff --git a/src/main/java/com/qingqiu/interview/entity/Question.java b/src/main/java/com/qingqiu/interview/entity/Question.java old mode 100644 new mode 100755 diff --git a/src/main/java/com/qingqiu/interview/entity/QuestionCategory.java b/src/main/java/com/qingqiu/interview/entity/QuestionCategory.java old mode 100644 new mode 100755 diff --git a/src/main/java/com/qingqiu/interview/mapper/AiSessionLogMapper.java b/src/main/java/com/qingqiu/interview/mapper/AiSessionLogMapper.java old mode 100644 new mode 100755 diff --git a/src/main/java/com/qingqiu/interview/mapper/InterviewEvaluationMapper.java b/src/main/java/com/qingqiu/interview/mapper/InterviewEvaluationMapper.java old mode 100644 new mode 100755 diff --git a/src/main/java/com/qingqiu/interview/mapper/InterviewMessageMapper.java b/src/main/java/com/qingqiu/interview/mapper/InterviewMessageMapper.java old mode 100644 new mode 100755 diff --git a/src/main/java/com/qingqiu/interview/mapper/InterviewQuestionProgressMapper.java b/src/main/java/com/qingqiu/interview/mapper/InterviewQuestionProgressMapper.java old mode 100644 new mode 100755 diff --git a/src/main/java/com/qingqiu/interview/mapper/InterviewSessionMapper.java b/src/main/java/com/qingqiu/interview/mapper/InterviewSessionMapper.java old mode 100644 new mode 100755 diff --git a/src/main/java/com/qingqiu/interview/mapper/QuestionCategoryMapper.java b/src/main/java/com/qingqiu/interview/mapper/QuestionCategoryMapper.java old mode 100644 new mode 100755 diff --git a/src/main/java/com/qingqiu/interview/mapper/QuestionMapper.java b/src/main/java/com/qingqiu/interview/mapper/QuestionMapper.java old mode 100644 new mode 100755 diff --git a/src/main/java/com/qingqiu/interview/service/DashboardService.java b/src/main/java/com/qingqiu/interview/service/DashboardService.java old mode 100644 new mode 100755 diff --git a/src/main/java/com/qingqiu/interview/service/IAiSessionLogService.java b/src/main/java/com/qingqiu/interview/service/IAiSessionLogService.java old mode 100644 new mode 100755 diff --git a/src/main/java/com/qingqiu/interview/service/IInterviewQuestionProgressService.java b/src/main/java/com/qingqiu/interview/service/IInterviewQuestionProgressService.java old mode 100644 new mode 100755 diff --git a/src/main/java/com/qingqiu/interview/service/IQuestionCategoryService.java b/src/main/java/com/qingqiu/interview/service/IQuestionCategoryService.java old mode 100644 new mode 100755 diff --git a/src/main/java/com/qingqiu/interview/service/InterviewService.java b/src/main/java/com/qingqiu/interview/service/InterviewService.java old mode 100644 new mode 100755 diff --git a/src/main/java/com/qingqiu/interview/service/QuestionClassificationService.java b/src/main/java/com/qingqiu/interview/service/QuestionClassificationService.java old mode 100644 new mode 100755 diff --git a/src/main/java/com/qingqiu/interview/service/QuestionService.java b/src/main/java/com/qingqiu/interview/service/QuestionService.java old mode 100644 new mode 100755 diff --git a/src/main/java/com/qingqiu/interview/service/impl/AiSessionLogServiceImpl.java b/src/main/java/com/qingqiu/interview/service/impl/AiSessionLogServiceImpl.java old mode 100644 new mode 100755 diff --git a/src/main/java/com/qingqiu/interview/service/impl/InterviewQuestionProgressServiceImpl.java b/src/main/java/com/qingqiu/interview/service/impl/InterviewQuestionProgressServiceImpl.java old mode 100644 new mode 100755 diff --git a/src/main/java/com/qingqiu/interview/service/impl/QuestionCategoryServiceImpl.java b/src/main/java/com/qingqiu/interview/service/impl/QuestionCategoryServiceImpl.java old mode 100644 new mode 100755 diff --git a/src/main/java/com/qingqiu/interview/service/llm/LlmService.java b/src/main/java/com/qingqiu/interview/service/llm/LlmService.java old mode 100644 new mode 100755 diff --git a/src/main/java/com/qingqiu/interview/service/llm/qwen/QwenService.java b/src/main/java/com/qingqiu/interview/service/llm/qwen/QwenService.java old mode 100644 new mode 100755 diff --git a/src/main/java/com/qingqiu/interview/service/parser/DocumentParser.java b/src/main/java/com/qingqiu/interview/service/parser/DocumentParser.java old mode 100644 new mode 100755 diff --git a/src/main/java/com/qingqiu/interview/service/parser/MarkdownParserService.java b/src/main/java/com/qingqiu/interview/service/parser/MarkdownParserService.java old mode 100644 new mode 100755 diff --git a/src/main/java/com/qingqiu/interview/service/parser/PdfParserService.java b/src/main/java/com/qingqiu/interview/service/parser/PdfParserService.java old mode 100644 new mode 100755 diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml old mode 100644 new mode 100755 diff --git a/src/main/resources/mapper/AIClientService.xml b/src/main/resources/mapper/AIClientService.xml old mode 100644 new mode 100755 diff --git a/src/main/resources/mapper/AiSessionLogMapper.xml b/src/main/resources/mapper/AiSessionLogMapper.xml old mode 100644 new mode 100755 diff --git a/src/main/resources/mapper/InterviewEvaluationMapper.xml b/src/main/resources/mapper/InterviewEvaluationMapper.xml old mode 100644 new mode 100755 diff --git a/src/main/resources/mapper/InterviewMessageMapper.xml b/src/main/resources/mapper/InterviewMessageMapper.xml old mode 100644 new mode 100755 diff --git a/src/main/resources/mapper/InterviewQuestionProgressMapper.xml b/src/main/resources/mapper/InterviewQuestionProgressMapper.xml old mode 100644 new mode 100755 diff --git a/src/main/resources/mapper/QuestionCategoryMapper.xml b/src/main/resources/mapper/QuestionCategoryMapper.xml old mode 100644 new mode 100755 diff --git a/src/main/resources/mapper/QuestionMapper.xml b/src/main/resources/mapper/QuestionMapper.xml old mode 100644 new mode 100755 diff --git a/src/main/resources/sql/schema.sql b/src/main/resources/sql/schema.sql old mode 100644 new mode 100755 diff --git a/src/test/java/com/qingqiu/interview/AiInterviewApplicationTests.java b/src/test/java/com/qingqiu/interview/AiInterviewApplicationTests.java old mode 100644 new mode 100755
准备好开始您的下一次模拟面试了吗?在这里管理您的题库,不断提升面试技巧。
上传简历,与AI进行实战演练
新增、编辑和导入您的面试题库
查看过往的面试记录与AI复盘报告