Przeglądaj źródła

只有 ENVIRONMENT 和 APP_TYPE 这两个自定义的标签在 selectCache 中存取, 其他的自定义标签仍在 localCache 中存取

reghao 2 lat temu
rodzic
commit
6640ac5bb1

+ 47 - 43
manager/src/main/java/cn/reghao/devops/manager/template/attribute/SelectDictAttrProcessor.java

@@ -65,56 +65,60 @@ public class SelectDictAttrProcessor extends AbstractAttributeTagProcessor {
      * @date 2023-12-01 15:15:50
      */
     private Map<String, Object> getSelectOptions(String attr) {
-        Map<String, Map<String, Object>> map = selectCache.get(attr);
-        if (map.isEmpty()) {
-            if ("ENVIRONMENT".equals(attr)) {
-                for (RoleType roleType : RoleType.values()) {
-                    String role = roleType.name();
-                    if (role.equals(RoleType.ROLE_ADMIN.name())) {
-                        Map<String, Object> map1 = new HashMap<>();
-                        for (EnvType envType : EnvType.values()) {
-                            map1.put(envType.name(), envType.name());
+        if ("ENVIRONMENT".equals(attr) || "APP_TYPE".equals(attr)) {
+            Map<String, Map<String, Object>> map = selectCache.get(attr);
+            if (map.isEmpty()) {
+                if ("ENVIRONMENT".equals(attr)) {
+                    for (RoleType roleType : RoleType.values()) {
+                        String role = roleType.name();
+                        if (role.equals(RoleType.ROLE_ADMIN.name())) {
+                            Map<String, Object> map1 = new HashMap<>();
+                            for (EnvType envType : EnvType.values()) {
+                                map1.put(envType.name(), envType.name());
+                            }
+                            map.put(role, map1);
+                        } else if (role.equals(RoleType.ROLE_BACKEND.name()) || role.equals(RoleType.ROLE_FRONTEND.name())) {
+                            Map<String, Object> map1 = new HashMap<>();
+                            map1.put(EnvType.uat.name(), EnvType.uat.name());
+                            map1.put(EnvType.test.name(), EnvType.test.name());
+                            map.put(role, map1);
+                        } else {
+                            Map<String, Object> map1 = new HashMap<>();
+                            map1.put(EnvType.test.name(), EnvType.test.name());
+                            map.put(role, map1);
                         }
-                        map.put(role, map1);
-                    } else if (role.equals(RoleType.ROLE_BACKEND.name()) || role.equals(RoleType.ROLE_FRONTEND.name())) {
-                        Map<String, Object> map1 = new HashMap<>();
-                        map1.put(EnvType.uat.name(), EnvType.uat.name());
-                        map1.put(EnvType.test.name(), EnvType.test.name());
-                        map.put(role, map1);
-                    } else {
-                        Map<String, Object> map1 = new HashMap<>();
-                        map1.put(EnvType.test.name(), EnvType.test.name());
-                        map.put(role, map1);
                     }
-                }
-            } else if ("APP_TYPE".equals(attr)) {
-                for (RoleType roleType : RoleType.values()) {
-                    String role = roleType.name();
-                    if (role.equals(RoleType.ROLE_ADMIN.name())) {
-                        Map<String, Object> map1 = new HashMap<>();
-                        for (AppType appType : AppType.values()) {
-                            map1.put(appType.name(), appType.name());
+                } else {
+                    for (RoleType roleType : RoleType.values()) {
+                        String role = roleType.name();
+                        if (role.equals(RoleType.ROLE_ADMIN.name())) {
+                            Map<String, Object> map1 = new HashMap<>();
+                            for (AppType appType : AppType.values()) {
+                                map1.put(appType.name(), appType.name());
+                            }
+                            map.put(role, map1);
+                        } else if (role.equals(RoleType.ROLE_BACKEND.name())) {
+                            Map<String, Object> map1 = new HashMap<>();
+                            map1.put(AppType.dotnetCore.name(), AppType.dotnetCore.getName());
+                            map.put(role, map1);
+                        } else if (role.equals(RoleType.ROLE_FRONTEND.name())) {
+                            Map<String, Object> map1 = new HashMap<>();
+                            map1.put(AppType.npm.name(), AppType.npm.getName());
+                            map.put(role, map1);
+                        } else {
+                            Map<String, Object> map1 = new HashMap<>();
+                            map1.put(AppType.maven.name(), AppType.maven.getName());
+                            map.put(role, map1);
                         }
-                        map.put(role, map1);
-                    } else if (role.equals(RoleType.ROLE_BACKEND.name())) {
-                        Map<String, Object> map1 = new HashMap<>();
-                        map1.put(AppType.dotnetCore.name(), AppType.dotnetCore.getName());
-                        map.put(role, map1);
-                    } else if (role.equals(RoleType.ROLE_FRONTEND.name())) {
-                        Map<String, Object> map1 = new HashMap<>();
-                        map1.put(AppType.npm.name(), AppType.npm.getName());
-                        map.put(role, map1);
-                    } else {
-                        Map<String, Object> map1 = new HashMap<>();
-                        map1.put(AppType.maven.name(), AppType.maven.getName());
-                        map.put(role, map1);
                     }
                 }
             }
-        }
 
-        String role = UserContext.getUserRole();
-        return map.get(role);
+            String role = UserContext.getUserRole();
+            return map.get(role);
+        } else {
+            return localCache.get(attr);
+        }
     }
 
     @Override