dongyukun
2025-06-04 b42a37f376cd074b5da4e859e4895a04adeeeaf8
问题模版配置
已添加6个文件
209 ■■■■■ 文件已修改
iailab-module-ai/iailab-module-ai-api/src/main/java/com/iailab/module/ai/api/questionTemplate/QuestiontemplateApi.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iailab-module-ai/iailab-module-ai-api/src/main/java/com/iailab/module/ai/api/questionTemplate/dto/AiModelDto.java 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iailab-module-ai/iailab-module-ai-api/src/main/java/com/iailab/module/ai/api/questionTemplate/dto/QuestionParamSettingDO.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iailab-module-ai/iailab-module-ai-api/src/main/java/com/iailab/module/ai/api/questionTemplate/dto/QuestionTemplateDto.java 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iailab-module-ai/iailab-module-ai-biz/db/增量sql/2025.sql 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iailab-module-ai/iailab-module-ai-biz/src/main/java/com/iailab/module/ai/api/QuestionTemplateApiImpl.java 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iailab-module-ai/iailab-module-ai-api/src/main/java/com/iailab/module/ai/api/questionTemplate/QuestiontemplateApi.java
对比新文件
@@ -0,0 +1,27 @@
package com.iailab.module.ai.api.questionTemplate;
import com.iailab.framework.common.enums.RpcConstants;
import com.iailab.module.ai.api.questionTemplate.dto.AiModelDto;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import java.util.List;
/**
 * @author DongYukun
 * @Description
 * @createTime 2025年06月04日
 */
@FeignClient(name = "ai-server")
@Tag(name = "计划数据")
public interface QuestiontemplateApi {
    String PREFIX = RpcConstants.RPC_API_PREFIX +  "/ai/questiontemplate";
    @PostMapping(PREFIX + "/modelList")
    @Operation(summary = "Ai大模型级联问题模版")
    List<AiModelDto> queryModelList();
}
iailab-module-ai/iailab-module-ai-api/src/main/java/com/iailab/module/ai/api/questionTemplate/dto/AiModelDto.java
对比新文件
@@ -0,0 +1,46 @@
package com.iailab.module.ai.api.questionTemplate.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
@Data
public class AiModelDto implements Serializable {
    @Schema(description = "编号", example = "2630")
    private Long id;
    @Schema(description = "API 秘钥编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "22042")
    private Long keyId;
    @Schema(description = "模型名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三")
    private String name;
    @Schema(description = "模型标识", requiredMode = Schema.RequiredMode.REQUIRED, example = "gpt-3.5-turbo-0125")
    private String model;
    @Schema(description = "模型平台", requiredMode = Schema.RequiredMode.REQUIRED, example = "OpenAI")
    private String platform;
    @Schema(description = "模型类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    private Integer type;
    @Schema(description = "排序", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    private Integer sort;
    @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    private Integer status;
    @Schema(description = "温度参数", example = "1")
    private Double temperature;
    @Schema(description = "单条回复的最大 Token 数量", example = "4096")
    private Integer maxTokens;
    @Schema(description = "上下文的最大 Message 数量", example = "8192")
    private Integer maxContexts;
    private List<QuestionTemplateDto> children;
}
iailab-module-ai/iailab-module-ai-api/src/main/java/com/iailab/module/ai/api/questionTemplate/dto/QuestionParamSettingDO.java
对比新文件
@@ -0,0 +1,35 @@
package com.iailab.module.ai.api.questionTemplate.dto;
import lombok.*;
import java.io.Serializable;
@Data
public class QuestionParamSettingDO implements Serializable {
    /**
     * id
     */
    private String id;
    /**
     * 问题模板id
     */
    private String templateId;
    /**
     * key
     */
    private String settingKey;
    /**
     * 参数名称
     */
    private String settingName;
    /**
     * 参数默认值
     */
    private String settingValue;
    /**
     * 排序
     */
    private Integer sort;
}
iailab-module-ai/iailab-module-ai-api/src/main/java/com/iailab/module/ai/api/questionTemplate/dto/QuestionTemplateDto.java
对比新文件
@@ -0,0 +1,52 @@
package com.iailab.module.ai.api.questionTemplate.dto;
import lombok.*;
import java.io.Serializable;
import java.util.List;
/**
 * 大模型问题模板 DO
 *
 * @author 超级管理员
 */
@Data
public class QuestionTemplateDto implements Serializable {
    /**
     * id
     */
    private String id;
    /**
     * 模型id
     */
    private String modelId;
    /**
     * 问题编号
     */
    private String questionCode;
    /**
     * 问题名称
     */
    private String questionName;
    /**
     * 问题内容
     */
    private String questionContent;
    /**
     * 输入个数
     */
    private Integer dataLength;
    /**
     * 是否启用(0禁用 1启用)
     */
    private Integer isEnable;
    /**
     * 备注
     */
    private String remark;
    private List<QuestionParamSettingDO> settingList;
    public String modelName;
}
iailab-module-ai/iailab-module-ai-biz/db/增量sql/2025.sql
对比新文件
@@ -0,0 +1,9 @@
ALTER TABLE ai_question_template
    ADD COLUMN deleted TINYINT(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除';
ALTER TABLE ai_question_param_setting
    ADD COLUMN deleted TINYINT(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除';
ALTER TABLE ai_question_param_setting
    ADD COLUMN `creator` varchar(64) DEFAULT NULL COMMENT '创建者',
    ADD COLUMN `create_time` datetime DEFAULT NULL COMMENT '创建时间',
    ADD COLUMN `updater` varchar(64) DEFAULT NULL COMMENT '更新者',
    ADD COLUMN `update_time` datetime DEFAULT NULL COMMENT '更新时间';
iailab-module-ai/iailab-module-ai-biz/src/main/java/com/iailab/module/ai/api/QuestionTemplateApiImpl.java
对比新文件
@@ -0,0 +1,40 @@
package com.iailab.module.ai.api;
import com.iailab.framework.common.util.object.BeanUtils;
import com.iailab.module.ai.api.questionTemplate.QuestiontemplateApi;
import com.iailab.module.ai.api.questionTemplate.dto.AiModelDto;
import com.iailab.module.ai.api.questionTemplate.dto.QuestionTemplateDto;
import com.iailab.module.ai.controller.admin.questiontemplate.vo.QuestionTemplateRespVO;
import com.iailab.module.ai.service.model.AiModelService;
import com.iailab.module.ai.service.questiontemplate.QuestionTemplateService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
 * @description:
 * @author: dongyukun
 * @date: 2025/6/4 14:50
 **/
@RestController // 提供 RESTful API 接口,给 Feign 调用
@Validated
public class QuestionTemplateApiImpl implements QuestiontemplateApi {
    @Autowired
    private QuestionTemplateService questionTemplateService;
    @Autowired
    private AiModelService aiModelService;
    @Override
    public List<AiModelDto> queryModelList() {
        List<AiModelDto> list = BeanUtils.toBean(aiModelService.getModelListByStatusAndType(0, 1, null), AiModelDto.class);
        list.forEach(item->{
            item.setChildren(
                    BeanUtils.toBean(questionTemplateService.getQuestionTemplateList(item.getId()), QuestionTemplateDto.class));
        });
        return list;
    }
}