(1)修复导入common.js报错
(2)app策略导入提交
This commit is contained in:
@@ -8,7 +8,6 @@
|
||||
*/
|
||||
package com.nis.domain.configuration.template;
|
||||
|
||||
import com.google.gson.JsonObject;
|
||||
import com.nis.util.excel.ExcelField;
|
||||
|
||||
/**
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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());
|
||||
|
||||
@@ -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配置导出
|
||||
|
||||
@@ -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 {
|
||||
// 设置区域运营商信息
|
||||
|
||||
@@ -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>
|
||||
@@ -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(){
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
Reference in New Issue
Block a user