From 0f0155c69fed4b3f7a57db05f25d81686dbacaf4 Mon Sep 17 00:00:00 2001
From: 潘志宝 <979469083@qq.com>
Date: 星期二, 03 六月 2025 19:31:12 +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           |   29 +++++++++++++++++++++++++++--
 iailab-module-ai/iailab-module-ai-biz/src/main/java/com/iailab/module/ai/controller/admin/questiontemplate/vo/QuestionTemplateSaveReqVO.java |    4 ++++
 iailab-module-ai/iailab-module-ai-biz/src/main/java/com/iailab/module/ai/dal/dataobject/questionparamsetting/QuestionParamSettingDO.java     |    2 +-
 iailab-module-ai/iailab-module-ai-biz/src/main/java/com/iailab/module/ai/dal/mysql/questionparamsetting/QuestionParamSettingMapper.java      |    5 +++++
 iailab-module-ai/iailab-module-ai-biz/src/main/java/com/iailab/module/ai/dal/dataobject/questiontemplate/QuestionTemplateDO.java             |    8 +++++++-
 5 files changed, 44 insertions(+), 4 deletions(-)

diff --git a/iailab-module-ai/iailab-module-ai-biz/src/main/java/com/iailab/module/ai/controller/admin/questiontemplate/vo/QuestionTemplateSaveReqVO.java b/iailab-module-ai/iailab-module-ai-biz/src/main/java/com/iailab/module/ai/controller/admin/questiontemplate/vo/QuestionTemplateSaveReqVO.java
index 788ffeb..8562899 100644
--- a/iailab-module-ai/iailab-module-ai-biz/src/main/java/com/iailab/module/ai/controller/admin/questiontemplate/vo/QuestionTemplateSaveReqVO.java
+++ b/iailab-module-ai/iailab-module-ai-biz/src/main/java/com/iailab/module/ai/controller/admin/questiontemplate/vo/QuestionTemplateSaveReqVO.java
@@ -1,9 +1,11 @@
 package com.iailab.module.ai.controller.admin.questiontemplate.vo;
 
+import com.iailab.module.ai.controller.admin.questionparamsetting.vo.QuestionParamSettingSaveReqVO;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 import javax.validation.constraints.*;
 import java.time.LocalDateTime;
+import java.util.List;
 
 @Schema(description = "管理后台 - 大模型问题模板新增/修改 Request VO")
 @Data
@@ -35,4 +37,6 @@
     @Schema(description = "备注", example = "随便")
     private String remark;
 
+    @Schema(description = "问题模版列表")
+    private List<QuestionParamSettingSaveReqVO> settingList;
 }
\ No newline at end of file
diff --git a/iailab-module-ai/iailab-module-ai-biz/src/main/java/com/iailab/module/ai/dal/dataobject/questionparamsetting/QuestionParamSettingDO.java b/iailab-module-ai/iailab-module-ai-biz/src/main/java/com/iailab/module/ai/dal/dataobject/questionparamsetting/QuestionParamSettingDO.java
index a9bb0be..0f21642 100644
--- a/iailab-module-ai/iailab-module-ai-biz/src/main/java/com/iailab/module/ai/dal/dataobject/questionparamsetting/QuestionParamSettingDO.java
+++ b/iailab-module-ai/iailab-module-ai-biz/src/main/java/com/iailab/module/ai/dal/dataobject/questionparamsetting/QuestionParamSettingDO.java
@@ -23,7 +23,7 @@
     /**
      * id
      */
-    @TableId(type = IdType.INPUT)
+    @TableId(type = IdType.ASSIGN_ID)
     private String id;
     /**
      * 问题模板id
diff --git a/iailab-module-ai/iailab-module-ai-biz/src/main/java/com/iailab/module/ai/dal/dataobject/questiontemplate/QuestionTemplateDO.java b/iailab-module-ai/iailab-module-ai-biz/src/main/java/com/iailab/module/ai/dal/dataobject/questiontemplate/QuestionTemplateDO.java
index 6300371..3c9a154 100644
--- a/iailab-module-ai/iailab-module-ai-biz/src/main/java/com/iailab/module/ai/dal/dataobject/questiontemplate/QuestionTemplateDO.java
+++ b/iailab-module-ai/iailab-module-ai-biz/src/main/java/com/iailab/module/ai/dal/dataobject/questiontemplate/QuestionTemplateDO.java
@@ -1,8 +1,11 @@
 package com.iailab.module.ai.dal.dataobject.questiontemplate;
 
+import com.iailab.module.ai.controller.admin.questiontemplate.vo.QuestionTemplateSaveReqVO;
+import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 
 import java.time.LocalDateTime;
+import java.util.List;
 
 import com.baomidou.mybatisplus.annotation.*;
 import com.iailab.framework.mybatis.core.dataobject.BaseDO;
@@ -25,7 +28,7 @@
     /**
      * id
      */
