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.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 org.springframework.web.servlet.mvc.support.RedirectAttributes; import com.nis.domain.Page; import com.nis.domain.configuration.AppPolicyCfg; import com.nis.domain.specific.SpecificServiceCfg; import com.nis.exceptions.MaatConvertException; import com.nis.web.controller.BaseController; import com.nis.web.security.UserUtils; /** * 特定协议相关配置控制类 * @author zhangwei * */ @Controller @RequestMapping("${adminPath}/app") public class AppCfgController extends BaseController { /** * app策略列表 * @param model * @param cfg * @param request * @param response * @return */ @RequestMapping(value = {"policyList"}) public String policyList(Model model,@ModelAttribute("cfg")AppPolicyCfg cfg,HttpServletRequest request,HttpServletResponse response) { Page searchPage=new Page(request,response,"r"); Page page = appCfgService.findAppPolicyList(searchPage, cfg); for(AppPolicyCfg entity:page.getList()){ SpecificServiceCfg app = specificServiceCfgService.getBySpecServiceId(entity.getSpecServiceId()); entity.setAppName(app.getSpecServiceName()); } model.addAttribute("page", page); initPageCondition(model,cfg); return "/cfg/app/appPolicyCfgList"; } @RequestMapping(value = {"policyForm"}) @RequiresPermissions(value={"app:policy:config"}) public String policyForm(Model model,String ids,AppPolicyCfg entity) { if(StringUtils.isNotBlank(ids)){ entity = appCfgService.getAppPolicyCfg(Long.parseLong(ids)); initUpdateFormCondition(model,entity); }else{ initFormCondition(model,entity); } model.addAttribute("_cfg", entity); return "/cfg/app/appPolicyCfgForm"; } @RequestMapping(value = {"saveAppPolicyCfg"}) @RequiresPermissions(value={"app:policy:config"}) public String saveAppPolicyCfg(Model model,HttpServletRequest request,HttpServletResponse response, AppPolicyCfg entity,RedirectAttributes redirectAttributes) { try { appCfgService.saveOrUpdateAppPolicyCfg(entity); } catch (Exception e) { e.printStackTrace(); addMessage(redirectAttributes, e.getMessage()); } return "redirect:" + adminPath +"/app/policyList?function="+entity.getFunctionId(); } @RequestMapping(value = {"auditAppPolicyCfg"}) @RequiresPermissions(value={"app:policy:audit"}) public String auditAppPolicyCfg(Integer isAudit,Integer isValid,String ids,Integer functionId, RedirectAttributes redirectAttributes) { AppPolicyCfg entity = new AppPolicyCfg(); String[] idArray = ids.split(","); for(String id :idArray){ entity = appCfgService.getAppPolicyCfg(Long.parseLong(id)); entity.setIsAudit(isAudit); entity.setIsValid(isValid); entity.setAuditorId(UserUtils.getUser().getId()); entity.setAuditTime(new Date()); entity.setFunctionId(functionId); try { appCfgService.auditAppPolicyCfg(entity,isAudit); } catch (MaatConvertException e) { e.printStackTrace(); logger.info("app策略配置下发失败:"+e.getMessage()); addMessage(redirectAttributes, e.getMessage()); } } return "redirect:" + adminPath +"/app/policyList?functionId="+functionId; } @RequestMapping(value = {"updateAppPolicyCfgValid"}) @RequiresPermissions(value={"app:policy:config"}) public String updateAppPolicyCfgValid(Integer isValid,String ids,Integer functionId) { appCfgService.updateAppPolicyCfgValid(isValid,ids,functionId); return "redirect:" + adminPath +"/app/policyList?functionId="+functionId; } }