diff --git a/src/main/java/mpms/permission/BaseDynamicService.java b/src/main/java/mpms/permission/BaseDynamicService.java index a3a0a6e08c0a53b4ce684ee43212318d991c3533..161770d224da9e9eff40bfa459e68dc50cab2e73 100644 --- a/src/main/java/mpms/permission/BaseDynamicService.java +++ b/src/main/java/mpms/permission/BaseDynamicService.java @@ -197,4 +197,34 @@ public interface BaseDynamicService { // -------------------------------------- 前端接收选中 + /** + * 接收前端的值 + * + * @param classFeature 功能 + * @param jsonArray array + * @return list + */ + default List parserValue(ClassFeature classFeature, JSONArray jsonArray) { + if (jsonArray == null) { + return null; + } + List list = new ArrayList<>(); + jsonArray.forEach(o -> { + JSONObject jsonObject = (JSONObject) o; + JSONArray children = jsonObject.getJSONArray("children"); + RoleModel.TreeLevel treeLevel = new RoleModel.TreeLevel(); + if (children != null && !children.isEmpty()) { + treeLevel.setChildren(parserChildren(classFeature, children)); + } + String id = jsonObject.getString("id"); + if (id.contains(StrUtil.COLON)) { + id = id.split(StrUtil.COLON)[2]; + } + treeLevel.setData(id); + treeLevel.setClassFeature(classFeature.name()); + list.add(treeLevel); + }); + return list; + } + }