(1)修复导入common.js报错

(2)app策略导入提交
This commit is contained in:
wangxin
2018-10-19 22:07:16 +08:00
parent c837930c12
commit 8ce5a0f9af
8 changed files with 112 additions and 36 deletions

View File

@@ -8,7 +8,6 @@
*/
package com.nis.domain.configuration.template;
import com.google.gson.JsonObject;
import com.nis.util.excel.ExcelField;
/**

View File

@@ -282,6 +282,28 @@ public class DictUtils {
}
return regionDict;
}
/**
* 功能配置域字典,获取配置域信息
* @param dictId
* @return
*/
public static FunctionRegionDict getFunctionRegionDictByRegionCode(Integer functionId,Integer regionCode){
FunctionRegionDict regionDict=null;
List<FunctionRegionDict> allDictList = (List<FunctionRegionDict>)CacheUtils.get(Constants.CACHE_FUNCTION_REGION_DICT);
List<FunctionRegionDict> dictList = new ArrayList();
if(StringUtil.isEmpty(allDictList)){
FunctionRegionDict entity = new FunctionRegionDict();
allDictList = functionRegionDictDao.getList(entity);
CacheUtils.put(Constants.CACHE_FUNCTION_REGION_DICT, allDictList);
}
for(FunctionRegionDict entity:allDictList){
if(entity.getConfigRegionCode().equals(regionCode)&&entity.getFunctionId().equals(functionId)){
regionDict=entity;
break;
}
}
return regionDict;
}
/**
* 功能配置域字典,获取相应功能菜单对应的配置域信息
* @param functionId

View File

@@ -39,6 +39,7 @@ import com.nis.domain.SysDataDictionaryItem;
import com.nis.domain.basics.PolicyGroupInfo;
import com.nis.domain.basics.ServiceDictInfo;
import com.nis.domain.basics.SysDictInfo;
import com.nis.domain.configuration.AppPolicyCfg;
import com.nis.domain.configuration.AreaBean;
import com.nis.domain.configuration.AreaIpCfg;
import com.nis.domain.configuration.BaseCfg;
@@ -54,6 +55,7 @@ import com.nis.domain.configuration.template.IpPayloadTemplate;
import com.nis.domain.configuration.template.IpRateLimitTemplate;
import com.nis.domain.log.BaseLogEntity;
import com.nis.domain.log.SearchReport;
import com.nis.domain.specific.SpecificServiceCfg;
import com.nis.exceptions.MaatConvertException;
import com.nis.util.Configurations;
//import com.nis.main.ConvertTool;
@@ -2430,12 +2432,26 @@ public class BaseController {
* @param regionDictIds
* @param requestId
*/
public void _import(RedirectAttributes redirectAttributes, MultipartFile[] files, Integer serviceDictId,
public void _import(HttpServletRequest request,HttpServletResponse response,RedirectAttributes redirectAttributes, MultipartFile[] files, Integer serviceDictId,
String regionDictIds, Integer requestId) {
try {
FunctionServiceDict serviceDict = DictUtils.getFunctionServiceDict(serviceDictId);
String regionCode=serviceDict.getRegionCode();
List<BaseIpCfg> ipPortCfgs = new ArrayList<BaseIpCfg>();
List<CfgIndexInfo> cfgIndexInfos = new ArrayList<CfgIndexInfo>();
List<AppPolicyCfg> appPolicyCfgs = new ArrayList<AppPolicyCfg>();
FunctionRegionDict appRegion=null;
for(String code:regionCode.split(",")) {
if(StringUtils.isNotBlank(code)) {
FunctionRegionDict d=DictUtils.getFunctionRegionDictByRegionCode(serviceDict.getFunctionId(),Integer.parseInt(code));
if(d.getConfigServiceType().equals("app_policy")) {
appRegion=d;
break;
}
}
}
for (int i = 0; i < files.length; i++) {
MultipartFile file = files[i];
ImportExcel ei = new ImportExcel(file, 0, 0);
@@ -2464,8 +2480,15 @@ public class BaseController {
ipPortCfgs = this.checkIpCfg(serviceDict, regionDict, list);
}
Date date = new Date();
String specServiceId=request.getParameter("appId");
String behaviorId=request.getParameter("behaviorId");
SpecificServiceCfg specificServiceCfg=null;
if(serviceDict.getServiceId().intValue()==33||serviceDict.getServiceId().intValue()==145) {
if(StringUtils.isNotBlank(specServiceId)) {
specificServiceCfg=specificServiceCfgService.getBySpecServiceId(Integer.parseInt(specServiceId));
}
}
for (BaseIpCfg cfg : ipPortCfgs) {
CfgIndexInfo cfgIndexInfo = new CfgIndexInfo();
cfg.setAction(serviceDict.getAction());
cfg.setAuditorId(UserUtils.getUser().getId());
cfg.setAuditTime(date);
@@ -2485,12 +2508,32 @@ public class BaseController {
cfg.setServiceId(serviceDict.getServiceId());
cfg.setTableName("ip_port_cfg");
cfg.setCompileId(ipCfgService.getCompileId());
BeanUtils.copyProperties(cfg, cfgIndexInfo);
cfgIndexInfos.add(cfgIndexInfo);
if(serviceDict.getServiceId().intValue()==33||serviceDict.getServiceId().intValue()==145) {
if(specificServiceCfg!=null&&appRegion!=null) {
AppPolicyCfg appPolicyCfg=new AppPolicyCfg();
BeanUtils.copyProperties(cfg, appPolicyCfg);
appPolicyCfg.setSpecServiceId(specificServiceCfg.getSpecServiceId());
appPolicyCfg.setAppCode(specificServiceCfg.getSpecServiceCode());
appPolicyCfg.setExprType(0);
appPolicyCfg.setMatchMethod(0);
appPolicyCfg.setIsHexbin(0);
appPolicyCfg.setCfgType(appRegion.getConfigRegionValue());
appPolicyCfg.setCfgRegionCode(appRegion.getConfigRegionCode());
if(StringUtils.isNotBlank(behaviorId)) {
appPolicyCfg.setBehavCode(Integer.parseInt(behaviorId));
}
appPolicyCfgs.add(appPolicyCfg);
}
}else {
CfgIndexInfo cfgIndexInfo = new CfgIndexInfo();
BeanUtils.copyProperties(cfg, cfgIndexInfo);
cfgIndexInfos.add(cfgIndexInfo);
}
}
ipCfgService.saveBatch(ipPortCfgs, IpCfgDao.class);
ipCfgService.saveCfgIndexOf(cfgIndexInfos);
appCfgService.savePolicyList(appPolicyCfgs);
}
} catch (Exception e) {
addMessage(redirectAttributes, e.getMessage());

View File

@@ -295,13 +295,13 @@ public class IpController extends BaseController{
//ip配置导入
@RequestMapping(value = "import", method=RequestMethod.POST)
public String importIp(RedirectAttributes redirectAttributes,
public String importIp(HttpServletRequest request,HttpServletResponse response,RedirectAttributes redirectAttributes,
@RequestParam("files") MultipartFile[] files
,Integer serviceDictId
,Integer requestId
,String regionDictIds
,String importPath) {
this._import(redirectAttributes, files,serviceDictId,regionDictIds,requestId);
this._import(request,response,redirectAttributes, files,serviceDictId,regionDictIds,requestId);
return "redirect:" + adminPath+ importPath;
}
//ip配置导出

View File

@@ -306,7 +306,12 @@ public class AppCfgService extends BaseService {
}
}
}
@Transactional(readOnly=false,rollbackFor=RuntimeException.class)
public void savePolicyList(List<AppPolicyCfg> appPolicyCfgs){
for (AppPolicyCfg appPolicyCfg : appPolicyCfgs) {
appCfgDao.insertAppPolicyCfg(appPolicyCfg);
}
}
@Transactional(readOnly = false, rollbackFor = RuntimeException.class)
public void saveOrUpdateAppIpCfg(AppIpCfg entity) throws Exception {
// 设置区域运营商信息

View File

@@ -98,6 +98,9 @@
onClick="javascript:window.location='${ctx}/app/policyCfgForm?functionId=${cfg.functionId}'">
<i class="fa fa-plus"></i>
<spring:message code="add"></spring:message></button>
<button type="button" class="btn btn-primary import" >
<i class="fa fa-plus"></i>
<spring:message code="import"></spring:message></button>
</shiro:hasPermission>
</div>
@@ -486,6 +489,8 @@
</div>
</div>
</div>
<c:set var="importPath" value="/app/policyCfgList?functionId=${cfg.functionId}"/>
<!-- 模板导入start -->
<%@include file="/WEB-INF/include/excel/importModal.jsp" %>
</body>
</html>

View File

@@ -438,8 +438,10 @@ $(function(){
});
//去掉首尾空格
$("input,textarea").on("blur",function(){
var val=$(this).val();
$(this).val(val.trim());
if($(this).attr("type")!="file"){
var val=$(this).val();
$(this).val(val.trim());
}
});
/*var log_total=sessionStorage.getItem("log_total");
var log_time_start=sessionStorage.getItem("log_time_start");
@@ -1479,30 +1481,6 @@ var downLoadXLS=function(){
var openSelct=function(obj){
$(obj).parent().parent().find(".tree-multiselect").removeClass("hidden");
}
//导入配置
var importCfg=function(){
if($("#serviceId").val()==""){
alert("请选择action");
return ;
}
var fileName = $(".fileupload-preview", $("#importForm1")).text();
var $error = $('.alert-error', $("#importForm1"));
if(fileName==""){
$("span",$error).html("请选择xls或者xlsx格式文件进行导入...");
$error.removeClass("hide");
$error.addClass("show");
return false;
}else if(fileName.lastIndexOf("\.")==-1||fileName.substring(fileName.lastIndexOf("\.")+1).toLowerCase()!='xls' &&fileName.substring(fileName.lastIndexOf("\.")+1).toLowerCase()!='xlsx'){
$("span",$error).html("导入的文件后缀必须为xls或者xlsx...");
$error.removeClass("hide");
$error.addClass("show");
return false;
}
$("#import_modal").modal('hide');//导入文件隐藏
$("#importForm1").submit();
}
var validateTagInputKeyword=function(){
var flag=true;
$(".boxSolid:visible").find("input[name$='cfgKeywords']").each(function(){

View File

@@ -88,3 +88,27 @@ var ajaxBehaviour=function(val){
}
});
}
//导入配置
var importCfg=function(){
if($("#serviceId").val()==""){
alert("请选择action");
return ;
}
var fileName = $(".fileupload-preview", $("#importForm1")).text();
var $error = $('.alert-error', $("#importForm1"));
if(fileName==""){
$("span",$error).html("请选择xls或者xlsx格式文件进行导入...");
$error.removeClass("hide");
$error.addClass("show");
return false;
}else if(fileName.lastIndexOf("\.")==-1||fileName.substring(fileName.lastIndexOf("\.")+1).toLowerCase()!='xls' &&fileName.substring(fileName.lastIndexOf("\.")+1).toLowerCase()!='xlsx'){
$("span",$error).html("导入的文件后缀必须为xls或者xlsx...");
$error.removeClass("hide");
$error.addClass("show");
return false;
}
$("#import_modal").modal('hide');//导入文件隐藏
$("#importForm1").submit();
}