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 32185af..6024a5f 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 @@ -243,7 +243,14 @@ public class BehaviortreeProcessor { String newEnglishName = englishName + "_" + behaviortree.getId(); behaviortree.setEnglishName(newEnglishName); behaviortree.setName(newName); - + //不做前置判断,必走数据库count + //获取行为树重复名称个数 + Integer num = behaviortreeService.getCountName(newName); + if(num > 0){ + Integer count = num + 1; + newName += count; + newEnglishName += count; + } return this.create(behaviortree); } } diff --git a/auto-solution-behaviour/src/main/java/com/solution/system/mapper/BehaviortreeMapper.java b/auto-solution-behaviour/src/main/java/com/solution/system/mapper/BehaviortreeMapper.java index 66de1a2..b2d95af 100644 --- a/auto-solution-behaviour/src/main/java/com/solution/system/mapper/BehaviortreeMapper.java +++ b/auto-solution-behaviour/src/main/java/com/solution/system/mapper/BehaviortreeMapper.java @@ -70,4 +70,11 @@ public interface BehaviortreeMapper * @return */ List getCommander(Integer scenarioId); + + /** + * 获取行为树重复名称个数 + * @param newName + * @return + */ + Integer getCountName(String newName); } diff --git a/auto-solution-behaviour/src/main/java/com/solution/system/service/IBehaviortreeService.java b/auto-solution-behaviour/src/main/java/com/solution/system/service/IBehaviortreeService.java index bad4da3..671465f 100644 --- a/auto-solution-behaviour/src/main/java/com/solution/system/service/IBehaviortreeService.java +++ b/auto-solution-behaviour/src/main/java/com/solution/system/service/IBehaviortreeService.java @@ -78,4 +78,11 @@ public interface IBehaviortreeService * @return */ List getCommander(Integer scenarioId); + + /** + * 获取行为树重复名称个数 + * @param newName + * @return + */ + Integer getCountName(String newName); } diff --git a/auto-solution-behaviour/src/main/java/com/solution/system/service/impl/BehaviortreeServiceImpl.java b/auto-solution-behaviour/src/main/java/com/solution/system/service/impl/BehaviortreeServiceImpl.java index 8262e07..e1803af 100644 --- a/auto-solution-behaviour/src/main/java/com/solution/system/service/impl/BehaviortreeServiceImpl.java +++ b/auto-solution-behaviour/src/main/java/com/solution/system/service/impl/BehaviortreeServiceImpl.java @@ -146,4 +146,14 @@ public class BehaviortreeServiceImpl implements IBehaviortreeService public List getCommander(Integer scenarioId) { return behaviortreeMapper.getCommander(scenarioId); } + + /** + * 获取行为树重复名称个数 + * @param newName + * @return + */ + @Override + public Integer getCountName(String newName) { + return behaviortreeMapper.getCountName(newName); + } } 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 67d0872..fbea4a4 100644 --- a/auto-solution-behaviour/src/main/resources/mapper/system/BehaviortreeMapper.xml +++ b/auto-solution-behaviour/src/main/resources/mapper/system/BehaviortreeMapper.xml @@ -56,6 +56,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" FROM platform_chief_commander WHERE scenario_id = #{scenarioId} + insert into behaviortree