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,7 +44,7 @@ public class AiChatModalController {
44 } 44 }
45 45
46 @Operation(summary = "ai模型 - 模型照片上传") 46 @Operation(summary = "ai模型 - 模型照片上传")
47 - @PutMapping("/modal/{id}/updateImage") 47 + @PostMapping("/modal/{id}/updateImage")
48 public CommonResult updateImage(@PathVariable("id") Long id, 48 public CommonResult updateImage(@PathVariable("id") Long id,
49 MultipartFile file) { 49 MultipartFile file) {
50 // todo yunai 文件上传这里放哪里 50 // todo yunai 文件上传这里放哪里
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/convert/ChatModalConvert.java
1 package cn.iocoder.yudao.module.ai.convert; 1 package cn.iocoder.yudao.module.ai.convert;
2 2
3 import cn.iocoder.yudao.module.ai.dal.dataobject.AiChatModalDO; 3 import cn.iocoder.yudao.module.ai.dal.dataobject.AiChatModalDO;
  4 +import cn.iocoder.yudao.module.ai.vo.AiChatModalAddReq;
4 import cn.iocoder.yudao.module.ai.vo.AiChatModalListRes; 5 import cn.iocoder.yudao.module.ai.vo.AiChatModalListRes;
5 import org.mapstruct.Mapper; 6 import org.mapstruct.Mapper;
6 import org.mapstruct.factory.Mappers; 7 import org.mapstruct.factory.Mappers;
@@ -19,6 +20,19 @@ public interface ChatModalConvert { @@ -19,6 +20,19 @@ public interface ChatModalConvert {
19 20
20 ChatModalConvert INSTANCE = Mappers.getMapper(ChatModalConvert.class); 21 ChatModalConvert INSTANCE = Mappers.getMapper(ChatModalConvert.class);
21 22
22 - 23 + /**
  24 + * 转换 - AiChatModalListRes
  25 + *
  26 + * @param list
  27 + * @return
  28 + */
23 List<AiChatModalListRes> convertAiChatModalListRes(List<AiChatModalDO> list); 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,10 +36,6 @@ public class AiChatModalDO extends BaseDO {
36 */ 36 */
37 private String modelConfig; 37 private String modelConfig;
38 /** 38 /**
39 - * 模型图片  
40 - */  
41 - private String modelImage;  
42 - /**  
43 * 禁用 0、正常 1、禁用 39 * 禁用 0、正常 1、禁用
44 */ 40 */
45 private Integer disable; 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,6 +5,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult;
5 import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; 5 import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
6 import cn.iocoder.yudao.module.ai.convert.ChatModalConvert; 6 import cn.iocoder.yudao.module.ai.convert.ChatModalConvert;
7 import cn.iocoder.yudao.module.ai.dal.dataobject.AiChatModalDO; 7 import cn.iocoder.yudao.module.ai.dal.dataobject.AiChatModalDO;
  8 +import cn.iocoder.yudao.module.ai.enums.AiChatModalDisableEnum;
8 import cn.iocoder.yudao.module.ai.mapper.AiChatModalMapper; 9 import cn.iocoder.yudao.module.ai.mapper.AiChatModalMapper;
9 import cn.iocoder.yudao.module.ai.service.AiChatModalService; 10 import cn.iocoder.yudao.module.ai.service.AiChatModalService;
10 import cn.iocoder.yudao.module.ai.vo.AiChatModalAddReq; 11 import cn.iocoder.yudao.module.ai.vo.AiChatModalAddReq;
@@ -48,6 +49,11 @@ public class AiChatModalServiceImpl implements AiChatModalService { @@ -48,6 +49,11 @@ public class AiChatModalServiceImpl implements AiChatModalService {
48 49
49 @Override 50 @Override
50 public void add(AiChatModalAddReq req) { 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 package cn.iocoder.yudao.module.ai.vo; 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 import lombok.Data; 6 import lombok.Data;
4 import lombok.experimental.Accessors; 7 import lombok.experimental.Accessors;
5 8
@@ -13,4 +16,21 @@ import lombok.experimental.Accessors; @@ -13,4 +16,21 @@ import lombok.experimental.Accessors;
13 @Data 16 @Data
14 @Accessors(chain = true) 17 @Accessors(chain = true)
15 public class AiChatModalAddReq { 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 }