YSP样例配置增加有效配置规则量限制验证,如果达到规则量限制,则不允许提交。

Signed-off-by: zhangwei <zhangwei2@iie.ac.cn>
This commit is contained in:
zhangwei
2018-10-27 14:48:08 +08:00
parent c865ca5eae
commit 3a93fb30ad
9 changed files with 2239 additions and 2164 deletions

View File

@@ -4,6 +4,7 @@ package com.nis.web.controller.configuration.statistics;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -11,20 +12,27 @@ import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.mchange.v1.util.MapUtils;
import com.nis.domain.FunctionServiceDict;
import com.nis.domain.Page;
import com.nis.domain.SysArea;
import com.nis.domain.configuration.CfgIndexInfo;
import com.nis.domain.configuration.RequestInfo;
import com.nis.util.CacheUtils;
import com.nis.util.Constants;
import com.nis.util.DictUtils;
import com.nis.util.StringUtil;
import com.nis.util.StringUtils;
import com.nis.web.controller.BaseController;
import com.nis.web.service.BaseService;
import com.nis.web.service.CommonService;
@@ -76,4 +84,33 @@ public class ConfigureStatisticsController extends BaseController{
model.addAttribute("configStatisticTime", configureStatisticsService.getConfigStatisticTime());
return "/index";
}
/**
* 根据业务ID查询当前业务配置是否可继续新增如果达到规则限制量则不允许新增。
* @param serviceId
* @param response
* @return
*/
@ResponseBody
@RequestMapping(value = "/getEffectiveCfgNum")
public Map getEffectiveCfgNum(Integer serviceId, HttpServletResponse response) {
Map map= new HashMap();
Integer cfgNum = configureStatisticsService.getEffectiveCfgNum(serviceId);
String dictValue = DictUtils.getDictLabel("SERVICE_RULE_LIMIT", serviceId+"","default").trim();
Integer ruleLimit = 0;
if(!"default".equals(dictValue)){
ruleLimit = Integer.parseInt(dictValue);
}
if(ruleLimit==0){
map.put("status", 1);//如果为0说明没有限制
}else if(cfgNum<ruleLimit){
map.put("status", 1);//当前配置量小于限制
}else{
map.put("status", 0);//当前配置量大于或等于限制,则不允许添加
map.put("msg", String.format(this.getMsgProp().getProperty("ruleLimitTip"),ruleLimit));
}
map.put("cfgNum", cfgNum);
map.put("ruleLimit", ruleLimit);
return map;
}
}