(1)IP类配置页面修改,支持多选的删除,审核,操作按钮上移

(2)修复验证方法ipCheck影响多个IP配置的bug
This commit is contained in:
wangxin
2018-04-11 13:45:04 +08:00
parent f94e377819
commit 76d190e78a
13 changed files with 773 additions and 174 deletions

View File

@@ -1,5 +1,6 @@
package com.nis.web.controller.configuration;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -7,6 +8,7 @@ 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;
@@ -31,12 +33,9 @@ import com.nis.web.controller.BaseController;
public class IpCfgController extends BaseController{
/**
*
* ipCfgList(配置列表与审核列表,需要根据参数判断是哪个列表,以便显示隐藏对应的界面菜单,按钮)
* cfgList(配置列表)
* (这里描述这个方法适用条件 可选)
* @param model
* @param audit
* @param pageNo
* @param pageSize
* @param cfgName
* @param ipCfg
* @param request
@@ -46,7 +45,32 @@ public class IpCfgController extends BaseController{
* @exception
* @since 1.0.0
*/
// @RequestMapping(value = {"cfgList"})
// @RequiresPermissions("cfg:ip:edit")
// public String cfgList(Model model,String cfgName,@ModelAttribute("ipCfg")BaseIpCfg ipCfg,HttpServletRequest request,HttpServletResponse response){
// return ipCfgList(model,Constants.CFG_PAGE,cfgName,ipCfg,request,response);
// }
/**
*
* auditList(审核列表)
* (这里描述这个方法适用条件 可选)
* @param model
* @param cfgName
* @param ipCfg
* @param request
* @param response
* @return
*String
* @exception
* @since 1.0.0
*/
// @RequestMapping(value = {"auditList"})
// @RequiresPermissions("cfg:ip:audit")
// public String auditList(Model model,String cfgName,@ModelAttribute("ipCfg")BaseIpCfg ipCfg,HttpServletRequest request,HttpServletResponse response){
// return ipCfgList(model,Constants.AUDIT_PAGE,cfgName,ipCfg,request,response);
// }
@RequestMapping(value = {"list"})
@RequiresPermissions(value={"cfg:ip:add","cfg:ip:edit","cfg:ip:delete","cfg:ip:audit"},logical=Logical.OR)
public String ipCfgList(Model model,Integer audit,String cfgName,@ModelAttribute("ipCfg")BaseIpCfg ipCfg,HttpServletRequest request,HttpServletResponse response) {
model.addAttribute("cfgName", cfgName);
model.addAttribute("audit", audit);
@@ -61,7 +85,21 @@ public class IpCfgController extends BaseController{
if(!StringUtils.isBlank(tableName)){
logger.info("table name is "+tableName);
ipCfg.setTableName(tableName);
Page<BaseIpCfg> page = ipCfgService.findPage(new Page<BaseIpCfg>(request,response,"r"), ipCfg);
Page<BaseIpCfg> searchPage=new Page<BaseIpCfg>(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<BaseIpCfg> page = ipCfgService.findPage(searchPage, ipCfg);
model.addAttribute("page", page);
model.addAttribute("action", ipCfg.getAction());
model.addAttribute("tableName", tableName);
@@ -72,7 +110,6 @@ public class IpCfgController extends BaseController{
}
}
}
return "/cfg/ipCfgList";
}
@@ -92,6 +129,7 @@ public class IpCfgController extends BaseController{
* @since 1.0.0
*/
@RequestMapping(value = {"form"})
@RequiresPermissions("cfg:ip:add")
public String ipCfgForm(int action,String cfgName,Integer serviceId,Model model,HttpServletRequest request,HttpServletResponse response) {
model.addAttribute("cfgName", cfgName);
model.addAttribute("serviceId", serviceId);
@@ -152,9 +190,9 @@ public class IpCfgController extends BaseController{
* @exception
* @since 1.0.0
*/
@RequiresPermissions("sys:cfg:edit")
@RequiresPermissions("cfg:ip:edit")
@RequestMapping(value = {"updateForm"})
public String updateIpCfgForm(String tableName,int action,long cfgId,String cfgName,Integer serviceId,Model model) {
public String updateIpCfgForm(String tableName,int action,int compileId,String cfgName,Integer serviceId,Model model) {
model.addAttribute("cfgName", cfgName);
model.addAttribute("serviceId", serviceId);
model.addAttribute("action", action);
@@ -169,9 +207,9 @@ public class IpCfgController extends BaseController{
if(!StringUtils.isBlank(tableName)){
logger.info("table name is "+tableName);
BaseIpCfg searchBean=new BaseIpCfg();
searchBean.setCfgId(cfgId);
searchBean.setCompileId(compileId);
searchBean.setTableName(tableName);
BaseIpCfg ipCfg=ipCfgService.getIpCfgById(searchBean);
BaseIpCfg ipCfg=ipCfgService.get(searchBean);
model.addAttribute("_cfg", ipCfg);
model.addAttribute("tableName", tableName);
initUpdateFormCondition(model,ipCfg);
@@ -194,6 +232,7 @@ public class IpCfgController extends BaseController{
* @since 1.0.0
*/
@RequestMapping(value = {"saveOrUpdateCfg"})
@RequiresPermissions(value={"cfg:ip:add","cfg:ip:edit"},logical=Logical.OR)
public String saveOrUpdateIpCfg(String cfgName,Model model, BaseIpCfg ipCfg,String areaCfgIds) {
model.addAttribute("cfgName",cfgName);
model.addAttribute("cfgType", "ip");
@@ -220,50 +259,65 @@ public class IpCfgController extends BaseController{
* @exception
* @since 1.0.0
*/
@RequestMapping(value = {"auditCfg"})
public String auditIpCfg(String cfgName,BaseIpCfg ipCfg,Model model) {
@RequestMapping(value = {"audit"})
@RequiresPermissions("cfg:ip:audit")
public String auditIpCfg(String cfgName,int serviceId,int isAudit,int action,String tableName,String ids,Model model) {
model.addAttribute("cfgName", cfgName);
model.addAttribute("cfgType", "ip");
model.addAttribute("audit", Constants.AUDIT_PAGE);
model.addAttribute("serviceId", ipCfg.getServiceId());
model.addAttribute("action", ipCfg.getAction());
model.addAttribute("serviceId", serviceId);
model.addAttribute("action", action);
try{
String tableName=ipCfg.getTableName();
String maatTable=null;
ServiceConfigInfo serviceConfigInfo=serviceConfigInfoService.findSysServiceConfigInfo(ipCfg.getServiceId());
ServiceConfigInfo serviceConfigInfo=serviceConfigInfoService.findSysServiceConfigInfo(serviceId);
if(serviceConfigInfo!=null){
if(StringUtils.isBlank(tableName)){
tableName=serviceConfigInfo.getTableName();
ipCfg.setTableName(tableName);
}
maatTable=serviceConfigInfo.getMaatTable();
}
BaseIpCfg bean=ipCfgService.getIpCfgById(ipCfg);
bean.setTableName(tableName);
int audit=bean.getIsAudit().intValue();
if(audit==Constants.AUDIT_YES&&ipCfg.getIsAudit()!=Constants.AUDIT_NOT_YES){
logger.error("审核通过的配置只能取消审核通过!");
}else{
ipCfg.setAuditorId(ipCfg.getCurrentUser().getId());
ipCfg.setAuditTime(new Date());
bean.setIsAudit(ipCfg.getIsAudit());
if(ipCfg.getIsAudit()==Constants.AUDIT_NOT_YES){//取消审核通过设置有效标志为0
ipCfg.setIsValid(Constants.VALID_NO);
bean.setIsValid(Constants.VALID_NO);
bean.setMaatTable(maatTable);
}else if(ipCfg.getIsAudit()==Constants.AUDIT_YES){//审核通过设置有效标志为1
ipCfg.setIsValid(Constants.VALID_YES);
bean.setIsValid(Constants.VALID_YES);
bean.setMaatTable(maatTable);
if(StringUtils.isNotBlank(ids)){
List<BaseIpCfg> beans=ipCfgService.getList(tableName,ids);
List<BaseIpCfg> auditBeans=new ArrayList<>();
List<AreaIpCfg> auditAreaBeans=new ArrayList<>();
Date date=new Date();
for(BaseIpCfg bean:beans){
BaseIpCfg auditBean=new BaseIpCfg();
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);
auditBean.setMaatTable(maatTable);
bean.setIsValid(Constants.VALID_NO);
bean.setMaatTable(maatTable);
}else if(isAudit==Constants.AUDIT_YES){//审核通过设置有效标志为1
auditBean.setIsValid(Constants.VALID_YES);
auditBean.setMaatTable(maatTable);
bean.setIsValid(Constants.VALID_YES);
bean.setMaatTable(maatTable);
}
List<AreaIpCfg> areaCfg=ipCfgService.getAreaCfgByCompileId(bean.getCompileId());
bean.setAreaCfg(areaCfg);
auditAreaBeans.addAll(areaCfg);
}
auditBeans.add(auditBean);
}
int result=ipCfgService.auditIpCfg(bean,ipCfg);
if(result!=0){
addMessage(model,"audit_success");
}else{
addMessage(model, "audit_failed");
}
ipCfgService.auditIpCfg(isAudit,auditBeans,auditAreaBeans,beans);
}
addMessage(model,"audit_success");
}catch(Exception e){
logger.error("审核失败", e);
addMessage(model, "audit_failed");
@@ -272,16 +326,16 @@ public class IpCfgController extends BaseController{
}
/**
*
* auditIpCfg(删除IP配置逻辑删除)
* deleteIpCfg(删除IP配置逻辑删除)
* (这里描述这个方法适用条件 可选)
* @return
*String
* @exception
* @since 1.0.0
*/
@RequiresPermissions("sys:cfg:edit")
@RequestMapping(value = {"deleteCfg"})
public String deleteIpCfg(String tableName,int action,long cfgId,int compileId,String cfgName,Integer serviceId,Model model) {
@RequiresPermissions("cfg:ip:edit")
@RequestMapping(value = {"delete"})
public String deleteIpCfg(String tableName,int action,String ids,String cfgName,Integer serviceId,Model model) {
model.addAttribute("cfgName", cfgName);
model.addAttribute("serviceId", serviceId);
model.addAttribute("action", action);
@@ -296,31 +350,58 @@ public class IpCfgController extends BaseController{
}
}
model.addAttribute("tableName", tableName);
int audit=ipCfgService.getIsAudit(tableName,cfgId);
List<AreaIpCfg> areaCfg=ipCfgService.getAreaCfgByCompileId(compileId);
if(areaCfg!=null&&areaCfg.size()>0){
for(AreaIpCfg c:areaCfg){
c.setTableName(AreaIpCfg.getTablename());
List<BaseIpCfg> ipCfgs=new ArrayList<BaseIpCfg>();
List<AreaIpCfg> areaCfgs=new ArrayList<AreaIpCfg>();
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);
BaseIpCfg ipCfg=new BaseIpCfg();
ipCfg.setCompileId(Integer.parseInt(compileIdStr));
ipCfg.setTableName(tableName);
ipCfg.setEditorId(ipCfg.getCurrentUser().getId());
ipCfg.setEditTime(date);
ipCfg.setIsValid(Constants.VALID_DEL);
ipCfgs.add(ipCfg);
}
}
// int audit=ipCfgService.getIsAudit(tableName,cfgId);
// List<AreaIpCfg> areaCfg=ipCfgService.getAreaCfgByCompileId(compileId);
// if(areaCfg!=null&&areaCfg.size()>0){
// for(AreaIpCfg c:areaCfg){
// c.setTableName(AreaIpCfg.getTablename());
// }
// }
//未审核时可删除
// if(audit!=Constants.AUDIT_YES&&audit!=Constants.AUDIT_NOT_YES){
// BaseIpCfg ipCfg=new BaseIpCfg();
// ipCfg.setCfgId(cfgId);
// ipCfg.setTableName(tableName);
// ipCfg.setEditorId(ipCfg.getCurrentUser().getId());
// ipCfg.setEditTime(new Date());
// ipCfg.setIsValid(Constants.VALID_DEL);
// int result=ipCfgService.deleteIpCfg(ipCfg,areaCfg);
// if(result==0){
// addMessage(model,"delete_failed");
// }else{
// addMessage(model,"delete_success");
// }
// }else{
// logger.error("通过审核/取消审核通过的配置不能删除!");
// addMessage(model,"delete_failed");
// }
}
//未审核时可删除
if(audit!=Constants.AUDIT_YES&&audit!=Constants.AUDIT_NOT_YES){
BaseIpCfg ipCfg=new BaseIpCfg();
ipCfg.setCfgId(cfgId);
ipCfg.setTableName(tableName);
ipCfg.setEditorId(ipCfg.getCurrentUser().getId());
ipCfg.setEditTime(new Date());
ipCfg.setIsValid(Constants.VALID_DEL);
int result=ipCfgService.deleteIpCfg(ipCfg,areaCfg);
if(result==0){
addMessage(model,"delete_failed");
}else{
addMessage(model,"delete_success");
}
}else{
logger.error("通过审核/取消审核通过的配置不能删除!");
addMessage(model,"delete_failed");
}
ipCfgService.deleteIpCfg(ipCfgs,areaCfgs);
addMessage(model,"delete_success");
}catch(Exception e){
logger.error("删除失败", e);
addMessage(model,"delete_failed");