Commit 77f3226d278ac2d180d4480d63f1a4726000cafb
1 parent
2fde9b12
增加 ai modal 添加模型
Showing
6 changed files
with
69 additions
and
7 deletions
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
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 | } | ... | ... |