diff --git a/auto-solution-admin/src/main/java/com/solution/web/core/BehaviortreeProcessor.java b/auto-solution-admin/src/main/java/com/solution/web/core/BehaviortreeProcessor.java index 3630cb2..5a186ac 100644 --- a/auto-solution-admin/src/main/java/com/solution/web/core/BehaviortreeProcessor.java +++ b/auto-solution-admin/src/main/java/com/solution/web/core/BehaviortreeProcessor.java @@ -247,9 +247,23 @@ public class BehaviortreeProcessor { //获取行为树重复名称个数 Integer num = behaviortreeService.getCountName(newName); if(num > 0){ - Integer count = num + 1; - behaviortree.setName(newName + count); - behaviortree.setEnglishName(newEnglishName + count); + // 从2开始尝试,因为基础名称已经存在 + int count = 2; + String finalName; + String finalEnglishName; + do { + finalName = newName + "_" + count; + finalEnglishName = newEnglishName + "_" + count; + // 检查当前生成的名称是否存在 + num = behaviortreeService.getCountName(finalName); + count++; + } while(num > 0); + + behaviortree.setName(finalName); + behaviortree.setEnglishName(finalEnglishName); + } else { + behaviortree.setName(newName); + behaviortree.setEnglishName(newEnglishName); } return this.create(behaviortree); } diff --git a/auto-solution-behaviour/src/main/resources/mapper/system/BehaviortreeMapper.xml b/auto-solution-behaviour/src/main/resources/mapper/system/BehaviortreeMapper.xml index fbea4a4..d71a9f4 100644 --- a/auto-solution-behaviour/src/main/resources/mapper/system/BehaviortreeMapper.xml +++ b/auto-solution-behaviour/src/main/resources/mapper/system/BehaviortreeMapper.xml @@ -72,6 +72,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" english_name, xml_content, platform_id, + scenario_id, #{name}, @@ -81,6 +82,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{englishName}, #{xmlContent}, #{platformId}, + #{scenarioId},