Commit 77f3226d278ac2d180d4480d63f1a4726000cafb

Authored by cherishsince
1 parent 2fde9b12

增加 ai modal 添加模型

yudao-module-ai/yudao-module-ai-api/src/main/java/cn/iocoder/yudao/module/ai/enums/AiChatModalDisableEnum.java 0 → 100644
  1 +package cn.iocoder.yudao.module.ai.enums;
  2 +
  3 +import lombok.AllArgsConstructor;
  4 +import lombok.Getter;
  5 +
  6 +/**
  7 + * ai modal disable
  8 + *
  9 + * @author fansili
  10 + * @time 2024/4/24 20:15
  11 + * @since 1.0
  12 + */
  13 +@AllArgsConstructor
  14 +@Getter
  15 +public enum AiChatModalDisableEnum {
  16 +
  17 + NO(0, "未禁用"),
  18 + YES(1, "禁用"),
  19 +
  20 +
  21 + ;
  22 +
  23 + private Integer value;
  24 +
  25 + private String name;
  26 +}
... ...
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/AiChatModalController.java
... ... @@ -44,7 +44,7 @@ public class AiChatModalController {
44 44 }
45 45  
46 46 @Operation(summary = "ai模型 - 模型照片上传")
47   - @PutMapping("/modal/{id}/updateImage")
  47 + @PostMapping("/modal/{id}/updateImage")
48 48 public CommonResult updateImage(@PathVariable("id") Long id,
49 49 MultipartFile file) {
50 50 // todo yunai 文件上传这里放哪里
... ...
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/convert/ChatModalConvert.java
1 1 package cn.iocoder.yudao.module.ai.convert;
2 2  
3 3 import cn.iocoder.yudao.module.ai.dal.dataobject.AiChatModalDO;
  4 +import cn.iocoder.yudao.module.ai.vo.AiChatModalAddReq;
4 5 import cn.iocoder.yudao.module.ai.vo.AiChatModalListRes;
5 6 import org.mapstruct.Mapper;
6 7 import org.mapstruct.factory.Mappers;
... ... @@ -19,6 +20,19 @@ public interface ChatModalConvert {
19 20  
20 21 ChatModalConvert INSTANCE = Mappers.getMapper(ChatModalConvert.class);
21 22  
22   -
  23 + /**
  24 + * 转换 - AiChatModalListRes
  25 + *
  26 + * @param list
  27 + * @return
  28 + */
23 29 List<AiChatModalListRes> convertAiChatModalListRes(List<AiChatModalDO> list);
  30 +
  31 + /**
  32 + * 转换 - AiChatModalDO
  33 + *
  34 + * @param req
  35 + * @return
  36 + */
  37 + AiChatModalDO convertAiChatModalDO(AiChatModalAddReq req);
24 38 }
... ...
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/dal/dataobject/AiChatModalDO.java
... ... @@ -36,10 +36,6 @@ public class AiChatModalDO extends BaseDO {
36 36 */
37 37 private String modelConfig;
38 38 /**
39   - * 模型图片
40   - */
41   - private String modelImage;
42   - /**
43 39 * 禁用 0、正常 1、禁用
44 40 */
45 41 private Integer disable;
... ...
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/impl/AiChatModalServiceImpl.java
... ... @@ -5,6 +5,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult;
5 5 import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
6 6 import cn.iocoder.yudao.module.ai.convert.ChatModalConvert;
7 7 import cn.iocoder.yudao.module.ai.dal.dataobject.AiChatModalDO;
  8 +import cn.iocoder.yudao.module.ai.enums.AiChatModalDisableEnum;
8 9 import cn.iocoder.yudao.module.ai.mapper.AiChatModalMapper;
9 10 import cn.iocoder.yudao.module.ai.service.AiChatModalService;
10 11 import cn.iocoder.yudao.module.ai.vo.AiChatModalAddReq;
... ... @@ -48,6 +49,11 @@ public class AiChatModalServiceImpl implements AiChatModalService {
48 49  
49 50 @Override
50 51 public void add(AiChatModalAddReq req) {
51   -
  52 + // 转换 do
  53 + AiChatModalDO insertChatModalDO = ChatModalConvert.INSTANCE.convertAiChatModalDO(req);
  54 + //
  55 + insertChatModalDO.setDisable(AiChatModalDisableEnum.NO.getValue());
  56 + // 保存数据库
  57 + aiChatModalMapper.insert(insertChatModalDO);
52 58 }
53 59 }
... ...
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/vo/AiChatModalAddReq.java
1 1 package cn.iocoder.yudao.module.ai.vo;
2 2  
  3 +import io.swagger.v3.oas.annotations.media.Schema;
  4 +import jakarta.validation.constraints.NotNull;
  5 +import jakarta.validation.constraints.Size;
3 6 import lombok.Data;
4 7 import lombok.experimental.Accessors;
5 8  
... ... @@ -13,4 +16,21 @@ import lombok.experimental.Accessors;
13 16 @Data
14 17 @Accessors(chain = true)
15 18 public class AiChatModalAddReq {
  19 +
  20 + @NotNull
  21 + @Schema(description = "模型名字")
  22 + @Size(max = 60, message = "模型名字最大60")
  23 + private String modelName;
  24 +
  25 + @NotNull
  26 + @Schema(description = "模型类型(qianwen、yiyan、xinghuo、openai)")
  27 + @Size(max = 32, message = "模型类型最大32")
  28 + private String modelType;
  29 +
  30 + @Schema(description = "模型照片")
  31 + private String modalImage;
  32 +
  33 + @Schema(description = "模型配置JSON")
  34 + private String modelConfig;
  35 +
16 36 }
... ...