From 7935724516cb699835da888d59cd5b7bec5c6049 Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期四, 12 九月 2024 12:07:29 +0800
Subject: [PATCH] 完成业主功能的优化
---
service-user/src/main/java/com/java110/user/cmd/menu/QueryMenuInfoCmd.java | 87 ++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 85 insertions(+), 2 deletions(-)
diff --git a/service-user/src/main/java/com/java110/user/cmd/menu/QueryMenuInfoCmd.java b/service-user/src/main/java/com/java110/user/cmd/menu/QueryMenuInfoCmd.java
index 665c3b8..c198303 100644
--- a/service-user/src/main/java/com/java110/user/cmd/menu/QueryMenuInfoCmd.java
+++ b/service-user/src/main/java/com/java110/user/cmd/menu/QueryMenuInfoCmd.java
@@ -46,6 +46,11 @@
String userId = context.getReqHeaders().get("user-id");
String storeId = context.getReqHeaders().get("store-id");
+ String groupType = "P_WEB";
+ if(reqJson.containsKey("groupType") && !StringUtil.isEmpty(reqJson.getString("groupType"))){
+ groupType = reqJson.getString("groupType");
+ }
+
if(StringUtil.isEmpty(userId)){
userId = reqJson.getString("userId");
}
@@ -69,7 +74,7 @@
JSONObject param = new JSONObject();
param.put("userId", userId);
param.put("domain", domain);
- param.put("groupType", "P_WEB");
+ param.put("groupType", groupType);
dataQuery.setRequestParams(param);
queryServiceSMOImpl.commonQueryService(dataQuery);
ResponseEntity<String> privilegeGroup = dataQuery.getResponseEntity();
@@ -79,6 +84,84 @@
}
JSONObject resultObj = JSONObject.parseObject(privilegeGroup.getBody().toString());
- context.setResponseEntity(new ResponseEntity<String>(resultObj.toJSONString(), HttpStatus.OK));
+
+
+ if (!resultObj.containsKey("menus")) {
+ return;
+ }
+
+ context.setResponseEntity(refreshMenusInfo(resultObj.getJSONArray("menus")));
+
+ }
+
+ /**
+ * 鍒锋柊鑿滃崟淇℃伅
+ * 灏� 鏁版嵁 [{
+ * "gId": "800201904001",
+ * "menuDescription": "娣诲姞鍛樺伐",
+ * "menuGroupSeq": 1,
+ * "menuSeq": 1,
+ * "icon": "fa-desktop",
+ * "mId": "700201904001",
+ * "menuName": "娣诲姞鍛樺伐",
+ * "pId": "500201904001",
+ * "menuGroupName": "鍛樺伐绠$悊",
+ * "label": "",
+ * "menuGroupDescription": "鍛樺伐绠$悊",
+ * "url": "/"
+ * }],
+ * 杞负锛�
+ * "[{'id':1,'icon':'fa-desktop','name':'鎴戠殑鑿滃崟','label':'HOT','childs':[" +
+ * "{'name':'瀛愯彍鍗�','href':'http://www.baidu.com'}]}," +
+ * "{'id':2,'icon':'fa-flask','name':'鎴戠殑鑿滃崟','childs':[],'href':'/doc'}," +
+ * "{'id':3,'icon':'fa-globe','name':'鎴戠殑鑿滃崟','childs':[{'name':'瀛愯彍鍗�','href':'http://www.baidu.com'}]}" +
+ * "]";
+ *
+ * @param menusList 鑿滃崟鍒楄〃
+ * @return
+ */
+ private ResponseEntity<String> refreshMenusInfo(JSONArray menusList) {
+ JSONArray tempMenus = new JSONArray();
+ JSONObject tempMenu = null;
+ for (int menuIndex = 0; menuIndex < menusList.size(); menuIndex++) {
+ JSONObject tMenu = menusList.getJSONObject(menuIndex);
+ tempMenu = this.getMenuFromMenus(tempMenus, tMenu.getString("gId"));
+ if (tempMenu == null) {
+ tempMenu = new JSONObject();
+ tempMenu.put("id", tMenu.getString("gId"));
+ tempMenu.put("icon", tMenu.getString("icon"));
+ tempMenu.put("name", tMenu.getString("menuGroupName"));
+ tempMenu.put("label", tMenu.getString("label"));
+ tempMenu.put("seq", tMenu.getString("menuGroupSeq"));
+ tempMenu.put("childs", new JSONArray());
+ tempMenus.add(tempMenu);
+ }
+ //鑾峰彇瀛╁瓙鑿滃崟
+ JSONArray childs = tempMenu.getJSONArray("childs");
+ JSONObject childMenu = new JSONObject();
+ childMenu.put("name", tMenu.getString("menuName"));
+ childMenu.put("href", tMenu.getString("url"));
+ childMenu.put("seq", tMenu.getString("menuSeq"));
+ childMenu.put("isShow", tMenu.getString("isShow"));
+ childMenu.put("description", tMenu.getString("description"));
+ childs.add(childMenu);
+ }
+ return new ResponseEntity<String>(tempMenus.toJSONString(), HttpStatus.OK);
+ }
+
+ /**
+ * 鍦ㄨ彍鍗曞垪琛ㄦ煡璇㈣彍鍗�
+ *
+ * @param gId
+ * @return
+ */
+ private JSONObject getMenuFromMenus(JSONArray tempMenus, String gId) {
+ for (int tempIndex = 0; tempIndex < tempMenus.size(); tempIndex++) {
+ if (tempMenus.getJSONObject(tempIndex).getString("id").equals(gId)) {
+ return tempMenus.getJSONObject(tempIndex);
+ }
+ }
+
+ return null;
}
}
--
Gitblit v1.8.0