From f39cd4d82c3952f8587ebff9a7e8ede73b46bcda Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期四, 30 五月 2019 00:40:32 +0800
Subject: [PATCH] Merge branch 'master' of https://github.com/java110/MicroCommunity

---
 java110-event/src/main/java/com/java110/event/service/api/ServiceDataFlowListener.java |    1 
 WebService/src/main/java/com/java110/web/smo/impl/MenuServiceSMOImpl.java              |    7 
 docs/start/vedio.md                                                                    |    5 
 WebService/src/main/java/com/java110/web/components/MenuComponent.java                 |   12 +-
 WebService/src/main/java/com/java110/web/smo/impl/NavServiceSMOImpl.java               |    7 +
 Api/src/main/java/com/java110/api/listener/menu/QueryMenuServiceListener.java          |  115 ++++++++++---------
 WebService/src/main/resources/components/menu/menu.js                                  |   13 ++
 StoreService/docker/docker-compose.yml                                                 |    9 +
 WebService/docker/onStart.sh                                                           |    6 
 UserService/docker/docker-compose.yml                                                  |    9 +
 eureka/docker/docker-compose.yml                                                       |   19 +++
 reBuildAll.sh                                                                          |    2 
 eureka/docker/Dockerfile                                                               |    2 
 WebService/docker/docker-compose.yml                                                   |    9 +
 CommunityService/docker/docker-compose.yml                                             |    9 +
 Api/docker/docker-compose.yml                                                          |    9 +
 Readme.md                                                                              |    9 +
 WebService/src/main/resources/components/nav/nav.js                                    |   14 ++
 OrderService/docker/docker-compose.yml                                                 |    9 +
 ShopService/docker/docker-compose.yml                                                  |    9 +
 WebService/src/main/java/com/java110/web/smo/IMenuServiceSMO.java                      |    2 
 WebService/src/main/resources/static/js/vc-constant.js                                 |    1 
 /dev/null                                                                              |    6 -
 java110-common/src/main/java/com/java110/common/util/CommonUtil.java                   |   38 ++++-
 WebService/src/main/resources/static/js/core.js                                        |   22 +++
 restartAll.sh                                                                          |    3 
 eureka/docker/bin/start_eureka.sh                                                      |    6 +
 docs/index.html                                                                        |    4 
 28 files changed, 255 insertions(+), 102 deletions(-)

diff --git a/Api/docker/docker-compose.yml b/Api/docker/docker-compose.yml
index a7a5f80..5230c0f 100644
--- a/Api/docker/docker-compose.yml
+++ b/Api/docker/docker-compose.yml
@@ -9,4 +9,11 @@
        ports:
        - "8008:8008"
        volumes:
-       - ../target/Api.jar:/root/target/Api.jar
\ No newline at end of file
+       - ../target/Api.jar:/root/target/Api.jar
+#       extra_hosts:
+#       - "dev.java110.com:192.168.1.18"
+#       - "dev.db.java110.com:192.168.1.18"
+#       - "dev.zk.java110.com:192.168.1.18"
+#       - "dev.kafka.java110.com:192.168.1.18"
+#       - "dev.redis.java110.com:192.168.1.18"
+#       - "api.java110.com:92.168.1.18"
\ No newline at end of file
diff --git a/Api/src/main/java/com/java110/api/listener/menu/QueryMenuServiceListener.java b/Api/src/main/java/com/java110/api/listener/menu/QueryMenuServiceListener.java
index 2cf38e3..df69bfd 100644
--- a/Api/src/main/java/com/java110/api/listener/menu/QueryMenuServiceListener.java
+++ b/Api/src/main/java/com/java110/api/listener/menu/QueryMenuServiceListener.java
@@ -39,6 +39,7 @@
 
     /**
      * 涓氬姟澶勭悊
+     *
      * @param event
      */
     @Override
@@ -46,30 +47,30 @@
         DataFlowContext dataFlowContext = event.getDataFlowContext();
         AppService service = event.getAppService();
         //get 鏂瑰紡涓� 璇锋眰鍙傛暟浼氳浆鍖栧埌header 涓�
-        Map<String,String> requestHeaders = dataFlowContext.getRequestHeaders();
-        Assert.hasKey(requestHeaders,"userId","璇锋眰淇℃伅涓湭鍖呭惈userId淇℃伅");
+        Map<String, String> requestHeaders = dataFlowContext.getRequestHeaders();
+        Assert.hasKey(requestHeaders, "userId", "璇锋眰淇℃伅涓湭鍖呭惈userId淇℃伅");
 
         String userId = requestHeaders.get("userId");
         //鏍规嵁鐢ㄦ埛鏌ヨ 鍟嗘埛绫�
