package edu.sjtu.infosec.ismp.manager.SYSM.user.other.web.actions; import java.io.IOException; import java.sql.Timestamp; import java.util.Date; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import org.apache.struts.actions.DispatchAction; import org.infosec.ismp.manager.rmi.comm.model.SystemModelInfo; import common.Logger; import edu.sjtu.infosec.ismp.manager.GOSP.comm.LogUtil; import edu.sjtu.infosec.ismp.manager.LM.pfLog.service.SystemLogService; import edu.sjtu.infosec.ismp.manager.SYSM.user.other.model.AppSysInfo; import edu.sjtu.infosec.ismp.manager.SYSM.user.other.model.AppSysRole; import edu.sjtu.infosec.ismp.manager.SYSM.user.other.model.RoleAssignRecords; import edu.sjtu.infosec.ismp.manager.SYSM.user.other.service.RoleAssignRecordsService; import edu.sjtu.infosec.ismp.manager.SYSM.user.other.web.form.RARForm; import edu.sjtu.infosec.ismp.manager.VPM.pm.comm.HtmlFactory; import edu.sjtu.infosec.ismp.manager.VPM.pm.comm.PMPage; public class RARAction extends DispatchAction{ Logger logger = Logger.getLogger(RARAction.class); /** * @param systemlogservice the systemlogservice to set */ public void setSystemlogservice(SystemLogService systemlogservice) { this.systemlogservice = systemlogservice; } private SystemLogService systemlogservice; public void setRoleAssignRecordsService( RoleAssignRecordsService roleAssignRecordsService) { this.roleAssignRecordsService = roleAssignRecordsService; } private RoleAssignRecordsService roleAssignRecordsService; /**查询 应用系统权限分配记录 * RAR (RoleAssignRecords 简写) * @param mapping * @param form * @param request * @param response * @return * @throws IOException */ public ActionForward getRARInfo(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException { RARForm appSysInfoForm = (RARForm) form; String asid = request.getParameter("asid"); if(HtmlFactory.isNotEmpty(asid)){ PMPage page = HtmlFactory.getPage(request); StringBuffer sbf = new StringBuffer(); String user[][]={{"id","getId"},{"username","getUser"},{"ctime","getCreateTime"},{"operator","getOperator"}}; String security[][]={{"roleid","getId"},{"rolename","getName"}}; AppSysInfo asi = new AppSysInfo(); asi.setId(Integer.valueOf(asid)); appSysInfoForm.getRar().setAppSys(asi); List<RoleAssignRecords> list = roleAssignRecordsService.findConditionsInfo(appSysInfoForm.getRar(), page, appSysInfoForm.getCreateStartDate(), appSysInfoForm.getCreateEndDate()); for(RoleAssignRecords rar : list){ Object objs[][]={{rar,user},{rar.getRole(),security}}; HtmlFactory.getDataArray(objs, sbf, "RAR"); } HtmlFactory.getDataArray(page.getPageInfo(), sbf, "PAGE"); HtmlFactory.flushData(response, sbf); } return null; } /** * 更新 应用系统权限分配记录 * @param mapping * @param form * @param request * @param response * @return * @throws IOException */ public ActionForward upRARInfo(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException { String asrid = request.getParameter("asrid"); String rarid = request.getParameter("rarid"); String name = request.getParameter("name"); String operator = request.getParameter("operator"); if(HtmlFactory.isNotEmpty(rarid)){ AppSysRole asr = new AppSysRole(); if(HtmlFactory.isNotEmpty(asrid)){ asr.setId(Integer.valueOf(asrid)); } if(HtmlFactory.isNotEmpty(name)){ name = HtmlFactory.conversionCoding(name,"GBK"); } if(HtmlFactory.isNotEmpty(operator)){ operator = HtmlFactory.conversionCoding(operator,"GBK"); } String falg = "成功!"; try { RoleAssignRecords rar = roleAssignRecordsService.findById(Integer.valueOf(rarid)); rar.setRole(asr); rar.setUser(name); rar.setOperator(operator); rar.setLastUpdateTime(new Timestamp(new Date().getTime())); roleAssignRecordsService.update(rar); } catch (Exception e) { falg = "失败!"; } finally { try { systemlogservice.saveSystemLog(LogUtil.userName, LogUtil.roleName, SystemModelInfo.MOD_SYSM_user_other, "更新 应用系统权限分配记录", new Timestamp(System.currentTimeMillis()), falg); } catch (Exception e) { logger.debug("连接日志出错", e); } } } return null; } /** * 添加 应用系统权限分配记录 * @param mapping * @param form * @param request * @param response * @return * @throws IOException */ public ActionForward addRARInfo(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException { String asrid = request.getParameter("asrid"); String asiid = request.getParameter("asid"); String name = request.getParameter("name"); String operator = request.getParameter("operator"); if(HtmlFactory.isNotEmpty(asiid)){ AppSysRole asr = new AppSysRole(); AppSysInfo asi = new AppSysInfo(); asi.setId(Integer.valueOf(asiid)); if(HtmlFactory.isNotEmpty(asrid)){ asr.setId(Integer.valueOf(asrid)); } if(HtmlFactory.isNotEmpty(name)){ name = HtmlFactory.conversionCoding(name,"GBK"); } if(HtmlFactory.isNotEmpty(operator)){ operator = HtmlFactory.conversionCoding(operator,"GBK"); } String falg = "成功!"; try { RoleAssignRecords rar = new RoleAssignRecords(); rar.setRole(asr); rar.setUser(name); rar.setOperator(operator); rar.setAppSys(asi); rar.setCreateTime(new Timestamp(new Date().getTime())); roleAssignRecordsService.add(rar); } catch (Exception e) { falg = "失败!"; } finally { try { systemlogservice.saveSystemLog(LogUtil.userName, LogUtil.roleName, SystemModelInfo.MOD_SYSM_user_other, "添加应用系统权限分配记录", new Timestamp(System.currentTimeMillis()), falg); } catch (Exception e) { logger.debug("连接日志出错", e); } } } return null; } /** * 删除 应用系统权限分配记录 * @param mapping * @param form * @param request * @param response * @return * @throws IOException */ public ActionForward delRARInfo(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException { String rarid = request.getParameter("rarid"); if(HtmlFactory.isNotEmpty(rarid)){ String falg = "成功!"; try { RoleAssignRecords rar = roleAssignRecordsService.findById(Integer.valueOf(rarid)); roleAssignRecordsService.delete(rar); } catch (Exception e) { falg = "失败!"; } finally { try { systemlogservice.saveSystemLog(LogUtil.userName, LogUtil.roleName, SystemModelInfo.MOD_SYSM_user_other, "删除应用系统权限分配记录", new Timestamp(System.currentTimeMillis()), falg); } catch (Exception e) { logger.debug("连接日志出错", e); } } } return null; } }