Administrator
1 days ago e51ed4037d85c8826dd691bb01ebbe35d9485adc
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;
    }