-        String domain = queryStoreTypeCd(dataFlowContext,userId);
-        domain = StringUtil.isEmpty(domain)?"-1":domain;
-        ResponseEntity responseEntity= null;
-        String requestUrl = service.getUrl() + "?userId="+userId+"&domain="+domain;
-        dataFlowContext.getRequestHeaders().put("REQUEST_URL",requestUrl);
+        String domain = queryStoreTypeCd(dataFlowContext, userId);
+        domain = StringUtil.isEmpty(domain) ? "-1" : domain;
+        ResponseEntity responseEntity = null;
+        String requestUrl = service.getUrl() + "?userId=" + userId + "&domain=" + domain;
+        dataFlowContext.getRequestHeaders().put("REQUEST_URL", requestUrl);
         HttpHeaders header = new HttpHeaders();
-        header.add(CommonConstant.HTTP_SERVICE.toLowerCase(),ServiceCodeConstant.SERVICE_CODE_QUERY_MENU_INFO);
+        header.add(CommonConstant.HTTP_SERVICE.toLowerCase(), ServiceCodeConstant.SERVICE_CODE_QUERY_MENU_INFO);
         HttpEntity<String> httpEntity = new HttpEntity<String>("", header);
-        doRequest(dataFlowContext,service,httpEntity);
+        doRequest(dataFlowContext, service, httpEntity);
         responseEntity = dataFlowContext.getResponseEntity();
         //濡傛灉璋冪敤鍚庣澶辫触浜� 鍒欑洿鎺ヨ繑鍥�
