Merge branch 'develop' of http://10.0.6.99/gwall/gwall.git into develop

This commit is contained in:
duandongmei
2018-07-25 09:56:00 +08:00
24 changed files with 1095 additions and 20 deletions

View File

@@ -42,6 +42,18 @@ public class AppPolicyCfg extends BaseCfg<AppPolicyCfg> {
private String userRegion3;
private String userRegion4;
private String userRegion5;
private String configType;
public String getConfigType() {
return configType;
}
public void setConfigType(String configType) {
this.configType = configType;
}
public String getBehavName() {
return behavName;
}

View File

@@ -171,6 +171,7 @@ public class AppCfgController extends BaseController {
entity.setAuditorId(UserUtils.getUser().getId());
entity.setAuditTime(new Date());
entity.setFunctionId(functionId);
entity.setConfigType(Constants.SPECIFIC_SERVICE_CFG_TYPE_APP);
try {
appCfgService.auditAppPolicyCfg(entity,isAudit);
} catch (MaatConvertException e) {

View File

@@ -0,0 +1,170 @@
package com.nis.web.controller.configuration;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
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.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.servlet.mvc.support.RedirectAttributes;
import com.nis.domain.Page;
import com.nis.domain.configuration.AppPolicyCfg;
import com.nis.domain.configuration.IpPortCfg;
import com.nis.domain.specific.SpecificServiceCfg;
import com.nis.exceptions.MaatConvertException;
import com.nis.util.Constants;
import com.nis.web.controller.BaseController;
import com.nis.web.security.UserUtils;
/**
* 基础协议控制类
* @author wx
*
*/
@Controller
@RequestMapping("${adminPath}/basicprotocol")
public class BasicProtocolController extends BaseController {
/**
* app策略列表
* @param model
* @param cfg
* @param request
* @param response
* @return
*/
@RequestMapping(value = {"list"})
public String policyCfgList(Model model,@ModelAttribute("cfg")AppPolicyCfg cfg,HttpServletRequest request,HttpServletResponse response) {
Page<AppPolicyCfg> searchPage=new Page<AppPolicyCfg>(request,response,"r");
Page<AppPolicyCfg> page = appCfgService.findAppPolicyList(searchPage, cfg);
for(AppPolicyCfg entity:page.getList()){
SpecificServiceCfg app = specificServiceCfgService.getBySpecServiceId(entity.getSpecServiceId());
entity.setAppName(app.getSpecServiceName());
}
model.addAttribute("page", page);
initPageCondition(model,cfg);
return "/cfg/basicprotocol/list";
}
/**
* 查询APP策略IP子配置
* @param model
* @param cfgId
* @param index
* @return
*/
@RequestMapping(value = {"ajaxIpList"})
public String ajaxSslSubList(Model model,Long cfgId,Integer index) {
AppPolicyCfg cfg = appCfgService.getAppPolicyCfg(cfgId);
List<String[]> tabList = new ArrayList();
if(cfg.getIpPortList()!=null){
String cfgType = null;
for(IpPortCfg ip:cfg.getIpPortList()){
if(!ip.getCfgType().equals(cfgType)){
tabList.add(new String[]{"1",ip.getCfgType()});
cfgType = ip.getCfgType();
}
}
}
model.addAttribute("_cfg", cfg);
model.addAttribute("index", index);
model.addAttribute("tabList", tabList);
return "/cfg/basicprotocol/ipList";
}
/**
* 策略配置表单
* @param model
* @param ids
* @param entity
* @return
*/
@RequestMapping(value = {"form"})
@RequiresPermissions(value={"basicprotocol:config"})
public String policyCfgForm(Model model,String ids,AppPolicyCfg entity) {
if(StringUtils.isNotBlank(ids)){
entity = appCfgService.getAppPolicyCfg(Long.parseLong(ids));
initUpdateFormCondition(model,entity);
}else{
initFormCondition(model,entity);
}
model.addAttribute("_cfg", entity);
return "/cfg/basicprotocol/form";
}
/**
* 策略配置新增修改
* @param model
* @param request
* @param response
* @param entity
* @param redirectAttributes
* @return
*/
@RequestMapping(value = {"save"})
@RequiresPermissions(value={"basicprotocol:config"})
public String saveAppPolicyCfg(Model model,HttpServletRequest request,HttpServletResponse response,
AppPolicyCfg entity,RedirectAttributes redirectAttributes) {
try {
SpecificServiceCfg specificService = specificServiceCfgService.getBySpecServiceId(entity.getSpecServiceId());
if(specificService!=null){
entity.setAppCode(specificService.getSpecServiceCode());
}
appCfgService.saveOrUpdateAppPolicyCfg(entity);
} catch (Exception e) {
e.printStackTrace();
addMessage(redirectAttributes, e.getMessage());
}
return "redirect:" + adminPath +"/basicprotocol/list?functionId="+entity.getFunctionId();
}
/**
* 策略配置审核
* @param isAudit
* @param isValid
* @param ids
* @param functionId
* @param redirectAttributes
* @return
*/
@RequestMapping(value = {"audit"})
@RequiresPermissions(value={"basicprotocol:confirm"})
public String auditAppPolicyCfg(Integer isAudit,Integer isValid,String ids,Integer functionId, RedirectAttributes redirectAttributes) {
AppPolicyCfg entity = new AppPolicyCfg();
String[] idArray = ids.split(",");
for(String id :idArray){
entity = appCfgService.getAppPolicyCfg(Long.parseLong(id));
entity.setIsAudit(isAudit);
entity.setIsValid(isValid);
entity.setAuditorId(UserUtils.getUser().getId());
entity.setAuditTime(new Date());
entity.setFunctionId(functionId);
entity.setConfigType(Constants.SPECIFIC_SERVICE_CFG_TYPE_BASIC_PROTOCOL);
try {
appCfgService.auditAppPolicyCfg(entity,isAudit);
} catch (MaatConvertException e) {
e.printStackTrace();
logger.info("app策略配置下发失败"+e.getMessage());
addMessage(redirectAttributes, e.getMessage());
}
}
return "redirect:" + adminPath +"/basicprotocol/list?functionId="+functionId;
}
/**
* 策略配置删除
* @param isValid
* @param ids
* @param functionId
* @return
*/
@RequestMapping(value = {"updateValid"})
@RequiresPermissions(value={"basicprotocol:config"})
public String updateAppPolicyCfgValid(Integer isValid,String ids,Integer functionId) {
appCfgService.updateAppPolicyCfgValid(isValid,ids,functionId);
return "redirect:" + adminPath +"/basicprotocol/list?functionId="+functionId;
}
}

View File

@@ -5,7 +5,6 @@ import java.util.Date;
import java.util.List;
import java.util.Map;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -20,13 +19,13 @@ import com.nis.domain.configuration.AppPolicyCfg;
import com.nis.domain.configuration.AreaIpCfg;
import com.nis.domain.configuration.IpPortCfg;
import com.nis.domain.maat.MaatCfg;
import com.nis.domain.maat.ToMaatBean;
import com.nis.domain.maat.ToMaatResult;
import com.nis.domain.maat.MaatCfg.DigestCfg;
import com.nis.domain.maat.MaatCfg.GroupCfg;
import com.nis.domain.maat.MaatCfg.IpCfg;
import com.nis.domain.maat.MaatCfg.NumBoundaryCfg;
import com.nis.domain.maat.MaatCfg.StringCfg;
import com.nis.domain.maat.ToMaatBean;
import com.nis.domain.maat.ToMaatResult;
import com.nis.exceptions.MaatConvertException;
import com.nis.util.ConfigServiceUtil;
import com.nis.util.Constants;
@@ -401,6 +400,7 @@ public class AppCfgService extends BaseService {
}
}
public void auditAppPolicyCfg(AppPolicyCfg entity,Integer isAudit){
String configType=entity.getConfigType();
ToMaatBean maatBean = new ToMaatBean();
MaatCfg maatCfg = new MaatCfg();
List<MaatCfg> configCompileList = new ArrayList();
@@ -412,7 +412,6 @@ public class AppCfgService extends BaseService {
List<IpCfg> areaIpRegionList = new ArrayList();
entity.setTableName(AppPolicyCfg.getTablename());
appCfgDao.auditCfg(entity);
if(isAudit==1){
if(entity.getBehavCode()!=null){
entity.setCfgKeywords(entity.getAppCode()+Constants.KEYWORD_EXPR+entity.getBehavCode());
@@ -470,20 +469,30 @@ public class AppCfgService extends BaseService {
maatCfg.setGroupNum(groupRelationList.size());
maatCfg.setAreaIpRegionList(areaIpRegionList);
maatCfg.setIsValid(entity.getIsValid());
//设置APP自定义域
String userRegion = "APP_ID="+entity.getAppCode();
//限速业务需要设置
String actionCode = DictUtils.getDictCode("SERVICE_ACTION", "action_ratelimit");
if(!actionCode.equals("默认")){
if(entity.getAction().equals(Integer.parseInt(actionCode))){
userRegion += Constants.USER_REGION_SPLIT+Constants.RATE_LIMIT_REGION+"="+entity.getRatelimit();
if(Constants.SPECIFIC_SERVICE_CFG_TYPE_APP.equalsIgnoreCase(configType)) {
//设置APP自定义域
String userRegion = "APP_ID="+entity.getAppCode();
//限速业务需要设置
String actionCode = DictUtils.getDictCode("SERVICE_ACTION", "action_ratelimit");
if(!actionCode.equals("默认")){
if(entity.getAction().equals(Integer.parseInt(actionCode))){
userRegion += Constants.USER_REGION_SPLIT+Constants.RATE_LIMIT_REGION+"="+entity.getRatelimit();
}
}
if(entity.getBehavCode()!=null) {
userRegion += Constants.USER_REGION_SPLIT+Constants.BEHAV_ID_REGION+"="+entity.getBehavCode();
}
maatCfg.setUserRegion(userRegion);
}else if(Constants.SPECIFIC_SERVICE_CFG_TYPE_BASIC_PROTOCOL.equalsIgnoreCase(configType)) {
String userRegion = Constants.PROTO_ID_REGION+"="+entity.getAppCode();
maatCfg.setUserRegion(userRegion);
}else if(Constants.SPECIFIC_SERVICE_CFG_TYPE_ENCRYPTED_TUNNEL_BEHAVIOR.equalsIgnoreCase(configType)) {
String userRegion = Constants.PROTO_ID_REGION+"="+entity.getAppCode();
if(entity.getBehavCode()!=null) {
userRegion += Constants.USER_REGION_SPLIT+Constants.BEHAV_ID_REGION+"="+entity.getBehavCode();
}
maatCfg.setUserRegion(userRegion);
}
if(entity.getBehavCode()!=null) {
userRegion += Constants.USER_REGION_SPLIT+Constants.BEHAV_ID_REGION+"="+entity.getBehavCode();
}
maatCfg.setUserRegion(userRegion);
configCompileList.add(maatCfg);
maatBean.setConfigCompileList(configCompileList);
maatBean.setAuditTime(entity.getAuditTime());