diff --git a/src/main/java/neatlogic/module/tenant/api/form/SaveFormVersionDefaultSceneApi.java b/src/main/java/neatlogic/module/tenant/api/form/SaveFormVersionDefaultSceneApi.java index 8b70896fe031c566095c9d8bcfbf1186aa2745e5..50497d6be253b5841d88edb559c8e8546d991b15 100644 --- a/src/main/java/neatlogic/module/tenant/api/form/SaveFormVersionDefaultSceneApi.java +++ b/src/main/java/neatlogic/module/tenant/api/form/SaveFormVersionDefaultSceneApi.java @@ -56,25 +56,27 @@ public class SaveFormVersionDefaultSceneApi extends PrivateApiComponentBase { if (Objects.equals(defaultSceneUuid, sceneUuid)) { return null; } - JSONArray sceneList = config.getJSONArray("sceneList"); - if (CollectionUtils.isEmpty(sceneList)) { - return null; - } - boolean flag = false; - for (int i = 0; i < sceneList.size(); i++) { - JSONObject sceneObj = sceneList.getJSONObject(i); - String uuid = sceneObj.getString("uuid"); - if (Objects.equals(uuid, sceneUuid)) { - flag = true; - break; + String mainSceneUuid = config.getString("uuid"); + if (!Objects.equals(mainSceneUuid, sceneUuid)) { + boolean flag = false; + JSONArray sceneList = config.getJSONArray("sceneList"); + if (CollectionUtils.isNotEmpty(sceneList)) { + for (int i = 0; i < sceneList.size(); i++) { + JSONObject sceneObj = sceneList.getJSONObject(i); + String uuid = sceneObj.getString("uuid"); + if (Objects.equals(uuid, sceneUuid)) { + flag = true; + break; + } + } } - } - if (!flag) { - FormVo formVo = formMapper.getFormByUuid(formVersionVo.getFormUuid()); - if (formVo == null) { - throw new FormNotFoundException(formVersionVo.getFormUuid()); + if (!flag) { + FormVo formVo = formMapper.getFormByUuid(formVersionVo.getFormUuid()); + if (formVo == null) { + throw new FormNotFoundException(formVersionVo.getFormUuid()); + } + throw new FormVersionSceneNotFoundException(formVo.getName(), String.valueOf(formVersionVo.getVersion()), sceneUuid); } - throw new FormVersionSceneNotFoundException(formVo.getName(), String.valueOf(formVersionVo.getVersion()), sceneUuid); } config.put("defaultSceneUuid", sceneUuid); formVersionVo.setFormConfig(config);