diff --git a/com.creditease.uav.console/src/main/webapp/uavapp_godfilter/groupfilter/js/groupfilter.js b/com.creditease.uav.console/src/main/webapp/uavapp_godfilter/groupfilter/js/groupfilter.js index e74f2dcf..366b841f 100644 --- a/com.creditease.uav.console/src/main/webapp/uavapp_godfilter/groupfilter/js/groupfilter.js +++ b/com.creditease.uav.console/src/main/webapp/uavapp_godfilter/groupfilter/js/groupfilter.js @@ -87,6 +87,23 @@ function initGroupSelect(id,type) { $("#"+id).empty(); var opStr = new StringBuffer(); $.each(gorupsSet, function(index, groupName) { + + if("edit"==type){ + /** + * 编辑页面,检查是否数据为最新 + */ + //授权组数据是否还存在profile授权中(JAppGroup 设置的值) + var existJAppGroup = PageClass.groupsMap.get(groupName); + if(!existJAppGroup){ + /** + * 如果已经不存在:跳过不显示,当用户编辑时,也同逻辑。 + * + * 在用户点击保存时,没显示的不会被选中,则也不会被提交,达到删除的效果。 + */ + return true; + } + } + var isSel=false; //用户选中 if(DataBindClass.userEditInfo[groupName]){ @@ -157,11 +174,16 @@ function showAddDiv(){ $("#addEmailListName").val(""); DataBindClass.userEditInfo={}; - PageClass.ajaxGProfile("addGroupList","save"); + initGroupSelect("addGroupList","save"); + $("#addGroupFilterDiv").modal({backdrop: 'static', keyboard: false}); }; function showEditDiv(id){ + + PageClass.ajaxGProfile(); + + //init $("#editTrTitle").hide(); $("#editTrBody").hide(); @@ -183,6 +205,18 @@ function showEditDiv(id){ var groupListStr = {}; //填充选中数据 $.each(obj.groupList,function(groupName,ctrlAuthorObj){ + + //授权组数据是否还存在profile授权中(JAppGroup 设置的值) + var existJAppGroup = PageClass.groupsMap.get(groupName); + if(!existJAppGroup){ + /** + * 跳过不显示,当用户编辑时,也同逻辑。 + * + * 在用户点击保存时,没显示的不会被选中,则也不会被提交,达到删除的效果。 + */ + return true; + } + DataBindClass.addGroupInfo(groupName); // 数据填充 var ctrlStr = new StringBuffer(); $.each(ctrlAuthorObj,function(ctrlName,ctrlValue){ @@ -225,7 +259,9 @@ function showEditSaveButton(obj){ console.log(obj); $("#showTr").hide(); $("#editGroupList").empty(); //提前做处理,提高用户体验 - PageClass.ajaxGProfile("editGroupList","edit"); + + PageClass.ajaxGProfile(); + initGroupSelect("editGroupList","edit"); $("#editTrTitle").show(); $("#editTrBody").show(); @@ -307,6 +343,7 @@ function loadListData(reset){ //TODO 页面与后台交互类 PageClass = { groups : new Set(), //所有group数据 + groupsMap : new Map(), //所有group数据(key value 形式) emailList:null, //所有列表数据(含映射group) pageEmailList : [], //当前页面的列表数据(含映射group),页面手动分页 submitParam : { @@ -336,10 +373,10 @@ PageClass = { } }); }, - ajaxGProfile : function(selectId,type) { + ajaxGProfile : function() { AjaxHelper.call({ url : "../../rs/godeye/filter/profile/q/cache", - async : true, + async : false, cache : false, type : "GET", dataType : "html", @@ -348,7 +385,6 @@ PageClass = { result = eval("(" + result + ")"); result = eval("(" + result["rs"] + ")"); PageClass.setGroups(result); - initGroupSelect(selectId,type); } else { console.log("result is empty"); } @@ -422,11 +458,14 @@ PageClass = { }, setGroups : function(profileObj) { PageClass.groups.clear(); + + PageClass.groupsMap.clear(); for ( var key in profileObj) { var index = key.indexOf("@"); if (index > 0) { var groupName = key.substring(0, index); PageClass.groups.add(groupName); + PageClass.groupsMap.set(groupName,"existJAppGroup"); } } }, diff --git a/com.creditease.uav.healthmanager/src/main/java/com/creditease/uav/feature/healthmanager/http/handlers/HMCacheQueryHandler.java b/com.creditease.uav.healthmanager/src/main/java/com/creditease/uav/feature/healthmanager/http/handlers/HMCacheQueryHandler.java index 38aad07e..20794e52 100644 --- a/com.creditease.uav.healthmanager/src/main/java/com/creditease/uav/feature/healthmanager/http/handlers/HMCacheQueryHandler.java +++ b/com.creditease.uav.healthmanager/src/main/java/com/creditease/uav/feature/healthmanager/http/handlers/HMCacheQueryHandler.java @@ -344,28 +344,23 @@ private void queryCache(UAVHttpMessage data, String cacheKey) { List keys = cm.getHashKeys("store.region.uav", cacheKey); List targets = new ArrayList(); - if ("appgroup".equals(filterKey)) { - for (String key : keys) { - String keyCheck = key.substring(0, key.indexOf("@")); - for (String vString : fValues) { - if (vString.equals(keyCheck)) { - targets.add(key); - } - } + for (String key : keys) { + + String keyCheck = ""; + if ("appgroup".equals(filterKey)) { + keyCheck = key.substring(0, key.indexOf("@")); + } + else if ("appurl".equals(filterKey)) { + keyCheck = key.substring(key.indexOf("@") + 1); } - } - else if ("appurl".equals(filterKey)) { - for (String key : keys) { - String keyCheck = key.substring(key.indexOf("@") + 1); - for (String vString : fValues) { - if (vString.equals(keyCheck)) { - targets.add(key); - } + for (String vString : fValues) { + if (vString.equals(keyCheck)) { + targets.add(key); } - } + } String[] tkeys = new String[targets.size()];