【调整】调整modal list 返回信息,和update req

This commit is contained in:
cherishsince 2024-05-07 15:24:18 +08:00
parent 46b5f17bbc
commit a0e06cc0b7
7 changed files with 103 additions and 32 deletions

View File

@ -5,6 +5,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModelAddReqVO; import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModelAddReqVO;
import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModelListReqVO; import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModelListReqVO;
import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModelListRespVO; import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModelListRespVO;
import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModelUpdateReqVO;
import cn.iocoder.yudao.module.ai.service.AiChatModelService; import cn.iocoder.yudao.module.ai.service.AiChatModelService;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
@ -46,9 +47,8 @@ public class AiChatModelController {
@Operation(summary = "ai模型 - 修改") @Operation(summary = "ai模型 - 修改")
@PostMapping("/update") @PostMapping("/update")
public CommonResult<Void> update(@RequestParam("id") Long id, public CommonResult<Void> update(@RequestBody @Validated AiChatModelUpdateReqVO req) {
@RequestBody @Validated AiChatModelAddReqVO req) { aiChatModelService.update(req);
aiChatModelService.update(id, req);
return CommonResult.success(null); return CommonResult.success(null);
} }

View File

@ -1,5 +1,9 @@
package cn.iocoder.yudao.module.ai.controller.admin.model.vo.model; package cn.iocoder.yudao.module.ai.controller.admin.model.vo.model;
import cn.iocoder.yudao.framework.ai.AiPlatformEnum;
import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
import cn.iocoder.yudao.module.ai.dal.dataobject.model.AiApiKeyDO;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
@ -15,27 +19,36 @@ import lombok.experimental.Accessors;
@Accessors(chain = true) @Accessors(chain = true)
public class AiChatModelListRespVO { public class AiChatModelListRespVO {
@Schema(description = "id") @Schema(description = "编号")
private Long id; private Long id;
@Schema(description = "模型平台 参考 AiPlatformEnum") @Schema(description = "API 秘钥编号")
private String platform; private Long keyId;
@Schema(description = "模型类型 参考 YiYanChatModel、XingHuoChatModel") @Schema(description = "模型名称")
private String modal;
@Schema(description = "模型名字")
private String name; private String name;
@Schema(description = "模型照片") @Schema(description = "模型标志")
private String image; private String model;
@Schema(description = "禁用 0、正常 1、禁用") @Schema(description = "平台")
private Integer disable; private String platform;
@Schema(description = "排序 asc 排序") @Schema(description = "排序")
private Integer sort; private Integer sort;
@Schema(description = "modal 配置") @Schema(description = "状态")
private String config; private Integer status;
// ========== 会话配置 ==========
@Schema(description = "温度参数")
private Double temperature;
@Schema(description = "单条回复的最大 Token 数量")
private Integer maxTokens;
@Schema(description = "上下文的最大 Message 数量")
private Integer maxContexts;
} }

View File

@ -0,0 +1,57 @@
package cn.iocoder.yudao.module.ai.controller.admin.model.vo.model;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* ai chat modal
*
* @author fansili
* @time 2024/4/24 19:47
* @since 1.0
*/
@Data
@Accessors(chain = true)
public class AiChatModelUpdateReqVO {
@Schema(description = "编号")
@NotNull(message = "编号不能为空")
private Long id;
@Schema(description = "API 秘钥编号")
@NotNull(message = "API 秘钥编号不能为空!")
private Long keyId;
@Schema(description = "模型名字")
@Size(max = 60, message = "模型名字最大60个字符")
@NotNull(message = "模型名字不能为空!")
private String name;
@Schema(description = "模型类型(qianwen、yiyan、xinghuo、openai)")
@Size(max = 32, message = "模型类型最大32个字符")
@NotNull(message = "model模型不能为空!")
private String model;
@Size(max = 32, message = "模型平台最大32个字符")
@Schema(description = "模型平台 参考 AiPlatformEnum")
@NotNull(message = "平台不能为空!")
private String platform;
@Schema(description = "排序")
@NotNull(message = "sort排序不能为空!")
private Integer sort;
// ========== 会话配置 ==========
@Schema(description = "温度参数")
private Integer temperature;
@Schema(description = "单条回复的最大 Token 数量")
private Integer maxTokens;
@Schema(description = "上下文的最大 Message 数量")
private Integer maxContexts;
}

View File

@ -1,8 +1,9 @@
package cn.iocoder.yudao.module.ai.convert; package cn.iocoder.yudao.module.ai.convert;
import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModalRespVO;
import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModelAddReqVO; import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModelAddReqVO;
import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModelListRespVO; import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModelListRespVO;
import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModalRespVO; import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModelUpdateReqVO;
import cn.iocoder.yudao.module.ai.dal.dataobject.model.AiChatModelDO; import cn.iocoder.yudao.module.ai.dal.dataobject.model.AiChatModelDO;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers; import org.mapstruct.factory.Mappers;
@ -37,6 +38,13 @@ public interface AiChatModelConvert {
*/ */
AiChatModelDO convertAiChatModalDO(AiChatModelAddReqVO req); AiChatModelDO convertAiChatModalDO(AiChatModelAddReqVO req);
/**
* 转换 - AiChatModalDO
*
* @param req
* @return
*/
AiChatModelDO convertAiChatModalDO(AiChatModelUpdateReqVO req);
/** /**
* 转换 - AiChatModalRes * 转换 - AiChatModalRes

View File

@ -75,6 +75,6 @@ public class AiChatModelDO extends BaseDO {
/** /**
* 上下文的最大 Message 数量 * 上下文的最大 Message 数量
*/ */
private Integer i; private Integer maxContexts;
} }

