From f9f51b0e14e70570bc1336607ff55a52185fe96c Mon Sep 17 00:00:00 2001 From: leijun Date: Mon, 24 Dec 2018 16:05:05 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BC=93=E5=AD=98=E7=AD=96=E7=95=A5=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E5=AF=BC=E5=87=BAexcel=E5=92=8Ccsv=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../configuration/CachePolicyUserRegion.java | 159 +++++++++++ .../proxy/CachePolicyController.java | 261 ++++++------------ .../dao/configuration/CommonPolicyDao.java | 8 +- .../web/dao/configuration/CommonPolicyDao.xml | 151 ++++++++++ .../configuration/CachePolicyService.java | 94 +++++-- .../WEB-INF/views/cfg/proxy/cache/list.jsp | 21 +- 6 files changed, 487 insertions(+), 207 deletions(-) create mode 100644 src/main/java/com/nis/domain/configuration/CachePolicyUserRegion.java diff --git a/src/main/java/com/nis/domain/configuration/CachePolicyUserRegion.java b/src/main/java/com/nis/domain/configuration/CachePolicyUserRegion.java new file mode 100644 index 000000000..d1b82e673 --- /dev/null +++ b/src/main/java/com/nis/domain/configuration/CachePolicyUserRegion.java @@ -0,0 +1,159 @@ +/** + *@Title: HttpDomainConfig.java + *@Package com.nis.domain.restful + *@Description TODO + *@author dell + *@date 2018年2月5日 下午5:33:05 + *@version 版本号 + */ +package com.nis.domain.configuration; + +import java.util.Map; + +import com.nis.util.excel.ExcelField; + +/** + * @ClassName: HttpDomainConfig.java + * @Description: TODO + * @author (dell) + * @date 2018年2月5日 下午5:33:05 + * @version V1.0 + */ +public class CachePolicyUserRegion extends BaseCfg { + + private static final long serialVersionUID = -1741829305216502322L; + + @ExcelField(title="cache_cookied_cont",dictType="CACHE_COOKIED_CONT",sort=7) + private String cache_cookied_cont; + @ExcelField(title="cache_dyn_url",dictType="CACHE_DYN_URL",sort=6) + private String cache_dyn_url; + @ExcelField(title="force_caching",dictType="FORCE_CACHING",sort=10) + private String force_caching; + @ExcelField(title="ignore_req_nocache",dictType="IGNORE_REQ_NOCACHE",sort=8) + private String ignore_req_nocache; + @ExcelField(title="ignore_res_nocache",dictType="IGNORE_RES_NOCACHE",sort=9) + private String ignore_res_nocache; + @ExcelField(title="inactive_time",sort=14) + private String inactive_time; + @ExcelField(title="max_cache_obj_size",sort=15) + private String max_cache_obj_size; + @ExcelField(title="max_cache_size",sort=13) + private String max_cache_size; + @ExcelField(title="min_use",sort=11) + private String min_use; + @ExcelField(title="no_revalidate",dictType="CACHE_NO_REVALIDATE",sort=5) + private String no_revalidate; + @ExcelField(title="pinning_time",dictType="",sort=12) + private String pinning_time; + @ExcelField(title="ignore_query_string",sort=3) + private String ignore_qs; + @ExcelField(title="include_cookie",sort=4) + private String cookie; + + private Map cache_key; + + private BaseStringCfg strCfg; + + @ExcelField(title="action",sort=2) + protected String actionCode; + + + public String getActionCode() { + return actionCode; + } + public void setActionCode(String actionCode) { + this.actionCode = actionCode; + } + public BaseStringCfg getStrCfg() { + return strCfg; + } + public void setStrCfg(BaseStringCfg strCfg) { + this.strCfg = strCfg; + } + public Map getCache_key() { + return cache_key; + } + public void setCache_key(Map cache_key) { + this.cache_key = cache_key; + } + public String getIgnore_res_nocache() { + return ignore_res_nocache; + } + public void setIgnore_res_nocache(String ignore_res_nocache) { + this.ignore_res_nocache = ignore_res_nocache; + } + public String getCache_cookied_cont() { + return cache_cookied_cont; + } + public void setCache_cookied_cont(String cache_cookied_cont) { + this.cache_cookied_cont = cache_cookied_cont; + } + public String getCache_dyn_url() { + return cache_dyn_url; + } + public void setCache_dyn_url(String cache_dyn_url) { + this.cache_dyn_url = cache_dyn_url; + } + public String getForce_caching() { + return force_caching; + } + public void setForce_caching(String force_caching) { + this.force_caching = force_caching; + } + public String getIgnore_req_nocache() { + return ignore_req_nocache; + } + public void setIgnore_req_nocache(String ignore_req_nocache) { + this.ignore_req_nocache = ignore_req_nocache; + } + public String getInactive_time() { + return inactive_time; + } + public void setInactive_time(String inactive_time) { + this.inactive_time = inactive_time; + } + public String getMax_cache_obj_size() { + return max_cache_obj_size; + } + public void setMax_cache_obj_size(String max_cache_obj_size) { + this.max_cache_obj_size = max_cache_obj_size; + } + public String getMax_cache_size() { + return max_cache_size; + } + public void setMax_cache_size(String max_cache_size) { + this.max_cache_size = max_cache_size; + } + public String getMin_use() { + return min_use; + } + public void setMin_use(String min_use) { + this.min_use = min_use; + } + public String getNo_revalidate() { + return no_revalidate; + } + public void setNo_revalidate(String no_revalidate) { + this.no_revalidate = no_revalidate; + } + public String getPinning_time() { + return pinning_time; + } + public void setPinning_time(String pinning_time) { + this.pinning_time = pinning_time; + } + public String getIgnore_qs() { + return ignore_qs; + } + public void setIgnore_qs(String ignore_qs) { + this.ignore_qs = ignore_qs; + } + public String getCookie() { + return cookie; + } + public void setCookie(String cookie) { + this.cookie = cookie; + } + + +} diff --git a/src/main/java/com/nis/web/controller/configuration/proxy/CachePolicyController.java b/src/main/java/com/nis/web/controller/configuration/proxy/CachePolicyController.java index 36c053f0e..44206d84c 100644 --- a/src/main/java/com/nis/web/controller/configuration/proxy/CachePolicyController.java +++ b/src/main/java/com/nis/web/controller/configuration/proxy/CachePolicyController.java @@ -3,39 +3,27 @@ package com.nis.web.controller.configuration.proxy; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; -import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Properties; - import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; - import org.apache.commons.beanutils.BeanUtils; import org.apache.commons.lang3.StringUtils; -import org.apache.shiro.authz.annotation.Logical; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.servlet.mvc.support.RedirectAttributes; - -import com.nis.domain.FunctionRegionDict; import com.nis.domain.FunctionServiceDict; import com.nis.domain.Page; -import com.nis.domain.callback.ProxyFileStrategyCfg; import com.nis.domain.configuration.BaseStringCfg; +import com.nis.domain.configuration.CachePolicyUserRegion; import com.nis.domain.configuration.CfgIndexInfo; import com.nis.domain.configuration.ComplexkeywordCfg; -import com.nis.domain.configuration.FileDigestCfg; -import com.nis.domain.configuration.HttpBodyCfg; -import com.nis.domain.configuration.HttpReqHeadCfg; -import com.nis.domain.configuration.HttpResHeadCfg; import com.nis.domain.configuration.HttpUrlCfg; import com.nis.domain.configuration.IpPortCfg; -import com.nis.domain.configuration.NtcSubscribeIdCfg; import com.nis.exceptions.MaatConvertException; import com.nis.util.Constants; import com.nis.util.DictUtils; @@ -43,7 +31,6 @@ import com.nis.util.StringUtil; import com.nis.web.controller.BaseController; import com.nis.web.security.UserUtils; -import jersey.repackaged.com.google.common.collect.Lists; /** * http重定向策略 @@ -233,166 +220,90 @@ public class CachePolicyController extends BaseController{ //http配置导出 - /*@RequestMapping(value = "exportHttp") - public String exportHttp(Model model,HttpServletRequest request,HttpServletResponse response, - @ModelAttribute("cfg")CfgIndexInfo entity,String ids,RedirectAttributes redirectAttributes){ - try { - //export data info - List titleList=new ArrayList(); - Map> classMap=new HashMap>(); - Map dataMap=new HashMap(); - Map noExportMap=new HashMap(); - - List regionList = DictUtils.getFunctionRegionDictList(entity.getFunctionId()); - - //导出选中记录 - if(!StringUtil.isEmpty(ids)){ - for(String id:ids.split(",")){ - Long.parseLong(id); - } - //List list=ipCfgService.getListByCfgIdWithName(IpPortCfg.getTablename(), entity.getFunctionId(), ids); - }else{ - //条件导出数据大于最大导出数,只导出最大导出条数 - Page pageInfo=new Page(request, response,"a"); - if(pageInfo.getCount()>Constants.MAX_EXPORT_SIZE){ - pageInfo.setPageNo(1); - pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); - }else{ - pageInfo.setPageNo(1); - pageInfo.setPageSize(-1); - } - - Page page = cachePolicyService.getCachePolicyList(pageInfo, entity); - Properties prop = getMsgProp(); - for (CfgIndexInfo str : page.getList()) { - if(entity.getFunctionId()!=210 && entity.getFunctionId()!=211){ - String type="RESPONSE_CODE"; - if(entity.getFunctionId()==207){ - type="RESPONSE_CODE"; - }else if(entity.getFunctionId()==208){ - type="REDIRECT_RESPONSE_CODE"; - }else if(entity.getFunctionId()==209){ - type="CONTROL_REPLACE_ZONE"; - } - String dictlabel= DictUtils.getDictLabel(type, str.getUserRegion1()); - str.setUserRegion1(prop.getProperty(dictlabel)); - if(entity.getFunctionId()==207 || entity.getFunctionId()==208){ - if(StringUtil.isEmpty(str.getUserRegion2())){ - if(!StringUtil.isEmpty(str.getUserRegion3())){ - ProxyFileStrategyCfg file= new ProxyFileStrategyCfg(); - file.setCompileId(Integer.valueOf(str.getUserRegion3())); - List allProxyFileStrategys = proxyFileStrategyService.getProxyFileStrategyCfgList(file); - if(allProxyFileStrategys!=null && allProxyFileStrategys.size()>0){ - str.setUserRegion2(allProxyFileStrategys.get(0).getCfgDesc()); - } - } - } - } - } - } - String cfgIndexInfoNoExport=",policy_name,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; - if(entity.getFunctionId()==207){ - cfgIndexInfoNoExport=",policy_name,group_name,userregion3,userregion4,userregion5,&userregion1:response_code-userregion2:response_content-"; - }else if(entity.getFunctionId()==208){ - cfgIndexInfoNoExport=",policy_name,group_name,userregion3,userregion4,userregion5,&userregion1:redirect_response_code-userregion2:redirect_url-"; - }else if(entity.getFunctionId()==209){ - cfgIndexInfoNoExport=",policy_name,group_name,userregion3,userregion4,userregion5,&userregion1:replace_zone-userregion2:replaced_content-userregion3:replace_content-"; - }else if(entity.getFunctionId()==211){ - cfgIndexInfoNoExport=",do_log,log_total,policy_name,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; - } - String httpUrlCfgNoExport=",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" - + ",config_time,editor,edit_time,auditor,audit_time" - +",letter,whether_area_block,classification,attribute,label" - +",userregion1,userregion2,userregion3,userregion4,userregion5,"; - String httpReqHeadCfgNoExport=",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" - + ",config_time,editor,edit_time,auditor,audit_time" - +",letter,whether_area_block,classification,attribute,label" - +",userregion1,userregion2,userregion3,userregion4,userregion5,"; - String httpResHeadCfgNoExport=",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" - + ",config_time,editor,edit_time,auditor,audit_time" - +",letter,whether_area_block,classification,attribute,label" - +",userregion1,userregion2,userregion3,userregion4,userregion5,"; - String httpReqBodyCfgNoExport=",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" - + ",config_time,editor,edit_time,auditor,audit_time" - +",letter,whether_area_block,classification,attribute,label" - +",userregion1,userregion2,userregion3,userregion4,userregion5,"; - String httpResBodyCfgNoExport=",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" - + ",config_time,editor,edit_time,auditor,audit_time" - +",letter,whether_area_block,classification,attribute,label" - +",userregion1,userregion2,userregion3,userregion4,userregion5,"; - String ipPortCfgNoExport=",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" - + ",config_time,editor,edit_time,auditor,audit_time" - +",letter,whether_area_block,classification,attribute,label" - +",userregion1,userregion2,userregion3,userregion4,userregion5,ir_type,group_name,"; - String ntcSubscribeIdCfgNoExport=",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" - + ",config_time,editor,edit_time,auditor,audit_time" - +",letter,whether_area_block,classification,attribute,label" - +",userregion1,userregion2,userregion3,userregion4,userregion5,"; - List httpUrlList = new ArrayList<>(); - List httpReqHdrList = new ArrayList<>(); - List httpResHdrList = new ArrayList<>(); - List httpReqBodyList = new ArrayList<>(); - List httpResBodyList = new ArrayList<>(); - List ipPortList = new ArrayList<>(); - List subscribeIdList = new ArrayList<>(); - for (CfgIndexInfo cfg : page.getList()) { - Map maps=cachePolicyService.exportCachePolicy(cfg); - httpUrlList.addAll(maps.get("NTC_HTTP_URL")); - httpReqHdrList.addAll(maps.get("NTC_HTTP_REQ_HDR")); - httpResHdrList.addAll(maps.get("NTC_HTTP_RES_HDR")); - httpReqBodyList.addAll(maps.get("NTC_HTTP_REQ_BODY")); - httpResBodyList.addAll(maps.get("NTC_HTTP_RES_BODY")); - ipPortList.addAll(maps.get("NTC_UNIVERSAL_IP")); - subscribeIdList.addAll(maps.get("NTC_SUBSCRIBE_ID")); - } - httpUrlList=BaseStringCfg.replaceBaseKeyList(httpUrlList); - httpReqHdrList=ComplexkeywordCfg.replaceComplexKeyList(httpReqHdrList); - httpResHdrList=ComplexkeywordCfg.replaceComplexKeyList(httpResHdrList); - httpReqBodyList=BaseStringCfg.replaceBaseKeyList(httpReqBodyList); - httpResBodyList=BaseStringCfg.replaceBaseKeyList(httpResBodyList); - subscribeIdList=BaseStringCfg.baseHexList(subscribeIdList); - titleList.add(entity.getMenuNameCode()); - titleList.add("NTC_HTTP_URL"); - titleList.add("NTC_HTTP_REQ_HDR"); - classMap.put(entity.getMenuNameCode(), CfgIndexInfo.class); - classMap.put("NTC_HTTP_URL", HttpUrlCfg.class); - classMap.put("NTC_HTTP_REQ_HDR", HttpReqHeadCfg.class); - noExportMap.put(entity.getMenuNameCode(),cfgIndexInfoNoExport); - noExportMap.put("NTC_HTTP_URL", httpUrlCfgNoExport); - noExportMap.put("NTC_HTTP_REQ_HDR", httpReqHeadCfgNoExport); - dataMap.put(entity.getMenuNameCode(), page.getList()); - dataMap.put("NTC_HTTP_URL", httpUrlList); - dataMap.put("NTC_HTTP_REQ_HDR", httpReqHdrList); - if(entity.getFunctionId()!=208 && entity.getFunctionId()!=211){ - titleList.add("NTC_HTTP_RES_BODY"); - classMap.put("NTC_HTTP_RES_BODY", HttpBodyCfg.class); - noExportMap.put("NTC_HTTP_RES_BODY", httpResBodyCfgNoExport); - dataMap.put("NTC_HTTP_RES_BODY", httpResBodyList); - }else if(entity.getFunctionId()!=211){ - titleList.add("NTC_HTTP_RES_HDR"); - titleList.add("NTC_HTTP_REQ_BODY"); - classMap.put("NTC_HTTP_RES_HDR", HttpResHeadCfg.class); - classMap.put("NTC_HTTP_REQ_BODY", HttpBodyCfg.class); - noExportMap.put("NTC_HTTP_RES_HDR", httpResHeadCfgNoExport); - noExportMap.put("NTC_HTTP_REQ_BODY", httpReqBodyCfgNoExport); - dataMap.put("NTC_HTTP_RES_HDR", httpResHdrList); - dataMap.put("NTC_HTTP_REQ_BODY", httpReqBodyList); - } - titleList.add("NTC_UNIVERSAL_IP"); - titleList.add("NTC_SUBSCRIBE_ID"); - classMap.put("NTC_UNIVERSAL_IP", IpPortCfg.class); - classMap.put("NTC_SUBSCRIBE_ID", NtcSubscribeIdCfg.class); - noExportMap.put("NTC_UNIVERSAL_IP", ipPortCfgNoExport); - noExportMap.put("NTC_SUBSCRIBE_ID", ntcSubscribeIdCfgNoExport); - dataMap.put("NTC_UNIVERSAL_IP", ipPortList); - dataMap.put("NTC_SUBSCRIBE_ID",subscribeIdList); - - } - this._export(model, request, response, redirectAttributes,entity.getMenuNameCode(),titleList,classMap,dataMap,noExportMap); - } catch (Exception e) { - logger.error("http export failed",e); - addMessage(redirectAttributes, "export_failed"); + @RequestMapping(value = "exportCache") + public void exportdomain(Model model,HttpServletRequest request,HttpServletResponse response, + @ModelAttribute("cfg")CachePolicyUserRegion entity,String ids,RedirectAttributes redirectAttributes){ + try { + //export data info + List titleList=new ArrayList(); + Map> classMap=new HashMap>(); + Map dataMap=new HashMap(); + Map noExportMap = new HashMap(); + List ipLists = new ArrayList(); + // 导出选中记录 + if (!StringUtil.isEmpty(ids)) { + ipLists = cachePolicyService.getCachePolicyByUserRegionList(ids); + } else { + Page pageInfo=new Page(request, response,"a"); + pageInfo.setPageNo(1); + pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); + Page page = cachePolicyService.getCachePolicyUserRegionList(pageInfo, entity); + ipLists = page.getList(); } - return "redirect:" + adminPath +"/ntc/website/httpList?functionId="+entity.getFunctionId(); - }*/ + + List serviceList = DictUtils.getFunctionServiceDictList(entity.getFunctionId()); + Properties msgProp = getMsgProp(); + for (CachePolicyUserRegion cache : ipLists) { + for (FunctionServiceDict service : serviceList) { + if(cache.getAction().intValue()==service.getAction().intValue()){ + cache.setActionCode(msgProp.getProperty(service.getActionCode(),service.getActionCode())); + } + } + } + titleList.add(entity.getMenuNameCode()); + titleList.add("PXY_CACHE_HTTP_URL"); + titleList.add("PXY_CACHE_HTTP_COOKIE"); + classMap.put(entity.getMenuNameCode(), CachePolicyUserRegion.class); + classMap.put("PXY_CACHE_HTTP_URL", HttpUrlCfg.class); + classMap.put("PXY_CACHE_HTTP_COOKIE", HttpUrlCfg.class); + String cfgIndexInfoNoExport=",block_type,policy_name,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,&action:block_type-"; + String httpUrlInfoNoExport=",block_type,do_log,action,config_describe,valid_identifier,is_audit,creator,creator" + + ",config_time,editor,edit_time,auditor,audit_time" + +",letter,whether_area_block,classification,attribute,label" + +",userregion1,userregion2,userregion3,userregion4,userregion5,"; + + // 时间过滤 + if (entity.getSearch_create_time_start() == null) { + cfgIndexInfoNoExport = ",config_time" + cfgIndexInfoNoExport; + } + if (entity.getSearch_edit_time_start() == null) { + cfgIndexInfoNoExport = ",edit_time" + cfgIndexInfoNoExport; + } + if (entity.getSearch_audit_time_start() == null) { + cfgIndexInfoNoExport = ",audit_time" + cfgIndexInfoNoExport; + } + if (!StringUtil.isEmpty(entity.gethColumns())) { + cfgIndexInfoNoExport = "," + entity.gethColumns() + "," + cfgIndexInfoNoExport; + } + + noExportMap.put(entity.getMenuNameCode(),cfgIndexInfoNoExport); + noExportMap.put("PXY_CACHE_HTTP_URL", httpUrlInfoNoExport); + noExportMap.put("PXY_CACHE_HTTP_COOKIE", httpUrlInfoNoExport); + List urlList=new ArrayList(); + List cookieList=new ArrayList(); + for (CachePolicyUserRegion cfg : ipLists) { + Map maps=cachePolicyService.getExport(Long.valueOf(cfg.getCfgId())); + urlList.addAll(maps.get("PXY_CACHE_HTTP_URL")); + cookieList.addAll(maps.get("PXY_CACHE_HTTP_COOKIE")); + } + urlList=BaseStringCfg.replaceBaseKeyList(urlList); + cookieList=BaseStringCfg.replaceBaseKeyList(cookieList); + dataMap.put(entity.getMenuNameCode(), ipLists); + dataMap.put("PXY_CACHE_HTTP_URL", urlList); + dataMap.put("PXY_CACHE_HTTP_COOKIE", cookieList); + /*}*/ + String timeRange = initTimeMap(entity); + noExportMap.put("timeRange", timeRange); + if ("csv".equals(entity.getExType())) { + this._exportCsv(model, request, response, redirectAttributes, entity.getMenuNameCode(), titleList, + classMap, dataMap, noExportMap); + } else { + this._export(model, request, response, redirectAttributes, entity.getMenuNameCode(), titleList, + classMap, dataMap, noExportMap); + } + } catch (Exception e) { + logger.error("ip white export failed",e); + addMessage(redirectAttributes,"error", "export_failed"); + } + } } diff --git a/src/main/java/com/nis/web/dao/configuration/CommonPolicyDao.java b/src/main/java/com/nis/web/dao/configuration/CommonPolicyDao.java index 11cdc8e03..72e786fdf 100644 --- a/src/main/java/com/nis/web/dao/configuration/CommonPolicyDao.java +++ b/src/main/java/com/nis/web/dao/configuration/CommonPolicyDao.java @@ -1,13 +1,11 @@ package com.nis.web.dao.configuration; -import java.util.Date; import java.util.List; - import org.apache.ibatis.annotations.Param; - import com.nis.domain.configuration.BaseCfg; import com.nis.domain.configuration.BaseStringCfg; +import com.nis.domain.configuration.CachePolicyUserRegion; import com.nis.domain.configuration.CfgIndexInfo; import com.nis.domain.configuration.ComplexkeywordCfg; import com.nis.domain.configuration.IpPortCfg; @@ -39,4 +37,8 @@ public interface CommonPolicyDao { public void deleteHttpUrlCfg(@Param("tableName")String tableName, @Param("entity")BaseCfg baseCfg, @Param("compileIds")List compileIds); + + public List getCachePolicyUserRegionList(CachePolicyUserRegion entity); + + public List getCachePolicyByUserRegionList(@Param("ids")String ids); } diff --git a/src/main/java/com/nis/web/dao/configuration/CommonPolicyDao.xml b/src/main/java/com/nis/web/dao/configuration/CommonPolicyDao.xml index e375bb0b8..70564e398 100644 --- a/src/main/java/com/nis/web/dao/configuration/CommonPolicyDao.xml +++ b/src/main/java/com/nis/web/dao/configuration/CommonPolicyDao.xml @@ -34,6 +34,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -814,4 +850,119 @@ + + + + + + + + + + \ No newline at end of file diff --git a/src/main/java/com/nis/web/service/configuration/CachePolicyService.java b/src/main/java/com/nis/web/service/configuration/CachePolicyService.java index 205519007..718e32325 100644 --- a/src/main/java/com/nis/web/service/configuration/CachePolicyService.java +++ b/src/main/java/com/nis/web/service/configuration/CachePolicyService.java @@ -16,9 +16,11 @@ import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import com.nis.domain.FunctionServiceDict; import com.nis.domain.Page; import com.nis.domain.configuration.AreaIpCfg; import com.nis.domain.configuration.BaseStringCfg; +import com.nis.domain.configuration.CachePolicyUserRegion; import com.nis.domain.configuration.CfgIndexInfo; import com.nis.domain.configuration.CommonStringCfg; import com.nis.domain.configuration.HttpBodyCfg; @@ -38,6 +40,7 @@ import com.nis.domain.maat.ToMaatResult; import com.nis.exceptions.MaatConvertException; import com.nis.util.ConfigServiceUtil; import com.nis.util.Constants; +import com.nis.util.DictUtils; import com.nis.util.StringUtil; import com.nis.web.dao.configuration.AreaIpCfgDao; import com.nis.web.dao.configuration.CommonPolicyDao; @@ -69,26 +72,81 @@ public class CachePolicyService extends CrudService return entity; } - /*public Map exportCachePolicy(CfgIndexInfo entity){ + public Page getCachePolicyUserRegionList(Page page, CachePolicyUserRegion entity){ + entity.getSqlMap().put("dsf", configScopeFilter(entity.getCurrentUser(),"a")); + entity.setPage(page); + List list = commonPolicyDao.getCachePolicyUserRegionList(entity); + for (CachePolicyUserRegion c : list) { + JSONObject jsonObject=JSONObject.fromObject(c.getUserRegion1()); + CachePolicyUserRegion stu=(CachePolicyUserRegion)JSONObject.toBean(jsonObject, CachePolicyUserRegion.class); + c.setCache_cookied_cont(stu.getCache_cookied_cont()); + c.setCache_dyn_url(stu.getCache_dyn_url()); + c.setForce_caching(stu.getForce_caching()); + c.setIgnore_req_nocache(stu.getIgnore_req_nocache()); + c.setIgnore_res_nocache(stu.getIgnore_res_nocache()); + c.setInactive_time(stu.getInactive_time()); + c.setMax_cache_obj_size(stu.getMax_cache_obj_size()); + c.setMax_cache_size(stu.getMax_cache_size()); + c.setMin_use(stu.getMin_use()); + c.setNo_revalidate(stu.getNo_revalidate()); + c.setPinning_time(stu.getPinning_time()); + if(stu.getCache_key()!=null){ + String ignore=String.valueOf(stu.getCache_key().get("ignore_qs")); + String cookie=String.valueOf(stu.getCache_key().get("cookie")); + if(!ignore.equals("null") && ignore!=null){ + c.setIgnore_qs(ignore); + } + if(!cookie.equals("null") && cookie!=null){ + c.setCookie(cookie); + } + } + } + page.setList(list); + return page; + } + + + public List getCachePolicyByUserRegionList(String ids){ + List list = commonPolicyDao.getCachePolicyByUserRegionList(ids); + for (CachePolicyUserRegion c : list) { + JSONObject jsonObject=JSONObject.fromObject(c.getUserRegion1()); + CachePolicyUserRegion stu=(CachePolicyUserRegion)JSONObject.toBean(jsonObject, CachePolicyUserRegion.class); + c.setCache_cookied_cont(stu.getCache_cookied_cont()); + c.setCache_dyn_url(stu.getCache_dyn_url()); + c.setForce_caching(stu.getForce_caching()); + c.setIgnore_req_nocache(stu.getIgnore_req_nocache()); + c.setIgnore_res_nocache(stu.getIgnore_res_nocache()); + c.setInactive_time(stu.getInactive_time()); + c.setMax_cache_obj_size(stu.getMax_cache_obj_size()); + c.setMax_cache_size(stu.getMax_cache_size()); + c.setMin_use(stu.getMin_use()); + c.setNo_revalidate(stu.getNo_revalidate()); + c.setPinning_time(stu.getPinning_time()); + if(stu.getCache_key()!=null){ + String ignore=String.valueOf(stu.getCache_key().get("ignore_qs")); + String cookie=String.valueOf(stu.getCache_key().get("cookie")); + if(!ignore.equals("null") && ignore!=null){ + c.setIgnore_qs(ignore); + } + if(!cookie.equals("null") && cookie!=null){ + c.setCookie(cookie); + } + } + } + return list; + } + + public Map getExport(Long cfgId){ Map dataMap=new HashMap(); - List httpUrlList = commonPolicyDao.getHttpUrlList(entity); - List httpReqHdrList = commonPolicyDao.getHttpReqHdrList(entity); - List httpResHdrList = commonPolicyDao.getHttpResHdrList(entity); - List ipPortCfgList = commonPolicyDao.getIpPortList(entity); - entity.setCfgType(Constants.HTTP_REDIRECT_REQ_BODY_REGION); - List httpReqBodyList = commonPolicyDao.getHttpReqBodyList(entity); - entity.setCfgType(Constants.HTTP_REDIRECT_RES_BODY_REGION); - List httpResBodyList = commonPolicyDao.getHttpResBodyList(entity); - List subscribeIdList = stringCfgDao.findSubscribeIdCfgListByCfgIndexInfo(entity); - dataMap.put("NTC_UNIVERSAL_IP", ipPortCfgList); - dataMap.put("NTC_CACHE_URL", httpUrlList); - dataMap.put("NTC_HTTP_REQ_HDR", httpReqHdrList); - dataMap.put("NTC_HTTP_RES_HDR", httpResHdrList); - dataMap.put("NTC_HTTP_REQ_BODY", httpReqBodyList); - dataMap.put("NTC_HTTP_RES_BODY", httpResBodyList); - dataMap.put("NTC_SUBSCRIBE_ID", subscribeIdList); + CfgIndexInfo entity = commonPolicyDao.getPolicyById(cfgId); + entity.setCfgType("PXY_CACHE_HTTP_URL"); + List urlList = commonPolicyDao.getCommonStringList(entity); + entity.setCfgType("PXY_CACHE_HTTP_COOKIE"); + List cookieList = commonPolicyDao.getCommonStringList(entity); + dataMap.put("PXY_CACHE_HTTP_URL", urlList); + dataMap.put("PXY_CACHE_HTTP_COOKIE", cookieList); return dataMap; - }*/ + } public Page getCachePolicyList(Page page, CfgIndexInfo entity){ // 生成数据权限过滤条件(dsf为dataScopeFilter的简写,在xml中使用 ${sqlMap.dsf}调用权限SQL) diff --git a/src/main/webapp/WEB-INF/views/cfg/proxy/cache/list.jsp b/src/main/webapp/WEB-INF/views/cfg/proxy/cache/list.jsp index 1a7f477be..79821e40f 100644 --- a/src/main/webapp/WEB-INF/views/cfg/proxy/cache/list.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/proxy/cache/list.jsp @@ -180,19 +180,18 @@ -<%-- --%> - - -<%-- --%> - - - -<%--
  • --%> -<%--
  • --%> - - +
    + + +