From dde73f8f144a284ca3340c481e200e89c531ae93 Mon Sep 17 00:00:00 2001 From: binfan5 Date: Tue, 27 Jan 2026 17:09:48 +0800 Subject: [PATCH] fix: resolve prompt-based agent creation bug --- .../hub/enums/PersonalitySceneTypeEnum.java | 34 +++++++++++++++++++ .../impl/PersonalityConfigServiceImpl.java | 3 +- 2 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 console/backend/hub/src/main/java/com/iflytek/astron/console/hub/enums/PersonalitySceneTypeEnum.java diff --git a/console/backend/hub/src/main/java/com/iflytek/astron/console/hub/enums/PersonalitySceneTypeEnum.java b/console/backend/hub/src/main/java/com/iflytek/astron/console/hub/enums/PersonalitySceneTypeEnum.java new file mode 100644 index 000000000..340515019 --- /dev/null +++ b/console/backend/hub/src/main/java/com/iflytek/astron/console/hub/enums/PersonalitySceneTypeEnum.java @@ -0,0 +1,34 @@ +package com.iflytek.astron.console.hub.enums; + +/** + * Personality configuration scene type enumeration + */ +public enum PersonalitySceneTypeEnum { + SPACE(1, "Companionship Scene"), + ENTERPRISE(2, "Training Scene"); + + private final Integer code; + private final String desc; + + PersonalitySceneTypeEnum(Integer code, String desc) { + this.code = code; + this.desc = desc; + } + + public static PersonalitySceneTypeEnum getByCode(Integer code) { + for (PersonalitySceneTypeEnum value : values()) { + if (value.code.equals(code)) { + return value; + } + } + return null; + } + + public Integer getCode() { + return code; + } + + public String getDesc() { + return desc; + } +} diff --git a/console/backend/hub/src/main/java/com/iflytek/astron/console/hub/service/bot/impl/PersonalityConfigServiceImpl.java b/console/backend/hub/src/main/java/com/iflytek/astron/console/hub/service/bot/impl/PersonalityConfigServiceImpl.java index e45b2e797..a7d3741cc 100644 --- a/console/backend/hub/src/main/java/com/iflytek/astron/console/hub/service/bot/impl/PersonalityConfigServiceImpl.java +++ b/console/backend/hub/src/main/java/com/iflytek/astron/console/hub/service/bot/impl/PersonalityConfigServiceImpl.java @@ -10,6 +10,7 @@ import com.iflytek.astron.console.hub.enums.ConfigTypeEnum; import com.iflytek.astron.console.commons.exception.BusinessException; import com.iflytek.astron.console.hub.entity.personality.PersonalityRole; +import com.iflytek.astron.console.hub.enums.PersonalitySceneTypeEnum; import com.iflytek.astron.console.hub.mapper.personality.PersonalityCategoryMapper; import com.iflytek.astron.console.hub.mapper.personality.PersonalityConfigMapper; import com.iflytek.astron.console.commons.util.I18nUtil; @@ -122,7 +123,7 @@ public boolean checkPersonalityConfig(PersonalityConfigDto personalityConfigDto) } if (personalityConfigDto.getSceneType() != null) { - return ConfigTypeEnum.fromValue(personalityConfigDto.getSceneType()) == null + return PersonalitySceneTypeEnum.getByCode(personalityConfigDto.getSceneType()) == null || StringUtils.isBlank(personalityConfigDto.getSceneInfo()) || personalityConfigDto.getSceneInfo().length() > 1000; } else { // scene type is null, scene info must be null