From b59514011cde1377ccb2cf3ca96cd7673efc874d Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Thu, 12 Feb 2026 13:00:13 +0800
Subject: [PATCH] feat(ai): 新增产品问答导入功能中的难度等级设置
---
src/main/java/cc/mrbird/febs/ai/service/AiProductQuestionService.java | 2 +-
src/main/java/cc/mrbird/febs/ai/service/impl/AiProductQuestionServiceImpl.java | 4 ++--
src/main/java/cc/mrbird/febs/ai/controller/productQuestion/AiProductQuestionController.java | 4 ++--
src/main/resources/templates/febs/views/modules/ai/productQuestion/list.html | 27 ++++++++++++++++++++++++---
4 files changed, 29 insertions(+), 8 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/ai/controller/productQuestion/AiProductQuestionController.java b/src/main/java/cc/mrbird/febs/ai/controller/productQuestion/AiProductQuestionController.java
index c6864b9..75187a8 100644
--- a/src/main/java/cc/mrbird/febs/ai/controller/productQuestion/AiProductQuestionController.java
+++ b/src/main/java/cc/mrbird/febs/ai/controller/productQuestion/AiProductQuestionController.java
@@ -163,9 +163,9 @@
@PostMapping(value = "/importNewProductQuestion")
@ControllerEndpoint(operation = "模板导入", exceptionMessage = "操作失败")
- public FebsResponse importNewProductQuestion(@RequestBody MultipartFile file, @RequestParam String categoryId){
+ public FebsResponse importNewProductQuestion(@RequestBody MultipartFile file, @RequestParam String categoryId, @RequestParam Integer difficulty){
String companyId = getCurrentUserCompanyId();
- return aiProductQuestionService.importNewProductQuestion(file, categoryId, companyId);
+ return aiProductQuestionService.importNewProductQuestion(file, categoryId, companyId,difficulty);
}
}
diff --git a/src/main/java/cc/mrbird/febs/ai/service/AiProductQuestionService.java b/src/main/java/cc/mrbird/febs/ai/service/AiProductQuestionService.java
index aa882f9..9179208 100644
--- a/src/main/java/cc/mrbird/febs/ai/service/AiProductQuestionService.java
+++ b/src/main/java/cc/mrbird/febs/ai/service/AiProductQuestionService.java
@@ -63,5 +63,5 @@
void exportNewProductQuestion(AiProductQuestion dto, HttpServletResponse response);
- FebsResponse importNewProductQuestion(MultipartFile file, String categoryId, String companyId);
+ FebsResponse importNewProductQuestion(MultipartFile file, String categoryId, String companyId, Integer difficulty);
}
diff --git a/src/main/java/cc/mrbird/febs/ai/service/impl/AiProductQuestionServiceImpl.java b/src/main/java/cc/mrbird/febs/ai/service/impl/AiProductQuestionServiceImpl.java
index 27b1eb2..c08bdb1 100644
--- a/src/main/java/cc/mrbird/febs/ai/service/impl/AiProductQuestionServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/ai/service/impl/AiProductQuestionServiceImpl.java
@@ -725,7 +725,7 @@
}
@Override
- public FebsResponse importNewProductQuestion(MultipartFile file, String categoryId, String companyId) {
+ public FebsResponse importNewProductQuestion(MultipartFile file, String categoryId, String companyId, Integer difficulty) {
try {
if (file.isEmpty()) {
return new FebsResponse().fail().message("文件不能为空");
@@ -840,7 +840,7 @@
question.setCompanyId(companyId);
question.setProductCategoryId(categoryId);
question.setTitle(title);
- question.setDifficulty(2); // 默认中等难度
+ question.setDifficulty(difficulty); // 默认中等难度
question.setState(0); // 默认启用
question.setCreatedTime(new Date());
diff --git a/src/main/resources/templates/febs/views/modules/ai/productQuestion/list.html b/src/main/resources/templates/febs/views/modules/ai/productQuestion/list.html
index e382579..83b6199 100644
--- a/src/main/resources/templates/febs/views/modules/ai/productQuestion/list.html
+++ b/src/main/resources/templates/febs/views/modules/ai/productQuestion/list.html
@@ -304,19 +304,30 @@
// 在外层定义变量,使其在多个函数中可访问
var selectedCategoryId = '';
+ var selectedDifficulty = '2'; // 默认选择中等难度
var selectedFile = null;
// 使用 layer.open 替代 febs.modal.open
layer.open({
title: '模板导入(新增)',
type: 1,
- area: ['500px', '350px'],
+ area: ['500px', '400px'], // 增加高度以适应新选项
btn: ['开始导入', '取消'],
content: '<div style="padding: 20px;">' +
'<div class="layui-form-item">' +
'<label class="layui-form-label">选择分类</label>' +
'<div class="layui-input-block">' +
'<div id="importCategorySelect"></div>' +
+ '</div>' +
+ '</div>' +
+ '<div class="layui-form-item">' +
+ '<label class="layui-form-label">难易程度</label>' +
+ '<div class="layui-input-block">' +
+ '<select id="importDifficultySelect" lay-filter="difficulty">' +
+ '<option value="1">简单</option>' +
+ '<option value="2" selected>中等</option>' +
+ '<option value="3">困难</option>' +
+ '</select>' +
'</div>' +
'</div>' +
'<div class="layui-form-item">' +
@@ -379,6 +390,15 @@
}
});
+ // 初始化难易程度下拉框
+ form.render('select', 'importDifficultySelect');
+
+ // 监听难易程度选择变化
+ form.on('select(difficulty)', function(data){
+ selectedDifficulty = data.value;
+ console.log('选择的难易程度:', selectedDifficulty);
+ });
+
// 初始化文件选择(不上传)
$('#importFileBtn').click(function() {
// 创建隐藏的文件输入
@@ -399,6 +419,7 @@
},
yes: function(index, layero) {
console.log('开始导入,selectedCategoryId:', selectedCategoryId); // 调试用
+ console.log('开始导入,selectedDifficulty:', selectedDifficulty); // 调试用
console.log('开始导入,selectedFile:', selectedFile); // 调试用
// 点击"开始导入"按钮
@@ -419,9 +440,9 @@
// 显示加载中
var loadingIndex = layer.load(1);
- // 使用 AJAX 上传文件
+ // 使用 AJAX 上传文件,同时传递难易程度参数
$.ajax({
- url: ctx + 'admin/productQuestion/importNewProductQuestion?categoryId=' + selectedCategoryId,
+ url: ctx + 'admin/productQuestion/importNewProductQuestion?categoryId=' + selectedCategoryId + '&difficulty=' + selectedDifficulty,
type: 'POST',
data: formData,
contentType: false,
--
Gitblit v1.9.1