添加分类的controller
This commit is contained in:
0
.gitignore
vendored
Normal file → Executable file
0
.gitignore
vendored
Normal file → Executable file
@@ -1,135 +0,0 @@
|
||||
<template>
|
||||
<div class="dashboard-container">
|
||||
<!-- 欢迎横幅 -->
|
||||
<el-card shadow="never" class="welcome-banner">
|
||||
<div class="welcome-content">
|
||||
<div class="welcome-text">
|
||||
<h2>欢迎回来!</h2>
|
||||
<p>准备好开始您的下一次模拟面试了吗?在这里管理您的题库,不断提升面试技巧。</p>
|
||||
</div>
|
||||
<img src="/src/assets/dashboard-hero.svg" alt="仪表盘插图" class="welcome-illustration" />
|
||||
</div>
|
||||
</el-card>
|
||||
|
||||
<!-- 功能导航 -->
|
||||
<div class="feature-grid">
|
||||
<router-link to="/interview" class="feature-card-link">
|
||||
<el-card shadow="hover" class="feature-card">
|
||||
<div class="card-content">
|
||||
<el-icon class="card-icon" style="background-color: #ecf5ff; color: #409eff;"><ChatLineRound /></el-icon>
|
||||
<div class="text-content">
|
||||
<h3>开始模拟面试</h3>
|
||||
<p>上传简历,与AI进行实战演练</p>
|
||||
</div>
|
||||
</div>
|
||||
</el-card>
|
||||
</router-link>
|
||||
|
||||
<router-link to="/question-bank" class="feature-card-link">
|
||||
<el-card shadow="hover" class="feature-card">
|
||||
<div class="card-content">
|
||||
<el-icon class="card-icon" style="background-color: #f0f9eb; color: #67c23a;"><MessageBox /></el-icon>
|
||||
<div class="text-content">
|
||||
<h3>题库管理</h3>
|
||||
<p>新增、编辑和导入您的面试题库</p>
|
||||
</div>
|
||||
</div>
|
||||
</el-card>
|
||||
</router-link>
|
||||
|
||||
<router-link to="/history" class="feature-card-link">
|
||||
<el-card shadow="hover" class="feature-card">
|
||||
<div class="card-content">
|
||||
<el-icon class="card-icon" style="background-color: #fdf6ec; color: #e6a23c;"><Finished /></el-icon>
|
||||
<div class="text-content">
|
||||
<h3>面试历史</h3>
|
||||
<p>查看过往的面试记录与AI复盘报告</p>
|
||||
</div>
|
||||
</div>
|
||||
</el-card>
|
||||
</router-link>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
// 导入Element Plus图标
|
||||
import { ChatLineRound, MessageBox, Finished } from '@element-plus/icons-vue';
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
/* 仪表盘容器 */
|
||||
.dashboard-container {
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
/* 欢迎横幅 */
|
||||
.welcome-banner {
|
||||
border: none;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.welcome-content {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.welcome-text h2 {
|
||||
font-size: 1.8em;
|
||||
margin-top: 0;
|
||||
color: #303133;
|
||||
}
|
||||
|
||||
.welcome-text p {
|
||||
color: #606266;
|
||||
font-size: 1.1em;
|
||||
}
|
||||
|
||||
.welcome-illustration {
|
||||
width: 200px;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
/* 功能网格布局 */
|
||||
.feature-grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
|
||||
gap: 20px;
|
||||
}
|
||||
|
||||
.feature-card-link {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.feature-card .card-content {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding: 20px;
|
||||
transition: transform 0.3s, box-shadow 0.3s;
|
||||
}
|
||||
|
||||
.feature-card:hover {
|
||||
transform: translateY(-5px);
|
||||
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
|
||||
}
|
||||
|
||||
.card-icon {
|
||||
font-size: 32px;
|
||||
padding: 15px;
|
||||
border-radius: 50%;
|
||||
margin-right: 20px;
|
||||
}
|
||||
|
||||
.text-content h3 {
|
||||
margin: 0 0 8px 0;
|
||||
color: #303133;
|
||||
font-size: 1.1em;
|
||||
}
|
||||
|
||||
.text-content p {
|
||||
margin: 0;
|
||||
color: #909399;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
</style>
|
||||
0
sql/.idea/.gitignore
generated
vendored
Normal file → Executable file
0
sql/.idea/.gitignore
generated
vendored
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/AiInterviewApplication.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/AiInterviewApplication.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/ai/entity/Message.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/ai/entity/Message.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/ai/factory/AIClientFactory.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/ai/factory/AIClientFactory.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/ai/factory/AIClientManager.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/ai/factory/AIClientManager.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/ai/factory/DeepSeekClientFactory.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/ai/factory/DeepSeekClientFactory.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/ai/factory/QwenClientFactory.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/ai/factory/QwenClientFactory.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/ai/service/AIClientService.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/ai/service/AIClientService.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/ai/service/impl/DeepSeekClientServiceImpl.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/ai/service/impl/DeepSeekClientServiceImpl.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/ai/service/impl/QwenClientServiceImpl.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/ai/service/impl/QwenClientServiceImpl.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/common/constants/AIStrategyConstant.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/common/constants/AIStrategyConstant.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/common/constants/CommonConstant.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/common/constants/CommonConstant.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/common/constants/QwenModelConstant.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/common/constants/QwenModelConstant.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/common/enums/CommonStateEnum.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/common/enums/CommonStateEnum.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/common/ex/ApiException.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/common/ex/ApiException.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/common/ex/GlobalErrorHandler.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/common/ex/GlobalErrorHandler.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/common/res/IErrorCode.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/common/res/IErrorCode.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/common/res/R.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/common/res/R.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/common/res/ResultCode.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/common/res/ResultCode.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/common/service/HttpService.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/common/service/HttpService.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/common/service/impl/HttpServiceImpl.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/common/service/impl/HttpServiceImpl.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/common/utils/AIUtils.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/common/utils/AIUtils.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/common/utils/SpringApplicationContextUtil.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/common/utils/SpringApplicationContextUtil.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/common/utils/TreeUtil.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/common/utils/TreeUtil.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/config/DashScopeConfig.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/config/DashScopeConfig.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/config/JacksonConfig.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/config/JacksonConfig.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/config/MyBatisPlusConfig.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/config/MyBatisPlusConfig.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/config/WebClientConfig.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/config/WebClientConfig.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/controller/AiSessionLogController.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/controller/AiSessionLogController.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/controller/DashboardController.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/controller/DashboardController.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/controller/InterviewController.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/controller/InterviewController.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/controller/InterviewQuestionProgressController.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/controller/InterviewQuestionProgressController.java
Normal file → Executable file
148
src/main/java/com/qingqiu/interview/controller/QuestionCategoryController.java
Normal file → Executable file
148
src/main/java/com/qingqiu/interview/controller/QuestionCategoryController.java
Normal file → Executable file
@@ -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<List<QuestionCategory>> getTreeList() {
|
||||
try {
|
||||
List<QuestionCategory> list = questionCategoryService.getTreeList();
|
||||
return R.success(list);
|
||||
} catch (Exception e) {
|
||||
log.error("获取分类树列表失败", e);
|
||||
return R.error("获取分类树列表失败");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取分类选项
|
||||
*/
|
||||
@GetMapping("/options")
|
||||
public R<List<QuestionCategory>> getOptions() {
|
||||
try {
|
||||
List<QuestionCategory> options = questionCategoryService.getOptions();
|
||||
return R.success(options);
|
||||
} catch (Exception e) {
|
||||
log.error("获取分类选项失败", e);
|
||||
return R.error("获取分类选项失败");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取分类详情
|
||||
*/
|
||||
@GetMapping("/{id}")
|
||||
public R<QuestionCategory> 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<Page<QuestionCategory>> getPage(QuestionCategoryPageParams query) {
|
||||
try {
|
||||
Page<QuestionCategory> pageR = questionCategoryService.getCategoryPage(query);
|
||||
return R.success(pageR);
|
||||
} catch (Exception e) {
|
||||
log.error("分页查询分类失败", e);
|
||||
return R.error("分页查询分类失败");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建分类
|
||||
*/
|
||||
@PostMapping
|
||||
public R<Long> 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<Void> 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<Void> 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<Void> 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<List<QuestionCategory>> search(@RequestParam String name) {
|
||||
try {
|
||||
List<QuestionCategory> res = questionCategoryService.searchByName(name);
|
||||
return R.success(res);
|
||||
} catch (Exception e) {
|
||||
log.error("搜索分类失败", e);
|
||||
return R.error("搜索分类失败");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
0
src/main/java/com/qingqiu/interview/controller/QuestionController.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/controller/QuestionController.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/dto/ApiResponse.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/dto/ApiResponse.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/dto/ChatRequest.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/dto/ChatRequest.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/dto/DashboardStatsResponse.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/dto/DashboardStatsResponse.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/dto/InterviewReportResponse.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/dto/InterviewReportResponse.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/dto/InterviewResponse.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/dto/InterviewResponse.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/dto/InterviewStartRequest.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/dto/InterviewStartRequest.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/dto/PageBaseParams.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/dto/PageBaseParams.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/dto/QuestionCategoryDTO.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/dto/QuestionCategoryDTO.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/dto/QuestionCategoryPageParams.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/dto/QuestionCategoryPageParams.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/dto/QuestionPageParams.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/dto/QuestionPageParams.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/dto/QuestionProgressPageParams.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/dto/QuestionProgressPageParams.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/dto/SessionHistoryResponse.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/dto/SessionHistoryResponse.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/dto/SessionRequest.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/dto/SessionRequest.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/entity/AiSessionLog.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/entity/AiSessionLog.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/entity/InterviewEvaluation.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/entity/InterviewEvaluation.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/entity/InterviewMessage.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/entity/InterviewMessage.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/entity/InterviewQuestionProgress.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/entity/InterviewQuestionProgress.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/entity/InterviewSession.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/entity/InterviewSession.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/entity/Question.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/entity/Question.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/entity/QuestionCategory.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/entity/QuestionCategory.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/mapper/AiSessionLogMapper.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/mapper/AiSessionLogMapper.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/mapper/InterviewEvaluationMapper.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/mapper/InterviewEvaluationMapper.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/mapper/InterviewMessageMapper.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/mapper/InterviewMessageMapper.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/mapper/InterviewQuestionProgressMapper.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/mapper/InterviewQuestionProgressMapper.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/mapper/InterviewSessionMapper.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/mapper/InterviewSessionMapper.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/mapper/QuestionCategoryMapper.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/mapper/QuestionCategoryMapper.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/mapper/QuestionMapper.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/mapper/QuestionMapper.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/service/DashboardService.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/service/DashboardService.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/service/IAiSessionLogService.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/service/IAiSessionLogService.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/service/IInterviewQuestionProgressService.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/service/IInterviewQuestionProgressService.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/service/IQuestionCategoryService.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/service/IQuestionCategoryService.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/service/InterviewService.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/service/InterviewService.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/service/QuestionClassificationService.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/service/QuestionClassificationService.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/service/QuestionService.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/service/QuestionService.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/service/impl/AiSessionLogServiceImpl.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/service/impl/AiSessionLogServiceImpl.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/service/impl/InterviewQuestionProgressServiceImpl.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/service/impl/InterviewQuestionProgressServiceImpl.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/service/impl/QuestionCategoryServiceImpl.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/service/impl/QuestionCategoryServiceImpl.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/service/llm/LlmService.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/service/llm/LlmService.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/service/llm/qwen/QwenService.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/service/llm/qwen/QwenService.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/service/parser/DocumentParser.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/service/parser/DocumentParser.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/service/parser/MarkdownParserService.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/service/parser/MarkdownParserService.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/service/parser/PdfParserService.java
Normal file → Executable file
0
src/main/java/com/qingqiu/interview/service/parser/PdfParserService.java
Normal file → Executable file
0
src/main/resources/application.yml
Normal file → Executable file
0
src/main/resources/application.yml
Normal file → Executable file
0
src/main/resources/mapper/AIClientService.xml
Normal file → Executable file
0
src/main/resources/mapper/AIClientService.xml
Normal file → Executable file
0
src/main/resources/mapper/AiSessionLogMapper.xml
Normal file → Executable file
0
src/main/resources/mapper/AiSessionLogMapper.xml
Normal file → Executable file
0
src/main/resources/mapper/InterviewEvaluationMapper.xml
Normal file → Executable file
0
src/main/resources/mapper/InterviewEvaluationMapper.xml
Normal file → Executable file
0
src/main/resources/mapper/InterviewMessageMapper.xml
Normal file → Executable file
0
src/main/resources/mapper/InterviewMessageMapper.xml
Normal file → Executable file
0
src/main/resources/mapper/InterviewQuestionProgressMapper.xml
Normal file → Executable file
0
src/main/resources/mapper/InterviewQuestionProgressMapper.xml
Normal file → Executable file
0
src/main/resources/mapper/QuestionCategoryMapper.xml
Normal file → Executable file
0
src/main/resources/mapper/QuestionCategoryMapper.xml
Normal file → Executable file
0
src/main/resources/mapper/QuestionMapper.xml
Normal file → Executable file
0
src/main/resources/mapper/QuestionMapper.xml
Normal file → Executable file
0
src/main/resources/sql/schema.sql
Normal file → Executable file
0
src/main/resources/sql/schema.sql
Normal file → Executable file
0
src/test/java/com/qingqiu/interview/AiInterviewApplicationTests.java
Normal file → Executable file
0
src/test/java/com/qingqiu/interview/AiInterviewApplicationTests.java
Normal file → Executable file
Reference in New Issue
Block a user