View File

@ -1,10 +1,7 @@
package cn.iocoder.yudao.module.ai.service; package cn.iocoder.yudao.module.ai.service;
import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModelAddReqVO; import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.*;
import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModelListReqVO;
import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModelListRespVO;
import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModalRespVO;
import cn.iocoder.yudao.module.ai.dal.dataobject.model.AiChatModelDO; import cn.iocoder.yudao.module.ai.dal.dataobject.model.AiChatModelDO;
/** /**
@ -34,10 +31,9 @@ public interface AiChatModelService {
/** /**
* ai modal - 更新 * ai modal - 更新
* *
* @param id
* @param req * @param req
*/ */
void update(Long id, AiChatModelAddReqVO req); void update(AiChatModelUpdateReqVO req);
/** /**
* ai modal - 删除 * ai modal - 删除

View File

@ -8,10 +8,7 @@ import cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil;
import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.module.ai.ErrorCodeConstants; import cn.iocoder.yudao.module.ai.ErrorCodeConstants;
import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModelAddReqVO; import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.*;
import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModelListReqVO;
import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModelListRespVO;
import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiChatModalRespVO;
import cn.iocoder.yudao.module.ai.convert.AiChatModelConvert; import cn.iocoder.yudao.module.ai.convert.AiChatModelConvert;
import cn.iocoder.yudao.module.ai.dal.dataobject.model.AiChatModelDO; import cn.iocoder.yudao.module.ai.dal.dataobject.model.AiChatModelDO;
import cn.iocoder.yudao.module.ai.dal.mysql.AiChatModelMapper; import cn.iocoder.yudao.module.ai.dal.mysql.AiChatModelMapper;
@ -70,14 +67,14 @@ public class AiChatModalServiceImpl implements AiChatModelService {
} }
@Override @Override
public void update(Long id, AiChatModelAddReqVO req) { public void update(AiChatModelUpdateReqVO req) {
// 校验 platform // 校验 platform
validatePlatform(req.getPlatform()); validatePlatform(req.getPlatform());
// 校验模型是否存在 // 校验模型是否存在
validateExists(id); validateExists(req.getId());
// 转换 updateChatModalDO // 转换 updateChatModalDO
AiChatModelDO updateChatModalDO = AiChatModelConvert.INSTANCE.convertAiChatModalDO(req); AiChatModelDO updateChatModalDO = AiChatModelConvert.INSTANCE.convertAiChatModalDO(req);
updateChatModalDO.setId(id); updateChatModalDO.setId(req.getId());
// 更新数据库 // 更新数据库
aiChatModelMapper.updateById(updateChatModalDO); aiChatModelMapper.updateById(updateChatModalDO);
} }