-        if(responseEntity.getStatusCode() != HttpStatus.OK){
-            return ;
+        if (responseEntity.getStatusCode() != HttpStatus.OK) {
+            return;
         }
 
         JSONObject resultObj = JSONObject.parseObject(responseEntity.getBody().toString());
 
-        if(!resultObj.containsKey("menus")){
-            return ;
+        if (!resultObj.containsKey("menus")) {
+            return;
         }
 
         dataFlowContext.setResponseEntity(refreshMenusInfo(resultObj.getJSONArray("menus")));
@@ -78,26 +79,27 @@
 
     /**
      * 鏍规嵁鐢ㄦ埛ID鏌ヨ鍟嗘埛淇℃伅
+     *
      * @param dataFlowContext
      * @param userId
      * @return
      */
-    private String queryStoreTypeCd(DataFlowContext dataFlowContext,String userId){
-        ResponseEntity responseEntity= null;
+    private String queryStoreTypeCd(DataFlowContext dataFlowContext, String userId) {
+        ResponseEntity responseEntity = null;
         AppService appService = DataFlowFactory.getService(dataFlowContext.getAppId(), ServiceCodeConstant.SERVICE_CODE_QUERY_STORE_BYUSER);
-        if(appService == null){
-            responseEntity = new ResponseEntity<String>("褰撳墠娌℃湁鏉冮檺璁块棶"+ServiceCodeConstant.SERVICE_CODE_QUERY_USER_LOGIN,HttpStatus.UNAUTHORIZED);
+        if (appService == null) {
+            responseEntity = new ResponseEntity<String>("褰撳墠娌℃湁鏉冮檺璁块棶" + ServiceCodeConstant.SERVICE_CODE_QUERY_USER_LOGIN, HttpStatus.UNAUTHORIZED);
             dataFlowContext.setResponseEntity(responseEntity);
             return "";
         }
-        String requestUrl = appService.getUrl() + "?userId="+userId;
+        String requestUrl = appService.getUrl() + "?userId=" + userId;
         HttpHeaders header = new HttpHeaders();
-        header.add(CommonConstant.HTTP_SERVICE.toLowerCase(),ServiceCodeConstant.SERVICE_CODE_QUERY_STORE_BYUSER);
+        header.add(CommonConstant.HTTP_SERVICE.toLowerCase(), ServiceCodeConstant.SERVICE_CODE_QUERY_STORE_BYUSER);
         HttpEntity<String> httpEntity = new HttpEntity<String>("", header);
-        doRequest(dataFlowContext,appService,httpEntity);
+        doRequest(dataFlowContext, appService, httpEntity);
         responseEntity = dataFlowContext.getResponseEntity();
 
-        if(responseEntity.getStatusCode() != HttpStatus.OK){
+        if (responseEntity.getStatusCode() != HttpStatus.OK) {
             dataFlowContext.setResponseEntity(responseEntity);
         }
 
@@ -107,62 +109,65 @@
     /**
      * 鍒锋柊鑿滃崟淇℃伅
      * 灏� 鏁版嵁 [{
-     "gId": "800201904001",
-     "menuDescription": "娣诲姞鍛樺伐",
-     "menuGroupSeq": 1,
-     "menuSeq": 1,
-     "icon": "fa-desktop",
-     "mId": "700201904001",
-     "menuName": "娣诲姞鍛樺伐",
-     "pId": "500201904001",
-     "menuGroupName": "鍛樺伐绠$悊",
-     "label": "",
-     "menuGroupDescription": "鍛樺伐绠$悊",
-     "url": "/"
-     }],
-     杞负锛�
+     * "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 鑿滃崟鍒楄〃
+     * "{'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){
+    private ResponseEntity<String> refreshMenusInfo(JSONArray menusList) {
         JSONArray tempMenus = new JSONArray();
         JSONObject tempMenu = null;
-        for(int menuIndex = 0 ; menuIndex < menusList.size(); menuIndex ++){
+        for (int menuIndex = 0; menuIndex < menusList.size(); menuIndex++) {
             JSONObject tMenu = menusList.getJSONObject(menuIndex);
-            tempMenu = this.getMenuFromMenus(tempMenus,tMenu.getString("gId"));
-            if(tempMenu == null){
+            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("childs",new JSONArray());
+                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("name", tMenu.getString("menuName"));
+            childMenu.put("href", tMenu.getString("url"));
+            childMenu.put("seq", tMenu.getString("menuSeq"));
             childs.add(childMenu);
         }
-        return new ResponseEntity<String>(tempMenus.toJSONString(),HttpStatus.OK);
+        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)){
+    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);
             }
         }
diff --git a/CommunityService/docker/docker-compose.yml b/CommunityService/docker/docker-compose.yml
index 951ba9e..ff88913 100644
--- a/CommunityService/docker/docker-compose.yml
+++ b/CommunityService/docker/docker-compose.yml
@@ -9,4 +9,11 @@
        ports:
        - "8009:8009"
        volumes:
-       - ../target/CommunityService.jar:/root/target/CommunityService.jar
\ No newline at end of file
+       - ../target/CommunityService.jar:/root/target/CommunityService.jar
+#       extra_hosts:
+#       - "dev.java110.com:192.168.1.18"
+#       - "dev.db.java110.com:192.168.1.18"
+#       - "dev.zk.java110.com:192.168.1.18"
+#       - "dev.kafka.java110.com:192.168.1.18"
+#       - "dev.redis.java110.com:192.168.1.18"
+#       - "api.java110.com:92.168.1.18"
\ No newline at end of file
diff --git a/OrderService/docker/docker-compose.yml b/OrderService/docker/docker-compose.yml
index 5e028b3..5666216 100644
--- a/OrderService/docker/docker-compose.yml
+++ b/OrderService/docker/docker-compose.yml
@@ -9,4 +9,11 @@
        ports:
        - "8001:8001"
        volumes:
-       - ../target/OrderService.jar:/root/target/OrderService.jar
\ No newline at end of file
+       - ../target/OrderService.jar:/root/target/OrderService.jar
+#       extra_hosts:
+#       - "dev.java110.com:192.168.1.18"
+#       - "dev.db.java110.com:192.168.1.18"
+#       - "dev.zk.java110.com:192.168.1.18"
+#       - "dev.kafka.java110.com:192.168.1.18"
+#       - "dev.redis.java110.com:192.168.1.18"
+#       - "api.java110.com:92.168.1.18"
\ No newline at end of file
diff --git a/Readme.md b/Readme.md
index 414e2ac..e453089 100644
--- a/Readme.md
+++ b/Readme.md
@@ -5,9 +5,11 @@
 
 ### 浠g爜鍒嗕韩瑙嗛
 
-1銆乕灏忓尯绠$悊绯荤粺婧愮爜璁茶В](http://www.iqiyi.com/w_19s7u6le2p.html#vfrm=16-1-1-1)
+1銆乕瀹夎瑙嗛](http://www.iqiyi.com/w_19s9dzcnp9.html)
 
-2銆乕灏忓尯绠$悊绯荤粺鏈嶅姟绔紑鍙戣棰慮(http://www.iqiyi.com/w_19s7omicex.html#curid=38432723509_ef5ddb9c572fa848bcdd80f193d78eeb)
+2銆乕灏忓尯绠$悊绯荤粺婧愮爜璁茶В](http://www.iqiyi.com/w_19s7u6le2p.html#vfrm=16-1-1-1)
+
+3銆乕灏忓尯绠$悊绯荤粺鏈嶅姟绔紑鍙戣棰慮(http://www.iqiyi.com/w_19s7omicex.html#curid=38432723509_ef5ddb9c572fa848bcdd80f193d78eeb)
 
 ### 鍒嗘敮璇存槑锛坆ranch锛�
 
@@ -38,7 +40,7 @@
 
 ### 濡備綍瀹夎锛坔ow to install锛�
 
-[浠庤繖閲屽畨瑁匽(docs/install.md)
+[瀹夎鏂囨。](docs/install.md)
 
 ### 瑙e喅鏂规
 
@@ -79,6 +81,7 @@
 ### 鎴愪负寮�鍙戣��
 
 濡傛灉鎮ㄥ灏忓尯 鐗╀笟 鏈夎緝娣辩殑鐞嗚В锛屼篃鑷村姏浜庡紑鍙戜竴濂楃郴缁熸柟渚夸笌鐗╀笟锛屼笟涓绘矡閫氫氦娴侊紝濡傛灉鎮ㄨ繕鏈夌┖闂茬殑鏃堕棿锛屼笉鎬曞悆鑻︼紝hc灏忓尯寮�鍙戝洟闃熸杩庢偍鐨勫姞鍏ワ紒
+qq缇ゅ彿 992420128
 
 ![image](join_me.JPG)
 
diff --git a/ShopService/docker/docker-compose.yml b/ShopService/docker/docker-compose.yml
index ca48062..6cbbf7b 100644
--- a/ShopService/docker/docker-compose.yml
+++ b/ShopService/docker/docker-compose.yml
@@ -9,4 +9,11 @@
        ports:
        - "8007:8007"
        volumes:
-       - ../target/ShopService.jar:/root/target/ShopService.jar
\ No newline at end of file
+       - ../target/ShopService.jar:/root/target/ShopService.jar
+#       extra_hosts:
+#       - "dev.java110.com:192.168.1.18"
+#       - "dev.db.java110.com:192.168.1.18"
+#       - "dev.zk.java110.com:192.168.1.18"
+#       - "dev.kafka.java110.com:192.168.1.18"
+#       - "dev.redis.java110.com:192.168.1.18"
+#       - "api.java110.com:92.168.1.18"
\ No newline at end of file
diff --git a/StoreService/docker/docker-compose.yml b/StoreService/docker/docker-compose.yml
index 1acae75..80682e1 100644
--- a/StoreService/docker/docker-compose.yml
+++ b/StoreService/docker/docker-compose.yml
@@ -9,4 +9,11 @@
        ports:
        - "8006:8006"
        volumes:
-       - ../target/StoreService.jar:/root/target/StoreService.jar
\ No newline at end of file
+       - ../target/StoreService.jar:/root/target/StoreService.jar
+#       extra_hosts:
+#       - "dev.java110.com:192.168.1.18"
+#       - "dev.db.java110.com:192.168.1.18"
+#       - "dev.zk.java110.com:192.168.1.18"
+#       - "dev.kafka.java110.com:192.168.1.18"
+#       - "dev.redis.java110.com:192.168.1.18"
+#       - "api.java110.com:92.168.1.18"
\ No newline at end of file
diff --git a/UserService/docker/docker-compose.yml b/UserService/docker/docker-compose.yml
index 88e10a7..5b46ca6 100644
--- a/UserService/docker/docker-compose.yml
+++ b/UserService/docker/docker-compose.yml
@@ -9,4 +9,11 @@
        ports:
        - "8002:8002"
        volumes:
-       - ../target/UserService.jar:/root/target/UserService.jar
\ No newline at end of file
+       - ../target/UserService.jar:/root/target/UserService.jar
+#       extra_hosts:
+#       - "dev.java110.com:192.168.1.18"
+#       - "dev.db.java110.com:192.168.1.18"
+#       - "dev.zk.java110.com:192.168.1.18"
+#       - "dev.kafka.java110.com:192.168.1.18"
+#       - "dev.redis.java110.com:192.168.1.18"
+#       - "api.java110.com:92.168.1.18"
\ No newline at end of file
diff --git a/WebService/docker/docker-compose.yml b/WebService/docker/docker-compose.yml
index 65ff736..4c5081f 100644
--- a/WebService/docker/docker-compose.yml
+++ b/WebService/docker/docker-compose.yml
@@ -9,4 +9,11 @@
        ports:
        - "443:8443"
        volumes:
-       - ../target/WebService.jar:/root/target/WebService.jar
\ No newline at end of file
+       - ../target/WebService.jar:/root/target/WebService.jar
+#       extra_hosts:
+#       - "dev.java110.com:192.168.1.18"
+#       - "dev.db.java110.com:192.168.1.18"
+#       - "dev.zk.java110.com:192.168.1.18"
+#       - "dev.kafka.java110.com:192.168.1.18"
+#       - "dev.redis.java110.com:192.168.1.18"
+#       - "api.java110.com:92.168.1.18"
\ No newline at end of file
diff --git a/WebService/docker/onStart.sh b/WebService/docker/onStart.sh
index 2f65bd7..47c1c42 100644
--- a/WebService/docker/onStart.sh
+++ b/WebService/docker/onStart.sh
@@ -4,8 +4,8 @@
 
 cp  -r ../target .
 
-docker build -t java110/console .
+docker build -t java110/web .
 
-docker run -ti --name console_test -p8443:8443 -idt java110/console:latest
+docker run -ti --name web_test -p8443:8443 -idt java110/web:latest
 
-docker logs -f console_test
\ No newline at end of file
+docker logs -f web_test
\ No newline at end of file
diff --git a/WebService/src/main/java/com/java110/web/components/MenuComponent.java b/WebService/src/main/java/com/java110/web/components/MenuComponent.java
index 8d06306..f0abb59 100644
--- a/WebService/src/main/java/com/java110/web/components/MenuComponent.java
+++ b/WebService/src/main/java/com/java110/web/components/MenuComponent.java
@@ -1,6 +1,5 @@
 package com.java110.web.components;
 
-import com.alibaba.fastjson.JSONArray;
 import com.java110.core.context.IPageData;
 import com.java110.web.smo.IMenuServiceSMO;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -20,9 +19,10 @@
 
     /**
      * 娴嬭瘯鐗堟湰鍙�
+     *
      * @return
      */
-    public ResponseEntity<String> getMenus(IPageData pd){
+    public ResponseEntity<String> getMenus(IPageData pd) {
 
        /* String menuData = "[{'id':1,'icon':'fa-desktop','name':'鎴戠殑鑿滃崟','label':'HOT','childs':[" +
                 "{'name':'瀛愯彍鍗�','href':'http://www.baidu.com'}]}," +
@@ -36,11 +36,11 @@
 
         */
         ResponseEntity<String> responseEntity = null;
-        try{
-            responseEntity =  menuServiceSMOImpl.queryMenusByUserId(pd);
-        }catch (Exception e){
+        try {
+            responseEntity = menuServiceSMOImpl.queryMenusByUserId(pd);
+        } catch (Exception e) {
             responseEntity = new ResponseEntity<String>(e.getMessage(), HttpStatus.INTERNAL_SERVER_ERROR);
-        }finally {
+        } finally {
             return responseEntity;
         }
     }
diff --git a/WebService/src/main/java/com/java110/web/smo/IMenuServiceSMO.java b/WebService/src/main/java/com/java110/web/smo/IMenuServiceSMO.java
index 3ce4002..b9a35a5 100644
--- a/WebService/src/main/java/com/java110/web/smo/IMenuServiceSMO.java
+++ b/WebService/src/main/java/com/java110/web/smo/IMenuServiceSMO.java
@@ -12,6 +12,6 @@
      * 鏍规嵁鐢ㄦ埛鏌ヨ彍鍗�
      * @return
      */
-    public ResponseEntity<String> queryMenusByUserId(IPageData pd);
+     ResponseEntity<String> queryMenusByUserId(IPageData pd);
 
 }
diff --git a/WebService/src/main/java/com/java110/web/smo/impl/MenuServiceSMOImpl.java b/WebService/src/main/java/com/java110/web/smo/impl/MenuServiceSMOImpl.java
index 84f2aa4..d4001a9 100644
--- a/WebService/src/main/java/com/java110/web/smo/impl/MenuServiceSMOImpl.java
+++ b/WebService/src/main/java/com/java110/web/smo/impl/MenuServiceSMOImpl.java
@@ -30,7 +30,6 @@
 
 
     /**
-     *
      * @param pd
      * @return
      */
@@ -38,10 +37,10 @@
     public ResponseEntity<String> queryMenusByUserId(IPageData pd) {
         ResponseEntity<String> responseEntity = null;
 
-        Assert.hasLength(pd.getUserId(),"鐢ㄦ埛杩樻病鏈夌櫥褰�");
+        Assert.hasLength(pd.getUserId(), "鐢ㄦ埛杩樻病鏈夌櫥褰�");
 
-        responseEntity = this.callCenterService(restTemplate,pd,"",
-                ServiceConstant.SERVICE_API_URL+"/api/query.menu.info?userId="+pd.getUserId(), HttpMethod.GET);
+        responseEntity = this.callCenterService(restTemplate, pd, "",
+                ServiceConstant.SERVICE_API_URL + "/api/query.menu.info?userId=" + pd.getUserId(), HttpMethod.GET);
         return responseEntity;
     }
 
diff --git a/WebService/src/main/java/com/java110/web/smo/impl/NavServiceSMOImpl.java b/WebService/src/main/java/com/java110/web/smo/impl/NavServiceSMOImpl.java
index f32b160..ca5b789 100644
--- a/WebService/src/main/java/com/java110/web/smo/impl/NavServiceSMOImpl.java
+++ b/WebService/src/main/java/com/java110/web/smo/impl/NavServiceSMOImpl.java
@@ -4,6 +4,7 @@
 import com.alibaba.fastjson.JSONObject;
 import com.java110.common.constant.ServiceConstant;
 import com.java110.common.constant.StatusConstant;
+import com.java110.common.util.CommonUtil;
 import com.java110.core.context.IPageData;
 import com.java110.web.core.BaseComponentSMO;
 import com.java110.web.smo.ICommunityServiceSMO;
@@ -79,6 +80,12 @@
             JSONObject tmpUserInfo = JSONObject.parseObject(responseEntity.getBody().toString());
             JSONObject resultUserInfo = new JSONObject();
             resultUserInfo.put("name", tmpUserInfo.getString("name"));
+            resultUserInfo.put("address", tmpUserInfo.getString("address"));
+            resultUserInfo.put("sex", tmpUserInfo.getString("sex"));
+            resultUserInfo.put("localtionCd", tmpUserInfo.getString("localtionCd"));
+            resultUserInfo.put("levelCd", tmpUserInfo.getString("levelCd"));
+            resultUserInfo.put("tel", CommonUtil.mobileEncrypt(tmpUserInfo.getString("tel")));
+            resultUserInfo.put("email", tmpUserInfo.getString("email"));
             responseEntity = new ResponseEntity<String>(resultUserInfo.toJSONString(), HttpStatus.OK);
         }
         return responseEntity;
diff --git a/WebService/src/main/resources/components/menu/menu.js b/WebService/src/main/resources/components/menu/menu.js
index f657ab3..c6b79cb 100644
--- a/WebService/src/main/resources/components/menu/menu.js
+++ b/WebService/src/main/resources/components/menu/menu.js
@@ -42,6 +42,15 @@
            },
            refreshMenuActive:function(jsonArray,_id){
                 for(var menuIndex =0 ; menuIndex < jsonArray.length;menuIndex ++){
+
+                    if(jsonArray[menuIndex].hasOwnProperty('childs')){
+                        var _childs = jsonArray[menuIndex].childs;
+                        _childs.sort(function(_child,_newChild){
+                            return _child.seq - _newChild.seq
+                        });
+                        jsonArray[menuIndex].childs = _childs;
+                    }
+
                     if(_id === jsonArray[menuIndex].id){
                         if(jsonArray[menuIndex].active === true){
                             //濡傛灉褰撳墠鏈韩鏄墦寮�鐘舵�侊紝璇存槑 闇�瑕佸叧闂�
@@ -54,6 +63,10 @@
                     jsonArray[menuIndex].active=false;
                 }
 
+                jsonArray.sort(function(a,b){
+                			return a.seq - b.seq
+                });
+
                 return  jsonArray;
            },
            switchMenu:function(_id){
diff --git a/WebService/src/main/resources/components/nav/nav.js b/WebService/src/main/resources/components/nav/nav.js
index ac84c2e..dd7216b 100644
--- a/WebService/src/main/resources/components/nav/nav.js
+++ b/WebService/src/main/resources/components/nav/nav.js
@@ -17,10 +17,11 @@
         mounted:function(){
             this.getNavCommunity();
             this.getNavData();
-            this.getUserInfo();
+            //this.getUserInfo();
         },
         methods:{
             getNavData:function(){
+
                 var param = {
                     msg:'123',
                 };
@@ -59,6 +60,12 @@
                            );
             },
             getUserInfo:function(){
+//                var _userInfo = vc.getData("_userInfo");
+//                //娴忚鍣ㄧ紦瀛樹腑鑳借幏鍙栧埌
+//                if(_userInfo != null && _userInfo != undefined){
+//                    vm.userName = _userInfo.name;
+//                    return ;
+//                }
                 //鑾峰彇鐢ㄦ埛鍚�
                 var param = {
                                     msg:'123',
@@ -71,7 +78,9 @@
                              function(json,res){
                                 if(res.status == 200){
                                     var tmpUserInfo = JSON.parse(json);
+                                    console.log(vm,tmpUserInfo);
                                    vm.userName = tmpUserInfo.name;
+//                                   vc.saveData("_userInfo",tmpUserInfo);
                                }
                              },function(){
                                 console.log('璇锋眰澶辫触澶勭悊');
@@ -124,4 +133,7 @@
 
 
     });
+
+     vm.getUserInfo();
+
 })(window.vc);
\ No newline at end of file
diff --git a/WebService/src/main/resources/static/js/core.js b/WebService/src/main/resources/static/js/core.js
index 8025d01..37fb1c9 100644
--- a/WebService/src/main/resources/static/js/core.js
+++ b/WebService/src/main/resources/static/js/core.js
@@ -69,10 +69,23 @@
                 });
         },
         get:function(componentCode,componentMethod,param,successCallback,errorCallback){
+                //鍔犲叆缂撳瓨鏈哄埗
+                var _getPath = '/'+componentCode +'/' +componentMethod;
+                if(vc.constant.GET_CACHE_URL.includes(_getPath)){
+                    var _cacheData = vc.getData(_getPath);
+                    //娴忚鍣ㄧ紦瀛樹腑鑳借幏鍙栧埌
+                    if(_cacheData != null && _cacheData != undefined){
+                        successCallback(JSON.stringify(_cacheData),{status:200});
+                        return ;
+                    }
+                }
                 vc.loading('open');
                 Vue.http.get('/callComponent/'+componentCode +"/"+componentMethod, param)
                 .then(function(res){
                     successCallback(res.bodyText,res);
+                    if(vc.constant.GET_CACHE_URL.includes(_getPath) && res.status == 200){
+                         vc.saveData(_getPath,JSON.parse(res.bodyText));
+                    }
                     vc.loading('close');
                 }, function(error){
                     errorCallback(error.bodyText,error);
@@ -146,6 +159,15 @@
         return JSON.parse(window.localStorage.getItem('hc_menus'));
     };
 
+    //淇濆瓨鐢ㄦ埛鑿滃崟
+    vc.saveData = function(_key,_value){
+        window.localStorage.setItem(_key,JSON.stringify(_value));
+    };
+    //鑾峰彇鐢ㄦ埛鑿滃崟
+    vc.getData = function(_key){
+        return JSON.parse(window.localStorage.getItem(_key));
+    };
+
     //淇濆瓨褰撳墠灏忓尯淇℃伅 _communityInfo : {"communityId":"123213","name":"娴嬭瘯灏忓尯"}
     vc.setCurrentCommunity = function(_currentCommunityInfo){
         window.localStorage.setItem('hc_currentCommunityInfo',JSON.stringify(_currentCommunityInfo));
diff --git a/WebService/src/main/resources/static/js/vc-constant.js b/WebService/src/main/resources/static/js/vc-constant.js
index 07c4647..6663c27 100644
--- a/WebService/src/main/resources/static/js/vc-constant.js
+++ b/WebService/src/main/resources/static/js/vc-constant.js
@@ -5,6 +5,7 @@
 
     var constant = {
         REQUIRED_MSG:"涓嶈兘涓虹┖",
+        GET_CACHE_URL:["/nav/getUserInfo"]
     }
     vc.constant = constant;
 })(window.vc);
\ No newline at end of file
diff --git a/docs/index.html b/docs/index.html
index 24f0acd..c70aa83 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -12,8 +12,8 @@
 </head>
 <body>
 <nav>
-    <a href="https://www.iqiyi.com/w_19s7u6le2p.html">瑙嗛</a>
-    <a href="http://blog.java110.com">鍗氬</a>
+    <a href="https://www.java110.com/#/start/vedio">瑙嗛</a>
+    <a target="_blank" href="https://demo.java110.com">婕旂ず鐜</a>
 </nav>
 <div id="app"></div>
 <script>
diff --git a/docs/start/vedio.md b/docs/start/vedio.md
index f104c69..319c2b8 100644
--- a/docs/start/vedio.md
+++ b/docs/start/vedio.md
@@ -3,6 +3,11 @@
 :-: | :-: | :-: | :-:
 v0.01|鍒濈|2019-04-22|wuxw
 
+
+## 灏忓尯绠$悊绯荤粺瀹夎瑙嗛
+
+[鐐硅繖閲宂(http://www.iqiyi.com/w_19s9dzcnp9.html)
+
 ## 灏忓尯绠$悊绯荤粺浠g爜鍒嗕韩瑙嗛
 
 [鐐硅繖閲宂(http://www.iqiyi.com/w_19s7u6le2p.html#vfrm=16-1-1-1)
diff --git a/eureka/bin/start_eureka.sh b/eureka/bin/start_eureka.sh
deleted file mode 100644
index 9501ea6..0000000
--- a/eureka/bin/start_eureka.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/bash
-
-#### normal dev model
-nohup java -jar target/eureka.jar > eureka.log $1 2>&1 &
-
-tail -100f eureka.log
\ No newline at end of file
diff --git a/eureka/docker/Dockerfile b/eureka/docker/Dockerfile
index 2e2ffd9..139122f 100644
--- a/eureka/docker/Dockerfile
+++ b/eureka/docker/Dockerfile
@@ -1,8 +1,6 @@
 FROM registry.cn-beijing.aliyuncs.com/sxd/ubuntu-java8:1.0
 MAINTAINER wuxw <wuxw7@asiainfo.com>
 
-ADD target/eureka.jar /root/target/
-
 ADD bin/start_eureka.sh /root/
 
 
diff --git a/eureka/docker/bin/start_eureka.sh b/eureka/docker/bin/start_eureka.sh
new file mode 100644
index 0000000..746efc1
--- /dev/null
+++ b/eureka/docker/bin/start_eureka.sh
@@ -0,0 +1,6 @@
+#!/bin/bash
+
+#### normal dev model
+nohup java -jar target/eureka.jar > eureka.log 2>&1 &
+
+tail -100f eureka.log
\ No newline at end of file
diff --git a/eureka/docker/docker-compose.yml b/eureka/docker/docker-compose.yml
new file mode 100644
index 0000000..42a1f9c
--- /dev/null
+++ b/eureka/docker/docker-compose.yml
@@ -0,0 +1,19 @@
+version: '2'
+services:
+   eureka:
+       container_name: eureka-1
+       build:
+          context: .
+          dockerfile: Dockerfile
+       restart: always
+       ports:
+       - "8761:8761"
+       volumes:
+       - ../target/eureka.jar:/root/target/eureka.jar
+#       extra_hosts:
+#       - "dev.java110.com:192.168.1.18"
+#       - "dev.db.java110.com:192.168.1.18"
+#       - "dev.zk.java110.com:192.168.1.18"
+#       - "dev.kafka.java110.com:192.168.1.18"
+#       - "dev.redis.java110.com:192.168.1.18"
+#       - "api.java110.com:92.168.1.18"
\ No newline at end of file
diff --git a/java110-common/src/main/java/com/java110/common/util/CommonUtil.java b/java110-common/src/main/java/com/java110/common/util/CommonUtil.java
index 4329513..06f4fcf 100644
--- a/java110-common/src/main/java/com/java110/common/util/CommonUtil.java
+++ b/java110-common/src/main/java/com/java110/common/util/CommonUtil.java
@@ -16,10 +16,11 @@
     /**
      * 灏� 30*1000 杞负 30000
      * 涓嶈兘鍑虹幇灏忔暟鐐圭瓑
+     *
      * @param val
      * @return
      */
-    public static int multiplicativeStringToInteger(String val){
+    public static int multiplicativeStringToInteger(String val) {
         try {
             if (StringUtils.isEmpty(val)) {
                 return 0;
@@ -27,19 +28,19 @@
             if (val.contains("*")) {
                 String[] vals = val.split("\\*");
                 int value = 1;
-                for(int vIndex = 0 ; vIndex < vals.length;vIndex++){
-                    if(!NumberUtils.isNumber(vals[vIndex])){
+                for (int vIndex = 0; vIndex < vals.length; vIndex++) {
+                    if (!NumberUtils.isNumber(vals[vIndex])) {
                         throw new ClassCastException("閰嶇疆鐨勬暟鎹湁闂锛屽繀椤婚厤缃负30*1000鏍煎紡");
                     }
                     value *= Integer.parseInt(vals[vIndex]);
                 }
                 return value;
             }
-            if(NumberUtils.isNumber(val)){
+            if (NumberUtils.isNumber(val)) {
                 return Integer.parseInt(val);
             }
-        }catch (Exception e){
-            logger.error("---------------[CommonUtil.multiplicativeStringToInteger]----------------绫诲瀷杞崲澶辫触",e);
+        } catch (Exception e) {
+            logger.error("---------------[CommonUtil.multiplicativeStringToInteger]----------------绫诲瀷杞崲澶辫触", e);
             return 0;
         }
         return 0;
@@ -47,19 +48,36 @@
 
     /**
      * 鐢熸垚鍏綅楠岃瘉鐮�
+     *
      * @return
      */
-    public static String generateVerificationCode(){
+    public static String generateVerificationCode() {
         Random random = new Random();
 
-        String result="";
-        for(int i=0;i<6;i++){
-            result+=random.nextInt(10);
+        String result = "";
+        for (int i = 0; i < 6; i++) {
+            result += random.nextInt(10);
         }
 
         return result;
     }
 
+    // 鎵嬫満鍙风爜鍓嶄笁鍚庡洓鑴辨晱
+    public static String mobileEncrypt(String mobile) {
+        if (StringUtils.isEmpty(mobile) || (mobile.length() != 11)) {
+            return mobile;
+        }
+        return mobile.replaceAll("(\\d{3})\\d{4}(\\d{4})", "$1****$2");
+    }
+
+    //韬唤璇佸墠涓夊悗鍥涜劚鏁�
+    public static String idEncrypt(String id) {
+        if (StringUtils.isEmpty(id) || (id.length() < 8)) {
+            return id;
+        }
+        return id.replaceAll("(?<=\\w{3})\\w(?=\\w{4})", "*");
+    }
+
 
     //鏁堥獙
     public static boolean sqlValidate(String str) {
diff --git a/java110-event/src/main/java/com/java110/event/service/api/ServiceDataFlowListener.java b/java110-event/src/main/java/com/java110/event/service/api/ServiceDataFlowListener.java
index cfe5295..deff5e9 100644
--- a/java110-event/src/main/java/com/java110/event/service/api/ServiceDataFlowListener.java
+++ b/java110-event/src/main/java/com/java110/event/service/api/ServiceDataFlowListener.java
@@ -1,7 +1,6 @@
 package com.java110.event.service.api;
 
 import com.java110.event.app.order.Ordered;
-import com.java110.event.service.BusinessServiceDataFlowEvent;
 import org.springframework.http.HttpMethod;
 
 import java.util.EventListener;
diff --git a/reBuildAll.sh b/reBuildAll.sh
index 6581bfe..8df07d2 100644
--- a/reBuildAll.sh
+++ b/reBuildAll.sh
@@ -5,9 +5,11 @@
 mvn clean install -Dmaven.test.skip=true
 mvn package -Dmaven.test.skip=true
 
+#docker-compose -f ./eureka/docker/docker-compose.yml       up -d --build --force-recreate;
 docker-compose -f ./Api/docker/docker-compose.yml       up -d --build --force-recreate;
 docker-compose -f ./OrderService/docker/docker-compose.yml       up -d --build --force-recreate;
 docker-compose -f ./CommunityService/docker/docker-compose.yml       up -d --build --force-recreate;
 docker-compose -f ./StoreService/docker/docker-compose.yml       up -d --build --force-recreate;
 docker-compose -f ./UserService/docker/docker-compose.yml       up -d --build --force-recreate;
+docker-compose -f ./WebService/docker/docker-compose.yml       up -d --build --force-recreate;
 
diff --git a/restartAll.sh b/restartAll.sh
index 582d733..480b957 100644
--- a/restartAll.sh
+++ b/restartAll.sh
@@ -4,4 +4,5 @@
 docker-compose -f ./OrderService/docker/docker-compose.yml      restart;
 docker-compose -f ./CommunityService/docker/docker-compose.yml       restart;
 docker-compose -f ./StoreService/docker/docker-compose.yml       restart;
-docker-compose -f ./UserService/docker/docker-compose.yml       restart;
\ No newline at end of file
+docker-compose -f ./UserService/docker/docker-compose.yml       restart;
+docker-compose -f ./WebService/docker/docker-compose.yml       restart;
\ No newline at end of file

--
Gitblit v1.8.0