Commit c44f558e3d3b72911eff02476eb5bdfa66a3ed02

Authored by cherishsince
1 parent 4cc87539

角色增加 更新

yudao-module-ai/yudao-module-ai-api/src/main/java/cn/iocoder/yudao/module/ai/ErrorCodeConstants.java
@@ -22,6 +22,7 @@ public interface ErrorCodeConstants { @@ -22,6 +22,7 @@ public interface ErrorCodeConstants {
22 22
23 23
24 ErrorCode AI_CHAT_CONTINUE_NOT_EXIST = new ErrorCode(1_022_000_020, "chat对话不存在!");; 24 ErrorCode AI_CHAT_CONTINUE_NOT_EXIST = new ErrorCode(1_022_000_020, "chat对话不存在!");;
  25 + ErrorCode AI_CHAT_ROLE_NOT_EXIST = new ErrorCode(1_022_000_020, "chatRole不存在!");;
25 26
26 27
27 28
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/convert/ChatRoleConvert.java
@@ -3,6 +3,7 @@ package cn.iocoder.yudao.module.ai.convert; @@ -3,6 +3,7 @@ package cn.iocoder.yudao.module.ai.convert;
3 import cn.iocoder.yudao.module.ai.dal.dataobject.AiChatRoleDO; 3 import cn.iocoder.yudao.module.ai.dal.dataobject.AiChatRoleDO;
4 import cn.iocoder.yudao.module.ai.vo.ChatRoleAddReq; 4 import cn.iocoder.yudao.module.ai.vo.ChatRoleAddReq;
5 import cn.iocoder.yudao.module.ai.vo.ChatRoleListRes; 5 import cn.iocoder.yudao.module.ai.vo.ChatRoleListRes;
  6 +import cn.iocoder.yudao.module.ai.vo.ChatRoleUpdateReq;
6 import org.mapstruct.Mapper; 7 import org.mapstruct.Mapper;
7 import org.mapstruct.factory.Mappers; 8 import org.mapstruct.factory.Mappers;
8 9
@@ -35,4 +36,12 @@ public interface ChatRoleConvert { @@ -35,4 +36,12 @@ public interface ChatRoleConvert {
35 * @return 36 * @return
36 */ 37 */
37 AiChatRoleDO convertAiChatRoleDO(ChatRoleAddReq req); 38 AiChatRoleDO convertAiChatRoleDO(ChatRoleAddReq req);
  39 +
  40 + /**
  41 + * 转换 - AiChatRoleDO
  42 + *
  43 + * @param req
  44 + * @return
  45 + */
  46 + AiChatRoleDO convertAiChatRoleDO(ChatRoleUpdateReq req);
38 } 47 }
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/impl/ChatRoleServiceImpl.java
1 package cn.iocoder.yudao.module.ai.service.impl; 1 package cn.iocoder.yudao.module.ai.service.impl;
2 2
3 import cn.hutool.core.util.StrUtil; 3 import cn.hutool.core.util.StrUtil;
  4 +import cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil;
4 import cn.iocoder.yudao.framework.common.pojo.PageResult; 5 import cn.iocoder.yudao.framework.common.pojo.PageResult;
5 import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; 6 import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
6 import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; 7 import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
  8 +import cn.iocoder.yudao.module.ai.ErrorCodeConstants;
7 import cn.iocoder.yudao.module.ai.convert.ChatRoleConvert; 9 import cn.iocoder.yudao.module.ai.convert.ChatRoleConvert;
8 import cn.iocoder.yudao.module.ai.dal.dataobject.AiChatRoleDO; 10 import cn.iocoder.yudao.module.ai.dal.dataobject.AiChatRoleDO;
9 import cn.iocoder.yudao.module.ai.enums.ChatRoleClassifyEnum; 11 import cn.iocoder.yudao.module.ai.enums.ChatRoleClassifyEnum;
@@ -66,7 +68,18 @@ public class ChatRoleServiceImpl implements ChatRoleService { @@ -66,7 +68,18 @@ public class ChatRoleServiceImpl implements ChatRoleService {
66 68
67 @Override 69 @Override
68 public void update(ChatRoleUpdateReq req) { 70 public void update(ChatRoleUpdateReq req) {
69 - 71 + // 转换enum,并校验enum
  72 + ChatRoleClassifyEnum.valueOfClassify(req.getClassify());
  73 + ChatRoleVisibilityEnum.valueOfType(req.getVisibility());
  74 + ChatRoleSourceEnum.valueOfType(req.getRoleSource());
  75 + // 检查角色是否存在
  76 + AiChatRoleDO aiChatRoleDO = aiChatRoleMapper.selectById(req.getId());
  77 + if (aiChatRoleDO == null) {
  78 + throw ServiceExceptionUtil.exception(ErrorCodeConstants.AI_CHAT_ROLE_NOT_EXIST);
  79 + }
  80 + // 转换do
  81 + AiChatRoleDO updateChatRole = ChatRoleConvert.INSTANCE.convertAiChatRoleDO(req);
  82 + aiChatRoleMapper.updateById(updateChatRole);
70 } 83 }
71 84
72 @Override 85 @Override
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/vo/ChatRoleUpdateReq.java
@@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.ai.vo; @@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.ai.vo;
2 2
3 import cn.iocoder.yudao.framework.common.pojo.PageParam; 3 import cn.iocoder.yudao.framework.common.pojo.PageParam;
4 import io.swagger.v3.oas.annotations.media.Schema; 4 import io.swagger.v3.oas.annotations.media.Schema;
  5 +import jakarta.validation.constraints.NotNull;
5 import lombok.Data; 6 import lombok.Data;
6 import lombok.experimental.Accessors; 7 import lombok.experimental.Accessors;
7 8
@@ -15,6 +16,44 @@ import lombok.experimental.Accessors; @@ -15,6 +16,44 @@ import lombok.experimental.Accessors;
15 @Accessors(chain = true) 16 @Accessors(chain = true)
16 public class ChatRoleUpdateReq extends PageParam { 17 public class ChatRoleUpdateReq extends PageParam {
17 18
18 - @Schema(description = "查询")  
19 - private String search; 19 +
  20 + @NotNull
  21 + @Schema(description = "编号")
  22 + private Long id;
  23 +
  24 + @NotNull
  25 + @Schema(description = "模型编号,关联到角色使用的特定模型")
  26 + private String modelId;
  27 +
  28 + @NotNull
  29 + @Schema(description = "角色名,角色的显示名称")
  30 + private String roleName;
  31 +
  32 + @NotNull
  33 + @Schema(description = "角色介绍,详细描述角色的功能或用途")
  34 + private String roleIntroduce;
  35 +
  36 + @NotNull
  37 + @Schema(description = "角色来源,如 system(系统预置)、customer(用户自定义)")
  38 + private String roleSource;
  39 +
  40 + @NotNull
  41 + @Schema(description = "分类,角色所属的类别,如娱乐、创作等")
  42 + private String classify;
  43 +
  44 + @NotNull
  45 + @Schema(description = "发布状态,0表示仅自己可见,1表示公开,2表示禁用")
  46 + private String visibility;
  47 +
  48 + @NotNull
  49 + @Schema(description = "生成时的Top-K采样候选集大小")
  50 + private Double topK;
  51 +
  52 + @NotNull
  53 + @Schema(description = "生成时使用的核采样方法的概率阈值")
  54 + private Double topP;
  55 +
  56 + @NotNull
  57 + @Schema(description = "用于控制随机性和多样性的温度参数")
  58 + private Double temperature;
20 } 59 }