diff --git a/src/main/java/com/nis/web/controller/configuration/ComplexStringCfgController.java b/src/main/java/com/nis/web/controller/configuration/ComplexStringCfgController.java index 1c2eb230a..cf3c1a887 100644 --- a/src/main/java/com/nis/web/controller/configuration/ComplexStringCfgController.java +++ b/src/main/java/com/nis/web/controller/configuration/ComplexStringCfgController.java @@ -1,4 +1,5 @@ package com.nis.web.controller.configuration; +import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -6,6 +7,8 @@ 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; @@ -14,6 +17,7 @@ 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; @@ -29,6 +33,7 @@ import com.nis.web.controller.BaseController; 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); @@ -43,7 +48,21 @@ public class ComplexStringCfgController extends BaseController{ if(!StringUtils.isBlank(tableName)){ logger.info("table name is "+tableName); cfg.setTableName(tableName); - Page page = complexStringCfgService.findPage(new Page(request, response,"r"), cfg); + Page searchPage=new Page(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 page = complexStringCfgService.findPage(searchPage, cfg); model.addAttribute("page", page); model.addAttribute("action", cfg.getAction()); model.addAttribute("tableName", tableName); @@ -60,7 +79,8 @@ public class ComplexStringCfgController extends BaseController{ @RequestMapping(value = {"form"}) - public String cfgForm(int action,String cfgName,Integer serviceId,Model model,HttpServletRequest request,HttpServletResponse response) { + @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); @@ -99,7 +119,8 @@ public class ComplexStringCfgController extends BaseController{ return "/cfg/complexCfgForm"; } @RequestMapping(value = {"updateForm"}) - public String updateStringCfgForm(String tableName,int action,long cfgId,String cfgName,Integer serviceId,Model model,HttpServletRequest request,HttpServletResponse response) { + @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); @@ -114,9 +135,9 @@ public class ComplexStringCfgController extends BaseController{ } logger.info("table name is "+tableName); ComplexkeywordCfg searchBean=new ComplexkeywordCfg(); - searchBean.setCfgId(cfgId); + searchBean.setCompileId(compileId); searchBean.setTableName(tableName); - ComplexkeywordCfg cfg=complexStringCfgService.getStringCfgById(searchBean); + ComplexkeywordCfg cfg=complexStringCfgService.get(searchBean); model.addAttribute("_cfg", cfg); model.addAttribute("tableName", tableName); initUpdateFormCondition(model,cfg); @@ -136,6 +157,7 @@ public class ComplexStringCfgController extends BaseController{ * @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"); @@ -162,50 +184,68 @@ public class ComplexStringCfgController extends BaseController{ * @exception * @since 1.0.0 */ - @RequestMapping(value = {"auditCfg"}) - public String auditStringCfg(String cfgName,ComplexkeywordCfg cfg,Model model) { + @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", cfg.getServiceId()); - model.addAttribute("action", cfg.getAction()); + model.addAttribute("serviceId", serviceId); + model.addAttribute("action", action); try{ - String tableName=cfg.getTableName(); String maatTable=null; - ServiceConfigInfo serviceConfigInfo=serviceConfigInfoService.findSysServiceConfigInfo(cfg.getServiceId()); + ServiceConfigInfo serviceConfigInfo=serviceConfigInfoService.findSysServiceConfigInfo(serviceId); if(serviceConfigInfo!=null){ if(StringUtils.isBlank(tableName)){ tableName=serviceConfigInfo.getTableName(); - cfg.setTableName(tableName); } maatTable=serviceConfigInfo.getMaatTable(); } - ComplexkeywordCfg bean=complexStringCfgService.getStringCfgById(cfg); - bean.setTableName(tableName); - int audit=bean.getIsAudit().intValue(); - if(audit==Constants.AUDIT_YES&&cfg.getIsAudit()!=Constants.AUDIT_NOT_YES){ - logger.error("审核通过的配置只能取消审核通过!"); - }else{ - cfg.setAuditorId(cfg.getCurrentUser().getId()); - cfg.setAuditTime(new Date()); - bean.setIsAudit(cfg.getIsAudit()); - if(cfg.getIsAudit()==Constants.AUDIT_NOT_YES){//取消审核通过,设置有效标志为0 - cfg.setIsValid(Constants.VALID_NO); - bean.setIsValid(Constants.VALID_NO); - bean.setMaatTable(maatTable); - }else if(cfg.getIsAudit()==Constants.AUDIT_YES){//审核通过,设置有效标志为1 - cfg.setIsValid(Constants.VALID_YES); - bean.setIsValid(Constants.VALID_YES); - bean.setMaatTable(maatTable); + if(StringUtils.isNotBlank(ids)){ + List beans=complexStringCfgService.getList(tableName,ids); + List auditBeans=new ArrayList<>(); + List 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); + 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 areaCfg=ipCfgService.getAreaCfgByCompileId(bean.getCompileId()); + for(AreaIpCfg c:areaCfg){ + c.setTableName(AreaIpCfg.getTablename()); + } + bean.setAreaCfg(areaCfg); + auditAreaBeans.addAll(areaCfg); + } + auditBeans.add(auditBean); } - int result=complexStringCfgService.auditStringCfg(bean,cfg); - if(result!=0){ - addMessage(model,"audit_success"); - }else{ - addMessage(model,"audit_failed"); - } - + complexStringCfgService.auditStringCfg(isAudit,auditBeans,auditAreaBeans,beans); } + addMessage(model,"audit_success"); }catch(Exception e){ logger.error("发生异常",e); addMessage(model,"audit_failed"); @@ -221,8 +261,9 @@ public class ComplexStringCfgController extends BaseController{ * @exception * @since 1.0.0 */ - @RequestMapping(value = {"deleteCfg"}) - public String deleteStringCfg(String tableName,int action,long cfgId,int compileId,String cfgName,Integer serviceId,Model model) { + @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); @@ -235,32 +276,33 @@ public class ComplexStringCfgController extends BaseController{ tableName=serviceConfigInfo.getTableName(); } } - List areaCfg=ipCfgService.getAreaCfgByCompileId(compileId); - if(areaCfg!=null&&areaCfg.size()>0){ - for(AreaIpCfg c:areaCfg){ - c.setTableName(AreaIpCfg.getTablename()); + List complexCfgs=new ArrayList(); + List areaCfgs=new ArrayList(); + Date date =new Date(); + if(StringUtils.isNotBlank(ids)){ + for(String compileIdStr:ids.split(",")){ + if(StringUtils.isNotBlank(compileIdStr)){ + List 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); + } } } - int audit=complexStringCfgService.getIsAudit(tableName,cfgId); - //未审核时可删除 - if(audit!=Constants.AUDIT_YES&&audit!=Constants.AUDIT_NOT_YES){ - ComplexkeywordCfg cfg=new ComplexkeywordCfg(); - cfg.setCfgId(cfgId); - cfg.setTableName(tableName); - cfg.setEditorId(cfg.getCurrentUser().getId()); - cfg.setEditTime(new Date()); - cfg.setIsValid(Constants.VALID_DEL); - int result=complexStringCfgService.deleteStringCfg(cfg,areaCfg); - if(result==0){ - addMessage(model,"delete_failed"); - }else{ - addMessage(model,"delete_success"); - } - }else{ - logger.error("通过审核/取消审核通过的配置不能删除!"); - addMessage(model,"delete_failed"); - } - + complexStringCfgService.deleteStringCfg(complexCfgs,areaCfgs); + addMessage(model,"delete_success"); }catch(Exception e){ logger.error("删除失败", e); addMessage(model,"delete_failed"); diff --git a/src/main/java/com/nis/web/controller/configuration/IpCfgController.java b/src/main/java/com/nis/web/controller/configuration/IpCfgController.java index a5123d7bb..e2e64a4a5 100644 --- a/src/main/java/com/nis/web/controller/configuration/IpCfgController.java +++ b/src/main/java/com/nis/web/controller/configuration/IpCfgController.java @@ -310,6 +310,9 @@ public class IpCfgController extends BaseController{ bean.setMaatTable(maatTable); } List areaCfg=ipCfgService.getAreaCfgByCompileId(bean.getCompileId()); + for(AreaIpCfg c:areaCfg){ + c.setTableName(AreaIpCfg.getTablename()); + } bean.setAreaCfg(areaCfg); auditAreaBeans.addAll(areaCfg); } @@ -374,31 +377,6 @@ public class IpCfgController extends BaseController{ ipCfgs.add(ipCfg); } } -// int audit=ipCfgService.getIsAudit(tableName,cfgId); -// List 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"); -// } } ipCfgService.deleteIpCfg(ipCfgs,areaCfgs); addMessage(model,"delete_success"); diff --git a/src/main/java/com/nis/web/controller/configuration/StringCfgController.java b/src/main/java/com/nis/web/controller/configuration/StringCfgController.java index d4ec77f31..efed1820a 100644 --- a/src/main/java/com/nis/web/controller/configuration/StringCfgController.java +++ b/src/main/java/com/nis/web/controller/configuration/StringCfgController.java @@ -17,7 +17,6 @@ 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.BaseStringCfg; import com.nis.util.Constants; import com.nis.web.controller.BaseController; @@ -253,6 +252,9 @@ public class StringCfgController extends BaseController{ bean.setMaatTable(maatTable); } List areaCfg=ipCfgService.getAreaCfgByCompileId(bean.getCompileId()); + for(AreaIpCfg c:areaCfg){ + c.setTableName(AreaIpCfg.getTablename()); + } bean.setAreaCfg(areaCfg); auditAreaBeans.addAll(areaCfg); } diff --git a/src/main/java/com/nis/web/dao/configuration/ComplexStringCfgDao.java b/src/main/java/com/nis/web/dao/configuration/ComplexStringCfgDao.java index 9d052efbb..57d3366e7 100644 --- a/src/main/java/com/nis/web/dao/configuration/ComplexStringCfgDao.java +++ b/src/main/java/com/nis/web/dao/configuration/ComplexStringCfgDao.java @@ -9,7 +9,7 @@ import com.nis.web.dao.CrudDao; import com.nis.web.dao.MyBatisDao; /** - * IP相关配置数据处理类 + * 增强字符串相关配置数据处理类 * @author dell * */ @@ -17,6 +17,7 @@ import com.nis.web.dao.MyBatisDao; public interface ComplexStringCfgDao extends CrudDao{ public ComplexkeywordCfg getById(@Param("tableName")String tableName,@Param("cfgId")Long id) ; public ComplexkeywordCfg get(ComplexkeywordCfg entity) ; + public List getList(@Param("tableName")String tableName,@Param("ids")String ids) ; public List findList(ComplexkeywordCfg entity) ; public int insert(ComplexkeywordCfg entity) ; public int updateByPrimaryKeySelective(ComplexkeywordCfg entity) ; @@ -27,4 +28,5 @@ public interface ComplexStringCfgDao extends CrudDao{ public int getIsAudit(@Param("tableName")String tableName,@Param("cfgId")Long id); public int getIsAudit(ComplexkeywordCfg entity); public int deleteByCompileId(ComplexkeywordCfg entity); + public int delete(@Param("tableName")String tableName,@Param("ids")String ids); } diff --git a/src/main/java/com/nis/web/dao/configuration/ComplexStringCfgDao.xml b/src/main/java/com/nis/web/dao/configuration/ComplexStringCfgDao.xml index 9c0564cbe..55080ca4c 100644 --- a/src/main/java/com/nis/web/dao/configuration/ComplexStringCfgDao.xml +++ b/src/main/java/com/nis/web/dao/configuration/ComplexStringCfgDao.xml @@ -100,6 +100,11 @@ AND IS_VALID!=-1 + - - - - - - - - - --%>