iailab-module-ai/iailab-module-ai-biz/src/main/java/com/iailab/module/ai/controller/admin/questiontemplate/QuestionTemplateController.java
@@ -1,5 +1,6 @@ package com.iailab.module.ai.controller.admin.questiontemplate; import com.iailab.module.ai.service.model.AiModelService; import jakarta.annotation.Resource; import org.springframework.web.bind.annotation.*; import org.springframework.validation.annotation.Validated; @@ -13,6 +14,7 @@ import com.iailab.framework.common.pojo.PageResult; import com.iailab.framework.common.pojo.CommonResult; import com.iailab.framework.common.util.object.BeanUtils; import static com.iailab.framework.common.pojo.CommonResult.success; @@ -28,6 +30,9 @@ @Resource private QuestionTemplateService questionTemplateService; @Resource private AiModelService aiModelService; @PostMapping("/create") @Operation(summary = "创建大模型问题模板") @@ -67,6 +72,11 @@ @PreAuthorize("@ss.hasPermission('ai:question-template:query')") public CommonResult<PageResult<QuestionTemplateRespVO>> getQuestionTemplatePage(@Valid QuestionTemplatePageReqVO pageReqVO) { PageResult<QuestionTemplateDO> pageResult = questionTemplateService.getQuestionTemplatePage(pageReqVO); pageResult.getList().forEach(questionTemplateDO -> questionTemplateDO.setModelName( aiModelService.getModel(Long.valueOf((questionTemplateDO.getModelId()))).getName() ) ); return success(BeanUtils.toBean(pageResult, QuestionTemplateRespVO.class)); } iailab-module-ai/iailab-module-ai-biz/src/main/java/com/iailab/module/ai/controller/admin/questiontemplate/vo/QuestionTemplateRespVO.java
@@ -1,8 +1,11 @@ package com.iailab.module.ai.controller.admin.questiontemplate.vo; import com.baomidou.mybatisplus.annotation.TableField; import com.iailab.module.ai.controller.admin.questionparamsetting.vo.QuestionParamSettingRespVO; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; import java.time.LocalDateTime; import java.util.List; @Schema(description = "管理后台 - 大模型问题模板 Response VO") @Data @@ -13,6 +16,9 @@ @Schema(description = "模型id", requiredMode = Schema.RequiredMode.REQUIRED, example = "11609") private String modelId; @Schema(description = "模型名称") public String modelName; @Schema(description = "问题编号", requiredMode = Schema.RequiredMode.REQUIRED) private String questionCode; @@ -35,4 +41,5 @@ @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) private LocalDateTime createTime; private List<QuestionParamSettingRespVO> settingList; } iailab-module-ai/iailab-module-ai-biz/src/main/java/com/iailab/module/ai/dal/dataobject/questiontemplate/QuestionTemplateDO.java
@@ -1,6 +1,8 @@ package com.iailab.module.ai.dal.dataobject.questiontemplate; import com.iailab.module.ai.controller.admin.questionparamsetting.vo.QuestionParamSettingRespVO; import com.iailab.module.ai.controller.admin.questiontemplate.vo.QuestionTemplateSaveReqVO; import com.iailab.module.ai.dal.dataobject.model.AiModelDO; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; @@ -28,7 +30,7 @@ /** * id */ @TableId(type = IdType.ASSIGN_UUID) @TableId(type = IdType.INPUT) private String id; /** * 模型id @@ -60,6 +62,8 @@ private String remark; @TableField(exist = false) private List<QuestionTemplateSaveReqVO> settingList; private List<QuestionParamSettingRespVO> settingList; @TableField(exist = false) public String modelName; } iailab-module-ai/iailab-module-ai-biz/src/main/java/com/iailab/module/ai/service/questiontemplate/QuestionTemplateServiceImpl.java
@@ -1,5 +1,6 @@ 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; @@ -38,6 +39,7 @@ // 插入 QuestionTemplateDO questionTemplate = BeanUtils.toBean(createReqVO, QuestionTemplateDO.class); String id = UUID.randomUUID().toString(); questionTemplate.setId(id); // 插入设置列表 createReqVO.getSettingList().forEach(setting -> { setting.setTemplateId(id); @@ -51,15 +53,15 @@ @Override public void updateQuestionTemplate(QuestionTemplateSaveReqVO updateReqVO) { // 校验存在 String id = UUID.randomUUID().toString(); validateQuestionTemplateExists(id); validateQuestionTemplateExists(updateReqVO.getId()); // 更新 QuestionTemplateDO updateObj = BeanUtils.toBean(updateReqVO, QuestionTemplateDO.class); // 删除设置列表 questionParamSettingMapper.deleteByTemplateId(updateReqVO.getId()); // 更新设置列表 updateReqVO.getSettingList().forEach(setting -> { setting.setTemplateId(id); setting.setTemplateId(updateReqVO.getId()); setting.setId(null); questionParamSettingMapper.insert(BeanUtils.toBean(setting, QuestionParamSettingDO.class)); }); questionTemplateMapper.updateById(updateObj); @@ -84,7 +86,7 @@ @Override public QuestionTemplateDO getQuestionTemplate(String id) { QuestionTemplateDO questionTemplateDO = questionTemplateMapper.selectById(id); questionTemplateDO.setSettingList(BeanUtils.toBean(questionParamSettingMapper.selectList("template_id",id), QuestionTemplateSaveReqVO.class)); questionTemplateDO.setSettingList(BeanUtils.toBean(questionParamSettingMapper.selectList("template_id",id), QuestionParamSettingRespVO.class)); return questionTemplateDO; }