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/ComplexStringCfgController.java
wangxin 91ad42c562 (1)avCfgService暂时继承BaseService
(2)BaseCfg字段调整,加入functionId字段,去掉maatTable字段
(3)删除SystemService相关代码
(4)字符串,增强字符串配置加入字段cfgType
(5)邮件,ssl,Ftp pojo调整,删除多余的,新增keywordCfg
(6)spring-mvc.xml注释redisDao
2018-05-17 19:08:37 +08:00

336 lines
12 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.ArrayList;
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.Logical;
import org.apache.shiro.authz.annotation.RequiresPermissions;
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.AreaIpCfg;
import com.nis.domain.configuration.BaseIpCfg;
import com.nis.domain.configuration.ComplexkeywordCfg;
import com.nis.main.ConvertTool;
import com.nis.util.Constants;
import com.nis.web.controller.BaseController;
/**
* 增强字符串相关配置控制类
* @author dell
*
*/
@Controller
@RequestMapping("${adminPath}/cfg/complex")
public class ComplexStringCfgController extends BaseController{
@RequestMapping(value = {"list"})
@RequiresPermissions(value={"cfg:complex:view"})
public String cfgList(Model model,Integer audit,String cfgName,@ModelAttribute("cfg")ComplexkeywordCfg 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);
ServiceConfigInfo serviceConfigInfo=serviceConfigInfoService.findSysServiceConfigInfo(serviceId);
if(serviceConfigInfo!=null){
String tableName=serviceConfigInfo.getTableName();
if(!StringUtils.isBlank(tableName)){
logger.info("table name is "+tableName);
cfg.setTableName(tableName);
Page<ComplexkeywordCfg> searchPage=new Page<ComplexkeywordCfg>(request,response,"r");
String addWhrere=null;
if(audit==Constants.CFG_PAGE){//
addWhrere="r.is_audit in ("+Constants.AUDIT_NOT_YET+","+Constants.AUDIT_NO+")";
}else if(audit==Constants.AUDIT_PAGE){
addWhrere="r.is_audit in ("+Constants.AUDIT_NOT_YET+","+Constants.AUDIT_YES+")";
}
if(addWhrere!=null){
if(StringUtils.isNotBlank(searchPage.getWhere())){
searchPage.setWhere(searchPage.getWhere()+" AND "+addWhrere);
}else{
searchPage.setWhere(addWhrere);
}
}
Page<ComplexkeywordCfg> page = complexStringCfgService.findPage(searchPage, cfg);
model.addAttribute("page", page);
model.addAttribute("action", cfg.getAction());
model.addAttribute("tableName", tableName);
initPageCondition(model);
}
}else{
logger.error("未获取到正确的serviceId");
}
}
}
return "/cfg/complexCfgList";
}
@RequestMapping(value = {"form"})
@RequiresPermissions(value={"cfg:complex:add"})
public String cfgForm(int action,String cfgName,Integer serviceId,Model model) {
model.addAttribute("cfgName", cfgName);
model.addAttribute("action", action);
model.addAttribute("serviceId", serviceId);
model.addAttribute("audit", Constants.CFG_PAGE);
logger.info("sercice id is "+serviceId);
ServiceConfigInfo serviceConfigInfo=serviceConfigInfoService.findSysServiceConfigInfo(serviceId);
if(serviceConfigInfo!=null){
String tableName=serviceConfigInfo.getTableName();
if(!StringUtils.isBlank(tableName)){
logger.info("table name is "+tableName);
String className=complexStringCfgService.getClassName(tableName);
logger.info("class name is "+className);
String packageName=ComplexkeywordCfg.class.getPackage().getName();
try {
//通过反射获得ComplexkeywordCfg的子类的实例并调用子类的initDefaultValue初始化默认值
Class clazz=Class.forName(packageName+"."+className);
ComplexkeywordCfg cfg=(ComplexkeywordCfg)clazz.newInstance();
cfg.setTableName(tableName);
cfg.initDefaultValue();
cfg.setAction(action);
//监测缺省不需要区域管控
if(action==Constants.ACTION_DJ){
cfg.setIsAreaEffective(0);
}
cfg.setServiceId(serviceId);
model.addAttribute("_cfg", cfg);
model.addAttribute("tableName", tableName);
initFormCondition(model);
} catch (ClassNotFoundException | InstantiationException | IllegalAccessException e) {
// TODO Auto-generated catch block
logger.error("打开新增IP窗口失败",e);
e.printStackTrace();
}
}
}
return "/cfg/complexCfgForm";
}
@RequestMapping(value = {"updateForm"})
@RequiresPermissions(value={"cfg:complex:edit"})
public String updateStringCfgForm(String tableName,int action,int compileId,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);
ComplexkeywordCfg searchBean=new ComplexkeywordCfg();
searchBean.setCompileId(compileId);
searchBean.setTableName(tableName);
ComplexkeywordCfg cfg=complexStringCfgService.get(searchBean);
model.addAttribute("_cfg", cfg);
model.addAttribute("tableName", tableName);
initUpdateFormCondition(model,cfg);
}catch(Exception e){
logger.error("发生异常", e);
}
return "/cfg/complexCfgForm";
}
/**
*
* addStringCfg(新增IP配置)
* (这里描述这个方法适用条件 可选)
* @return
*String
* @exception
* @since 1.0.0
*/
@RequestMapping(value = {"saveOrUpdateCfg"})
@RequiresPermissions(value={"cfg:complex:add","cfg:complex:edit"},logical=Logical.OR)
public String saveOrUpdateStringCfg(String cfgName,Model model, ComplexkeywordCfg cfg,String areaCfgIds) {
model.addAttribute("cfgName",cfgName);
model.addAttribute("cfgType","complex");
model.addAttribute("audit", Constants.CFG_PAGE);
model.addAttribute("serviceId",cfg.getServiceId());
model.addAttribute("action",cfg.getAction());
logger.info("saveOrUpdateStringCfg loaded");
try {
setSaveOrUpdateProps(model,cfg,areaCfgIds);
} catch (Exception e) {
// TODO Auto-generated catch block
logger.error("保存失败!",e);
addMessage(model,"save_failed");
}
return "/cfg/resultPage";
}
/**
*
* auditStringCfg(审核IP配置)
* (这里描述这个方法适用条件 可选)
* @return
*String
* @exception
* @since 1.0.0
*/
@RequestMapping(value = {"audit"})
@RequiresPermissions(value={"cfg:complex:audit"})
public String auditStringCfg(String cfgName,int serviceId,int isAudit,int action,String tableName,String ids,Model model) {
model.addAttribute("cfgName", cfgName);
model.addAttribute("audit", Constants.AUDIT_PAGE);
model.addAttribute("cfgType", "complex");
model.addAttribute("serviceId", serviceId);
model.addAttribute("action", action);
try{
String maatTable=null;
ServiceConfigInfo serviceConfigInfo=serviceConfigInfoService.findSysServiceConfigInfo(serviceId);
if(serviceConfigInfo!=null){
if(StringUtils.isBlank(tableName)){
tableName=serviceConfigInfo.getTableName();
}
maatTable=serviceConfigInfo.getMaatTable();
}
if(StringUtils.isNotBlank(ids)){
List<ComplexkeywordCfg> beans=complexStringCfgService.getList(tableName,ids);
List<ComplexkeywordCfg> auditBeans=new ArrayList<>();
List<BaseIpCfg> auditAreaBeans=new ArrayList<>();
Date date=new Date();
for(ComplexkeywordCfg bean:beans){
ComplexkeywordCfg auditBean=new ComplexkeywordCfg();
auditBean.setTableName(tableName);
auditBean.setCfgId(bean.getCfgId());
bean.setTableName(tableName);
int audit=bean.getIsAudit().intValue();
if(audit==Constants.AUDIT_YES&&isAudit!=Constants.AUDIT_NOT_YES){
logger.error("审核通过的配置只能取消审核通过!");
addMessage(model, "audit_failed");
return "/cfg/resultPage";
}else{
auditBean.setAuditorId(bean.getCurrentUser().getId());
auditBean.setAuditTime(date);
auditBean.setIsAudit(isAudit);
bean.setAuditorId(bean.getCurrentUser().getId());
bean.setAuditTime(date);
bean.setIsAudit(isAudit);
if(isAudit==Constants.AUDIT_NOT_YES){//取消审核通过设置有效标志为0
auditBean.setIsValid(Constants.VALID_NO);
bean.setIsValid(Constants.VALID_NO);
}else if(isAudit==Constants.AUDIT_YES){//审核通过设置有效标志为1
auditBean.setIsValid(Constants.VALID_YES);
bean.setIsValid(Constants.VALID_YES);
}
List<AreaIpCfg> areaCfg=ipCfgService.getAreaCfgByCompileId(bean.getCompileId());
for(AreaIpCfg c:areaCfg){
c.setTableName(AreaIpCfg.getTablename());
c.setAuditorId(c.getCurrentUser().getId());
c.setAuditTime(date);
c.setIsAudit(isAudit);
if(isAudit==Constants.AUDIT_NOT_YES){//取消审核通过设置有效标志为0
c.setIsValid(Constants.VALID_NO);
}else if(isAudit==Constants.AUDIT_YES){//审核通过设置有效标志为1
c.setIsValid(Constants.VALID_YES);
}
}
bean.setAreaCfg(areaCfg);
auditAreaBeans.addAll(areaCfg);
}
auditBeans.add(auditBean);
}
complexStringCfgService.auditStringCfg(isAudit,auditBeans,auditAreaBeans,beans);
}
addMessage(model,"audit_success");
}catch(Exception e){
logger.error("发生异常",e);
addMessage(model,"audit_failed");
}
return "/cfg/resultPage";
}
/**
*
* auditStringCfg(删除IP配置逻辑删除)
* (这里描述这个方法适用条件 可选)
* @return
*String
* @exception
* @since 1.0.0
*/
@RequestMapping(value = {"delete"})
@RequiresPermissions(value={"cfg:complex:delete"})
public String deleteStringCfg(String tableName,int action,String ids,String cfgName,Integer serviceId,Model model) {
model.addAttribute("serviceId", serviceId);
model.addAttribute("cfgName", cfgName);
model.addAttribute("action", action);
model.addAttribute("cfgType","complex");
model.addAttribute("audit", Constants.CFG_PAGE);
try{
if(StringUtils.isBlank(tableName)){
ServiceConfigInfo serviceConfigInfo=serviceConfigInfoService.findSysServiceConfigInfo(serviceId);
if(serviceConfigInfo!=null){
tableName=serviceConfigInfo.getTableName();
}
}
List<ComplexkeywordCfg> complexCfgs=new ArrayList<ComplexkeywordCfg>();
List<BaseIpCfg> areaCfgs=new ArrayList<BaseIpCfg>();
Date date =new Date();
if(StringUtils.isNotBlank(ids)){
for(String compileIdStr:ids.split(",")){
if(StringUtils.isNotBlank(compileIdStr)){
List<AreaIpCfg> areaCfg=ipCfgService.getAreaCfgByCompileId(Integer.parseInt(compileIdStr));
if(areaCfg!=null&&areaCfg.size()>0){
for(AreaIpCfg c:areaCfg){
c.setTableName(AreaIpCfg.getTablename());
c.setEditorId(c.getCurrentUser().getId());
c.setEditTime(date);
}
}
areaCfgs.addAll(areaCfg);
ComplexkeywordCfg complexCfg=new ComplexkeywordCfg();
complexCfg.setCompileId(Integer.parseInt(compileIdStr));
complexCfg.setTableName(tableName);
complexCfg.setEditorId(complexCfg.getCurrentUser().getId());
complexCfg.setEditTime(date);
complexCfg.setIsValid(Constants.VALID_DEL);
complexCfgs.add(complexCfg);
}
}
}
complexStringCfgService.deleteStringCfg(complexCfgs,areaCfgs);
addMessage(model,"delete_success");
}catch(Exception e){
logger.error("删除失败", e);
addMessage(model,"delete_failed");
}
return "/cfg/resultPage";
}
/**
*
* getCompileId(获取编译ID)
* (这里描述这个方法适用条件 可选)
* @return
*long
* @exception
* @since 1.0.0
*/
protected long getCompileId(ComplexkeywordCfg cfg){
long compileId=0l;
try {
compileId = cfg.getCompileId()==null?new ConvertTool().getCompileId():cfg.getCompileId();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return compileId;
}
}