Api/docker/docker-compose.yml
@@ -9,4 +9,11 @@ ports: - "8008:8008" volumes: - ../target/Api.jar:/root/target/Api.jar - ../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" 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); } } CommunityService/docker/docker-compose.yml
@@ -9,4 +9,11 @@ ports: - "8009:8009" volumes: - ../target/CommunityService.jar:/root/target/CommunityService.jar - ../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" OrderService/docker/docker-compose.yml
@@ -9,4 +9,11 @@ ports: - "8001:8001" volumes: - ../target/OrderService.jar:/root/target/OrderService.jar - ../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" Readme.md
@@ -5,9 +5,11 @@ ### 代码分享视频 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) ### 分支说明(branch) @@ -38,7 +40,7 @@ ### 如何安装(how to install) [从这里安装](docs/install.md) [安装文档](docs/install.md) ### 解决方案 @@ -79,6 +81,7 @@ ### 成为开发者 如果您对小区 物业 有较深的理解,也致力于开发一套系统方便与物业,业主沟通交流,如果您还有空闲的时间,不怕吃苦,hc小区开发团队欢迎您的加入! qq群号 992420128  ShopService/docker/docker-compose.yml
@@ -9,4 +9,11 @@ ports: - "8007:8007" volumes: - ../target/ShopService.jar:/root/target/ShopService.jar - ../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" StoreService/docker/docker-compose.yml
@@ -9,4 +9,11 @@ ports: - "8006:8006" volumes: - ../target/StoreService.jar:/root/target/StoreService.jar - ../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" UserService/docker/docker-compose.yml
@@ -9,4 +9,11 @@ ports: - "8002:8002" volumes: - ../target/UserService.jar:/root/target/UserService.jar - ../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" WebService/docker/docker-compose.yml
@@ -9,4 +9,11 @@ ports: - "443:8443" volumes: - ../target/WebService.jar:/root/target/WebService.jar - ../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" 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 docker logs -f web_test 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; } } 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); } 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; } 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; 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){ 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); 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)); 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); 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> docs/start/vedio.md
@@ -3,6 +3,11 @@ :-: | :-: | :-: | :-: v0.01|初稿|2019-04-22|wuxw ## 小区管理系统安装视频 [点这里](http://www.iqiyi.com/w_19s9dzcnp9.html) ## 小区管理系统代码分享视频 [点这里](http://www.iqiyi.com/w_19s7u6le2p.html#vfrm=16-1-1-1) eureka/bin/start_eureka.sh
File was deleted 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/ eureka/docker/bin/start_eureka.sh
New file @@ -0,0 +1,6 @@ #!/bin/bash #### normal dev model nohup java -jar target/eureka.jar > eureka.log 2>&1 & tail -100f eureka.log eureka/docker/docker-compose.yml
New file @@ -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" 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) { 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; 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; 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; docker-compose -f ./UserService/docker/docker-compose.yml restart; docker-compose -f ./WebService/docker/docker-compose.yml restart;