using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Data; namespace FangYar.WebUI.ashx { /// /// SysRoleHandler 的摘要说明 /// public class SysRoleHandler : IHttpHandler { private FangYar.BLL.TBL.SysRoleBLL bll = new BLL.TBL.SysRoleBLL(); public void ProcessRequest(HttpContext context) { // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Other, "角色操作请求", ""); context.Response.ContentType = "text/json"; string action = context.Request.Params["Action"]; string returnstr = ""; switch (action) { case "List": returnstr = GetModelList(context); break; case "Add": returnstr = AddModel(context); break; case "Edit": returnstr = EditModel(context); break; case "Del": returnstr = DelModel(context); break; case "ChooseMenu": returnstr = ChooseMenu(context); break; } context.Response.Write(returnstr); } //查询 private string GetModelList(HttpContext context) { string returnstr = ""; try { string keywords = context.Request.Params["keywords"]; string OrgId = context.Request.Params["OrgId"]; string is_content = context.Request.Params["is_content"]; string treeID = context.Request.Params["treeID"]; string limit = context.Request.Params["limit"]; string page = context.Request.Params["page"]; int pageIndex = 1; int pageSize = 10; if (!string.IsNullOrEmpty(limit)) { pageIndex = int.Parse(page); } if (!string.IsNullOrEmpty(limit)) { pageSize = int.Parse(limit); } string where = " 1=1 "; if (!string.IsNullOrEmpty(keywords)) { where += " and ROLE_NAME like '%" + keywords + "%' "; } if (!string.IsNullOrEmpty(treeID) && treeID != OrgId) { if (is_content == "1") { where += " and org_id in ( select o.org_id from fire_org o,(select get_Org_child_list('" + treeID + "') cids ) s where find_in_set(o.org_id,cids) ) "; } else { where += " and ORG_ID = '" + treeID + "'"; } } else { if (is_content == "1") { where += " and org_id in ( select o.org_id from fire_org o ,(select get_Org_child_list('" + OrgId + "') cids ) s where find_in_set(o.org_id,cids) ) "; } else { where += " and ORG_ID = '" + OrgId + "'"; } } returnstr = "{\"code\":0,\"msg\":\"\","; int count = bll.Count(where); returnstr += "\"count\":" + count + ",\"data\":"; if (count == 0) { returnstr += "[]"; } else { DataTable dt = bll.QueryDataTable(pageIndex, pageSize, where, "org_id"); returnstr += FangYar.Common.JsonHelper.ToJson(dt); } returnstr += "}"; } catch (Exception e) { returnstr = "{\"code\":0,\"msg\":\"error\",\"count\":0,\"data\":[]}"; // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Error, "角色操作请求", "查询异常:" + e); } // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Query, "角色操作请求", "查询"); return returnstr; } //添加 private string AddModel(HttpContext context) { string returnstr = ""; int code = -1; string msg = ""; try { string appId = context.Request.Params["appId"]; string rolename = context.Request.Params["rolename"]; string roledes = context.Request.Params["roledes"]; string OrgId = context.Request.Params["OrgId"]; if (string.IsNullOrEmpty(appId)) { msg = "所属应用不能为空!"; } else if (string.IsNullOrEmpty(rolename)) { msg = "应用名称不能为空!"; } else { FangYar.Model.TBL.TBL_SYS_ROLE_Model model = new Model.TBL.TBL_SYS_ROLE_Model(); model.ID = Guid.NewGuid().ToString("N"); model.APP_ID = appId; model.ROLE_NAME = rolename; model.ROLE_DES = roledes; model.ORG_ID = OrgId; if (bll.Add(model)) { msg = "添加成功!"; code = 1; } else { msg = "添加失败!"; } } } catch (Exception e) { msg = "添加失败!"; // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Error, "角色操作请求", "添加异常:" + e); } returnstr = "{\"code\":" + code + ",\"msg\":\"" + msg + "\"}"; // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Add, "角色操作请求", "添加"); return returnstr; } //修改 private string EditModel(HttpContext context) { string returnstr = ""; int code = -1; string msg = ""; try { string ID = context.Request.Params["ID"]; string appId = context.Request.Params["appId"]; string rolename = context.Request.Params["rolename"]; string roledes = context.Request.Params["roledes"]; string OrgId = context.Request.Params["OrgId"]; if (string.IsNullOrEmpty(appId)) { msg = "所属应用不能为空!"; } else if (string.IsNullOrEmpty(rolename)) { msg = "应用名称不能为空!"; } FangYar.Model.TBL.TBL_SYS_ROLE_Model model = bll.GetModelByID(ID); if (model == null) { msg = "应用记录不存在!"; } else { model.APP_ID = appId; model.ROLE_NAME = rolename; model.ROLE_DES = roledes; model.ORG_ID = OrgId; if (bll.Edit(model)) { msg = "修改成功!"; code = 1; } else { msg = "修改失败!"; } } } catch (Exception e) { msg = "修改失败!"; // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Error, "角色操作请求", "修改异常:" + e); } returnstr = "{\"code\":" + code + ",\"msg\":\"" + msg + "\"}"; // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Update, "角色操作请求", "修改"); return returnstr; } //删除 private string DelModel(HttpContext context) { string returnstr = ""; int code = -1; string msg = ""; try { string UIDList = context.Request.Params["UIDList"]; UIDList = UIDList.Replace(",", "','"); if (bll.Delete(UIDList)) { msg = "删除成功!"; code = 1; } else { msg = "删除失败!"; } } catch (Exception e) { msg = "删除失败!"; // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Error, "角色操作请求", "删除异常:" + e); } returnstr = "{\"code\":" + code + ",\"msg\":\"" + msg + "\"}"; // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Delete, "角色操作请求", "删除"); return returnstr; } //角色选择菜单 private string ChooseMenu(HttpContext context) { string appId = context.Request.Params["appId"]; string roleId = context.Request.Params["roleId"]; string returnstr = ""; try { returnstr = "{\"code\":0,\"data\":"; DataTable dt = bll.RolegetMenu(appId, roleId); if (dt.Rows.Count == 0) { returnstr += "[]"; } else { returnstr += FangYar.Common.JsonHelper.ToJson(dt); } returnstr += "}"; } catch (Exception e) { returnstr = "{\"code\":-1,\"data\":[]}"; // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Error, "角色操作请求", "角色选择菜单异常:" + e); } // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Query, "角色操作请求", "角色选择菜单"); return returnstr; } public bool IsReusable { get { return false; } } } }