-    @TableId(type = IdType.INPUT)
+    @TableId(type = IdType.ASSIGN_UUID)
     private String id;
     /**
      * 模型id
@@ -56,4 +59,7 @@
      */
     private String remark;
 
+    @TableField(exist = false)
+    private List<QuestionTemplateSaveReqVO> settingList;
+
 }
\ No newline at end of file
diff --git a/iailab-module-ai/iailab-module-ai-biz/src/main/java/com/iailab/module/ai/dal/mysql/questionparamsetting/QuestionParamSettingMapper.java b/iailab-module-ai/iailab-module-ai-biz/src/main/java/com/iailab/module/ai/dal/mysql/questionparamsetting/QuestionParamSettingMapper.java
index 07e7473..10028b1 100644
--- a/iailab-module-ai/iailab-module-ai-biz/src/main/java/com/iailab/module/ai/dal/mysql/questionparamsetting/QuestionParamSettingMapper.java
+++ b/iailab-module-ai/iailab-module-ai-biz/src/main/java/com/iailab/module/ai/dal/mysql/questionparamsetting/QuestionParamSettingMapper.java
@@ -1,5 +1,7 @@
 package com.iailab.module.ai.dal.mysql.questionparamsetting;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.iailab.framework.common.pojo.PageResult;
 import com.iailab.framework.mybatis.core.query.LambdaQueryWrapperX;
 import com.iailab.framework.mybatis.core.mapper.BaseMapperX;
@@ -25,4 +27,7 @@
                 .orderByDesc(QuestionParamSettingDO::getId));
     }
 
+    default int deleteByTemplateId(String templateId) {
+        return delete("template_id",templateId);
+    }
 }
\ No newline at end of file
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..98aec9a 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,7 @@
 package com.iailab.module.ai.service.questiontemplate;
 
+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 +12,8 @@
 import com.iailab.framework.common.util.object.BeanUtils;
 
 import com.iailab.module.ai.dal.mysql.questiontemplate.QuestionTemplateMapper;
+
+import java.util.UUID;
 
 import static com.iailab.framework.common.exception.util.ServiceExceptionUtil.exception;
 import static com.iailab.module.ai.enums.ErrorCodeConstants.*;
@@ -26,10 +30,19 @@
     @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();
+        // 插入设置列表
+        createReqVO.getSettingList().forEach(setting -> {
+            setting.setTemplateId(id);
+            questionParamSettingMapper.insert(BeanUtils.toBean(setting, QuestionParamSettingDO.class));
+        });
         questionTemplateMapper.insert(questionTemplate);
         // 返回
         return questionTemplate.getId();
@@ -38,9 +51,17 @@
     @Override
     public void updateQuestionTemplate(QuestionTemplateSaveReqVO updateReqVO) {
         // 校验存在
-        validateQuestionTemplateExists(updateReqVO.getId());
+        String id = UUID.randomUUID().toString();
+        validateQuestionTemplateExists(id);
         // 更新
         QuestionTemplateDO updateObj = BeanUtils.toBean(updateReqVO, QuestionTemplateDO.class);
+        // 删除设置列表
+        questionParamSettingMapper.deleteByTemplateId(updateReqVO.getId());
+        // 更新设置列表
+        updateReqVO.getSettingList().forEach(setting -> {
+            setting.setTemplateId(id);
+            questionParamSettingMapper.insert(BeanUtils.toBean(setting, QuestionParamSettingDO.class));
+        });
         questionTemplateMapper.updateById(updateObj);
     }
 
@@ -50,6 +71,8 @@
         validateQuestionTemplateExists(id);
         // 删除
         questionTemplateMapper.deleteById(id);
+        // 删除设置列表
+        questionParamSettingMapper.deleteByTemplateId(id);
     }
 
     private void validateQuestionTemplateExists(String id) {
@@ -60,7 +83,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), QuestionTemplateSaveReqVO.class));
+        return questionTemplateDO;
     }
 
     @Override

--
Gitblit v1.9.3