package com.nis.web.controller.configuration; import java.util.Date; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; 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.basics.ServiceDictInfo; import com.nis.domain.configuration.NumBoundaryCfg; import com.nis.domain.configuration.RequestInfo; import com.nis.main.ConvertTool; import com.nis.util.Constants; import com.nis.web.controller.BaseController; /** * 字符串相关配置控制类 * @author dell * */ @Controller @RequestMapping("${adminPath}/cfg/num") public class NumCfgController extends BaseController{ @RequestMapping(value = {"list"}) public String cfgList(Model model,Integer audit,Integer pageNo,Integer pageSize,String cfgName,@ModelAttribute("cfg")NumBoundaryCfg 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){ Page searchPage=new Page(request, response, "r"); Page page = numCfgService.findPage(searchPage, cfg); model.addAttribute("page", page); model.addAttribute("action", cfg.getAction()); List requestInfos=requestInfoService.getAllRequestInfo(); model.addAttribute("requestInfos", requestInfos); List fls=serviceDictInfoService.findAllFlDict(); model.addAttribute("fls", fls); List xzs=serviceDictInfoService.findAllXzDict(); model.addAttribute("xzs", xzs); List lables=serviceDictInfoService.findAllLableDict(); model.addAttribute("lables", lables); }else{ logger.error("未获取到正确的serviceId"); } } } return "/cfg/numCfgList"; } @RequestMapping(value = {"form"}) public String cfgForm(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){ NumBoundaryCfg cfg=new NumBoundaryCfg(); cfg.initDefaultValue(); cfg.setAction(action); cfg.setServiceId(serviceId); model.addAttribute("_cfg", cfg); List requestInfos=requestInfoService.getValidRequestInfo(); model.addAttribute("requestInfos", requestInfos); List fls=serviceDictInfoService.findFlDict(); model.addAttribute("fls", fls); List xzs=serviceDictInfoService.findXzDict(); model.addAttribute("xzs", xzs); List lables=serviceDictInfoService.findLableDict(); model.addAttribute("lables", lables); } }else{ logger.error("未获取到正确的serviceId"); } return "/cfg/numCfgForm"; } @RequestMapping(value = {"updateForm"}) public String updateStringCfgForm(int action,long cfgId,String cfgName,Integer serviceId,Model model,HttpServletRequest request,HttpServletResponse response) { model.addAttribute("cfgName", cfgName); model.addAttribute("serviceId", serviceId); model.addAttribute("action", action); model.addAttribute("audit", Constants.CFG_PAGE); if(serviceId!=null){ ServiceConfigInfo serviceConfigInfo=serviceConfigInfoService.findSysServiceConfigInfo(serviceId); if(serviceConfigInfo!=null){ NumBoundaryCfg searchBean=new NumBoundaryCfg(); searchBean.setCfgId(cfgId); NumBoundaryCfg cfg=numCfgService.getNumCfgById(searchBean); model.addAttribute("_cfg", cfg); List requestInfos=requestInfoService.getAllRequestInfo(); model.addAttribute("requestInfos", requestInfos); List fls=serviceDictInfoService.findAllFlDict(); model.addAttribute("fls", fls); List xzs=serviceDictInfoService.findAllXzDict(); model.addAttribute("xzs", xzs); List lables=serviceDictInfoService.findAllLableDict(); model.addAttribute("lables", lables); } }else{ logger.error("未获取到正确的表名"); } return "/cfg/numCfgForm"; } /** * * addStringCfg(新增IP配置) * (这里描述这个方法适用条件 – 可选) * @return *String * @exception * @since 1.0.0 */ @RequestMapping(value = {"saveOrUpdateCfg"}) public String saveOrUpdateStringCfg(String cfgName,Model model, NumBoundaryCfg cfg) { model.addAttribute("cfgName",cfgName); model.addAttribute("cfgType","num"); model.addAttribute("audit", Constants.CFG_PAGE); logger.info("saveOrUpdateStringCfg loaded"); try{ int serviceId=cfg.getServiceId(); ServiceConfigInfo serviceConfigInfo=serviceConfigInfoService.findSysServiceConfigInfo(serviceId); if(serviceConfigInfo!=null){ int compileId=new ConvertTool().getCompileId(); cfg.setIsValid(Constants.VALID_NO); cfg.setIsAudit(Constants.AUDIT_NOT_YET); cfg.setCompileId(compileId); if(cfg.getCfgId()==null){ cfg.setCreatorId(cfg.getCurrentUser().getId()); cfg.setCreateTime(new Date()); numCfgService.addNumCfg(cfg); }else{ cfg.setEditorId(cfg.getCurrentUser().getId()); cfg.setEditTime(new Date()); numCfgService.updateNumCfg(cfg); } model.addAttribute("serviceId",serviceId); model.addAttribute("action",cfg.getAction()); addMessage(model,"保存成功,正在为您跳转页面..."); } }catch(Exception e){ logger.error("保存失败", e); addMessage(model,"保存失败!"); } return "/cfg/resultPage"; } /** * * auditStringCfg(审核IP配置) * (这里描述这个方法适用条件 – 可选) * @return *String * @exception * @since 1.0.0 */ @RequestMapping(value = {"auditCfg"}) public String auditStringCfg(String cfgName,NumBoundaryCfg cfg,Model model) { model.addAttribute("cfgName", cfgName); model.addAttribute("audit", Constants.AUDIT_PAGE); model.addAttribute("cfgType","num"); model.addAttribute("serviceId", cfg.getServiceId()); model.addAttribute("action", cfg.getAction()); try{ int serviceId=cfg.getServiceId(); ServiceConfigInfo serviceConfigInfo=serviceConfigInfoService.findSysServiceConfigInfo(serviceId); if(serviceConfigInfo!=null){ NumBoundaryCfg bean=numCfgService.getNumCfgById(cfg); bean.setTableName(serviceConfigInfo.getTableName()); 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(serviceConfigInfo.getMaatTable()); }else if(cfg.getIsAudit()==Constants.AUDIT_YES){//审核通过,设置有效标志为1 cfg.setIsValid(Constants.VALID_YES); bean.setIsValid(Constants.VALID_YES); bean.setMaatTable(serviceConfigInfo.getMaatTable()); } int result=numCfgService.auditNumCfg(bean,cfg); if(result!=0){ addMessage(model, "审核成功"); }else{ addMessage(model, "审核失败"); } } } }catch (Exception e) { // TODO: handle exception logger.error("审核失败",e); addMessage(model, "审核失败"); } return "/cfg/resultPage"; } /** * * auditStringCfg(删除IP配置,逻辑删除) * (这里描述这个方法适用条件 – 可选) * @return *String * @exception * @since 1.0.0 */ @RequestMapping(value = {"deleteCfg"}) public String deleteStringCfg(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","num"); model.addAttribute("audit", Constants.CFG_PAGE); if(serviceId!=null){ ServiceConfigInfo serviceConfigInfo=serviceConfigInfoService.findSysServiceConfigInfo(serviceId); if(serviceConfigInfo!=null){ NumBoundaryCfg cfg=new NumBoundaryCfg(); cfg.setCfgId(cfgId); int audit=numCfgService.getIsAudit(cfg); //未审核时可删除 if(audit!=Constants.AUDIT_YES){ cfg.setEditorId(cfg.getCurrentUser().getId()); cfg.setEditTime(new Date()); cfg.setIsValid(Constants.VALID_DEL); int result=numCfgService.deleteNumCfg(cfg); addMessage(model,"删除成功,正在为您跳转页面..."); }else{ logger.error("通过审核的配置不能删除!"); } } }else{ logger.error("无法确定IP配置的表名!"); } return "/cfg/resultPage"; } /** * * getCompileId(获取编译ID) * (这里描述这个方法适用条件 – 可选) * @return *long * @exception * @since 1.0.0 */ protected long getCompileId(NumBoundaryCfg 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; } }