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