From f5ec1f3326f75e18222859a534ed5a249f5e2cc3 Mon Sep 17 00:00:00 2001
From: dongyukun <1208714201@qq.com>
Date: 星期三, 04 六月 2025 17:35:27 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 iailab-module-ai/iailab-module-ai-biz/src/main/java/com/iailab/module/ai/service/questiontemplate/QuestionTemplateServiceImpl.java |   39 ++++++++++++++++++++++++++++++++++++++-
 1 files changed, 38 insertions(+), 1 deletions(-)

diff --git a/iailab-module-ai/iailab-module-ai-biz/src/main/java/com/iailab/module/ai/service/questiontemplate/QuestionTemplateServiceImpl.java b/iailab-module-ai/iailab-module-ai-biz/src/main/java/com/iailab/module/ai/service/questiontemplate/QuestionTemplateServiceImpl.java
index 6689b59..9c70d05 100644
--- a/iailab-module-ai/iailab-module-ai-biz/src/main/java/com/iailab/module/ai/service/questiontemplate/QuestionTemplateServiceImpl.java
+++ b/iailab-module-ai/iailab-module-ai-biz/src/main/java/com/iailab/module/ai/service/questiontemplate/QuestionTemplateServiceImpl.java
@@ -1,5 +1,8 @@
 package com.iailab.module.ai.service.questiontemplate;
 
+import com.iailab.module.ai.controller.admin.questionparamsetting.vo.QuestionParamSettingRespVO;
+import com.iailab.module.ai.dal.dataobject.questionparamsetting.QuestionParamSettingDO;
+import com.iailab.module.ai.dal.mysql.questionparamsetting.QuestionParamSettingMapper;
 import jakarta.annotation.Resource;
 import org.springframework.stereotype.Service;
 import org.springframework.validation.annotation.Validated;
@@ -10,6 +13,9 @@
 import com.iailab.framework.common.util.object.BeanUtils;
 
 import com.iailab.module.ai.dal.mysql.questiontemplate.QuestionTemplateMapper;
+
+import java.util.List;
+import java.util.UUID;
 
 import static com.iailab.framework.common.exception.util.ServiceExceptionUtil.exception;
 import static com.iailab.module.ai.enums.ErrorCodeConstants.*;
@@ -26,10 +32,20 @@
     @Resource
     private QuestionTemplateMapper questionTemplateMapper;
 
+    @Resource
+    private QuestionParamSettingMapper questionParamSettingMapper;
+
     @Override
     public String createQuestionTemplate(QuestionTemplateSaveReqVO createReqVO) {
         // 插入
         QuestionTemplateDO questionTemplate = BeanUtils.toBean(createReqVO, QuestionTemplateDO.class);
+        String id = UUID.randomUUID().toString();
+        questionTemplate.setId(id);
+        // 插入设置列表
+        createReqVO.getSettingList().forEach(setting -> {
+            setting.setTemplateId(id);
+            questionParamSettingMapper.insert(BeanUtils.toBean(setting, QuestionParamSettingDO.class));
+        });
         questionTemplateMapper.insert(questionTemplate);
         // 返回
         return questionTemplate.getId();
@@ -41,6 +57,14 @@
         validateQuestionTemplateExists(updateReqVO.getId());
         // 更新
         QuestionTemplateDO updateObj = BeanUtils.toBean(updateReqVO, QuestionTemplateDO.class);
+        // 删除设置列表
+        questionParamSettingMapper.deleteByTemplateId(updateReqVO.getId());
+        // 更新设置列表
+        updateReqVO.getSettingList().forEach(setting -> {
+            setting.setTemplateId(updateReqVO.getId());
+            setting.setId(null);
+            questionParamSettingMapper.insert(BeanUtils.toBean(setting, QuestionParamSettingDO.class));
+        });
         questionTemplateMapper.updateById(updateObj);
     }
 
@@ -50,6 +74,8 @@
         validateQuestionTemplateExists(id);
         // 删除
         questionTemplateMapper.deleteById(id);
+        // 删除设置列表
+        questionParamSettingMapper.deleteByTemplateId(id);
     }
 
     private void validateQuestionTemplateExists(String id) {
@@ -60,7 +86,9 @@
 
     @Override
     public QuestionTemplateDO getQuestionTemplate(String id) {
-        return questionTemplateMapper.selectById(id);
+        QuestionTemplateDO questionTemplateDO = questionTemplateMapper.selectById(id);
+        questionTemplateDO.setSettingList(BeanUtils.toBean(questionParamSettingMapper.selectList("template_id",id), QuestionParamSettingRespVO.class));
+        return questionTemplateDO;
     }
 
     @Override
@@ -68,4 +96,13 @@
         return questionTemplateMapper.selectPage(pageReqVO);
     }
 
+    @Override
+    public List<QuestionTemplateDO> getQuestionTemplateList(Long modelId) {
+        List<QuestionTemplateDO> questionTemplateDOList = questionTemplateMapper.selectList("model_id",modelId);
+        questionTemplateDOList.forEach(DO -> {
+            DO.setSettingList(BeanUtils.toBean(questionParamSettingMapper.selectList("template_id",DO.getId()), QuestionParamSettingRespVO.class));
+        });
+        return questionTemplateDOList;
+    }
+
 }
\ No newline at end of file

--
Gitblit v1.9.3