From e51ed4037d85c8826dd691bb01ebbe35d9485adc Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Tue, 03 Feb 2026 16:33:35 +0800
Subject: [PATCH] feat(ai): 添加产品分类名称显示功能

---
 src/main/java/cc/mrbird/febs/ai/entity/AiProductQuestion.java                  |    3 +++
 src/main/java/cc/mrbird/febs/ai/service/impl/AiProductQuestionServiceImpl.java |   21 ++++++++++++++++++---
 src/main/resources/templates/febs/views/modules/ai/productQuestion/list.html   |    1 +
 3 files changed, 22 insertions(+), 3 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/ai/entity/AiProductQuestion.java b/src/main/java/cc/mrbird/febs/ai/entity/AiProductQuestion.java
index dec6b31..c5a684f 100644
--- a/src/main/java/cc/mrbird/febs/ai/entity/AiProductQuestion.java
+++ b/src/main/java/cc/mrbird/febs/ai/entity/AiProductQuestion.java
@@ -47,4 +47,7 @@
 
     @TableField(exist = false)
     private String ids;
+
+    @TableField(exist = false)
+    private String productCategoryName;
 }
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 939d015..7c7d764 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
@@ -4,6 +4,7 @@
 import cc.mrbird.febs.ai.mapper.AiProductQuestionJobMapper;
 import cc.mrbird.febs.ai.mapper.AiProductQuestionMapper;
 import cc.mrbird.febs.ai.req.AiProductQuestionAiDto;
+import cc.mrbird.febs.ai.service.AiProductCategoryService;
 import cc.mrbird.febs.ai.service.AiProductQuestionItemService;
 import cc.mrbird.febs.ai.service.AiProductQuestionService;
 import cc.mrbird.febs.ai.service.AiService;
@@ -48,9 +49,8 @@
 import java.io.IOException;
 import java.io.OutputStream;
 import java.net.URLEncoder;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * AI产品题目 Service实现类
@@ -66,6 +66,7 @@
     private final AiProductQuestionMapper aiProductQuestionMapper;
     private final AiProductQuestionJobMapper aiProductQuestionJobMapper;
     private final AiProductQuestionItemService aiProductQuestionItemService;
+    private final AiProductCategoryService aiProductCategoryService;
     private final AiService aiService;
     private final AgentProducer agentProducer;
 
@@ -88,6 +89,20 @@
         query.ne(AiProductQuestion::getState, 2);
         query.orderByDesc(AiProductQuestion::getCreatedTime);
         Page<AiProductQuestion> pages = aiProductQuestionMapper.selectPage(page, query);
+        List<AiProductQuestion> records = pages.getRecords();
+        if (CollUtil.isNotEmpty( records)){
+            //stream流操作records,获取全部的productCategoryId的set集合
+            Set<String> productCategoryIds = records.stream().map(AiProductQuestion::getProductCategoryId).collect(Collectors.toSet());
+            if(CollUtil.isNotEmpty( productCategoryIds)){
+                Map<String,AiProductCategory> map = aiProductCategoryService.selectMapByIds(productCategoryIds);
+                for (AiProductQuestion record : records){
+                    AiProductCategory orDefault = map.getOrDefault(record.getProductCategoryId(), null);
+                    if(ObjectUtil.isNotNull(orDefault)){
+                        record.setProductCategoryName(orDefault.getName());
+                    }
+                }
+            }
+        }
         return pages;
     }
 
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 a84b30c..ed4f8dc 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
@@ -308,6 +308,7 @@
                     {type: 'numbers', title: '', width: 80},
                     {title: '操作', toolbar: '#productQuestionOption', minWidth: 200, align: 'center'},
                     {field: 'state', title: '状态', templet: '#productQuestionStateSwitch', minWidth: 130,align:'center'},
+                    {field: 'productCategoryName', title: '分类', minWidth: 100,align:'center'},
                     {field: 'title', title: '题目', minWidth: 100,align:'center'},
                     {templet:"#difficultyFormat",  title: '难度', minWidth: 140,align:'center'},
                     {field: 'companyId', title: '公司编码', minWidth: 150,align:'center'},

--
Gitblit v1.9.1