This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
k18-ntcs-web-ntc/src/main/java/com/nis/web/controller/configuration/AppCfgController.java

301 lines
11 KiB
Java
Raw Normal View History

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.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.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.specific.SpecificServiceCfg;
import com.nis.util.Constants;
import com.nis.web.controller.BaseController;
/**
* 特定协议相关配置控制类
* @author zhangwei
*
*/
@Controller
@RequestMapping("${adminPath}/cfg/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
*/
@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");
}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");
}
}
return "/cfg/resultPage";//StringEscapeUtils.escapeHtml4("?serviceId="+cfg.getServiceId()+"&action="+cfg.getAction()+"&cfgName="+cfgName);
}
/**
*
* 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");
try {
String[] cfgIds = ids.split(",");
int result=appCfgService.auditAppCfg(cfgIds,auditState);
if(result==1){
addMessage(model,"audit_success");
}else{
addMessage(model,"audit_failed");
}
} catch (Exception e) {
e.printStackTrace();
logger.error("配置下发maat失败"+e.getMessage());
addMessage(model,"audit_failed");
}
return "/cfg/resultPage";
}
/**
*
* 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");
}
return "/cfg/resultPage";
}
/**
*
* getCompileId(获取编译ID)
* (这里描述这个方法适用条件 可选)
* @return
*long
* @exception
* @since 1.0.0
*/
protected Integer getCompileId(BaseCfg cfg){
return 0;
}
}