增加APP策略配置
This commit is contained in:
@@ -1,12 +1,12 @@
|
||||
package com.nis.web.controller.configuration;
|
||||
|
||||
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;
|
||||
@@ -14,16 +14,11 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
|
||||
|
||||
import com.nis.domain.Page;
|
||||
import com.nis.domain.ServiceConfigInfo;
|
||||
import com.nis.domain.SystemServiceInfo;
|
||||
import com.nis.domain.basics.ServiceDictInfo;
|
||||
import com.nis.domain.basics.SysDictInfo;
|
||||
import com.nis.domain.configuration.AppIdCfg;
|
||||
import com.nis.domain.configuration.BaseCfg;
|
||||
import com.nis.domain.configuration.RequestInfo;
|
||||
import com.nis.domain.configuration.AppPolicyCfg;
|
||||
import com.nis.domain.specific.SpecificServiceCfg;
|
||||
import com.nis.util.Constants;
|
||||
import com.nis.exceptions.MaatConvertException;
|
||||
import com.nis.web.controller.BaseController;
|
||||
import com.nis.web.security.UserUtils;
|
||||
|
||||
/**
|
||||
* 特定协议相关配置控制类
|
||||
@@ -31,270 +26,79 @@ import com.nis.web.controller.BaseController;
|
||||
*
|
||||
*/
|
||||
@Controller
|
||||
@RequestMapping("${adminPath}/cfg/app")
|
||||
@RequestMapping("${adminPath}/app")
|
||||
public class AppCfgController extends BaseController {
|
||||
@RequestMapping(value = {"list"})
|
||||
public String cfgList(Model model,Integer audit,String cfgName,@ModelAttribute("cfg")AppIdCfg cfg,HttpServletRequest request,HttpServletResponse response) {
|
||||
model.addAttribute("cfgName", cfgName);
|
||||
model.addAttribute("audit", audit);
|
||||
if(cfg!=null){
|
||||
Integer serviceId=cfg.getServiceId();
|
||||
logger.info("servcice id is "+serviceId);
|
||||
if(serviceId!=null){
|
||||
model.addAttribute("serviceId", serviceId);
|
||||
List<ServiceConfigInfo> serviceList=serviceConfigInfoService.findList(serviceId);
|
||||
if(serviceList!=null){
|
||||
for(ServiceConfigInfo s:serviceList){
|
||||
if(s.getTableType()==2 || s.getTableType()==4){
|
||||
model.addAttribute("isContainFeaturesCfg", true);
|
||||
break;
|
||||
}
|
||||
}
|
||||
Page<AppIdCfg> page = appCfgService.findPage(new Page<AppIdCfg>(request, response,"r"), cfg);
|
||||
model.addAttribute("page", page);
|
||||
model.addAttribute("action", cfg.getAction());
|
||||
List<RequestInfo> requestInfos=requestInfoService.getValidRequestInfo();
|
||||
model.addAttribute("requestInfos", requestInfos);
|
||||
List<ServiceDictInfo> fls=serviceDictInfoService.findAllFlDict();
|
||||
model.addAttribute("fls", fls);
|
||||
List<ServiceDictInfo> xzs=serviceDictInfoService.findAllXzDict();
|
||||
model.addAttribute("xzs", xzs);
|
||||
List<ServiceDictInfo> lables=serviceDictInfoService.findAllLableDict();
|
||||
model.addAttribute("lables", lables);
|
||||
SpecificServiceCfg specificServiceCfg = new SpecificServiceCfg();
|
||||
specificServiceCfg.setIsValid(1);
|
||||
model.addAttribute("protocolList",specificServiceCfgService.findAllSpecificServiceCfg(specificServiceCfg,"spec_service_id DESC"));
|
||||
}else{
|
||||
logger.error("未获取到正确的serviceId");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return "/cfg/appCfgList";
|
||||
}
|
||||
|
||||
|
||||
@RequestMapping(value = {"form"})
|
||||
public String cfgForm(int action,String cfgName,Integer serviceId,Model model,HttpServletRequest request,HttpServletResponse response) {
|
||||
model.addAttribute("action", action);
|
||||
model.addAttribute("serviceId", serviceId);
|
||||
model.addAttribute("audit", Constants.CFG_PAGE);
|
||||
model.addAttribute("cfgName", cfgName);
|
||||
logger.info("sercice id is "+serviceId);
|
||||
|
||||
// SystemServiceInfo serviceInfo=systemServiceService.get(serviceId);
|
||||
// model.addAttribute("serviceInfo", serviceInfo);
|
||||
//来函信息
|
||||
List<RequestInfo> requestInfos=requestInfoService.getValidRequestInfo();
|
||||
model.addAttribute("requestInfos", requestInfos);
|
||||
//分类信息
|
||||
List<ServiceDictInfo> fls=serviceDictInfoService.findFlDict();
|
||||
model.addAttribute("fls", fls);
|
||||
//性质信息
|
||||
List<ServiceDictInfo> xzs=serviceDictInfoService.findXzDict();
|
||||
model.addAttribute("xzs", xzs);
|
||||
//标签信息
|
||||
List<ServiceDictInfo> lables=serviceDictInfoService.findLableDict();
|
||||
model.addAttribute("lables", lables);
|
||||
//特定服务信息
|
||||
SpecificServiceCfg specificServiceCfg = new SpecificServiceCfg();
|
||||
specificServiceCfg.setIsValid(1);
|
||||
model.addAttribute("protocolList",specificServiceCfgService.findAllSpecificServiceCfg(specificServiceCfg,"spec_service_id DESC"));
|
||||
//协议特征配置
|
||||
List<ServiceConfigInfo> featuresList = serviceConfigInfoService.findList(serviceId);
|
||||
model.addAttribute("featuresList",featuresList);
|
||||
if(featuresList!=null){
|
||||
for(ServiceConfigInfo s:featuresList){
|
||||
if(s.getTableType()==2 || s.getTableType()==4){
|
||||
model.addAttribute("isContainFeaturesCfg", true);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
//特征作用域信息
|
||||
/*SysDictInfo sysDictInfo = new SysDictInfo();
|
||||
sysDictInfo.setItemType(3);
|
||||
Integer[] itType = new Integer[0];
|
||||
List<SysDictInfo> featuresAreaList = sysDictInfoService.findAllSysDictInfo(sysDictInfo,itType,null);
|
||||
model.addAttribute("featuresAreaList", featuresAreaList);*/
|
||||
AppIdCfg cfg = new AppIdCfg();
|
||||
cfg.initDefaultValue();
|
||||
cfg.setAction(action);
|
||||
cfg.setServiceId(serviceId.intValue());
|
||||
model.addAttribute("_cfg", cfg);
|
||||
return "/cfg/appCfgForm";
|
||||
}
|
||||
@RequestMapping(value = {"updateForm"})
|
||||
public String updateAppCfgForm(int action,long cfgId,String cfgName,Integer serviceId,Model model,HttpServletRequest request,HttpServletResponse response) {
|
||||
model.addAttribute("cfgName", cfgName);
|
||||
model.addAttribute("serviceId", serviceId);
|
||||
model.addAttribute("action", action);
|
||||
model.addAttribute("audit", Constants.CFG_PAGE);
|
||||
|
||||
AppIdCfg searchBean=new AppIdCfg();
|
||||
searchBean.setCfgId(cfgId);
|
||||
AppIdCfg cfg=appCfgService.getAppCfgById(searchBean);
|
||||
model.addAttribute("_cfg", cfg);
|
||||
List<RequestInfo> requestInfos=requestInfoService.getAllRequestInfo();
|
||||
model.addAttribute("requestInfos", requestInfos);
|
||||
List<ServiceDictInfo> fls=serviceDictInfoService.findAllFlDict();
|
||||
model.addAttribute("fls", fls);
|
||||
List<ServiceDictInfo> xzs=serviceDictInfoService.findAllXzDict();
|
||||
model.addAttribute("xzs", xzs);
|
||||
List<ServiceDictInfo> lables=serviceDictInfoService.findAllLableDict();
|
||||
model.addAttribute("lables", lables);
|
||||
//特定服务信息
|
||||
SpecificServiceCfg specificServiceCfg = new SpecificServiceCfg();
|
||||
specificServiceCfg.setIsValid(1);
|
||||
model.addAttribute("protocolList",specificServiceCfgService.findAllSpecificServiceCfg(specificServiceCfg,"spec_service_id DESC"));
|
||||
//协议特征配置
|
||||
List<ServiceConfigInfo> featuresList = serviceConfigInfoService.findList(serviceId);
|
||||
model.addAttribute("featuresList",featuresList);
|
||||
return "/cfg/appCfgForm";
|
||||
}
|
||||
@RequestMapping(value = {"showFeaturesCfg"})
|
||||
public String showFeaturesCfg(int action,long cfgId,Integer compileId,String cfgName,Integer serviceId,Model model,HttpServletRequest request,HttpServletResponse response){
|
||||
AppIdCfg cfg=new AppIdCfg();
|
||||
cfg.setCfgId(cfgId);
|
||||
cfg.setCompileId(compileId);
|
||||
cfg = appCfgService.findAppIdCfg(cfg);
|
||||
model.addAttribute("_cfg", cfg);
|
||||
model.addAttribute("cfgName", cfgName);
|
||||
model.addAttribute("serviceId", serviceId);
|
||||
model.addAttribute("action", action);
|
||||
//协议特征配置
|
||||
List<ServiceConfigInfo> featuresList = serviceConfigInfoService.findList(serviceId);
|
||||
model.addAttribute("featuresList",featuresList);
|
||||
return "/cfg/appFeaturesCfg";
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* addAppCfg(新增IP配置)
|
||||
* (这里描述这个方法适用条件 – 可选)
|
||||
* @return
|
||||
*String
|
||||
* @exception
|
||||
* @since 1.0.0
|
||||
* app策略列表
|
||||
* @param model
|
||||
* @param cfg
|
||||
* @param request
|
||||
* @param response
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value = {"saveOrUpdateCfg"})
|
||||
public String saveOrUpdateAppCfg(String cfgName,Model model, AppIdCfg cfg) {
|
||||
model.addAttribute("audit", Constants.CFG_PAGE);
|
||||
model.addAttribute("cfgType","app");
|
||||
model.addAttribute("cfgName",cfgName);
|
||||
model.addAttribute("serviceId",cfg.getServiceId());
|
||||
model.addAttribute("action",cfg.getAction());
|
||||
logger.info("saveOrUpdateAppCfg loaded");
|
||||
if(cfg==null){
|
||||
logger.error("无法保存空的配置!");
|
||||
addMessage(model,"save_failed");
|
||||
@RequestMapping(value = {"policyList"})
|
||||
public String policyList(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/app/appPolicyCfgList";
|
||||
}
|
||||
@RequestMapping(value = {"policyForm"})
|
||||
@RequiresPermissions(value={"app:policy:config"})
|
||||
public String policyForm(Model model,String ids,AppPolicyCfg entity) {
|
||||
if(StringUtils.isNotBlank(ids)){
|
||||
entity = appCfgService.getAppPolicyCfg(Long.parseLong(ids));
|
||||
initUpdateFormCondition(model,entity);
|
||||
}else{
|
||||
SpecificServiceCfg protocol = specificServiceCfgService.getBySpecServiceId(cfg.getAppId().intValue());
|
||||
if(protocol!=null){
|
||||
cfg.setAppName(protocol.getSpecServiceName());
|
||||
int serviceId=cfg.getServiceId();
|
||||
cfg.setIsValid(Constants.VALID_NO);
|
||||
cfg.setIsAudit(Constants.AUDIT_NOT_YET);
|
||||
if(cfg.getCfgId()==null){
|
||||
cfg.setCreatorId(cfg.getCurrentUser().getId());
|
||||
cfg.setCreateTime(new Date());
|
||||
try {
|
||||
appCfgService.addAppCfg(cfg);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
logger.error("配置保存失败!"+e.getMessage());
|
||||
addMessage(model,"save_failed");
|
||||
}
|
||||
}else{
|
||||
cfg.setEditorId(cfg.getCurrentUser().getId());
|
||||
cfg.setEditTime(new Date());
|
||||
try {
|
||||
appCfgService.updateAppCfg(cfg);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
logger.error("配置保存失败!"+e.getMessage());
|
||||
addMessage(model,"save_failed");
|
||||
}
|
||||
}
|
||||
model.addAttribute("serviceId",serviceId);
|
||||
model.addAttribute("action",cfg.getAction());
|
||||
addMessage(model,"save_success");
|
||||
}else{
|
||||
logger.error("所选协议信息无效!");
|
||||
addMessage(model,"save_failed");
|
||||
}
|
||||
|
||||
initFormCondition(model,entity);
|
||||
}
|
||||
return "/cfg/resultPage";//StringEscapeUtils.escapeHtml4("?serviceId="+cfg.getServiceId()+"&action="+cfg.getAction()+"&cfgName="+cfgName);
|
||||
model.addAttribute("_cfg", entity);
|
||||
return "/cfg/app/appPolicyCfgForm";
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* auditAppCfg(审核IP配置)
|
||||
* (这里描述这个方法适用条件 – 可选)
|
||||
* @return
|
||||
*String
|
||||
* @exception
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@RequestMapping(value = {"auditCfg"})
|
||||
public String auditAppCfg(String cfgName,String ids,Integer auditState,Integer serviceId,Integer action,
|
||||
Model model,RedirectAttributes redirectAttributes) {
|
||||
model.addAttribute("cfgName", cfgName);
|
||||
model.addAttribute("audit", Constants.AUDIT_PAGE);
|
||||
model.addAttribute("serviceId", serviceId);
|
||||
model.addAttribute("action",action);
|
||||
model.addAttribute("cfgType","app");
|
||||
@RequestMapping(value = {"saveAppPolicyCfg"})
|
||||
@RequiresPermissions(value={"app:policy:config"})
|
||||
public String saveAppPolicyCfg(Model model,HttpServletRequest request,HttpServletResponse response,
|
||||
AppPolicyCfg entity,RedirectAttributes redirectAttributes) {
|
||||
try {
|
||||
String[] cfgIds = ids.split(",");
|
||||
int result=appCfgService.auditAppCfg(cfgIds,auditState);
|
||||
if(result==1){
|
||||
addMessage(model,"audit_success");
|
||||
}else{
|
||||
addMessage(model,"audit_failed");
|
||||
}
|
||||
appCfgService.saveOrUpdateAppPolicyCfg(entity);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
logger.error("配置下发maat失败,"+e.getMessage());
|
||||
addMessage(model,"audit_failed");
|
||||
addMessage(redirectAttributes, e.getMessage());
|
||||
}
|
||||
return "/cfg/resultPage";
|
||||
|
||||
return "redirect:" + adminPath +"/app/policyList?function="+entity.getFunctionId();
|
||||
}
|
||||
/**
|
||||
*
|
||||
* auditAppCfg(删除IP配置,逻辑删除)
|
||||
* (这里描述这个方法适用条件 – 可选)
|
||||
* @return
|
||||
*String
|
||||
* @exception
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@RequestMapping(value = {"deleteCfg"})
|
||||
public String deleteAppCfg(int action,String ids,String cfgName,Integer serviceId,Model model,RedirectAttributes redirectAttributes) {
|
||||
model.addAttribute("serviceId", serviceId);
|
||||
model.addAttribute("cfgName", cfgName);
|
||||
model.addAttribute("action", action);
|
||||
model.addAttribute("cfgType","app");
|
||||
model.addAttribute("audit", Constants.CFG_PAGE);
|
||||
String[] cfgIds = ids.split(",");
|
||||
int result=appCfgService.deleteAppCfg(cfgIds);
|
||||
if(result==1){
|
||||
addMessage(redirectAttributes,"delete_success");
|
||||
}else{
|
||||
addMessage(redirectAttributes,"delete_failed");
|
||||
@RequestMapping(value = {"auditAppPolicyCfg"})
|
||||
@RequiresPermissions(value={"app:policy:audit"})
|
||||
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);
|
||||
try {
|
||||
appCfgService.auditAppPolicyCfg(entity,isAudit);
|
||||
} catch (MaatConvertException e) {
|
||||
e.printStackTrace();
|
||||
logger.info("app策略配置下发失败:"+e.getMessage());
|
||||
addMessage(redirectAttributes, e.getMessage());
|
||||
}
|
||||
}
|
||||
return "/cfg/resultPage";
|
||||
return "redirect:" + adminPath +"/app/policyList?functionId="+functionId;
|
||||
}
|
||||
/**
|
||||
*
|
||||
* getCompileId(获取编译ID)
|
||||
* (这里描述这个方法适用条件 – 可选)
|
||||
* @return
|
||||
*long
|
||||
* @exception
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected Integer getCompileId(BaseCfg cfg){
|
||||
return 0;
|
||||
@RequestMapping(value = {"updateAppPolicyCfgValid"})
|
||||
@RequiresPermissions(value={"app:policy:config"})
|
||||
public String updateAppPolicyCfgValid(Integer isValid,String ids,Integer functionId) {
|
||||
appCfgService.updateAppPolicyCfgValid(isValid,ids,functionId);
|
||||
return "redirect:" + adminPath +"/app/policyList?functionId="+functionId;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user