(1)BaseStringCfg 类修改为BaseStringCfg<T>,加入泛型。所有继承BaseStringCfg的类均已经修改泛型。

(2)HttpUrlCfg新增ratelimit一列,用于域名限速。
(3)域名限速新增/修改增加限速比例一列,列表展示新增限速比例一列。
(4)审核自定义域域名拦截与域名限速进行调整。
(5)删除MultipleCfg以及相关的dao,service
(6StringCfgService重命名为DomainService,其不具备字符串配置都能调用的功能
This commit is contained in:
wangxin
2018-06-29 12:44:33 +08:00
parent 25bb850d47
commit b30e88c3b8
48 changed files with 715 additions and 1084 deletions

View File

@@ -68,7 +68,7 @@ import com.nis.web.service.configuration.IpCfgService;
import com.nis.web.service.configuration.MailCfgService;
import com.nis.web.service.configuration.NumCfgService;
import com.nis.web.service.configuration.RequestInfoService;
import com.nis.web.service.configuration.StringCfgService;
import com.nis.web.service.configuration.DomainService;
import com.nis.web.service.configuration.WebsiteCfgService;
import com.nis.web.service.configuration.XmppCfgService;
import com.nis.web.service.specific.SpecificServiceCfgService;
@@ -136,7 +136,7 @@ public class BaseController {
@Autowired
protected RequestInfoService requestInfoService;
@Autowired
protected StringCfgService stringCfgService;
protected DomainService domainService;
@Autowired
protected NumCfgService numCfgService;
@Autowired

View File

@@ -15,12 +15,12 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.ui.Model;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.nis.domain.Page;
import com.nis.domain.configuration.BaseIpCfg;
import com.nis.domain.configuration.BaseStringCfg;
import com.nis.domain.configuration.HttpUrlCfg;
import com.nis.domain.configuration.IpPortCfg;
import com.nis.exceptions.MaatConvertException;
@@ -46,8 +46,8 @@ public class CommonController extends BaseController {
public void _domainList(String cfgName,Model model,HttpUrlCfg cfg,HttpServletRequest request,HttpServletResponse response) {
model.addAttribute("cfgName", cfgName);
cfg.setTableName(HttpUrlCfg.getTablename());
Page<BaseStringCfg> searchPage=new Page<BaseStringCfg>(request,response,"r");
Page<BaseStringCfg> page = stringCfgService.findPage(searchPage, cfg);
Page<HttpUrlCfg> searchPage=new Page<HttpUrlCfg>(request,response,"r");
Page<HttpUrlCfg> page = domainService.findPage(searchPage, cfg);
model.addAttribute("page", page);
initPageCondition(model,cfg);
}
@@ -68,10 +68,10 @@ public class CommonController extends BaseController {
initFormCondition(model,entity);
}
}
public void _domainForm(String cfgName,Model model,String ids,Integer functionId,BaseStringCfg entity) {
public void _domainForm(String cfgName,Model model,String ids,Integer functionId,HttpUrlCfg entity) {
model.addAttribute("cfgName", cfgName);
if(StringUtils.isNotBlank(ids)){
entity = stringCfgService.getStringCfgById(HttpUrlCfg.getTablename(),Long.parseLong(ids));
entity = domainService.getStringCfgById(Long.parseLong(ids));
}
if(entity.getCfgId()!=null){
model.addAttribute("_cfg", entity);
@@ -118,11 +118,11 @@ public class CommonController extends BaseController {
if(cfg.getCfgId()==null){//新增
cfg.setCreatorId(cfg.getCurrentUser().getId());
cfg.setCreateTime(date);
stringCfgService.addStringCfg((BaseStringCfg)cfg);
domainService.addStringCfg(cfg);
}else{//修改
cfg.setEditorId(cfg.getCurrentUser().getId());
cfg.setEditTime(new Date());
stringCfgService.updateStringCfg((BaseStringCfg)cfg);
domainService.updateStringCfg(cfg);
}
addMessage(model,"save_success");
}catch(Exception e){
@@ -143,7 +143,7 @@ public class CommonController extends BaseController {
public void _deleteDomain(String cfgName,String ids,String compileIds,Integer functionId,RedirectAttributes model) {
model.addAttribute("cfgName", cfgName);
try{
stringCfgService.deleteDomain(ids,compileIds,functionId.intValue());
domainService.deleteDomain(ids,compileIds,functionId.intValue());
addMessage(model,"delete_success");
}catch(Exception e){
logger.error("删除失败", e);
@@ -180,15 +180,17 @@ public class CommonController extends BaseController {
for(String id:ids.split(",")){
Long.parseLong(id);
}
List<BaseStringCfg> beans=stringCfgService.getListByCfgId(HttpUrlCfg.getTablename(),ids);
List<HttpUrlCfg> beans=domainService.getListByCfgId(ids);
Date date=new Date();
for(BaseStringCfg bean:beans){
bean.setTableName(HttpUrlCfg.getTablename());
bean.setAuditorId(bean.getCurrentUser().getId());
bean.setAuditTime(date);
bean.setIsAudit(cfg.getIsAudit());
bean.setIsValid(cfg.getIsValid());
stringCfgService.auditDomain(bean);
for(HttpUrlCfg bean:beans){
HttpUrlCfg domain=new HttpUrlCfg();
BeanUtils.copyProperties(bean, domain);
domain.setTableName(HttpUrlCfg.getTablename());
domain.setAuditorId(bean.getCurrentUser().getId());
domain.setAuditTime(date);
domain.setIsAudit(cfg.getIsAudit());
domain.setIsValid(cfg.getIsValid());
domainService.auditDomain(domain);
}
addMessage(redirectAttributes,"audit_success");
}catch(MaatConvertException e){

View File

@@ -1,19 +1,12 @@
package com.nis.web.controller.configuration.maintenance;
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.lang3.StringUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.context.i18n.LocaleContextHolder;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
@@ -22,27 +15,11 @@ import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.nis.domain.Page;
import com.nis.domain.SysUser;
import com.nis.domain.basics.PolicyGroupInfo;
import com.nis.domain.basics.ServiceDictInfo;
import com.nis.domain.basics.SysDictInfo;
import com.nis.domain.configuration.AreaBean;
import com.nis.domain.configuration.AreaIpCfg;
import com.nis.domain.configuration.AvContIpCfg;
import com.nis.domain.configuration.AvVoipAccountCfg;
import com.nis.domain.configuration.CfgIndexInfo;
import com.nis.domain.configuration.DnsResStrategy;
import com.nis.exceptions.MaatConvertException;
import com.nis.domain.configuration.AvVoipIpCfg;
import com.nis.domain.configuration.BaseIpCfg;
import com.nis.domain.configuration.BaseStringCfg;
import com.nis.util.Configurations;
import com.nis.util.Constants;
import com.nis.util.DateUtils;
import com.nis.util.StringUtil;
import com.nis.util.excel.ExportExcel;
import com.nis.web.controller.BaseController;
import com.nis.web.security.UserUtils;
/**
* dns响应策略

View File

@@ -20,7 +20,6 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.nis.domain.configuration.BaseIpCfg;
import com.nis.domain.configuration.BaseStringCfg;
import com.nis.domain.configuration.HttpUrlCfg;
import com.nis.domain.configuration.IpPortCfg;
import com.nis.web.controller.configuration.CommonController;
@@ -61,7 +60,7 @@ public class RatelimitController extends CommonController {
}
@RequestMapping(value = {"/domain/form"})
@RequiresPermissions(value={"domain:ratelimit:config"})
public String domainForm(String cfgName,Model model,String ids,Integer functionId,BaseStringCfg entity) {
public String domainForm(String cfgName,Model model,String ids,Integer functionId,HttpUrlCfg entity) {
this._domainForm(cfgName, model, ids, functionId, entity);
model.addAttribute("urlPrefix","/manipulation/ratelimit/domain");
model.addAttribute("requiresPermissionPrefix","domain:ratelimit");

View File

@@ -9,6 +9,7 @@ import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.authz.annotation.Logical;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
@@ -17,7 +18,6 @@ import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.nis.domain.Page;
import com.nis.domain.configuration.BaseIpCfg;
import com.nis.domain.configuration.BaseStringCfg;
import com.nis.domain.configuration.HttpUrlCfg;
import com.nis.domain.configuration.IpPortCfg;
import com.nis.exceptions.MaatConvertException;
@@ -47,8 +47,8 @@ public class WhiteListController extends BaseController{
@RequiresPermissions(value={"whitelist:config","whitelist:audit"},logical=Logical.OR)
public String domainList(Model model,@ModelAttribute("cfg")HttpUrlCfg cfg,HttpServletRequest request,HttpServletResponse response) {
cfg.setTableName(HttpUrlCfg.getTablename());
Page<BaseStringCfg> searchPage=new Page<BaseStringCfg>(request,response,"r");
Page<BaseStringCfg> page = stringCfgService.findPage(searchPage, cfg);
Page<HttpUrlCfg> searchPage=new Page<HttpUrlCfg>(request,response,"r");
Page<HttpUrlCfg> page = domainService.findPage(searchPage, cfg);
model.addAttribute("page", page);
initPageCondition(model,cfg);
return "/cfg/whitelist/domainList";
@@ -74,9 +74,9 @@ public class WhiteListController extends BaseController{
}
@RequestMapping(value = {"domainForm"})
@RequiresPermissions(value={"whitelist:config"})
public String domainForm(Model model,String ids,BaseStringCfg entity) {
public String domainForm(Model model,String ids,HttpUrlCfg entity) {
if(StringUtils.isNotBlank(ids)){
entity = stringCfgService.getStringCfgById(HttpUrlCfg.getTablename(),Long.parseLong(ids));
entity = domainService.getStringCfgById(Long.parseLong(ids));
}
initFormCondition(model,entity);
if(entity.getCfgId()!=null){
@@ -125,11 +125,11 @@ public class WhiteListController extends BaseController{
if(cfg.getCfgId()==null){//新增
cfg.setCreatorId(cfg.getCurrentUser().getId());
cfg.setCreateTime(date);
stringCfgService.addStringCfg((BaseStringCfg)cfg,null);
domainService.addStringCfg(cfg);
}else{//修改
cfg.setEditorId(cfg.getCurrentUser().getId());
cfg.setEditTime(new Date());
stringCfgService.updateStringCfg((BaseStringCfg)cfg);
domainService.updateStringCfg(cfg);
}
addMessage(model,"save_success");
}catch(Exception e){
@@ -155,7 +155,7 @@ public class WhiteListController extends BaseController{
@RequiresPermissions("whitelist:config")
public String deleteDomain(String ids,Integer functionId,RedirectAttributes model) {
try{
stringCfgService.deleteWhiteDomain(ids);
domainService.deleteWhiteDomain(ids);
addMessage(model,"delete_success");
}catch(Exception e){
logger.error("删除失败", e);
@@ -194,15 +194,17 @@ public class WhiteListController extends BaseController{
// @RequiresPermissions("whitelist:aduit")
public String auditDomain(String ids,HttpUrlCfg cfg,RedirectAttributes redirectAttributes) {
try{
List<BaseStringCfg> beans=stringCfgService.getListByCfgId(HttpUrlCfg.getTablename(),ids);
List<HttpUrlCfg> beans=domainService.getListByCfgId(ids);
Date date=new Date();
for(BaseStringCfg bean:beans){
bean.setTableName(HttpUrlCfg.getTablename());
bean.setAuditorId(bean.getCurrentUser().getId());
bean.setAuditTime(date);
bean.setIsAudit(cfg.getIsAudit());
bean.setIsValid(cfg.getIsValid());
stringCfgService.auditWhiteDomain(bean);
for(HttpUrlCfg bean:beans){
HttpUrlCfg domain=new HttpUrlCfg();
BeanUtils.copyProperties(bean, domain);
domain.setTableName(HttpUrlCfg.getTablename());
domain.setAuditorId(bean.getCurrentUser().getId());
domain.setAuditTime(date);
domain.setIsAudit(cfg.getIsAudit());
domain.setIsValid(cfg.getIsValid());
domainService.auditWhiteDomain(domain);
}
addMessage(redirectAttributes,"audit_success");
}catch(MaatConvertException e){

View File

@@ -20,7 +20,6 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.nis.domain.configuration.BaseIpCfg;
import com.nis.domain.configuration.BaseStringCfg;
import com.nis.domain.configuration.HttpUrlCfg;
import com.nis.domain.configuration.IpPortCfg;
import com.nis.web.controller.configuration.CommonController;
@@ -61,7 +60,7 @@ public class ControlController extends CommonController {
}
@RequestMapping(value = {"/domain/form"})
@RequiresPermissions(value={"control:domain:config"})
public String domainForm(String cfgName,Model model,String ids,Integer functionId,BaseStringCfg entity) {
public String domainForm(String cfgName,Model model,String ids,Integer functionId,HttpUrlCfg entity) {
this._domainForm(cfgName, model, ids, functionId, entity);
model.addAttribute("urlPrefix","/proxy/control/domain");
model.addAttribute("requiresPermissionPrefix","control:domain");

View File

@@ -12,7 +12,6 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.nis.domain.configuration.BaseIpCfg;
import com.nis.domain.configuration.BaseStringCfg;
import com.nis.domain.configuration.HttpUrlCfg;
import com.nis.domain.configuration.IpPortCfg;
import com.nis.web.controller.configuration.CommonController;
@@ -51,7 +50,7 @@ public class InterceptController extends CommonController{
}
@RequestMapping(value = {"/domain/form"})
@RequiresPermissions(value={"intercept:domain:config"})
public String domainForm(String cfgName,Model model,String ids,Integer functionId,BaseStringCfg entity) {
public String domainForm(String cfgName,Model model,String ids,Integer functionId,HttpUrlCfg entity) {
this._domainForm(cfgName, model, ids, functionId, entity);
model.addAttribute("urlPrefix","/proxy/intercept/domain");
model.addAttribute("requiresPermissionPrefix","intercept:domain");