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/StringCfgController.java
wangxin 3e1b3e391d 单域配置调整
(1)简化逻辑部分代码写到了BaseController里
(2)字符串,增强字符串配置的区域GK提交
(3)单域配置的审核部分目前不会下发area_ip_cfg给maat,后续会调整
2018-04-09 16:38:45 +08:00

265 lines
9.6 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package com.nis.web.controller.configuration;
import java.util.Date;
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 com.nis.domain.Page;
import com.nis.domain.ServiceConfigInfo;
import com.nis.domain.configuration.BaseStringCfg;
import com.nis.util.Constants;
import com.nis.web.controller.BaseController;
/**
* 字符串相关配置控制类
* @author dell
*
*/
@Controller
@RequestMapping("${adminPath}/cfg/string")
public class StringCfgController extends BaseController{
@RequestMapping(value = {"list"})
public String stringCfgList(Model model,Integer audit,String cfgName,@ModelAttribute("cfg")BaseStringCfg stringCfg,HttpServletRequest request,HttpServletResponse response) {
model.addAttribute("cfgName", cfgName);
model.addAttribute("audit", audit);
if(stringCfg!=null){
Integer serviceId=stringCfg.getServiceId();
logger.info("servcice id is "+serviceId);
if(serviceId!=null){
model.addAttribute("serviceId", serviceId);
ServiceConfigInfo serviceConfigInfo=serviceConfigInfoService.findSysServiceConfigInfo(serviceId);
if(serviceConfigInfo!=null){
String tableName=serviceConfigInfo.getTableName();
if(!StringUtils.isBlank(tableName)){
logger.info("table name is "+tableName);
stringCfg.setTableName(tableName);
Page<BaseStringCfg> page = stringCfgService.findPage(new Page<BaseStringCfg>(request,response,"r"), stringCfg);
model.addAttribute("page", page);
model.addAttribute("action", stringCfg.getAction());
model.addAttribute("tableName", tableName);
initPageCondition(model);
}
}else{
logger.error("未获取到正确的serviceId");
}
}
}
return "/cfg/stringCfgList";
}
@RequestMapping(value = {"form"})
public String stringCfgForm(int action,String cfgName,Integer serviceId,Model model,HttpServletRequest request,HttpServletResponse response) {
model.addAttribute("cfgName", cfgName);
model.addAttribute("action", action);
model.addAttribute("serviceId", serviceId);
model.addAttribute("audit", Constants.CFG_PAGE);
logger.info("sercice id is "+serviceId);
if(serviceId!=null){
ServiceConfigInfo serviceConfigInfo=serviceConfigInfoService.findSysServiceConfigInfo(serviceId);
if(serviceConfigInfo!=null){
String tableName=serviceConfigInfo.getTableName();
if(!StringUtils.isBlank(tableName)){
logger.info("table name is "+tableName);
String className=stringCfgService.getClassName(tableName);
logger.info("class name is "+className);
String packageName=BaseStringCfg.class.getPackage().getName();
try {
//通过反射获得BaseStringCfg的子类的实例并调用子类的initDefaultValue初始化默认值
Class clazz=Class.forName(packageName+"."+className);
BaseStringCfg stringcfg=(BaseStringCfg)clazz.newInstance();
stringcfg.setTableName(tableName);
stringcfg.initDefaultValue();
stringcfg.setAction(action);
//监测缺省不需要区域管控
if(action==Constants.ACTION_DJ){
stringcfg.setIsAreaEffective(0);
}
stringcfg.setServiceId(serviceId);
model.addAttribute("_cfg", stringcfg);
model.addAttribute("tableName", tableName);
initFormCondition(model);
} catch (ClassNotFoundException | InstantiationException | IllegalAccessException e) {
// TODO Auto-generated catch block
logger.error("打开新增IP窗口失败",e);
e.printStackTrace();
}
}
}
}else{
logger.error("未获取到正确的serviceId");
}
return "/cfg/stringCfgForm";
}
@RequestMapping(value = {"updateForm"})
public String updateStringCfgForm(String tableName,int action,long cfgId,String cfgName,Integer serviceId,Model model) {
model.addAttribute("cfgName", cfgName);
model.addAttribute("serviceId", serviceId);
model.addAttribute("action", action);
model.addAttribute("tableName", tableName);
model.addAttribute("audit", Constants.CFG_PAGE);
try{
if(StringUtils.isBlank(tableName)){
ServiceConfigInfo serviceConfigInfo=serviceConfigInfoService.findSysServiceConfigInfo(serviceId);
if(serviceConfigInfo!=null){
tableName=serviceConfigInfo.getTableName();
}
}
logger.info("table name is "+tableName);
BaseStringCfg searchBean=new BaseStringCfg();
searchBean.setCfgId(cfgId);
searchBean.setTableName(tableName);
BaseStringCfg stringCfg=stringCfgService.getStringCfgById(searchBean);
model.addAttribute("_cfg", stringCfg);
model.addAttribute("tableName", tableName);
initUpdateFormCondition(model,stringCfg);
}catch (Exception e) {
// TODO: handle exception
logger.error("发生异常",e);
}
return "/cfg/stringCfgForm";
}
/**
*
* addStringCfg(新增IP配置)
* (这里描述这个方法适用条件 可选)
* @return
*String
* @exception
* @since 1.0.0
*/
@RequestMapping(value = {"saveOrUpdateCfg"})
public String saveOrUpdateStringCfg(String cfgName,Model model, BaseStringCfg stringCfg,String areaCfgIds) {
model.addAttribute("cfgName",cfgName);
model.addAttribute("cfgType","string");
model.addAttribute("audit", Constants.CFG_PAGE);
model.addAttribute("serviceId",stringCfg.getServiceId());
model.addAttribute("action",stringCfg.getAction());
logger.info("saveOrUpdateStringCfg loaded");
try{
setSaveOrUpdateProps(model,stringCfg,areaCfgIds);
}catch (Exception e) {
// TODO: handle exception
logger.error("保存失败!",e);
addMessage(model,"save_failed");
}
return "/cfg/resultPage";
}
/**
*
* auditStringCfg(审核IP配置)
* (这里描述这个方法适用条件 可选)
* @return
*String
* @exception
* @since 1.0.0
*/
@RequestMapping(value = {"auditCfg"})
public String auditStringCfg(String cfgName,BaseStringCfg stringCfg,Model model) {
model.addAttribute("cfgName", cfgName);
model.addAttribute("audit", Constants.AUDIT_PAGE);
model.addAttribute("cfgType","string");
model.addAttribute("serviceId", stringCfg.getServiceId());
model.addAttribute("action", stringCfg.getAction());
try{
String tableName=stringCfg.getTableName();
int serviceId=stringCfg.getServiceId();
String maatTable=null;
ServiceConfigInfo serviceConfigInfo=serviceConfigInfoService.findSysServiceConfigInfo(serviceId);
if(serviceConfigInfo!=null){
if(StringUtils.isBlank(tableName)){
tableName=serviceConfigInfo.getTableName();
stringCfg.setTableName(tableName);
}
maatTable=serviceConfigInfo.getMaatTable();
}
BaseStringCfg bean=stringCfgService.getStringCfgById(stringCfg);
bean.setTableName(tableName);
int audit=bean.getIsAudit().intValue();
if(audit==Constants.AUDIT_YES&&stringCfg.getIsAudit()!=Constants.AUDIT_NOT_YES){
logger.error("审核通过的配置只能取消审核通过!");
}else{
stringCfg.setAuditorId(stringCfg.getCurrentUser().getId());
stringCfg.setAuditTime(new Date());
bean.setIsAudit(stringCfg.getIsAudit());
if(stringCfg.getIsAudit()==Constants.AUDIT_NOT_YES){//取消审核通过设置有效标志为0
stringCfg.setIsValid(Constants.VALID_NO);
bean.setIsValid(Constants.VALID_NO);
bean.setMaatTable(maatTable);
}else if(stringCfg.getIsAudit()==Constants.AUDIT_YES){//审核通过设置有效标志为1
stringCfg.setIsValid(Constants.VALID_YES);
bean.setIsValid(Constants.VALID_YES);
bean.setMaatTable(maatTable);
}
int result=stringCfgService.auditStringCfg(bean,stringCfg);
if(result!=0){
addMessage(model,"audit_success");
}else{
addMessage(model,"audit_failed");
}
}
}catch (Exception e) {
// TODO: handle exception
logger.error("审核失败", e);
addMessage(model,"audit_failed");
}
return "/cfg/resultPage";
}
/**
*
* auditStringCfg(删除IP配置逻辑删除)
* (这里描述这个方法适用条件 可选)
* @return
*String
* @exception
* @since 1.0.0
*/
@RequestMapping(value = {"deleteCfg"})
public String deleteStringCfg(String tableName,int action,long cfgId,String cfgName,Integer serviceId,Model model) {
model.addAttribute("serviceId", serviceId);
model.addAttribute("cfgName", cfgName);
model.addAttribute("action", action);
model.addAttribute("cfgType","string");
model.addAttribute("audit", Constants.CFG_PAGE);
try{
if(StringUtils.isBlank(tableName)){
ServiceConfigInfo serviceConfigInfo=serviceConfigInfoService.findSysServiceConfigInfo(serviceId);
if(serviceConfigInfo!=null){
tableName=serviceConfigInfo.getTableName();
}
}
int audit=stringCfgService.getIsAudit(tableName,cfgId);
//未审核时可删除
if(audit!=Constants.AUDIT_YES){
BaseStringCfg stringCfg=new BaseStringCfg();
stringCfg.setCfgId(cfgId);
stringCfg.setTableName(tableName);
stringCfg.setEditorId(stringCfg.getCurrentUser().getId());
stringCfg.setEditTime(new Date());
stringCfg.setIsValid(Constants.VALID_DEL);
int result=stringCfgService.deleteStringCfg(stringCfg);
addMessage(model,"delete_success");
}else{
logger.error("通过审核的配置不能删除!");
}
}catch(Exception e){
logger.error("删除失败",e);
addMessage(model,"delete_failed");
}
return "/cfg/resultPage";
}
}