/// <summary> /// 保存角色 /// </summary> public string SaveRoleData() { var roleService = new RoleService(CurrentUserInfo); RoleModel obj = new RoleModel(); string content = string.Empty; string error = ""; var responseData = new ResponseData(); string key = string.Empty; string role_id = string.Empty; if (Request("role") != null && Request("role") != string.Empty) { key = Request("role").ToString().Trim(); } if (Request("role_id") != null && Request("role_id") != string.Empty) { role_id = Request("role_id").ToString().Trim(); } obj = key.DeserializeJSONTo <RoleModel>(); //obj.Def_App_Id = ""; //if (Request["app_sys_id"] != null && Request["app_sys_id"] != string.Empty) //{ // obj.Def_App_Id = Request["app_sys_id"].ToString().Trim(); //} if (role_id.Trim().Length == 0 || role_id == "null" || role_id == "undefined") { obj.Role_Id = Utils.NewGuid(); } else { obj.Role_Id = role_id; } if (obj.type_id == null || obj.type_id.Trim().Length == 0) { //responseData.success = false; //responseData.msg = "所属组织层级不能为空"; //return responseData.ToJSON(); obj.type_id = ""; obj.org_level = 99; } else { T_TypeBLL typeBll = new T_TypeBLL(CurrentUserInfo); T_TypeEntity en = typeBll.GetByID(obj.type_id); if (en != null) { obj.org_level = (int)en.type_Level; } } if (obj.Def_App_Id == null || obj.Def_App_Id.Trim().Length == 0) { responseData.success = false; responseData.msg = "应用系统不能为空"; return(responseData.ToJSON()); } if (obj.Role_Name == null || obj.Role_Name.Trim().Length == 0) { responseData.success = false; responseData.msg = "角色名称不能为空"; return(responseData.ToJSON()); } //根据role_id 获取角色信息,系统保留角色的编码不允许修改,主要是admin、administrator等默认角色 RoleModel roleOld = new AppSysService(CurrentUserInfo).GetRoleById(CurrentUserInfo, role_id); if (roleOld != null && roleOld.Is_Sys == 1) { //throw (new System.Exception("不能删除系统保留的角色")); obj.Role_Code = roleOld.Role_Code;//还用原来的,不用role_name obj.Is_Sys = 1; } //if (obj.Is_Sys == null) //{ // responseData.success = false; // responseData.msg = "是否系统保留不能为空"; // return responseData.ToJSON(); //} if (obj.Role_Code == null || obj.Role_Code.Trim().Length == 0) { //responseData.success = false; //responseData.msg = "角色编码不能为空"; //return responseData.ToJSON(); obj.Role_Code = obj.Role_Name; } if (obj.RoleMenuInfoList != null) { foreach (var tmpRoleMenuObj in obj.RoleMenuInfoList) { tmpRoleMenuObj.Role_Id = obj.Role_Id; } } obj.Create_Time = Utils.GetNow(); obj.Create_User_Id = CurrentUserInfo.CurrentUser.User_Id; obj.Modify_Time = Utils.GetNow(); obj.Modify_User_id = CurrentUserInfo.CurrentUser.User_Id; string strError = ""; // roleService.SetRoleInfo(obj, out strError); // var menuList = new JIT.CPOS.BS.DataAccess.AppSysService(CurrentUserInfo).GetRoleMenus(CurrentUserInfo.ClientID, obj.Role_Id); if (menuList != null && menuList.Count > 0) { new RedisRoleBLL().SetRole(CurrentUserInfo.ClientID, obj.Role_Id, menuList); } //roleService.SetRoleInfo(obj, out strError); if (strError != "" && strError != "成功") { responseData.success = false; responseData.msg = strError; return(responseData.ToJSON()); } responseData.success = true; responseData.msg = error; content = responseData.ToJSON(); return(content); }
/// <summary> /// 查询角色列表 /// </summary> public string QueryRoleListData() { var responseData = new ResponseData(); LoggingSessionInfo loggingSessionInfo = null; if (CurrentUserInfo != null) { loggingSessionInfo = CurrentUserInfo; } else { if (string.IsNullOrEmpty(Request("CustomerID"))) { responseData.success = false; responseData.msg = "缺少商户标识"; return(responseData.ToString()); } else if (string.IsNullOrEmpty(Request("CustomerUserID"))) { responseData.success = false; responseData.msg = "缺少登陆员工的标识"; return(responseData.ToString()); } else if (string.IsNullOrEmpty(Request("CustomerUserID"))) { responseData.success = false; responseData.msg = "缺少登陆员工的标识"; return(responseData.ToString()); } else { loggingSessionInfo = Default.GetBSLoggingSession(Request("CustomerID"), Request("CustomerUserID")); } } var form = Request("form").DeserializeJSONTo <RoleQueryEntity>(); var appSysService = new AppSysService(loggingSessionInfo);//使用兼容模式 RoleModel list = new RoleModel(); string content = string.Empty; string key = string.Empty; if (form.app_sys_id != null && form.app_sys_id != string.Empty) { key = form.app_sys_id.Trim(); } int maxRowCount = PageSize; //每页数量 int limit = Utils.GetIntVal(Request("limit")); //传过来的参数 if (limit != 0) { maxRowCount = PageSize = limit; } int page = Utils.GetIntVal(Request("page"));//第几页面 if (page == 0) { page = 1; } int startRowIndex = (page - 1) * PageSize + 1;//因为row_number()从1开始 list = appSysService.GetRolesByAppSysId(key, maxRowCount, startRowIndex , form.type_id ?? "", form.role_name ?? "", loggingSessionInfo.UserID); //在为用户配置门店角色关系时 //多加一个参数,在这里选择门店,必须重新加载角色列表,因为创建用户角色门店关系时,角色必须和门店同一个type_level上 if (!string.IsNullOrEmpty(form.unit_id)) { t_unitBLL t_unitBll = new t_unitBLL(CurrentUserInfo); t_unitEntity t_unitEn = t_unitBll.GetByID(form.unit_id); if (t_unitEn != null) { T_TypeBLL T_TypeBLL = new T_TypeBLL(CurrentUserInfo); T_TypeEntity t_typeEn = T_TypeBLL.GetByID(t_unitEn.type_id); list.RoleInfoList = list.RoleInfoList.Where(p => p.org_level == t_typeEn.type_Level).ToList(); } } var jsonData = new JsonData(); jsonData.totalCount = list.RoleInfoList.Count.ToString(); jsonData.data = list.RoleInfoList; content = string.Format("{{\"totalCount\":{1},\"TotalPage\":{2},\"topics\":{0}}}", list.RoleInfoList.ToJSON(), list.ICount, list.TotalPage); return(content); }
public string SaveUnitStruct(string pRequest) { var rp = pRequest.DeserializeJSONTo <APIRequest <SaveUnitStructRP> >(); var loggingSessionInfo = new SessionManager().CurrentUserLoginInfo; if (string.IsNullOrEmpty(rp.Parameters.Unit_Name)) { throw new APIException("缺少参数【Unit_Name】或参数值为空") { ErrorCode = 135 }; } if (string.IsNullOrEmpty(rp.Parameters.Type_ID)) { throw new APIException("缺少参数【Type_ID】或参数值为空") { ErrorCode = 135 }; } //if (string.IsNullOrEmpty(rp.Parameters.parentUnit_ID)) //{ // throw new APIException("缺少参数【parentUnit_ID】或参数值为空") { ErrorCode = 135 }; //} //t_unitBLL t_unitBLL = new t_unitBLL(loggingSessionInfo); //t_unitEntity en = new t_unitEntity(); //en.type_id = rp.Parameters.Type_ID; //en.unit_name = rp.Parameters.Unit_Name; //en.unit_code = rp.Parameters.Unit_Name; //en.unit_name_en = rp.Parameters.Unit_Name; //en.unit_name_short = rp.Parameters.Unit_Name; //en.Status = "1";//状态为有效 //en.status_desc = "1"; //en.customer_id =loggingSessionInfo.ClientName ; //en.modify_time = DateTime.Now.ToString(); //en.modify_user_id = loggingSessionInfo.CurrentUser.User_Name; //en.unit_flag = "U"; //en.CUSTOMER_LEVEL = 1; var unitService = new UnitService(loggingSessionInfo); UnitInfo en = new UnitInfo(); if (string.IsNullOrEmpty(rp.Parameters.parentUnit_ID)) { en.Parent_Unit_Id = "-99"; } else { en.Parent_Unit_Id = rp.Parameters.parentUnit_ID; } en.TypeId = rp.Parameters.Type_ID; en.Code = rp.Parameters.Unit_Name; en.Name = rp.Parameters.Unit_Name; en.ShortName = rp.Parameters.Unit_Name; // en.unit_ = rp.Parameters.Unit_Name; en.Status = "1";//状态为有效 en.Status_Desc = "1"; en.customer_id = loggingSessionInfo.ClientName; en.Modify_Time = DateTime.Now.ToString(); en.Modify_User_Id = loggingSessionInfo.CurrentUser.User_Name; en.Flag = "U"; en.CustomerLevel = 1; if (string.IsNullOrEmpty(rp.Parameters.Unit_ID))//创建 { en.Create_Time = DateTime.Now.ToString(); en.Create_User_Id = loggingSessionInfo.CurrentUser.User_Name; en.Id = Utils.NewGuid(); // t_unitBLL.Create(en); } else { en.Id = rp.Parameters.Unit_ID;//不是用unit_id,而是用Id } string errorMsg = unitService.SetUnitInfo(loggingSessionInfo, en); if (!string.IsNullOrEmpty(errorMsg) && errorMsg != "成功") { if (errorMsg.IndexOf("该门店编码已经存在") != -1) { errorMsg = "组织结构名称已存在,请不要填写相同的组织结构名称"; } throw new APIException(errorMsg) { ErrorCode = 135 }; } ////创建门店上下级关系 //if (string.IsNullOrEmpty(rp.Parameters.Unit_ID))//新建时才需要创建上下级关系 //{ //} T_TypeBLL t_TypeBLL = new T_TypeBLL(loggingSessionInfo); var UnitStructTable = t_TypeBLL.GetUnitStructByID(loggingSessionInfo.ClientID, en.Id); //用en.id兼容创建和修改 var rd = new GetUnitStructByIDRD(); //返回值 if (UnitStructTable != null && UnitStructTable.Tables.Count != 0 && UnitStructTable.Tables[0].Rows.Count != 0) { rd.unitStructInfo = DataTableToObject.ConvertToObject <UnitStructInfo>(UnitStructTable.Tables[0].Rows[0]);//直接根据所需要的字段反序列化 } var rsp = new SuccessResponse <IAPIResponseData>(rd); return(rsp.ToJSON()); }