Administrator
2026-02-12 e89b46eccadc107be6b6cb54e7b257a8ccb8455e
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.res.AdminQuestionInfoVo;
import cc.mrbird.febs.ai.service.AiProductCategoryService;
import cc.mrbird.febs.ai.service.AiProductQuestionItemService;
import cc.mrbird.febs.ai.service.AiProductQuestionService;
@@ -20,6 +21,7 @@
import cc.mrbird.febs.mall.entity.MallMember;
import cc.mrbird.febs.mall.entity.MallOrderInfo;
import cc.mrbird.febs.mall.entity.MallOrderItem;
import cc.mrbird.febs.mall.vo.AdminAgentMemberVo;
import cc.mrbird.febs.rabbit.producter.AgentProducer;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateUtil;
@@ -48,6 +50,7 @@
import java.io.File;
import java.io.IOException;
import java.io.OutputStream;
import java.math.BigDecimal;
import java.net.URLEncoder;
import java.util.*;
import java.util.stream.Collectors;
@@ -222,6 +225,20 @@
    }
    @Override
    public FebsResponse jobStateUpdate(String ids) {
        if (StrUtil.isEmpty(ids)) {
            throw new FebsException("参数错误");
        }
        List<String> idList = StrUtil.split(ids, ',');
        aiProductQuestionJobMapper.update(null,
                Wrappers.lambdaUpdate(AiProductQuestionJob.class)
                        .set(AiProductQuestionJob::getState, 2)
                        .set(AiProductQuestionJob::getUpdatedTime, new Date())
                        .in(AiProductQuestionJob::getId, idList));
        return new FebsResponse().success().message("操作成功");
    }
    @Override
    public FebsResponse delete(String id) {
        AiProductQuestion entity = this.getById(id);
        if(ObjectUtil.isNotNull( entity)){
@@ -354,7 +371,6 @@
            Integer questionCnt = aiProductQuestionJob.getQuestionCnt();
            Integer questionDoneCnt = aiProductQuestionJob.getQuestionDoneCnt();
            if (questionCnt <= questionDoneCnt){
                aiProductQuestionJob.setState(2);
                aiProductQuestionJobMapper.update(null,
                        Wrappers.lambdaUpdate(AiProductQuestionJob.class)
                                .set(AiProductQuestionJob::getState, 2)
@@ -412,6 +428,7 @@
                        aiProductQuestionItem.setAnswer(answer.getStr("answer"));
                        aiProductQuestionItem.setCorrectAnswer(answer.getInt("type") == 2 ? 1 : 0);
                        aiProductQuestionItem.setAnswerAnalysis(answer.getStr("analysis"));
                        aiProductQuestionItem.setJobId( id);
                        aiProductQuestionItem.setCreatedTime(createdTime);
                        aiProductQuestionItemService.getBaseMapper().insert(aiProductQuestionItem);
                    }
@@ -420,7 +437,6 @@
                        Wrappers.lambdaUpdate(AiProductQuestionJob.class)
                                .set(AiProductQuestionJob::getQuestionDoneCnt, questionDoneCnt + questionList.size())
                                .set(AiProductQuestionJob::getUpdatedTime, new Date())
                                .set(AiProductQuestionJob::getState, 1)
                                .eq(AiProductQuestionJob::getId, id));
            }
            AiProductQuestionJob aiProductQuestionJobDone = aiProductQuestionJobMapper.selectById(id);
@@ -887,6 +903,13 @@
        }
    }
    @Override
    public IPage<AdminQuestionInfoVo> jobChild(QueryRequest request, AiProductQuestionJob dto) {
        Page<AdminQuestionInfoVo> page = new Page<>(request.getPageNum(), request.getPageSize());
        return aiProductQuestionMapper.selectJobChildPage(page, dto);
    }
    private void saveQuestionWithItems(AiProductQuestion question, List<AiProductQuestionItem> items) {
        // 保存题目(新增一次)
        this.save(question);