/// <summary> /// 获取连锁端用户信息 /// </summary> /// <param name="dicPar"></param> private void Detail(Dictionary <string, object> dicPar) { //要检测的参数信息 List <string> pra = new List <string>() { "GUID", "USER_ID", "userid" }; //检测方法需要的参数 if (!CheckActionParameters(dicPar, pra)) { return; } StringBuilder postStr = new StringBuilder(); //获取参数信息 string GUID = dicPar["GUID"].ToString(); string USER_ID = dicPar["USER_ID"].ToString(); string userid = dicPar["userid"].ToString(); string BusCode = string.Empty; if (dicPar.ContainsKey("BusCode")) { BusCode = dicPar["BusCode"].ToString(); } int currentPage = StringHelper.StringToInt(dicPar["page"].ToString()); int recordCount = 0; int totalPage = 0; dt = new bllAdmins().GetPagingListInfo(GUID, USER_ID, 1, 1, "where t.userid=" + userid, "", out recordCount, out totalPage); #region 信息 DataTable dtUserRole = new bllTB_UserRole().GetRoleListUser(userid, ""); #endregion DataTable dtLocalUserRoleName = new bllTB_UserRole().GetUserRoleNameList(BusCode); if (dt != null && dt.Rows.Count > 0 && dtLocalUserRoleName != null && dtLocalUserRoleName.Rows.Count > 0) { foreach (DataRow dr in dt.Rows) { dr["rolename"] = ""; string auserid = dr["userid"].ToString(); DataRow[] rdrs = dtLocalUserRoleName.Select("UserId='" + auserid + "'"); foreach (DataRow rdr in rdrs) { dr["rolename"] += rdr["RoleName"].ToString() + "、"; } dr["rolename"] = dr["rolename"].ToString().TrimEnd('、'); } } dt.AcceptChanges(); ArrayList arrData = new ArrayList(); string[] arrTBName = new string[2] { "data1", "data2" }; arrData.Add(dt); arrData.Add(dtUserRole); ReturnManyListJson("0", "", arrData, arrTBName, null, null, null, null); }
/// <summary> /// 获取连锁端用户信息-不分门店 /// </summary> /// <param name="dicPar"></param> private void GetListAll(Dictionary <string, object> dicPar) { //要检测的参数信息 List <string> pra = new List <string>() { "GUID", "USER_ID", "userid", "page", "limit", "filters", "orders" }; //检测方法需要的参数 if (!CheckActionParameters(dicPar, pra)) { return; } StringBuilder postStr = new StringBuilder(); //获取参数信息 string GUID = dicPar["GUID"].ToString(); string userid = dicPar["userid"].ToString(); string USER_ID = dicPar["USER_ID"].ToString(); int pageSize = StringHelper.StringToInt(dicPar["limit"].ToString()); int currentPage = StringHelper.StringToInt(dicPar["page"].ToString()); string filter = JsonHelper.ObjectToJSON(dicPar["filters"]); DataTable dtFilter = new DataTable(); if (filter.Length > 0 && filter != "[]") { filter = JsonHelper.JsonToFilterByString(filter, out dtFilter); if (dtFilter != null) { DataRow[] drArr = dtFilter.Select("cus<>''"); foreach (DataRow dr in drArr) { string col = dr["col"].ToString(); switch (col) { case "": filter += ""; break; } } } } else { filter = string.Empty; } string BusCode = string.Empty; if (dicPar.ContainsKey("BusCode")) { BusCode = dicPar["BusCode"].ToString(); } string order = JsonHelper.ObjectToJSON(dicPar["orders"]); if (order.Length > 0) { order = JsonHelper.JsonToOrderByString(order); } int recordCount = 0; int totalPage = 0; dt = new bllAdmins().GetPagingListInfo(GUID, USER_ID, pageSize, currentPage, filter, order, out recordCount, out totalPage); DataTable dtLocalUserRoleName = new bllTB_UserRole().GetUserRoleNameList(BusCode); if (dt != null && dt.Rows.Count > 0 && dtLocalUserRoleName != null && dtLocalUserRoleName.Rows.Count > 0) { foreach (DataRow dr in dt.Rows) { dr["rolename"] = ""; string auserid = dr["userid"].ToString(); DataRow[] rdrs = dtLocalUserRoleName.Select("UserId='" + auserid + "'"); foreach (DataRow rdr in rdrs) { dr["rolename"] += rdr["RoleName"].ToString() + "、"; } dr["rolename"] = dr["rolename"].ToString().TrimEnd('、'); } } dt.AcceptChanges(); ReturnListJson(dt, pageSize, recordCount, currentPage, totalPage); }
/// <summary> /// 用户名密码登录 /// </summary> /// <param name="dicPar"></param> private void LoginByPassword(Dictionary <string, object> dicPar) { try { //要检测的参数信息 List <string> pra = new List <string>() { "uname", "password", "depart", "strcode" }; //检测方法需要的参数 if (!CheckActionParameters(dicPar, pra)) { return; } StringBuilder postStr = new StringBuilder(); //获取参数信息 string uname = dicPar["uname"].ToString(); string password = dicPar["password"].ToString(); string depart = dicPar["depart"].ToString(); string stocode = dicPar["strcode"].ToString(); string ShortMesUrl = Helper.GetAppSettings("ServiceUrl") + "/WSadmins.ashx"; postStr.Append("actionname=loginbypassword¶meters={" + string.Format("'GUID':'{0}'", "") + string.Format(",'USER_ID': '{0}'", "") + string.Format(",'uname': '{0}'", uname) + string.Format(",'password': '******'", password) + "}"); //键值对 string strAdminJson = Helper.HttpWebRequestByURL(ShortMesUrl, postStr.ToString()); if (!string.IsNullOrEmpty(strAdminJson) && strAdminJson.Trim() != "") { string status = ""; string mes = ""; DataSet ds = JsonHelper.NewJsonToDataSet(strAdminJson, out status, out mes); if (status != "0") { ReturnResultJson("2", "验证失败"); return; } DataTable dtAdmin = ds.Tables["data"]; DataTable dtReturn = dtAdmin.Clone(); dtReturn.Columns.Add("RoleType"); if (dtAdmin != null && dtAdmin.Rows.Count > 0) { string adminStocode = ""; //判断用户的门店 if (dtAdmin.Rows[0]["scope"].ToString() == "2") { //从emp表中获取权限门店 int nums = 0; DataTable dtEmployee = new bllAdmins().GetPagingListInfo(dtAdmin.Rows[0]["GUID"].ToString(), dtAdmin.Rows[0]["userid"].ToString(), int.MaxValue, 1, "t.userid=" + dtAdmin.Rows[0]["userid"].ToString(), "", out nums, out nums); if (dtEmployee != null && dtEmployee.Rows.Count > 0) { adminStocode = dtEmployee.Rows[0]["empstocode"].ToString(); } } else { adminStocode = dtAdmin.Rows[0]["stocode"].ToString(); } if (!string.IsNullOrWhiteSpace(stocode) && !adminStocode.Contains(stocode)) { ReturnResultJson("3", "该用户没有该门店的权限"); return; } DataRow dr = dtAdmin.Rows[0]; dtAdmin.Rows[0]["GUID"] = Guid.NewGuid().ToString(); //添加登陆记录,如果存在则为修改,主要作用与单点登陆 string id = "0"; if (HttpContext.Current.Cache.Get("empcodesing" + stocode + depart + dtAdmin.Rows[0]["uname"].ToString()) != null) { HttpContext.Current.Cache.Remove("empcodesing" + stocode + depart + dtAdmin.Rows[0]["uname"].ToString()); } HttpContext.Current.Cache.Insert("empcodesing" + stocode + depart + dtAdmin.Rows[0]["uname"].ToString(), dtAdmin.Rows[0]["GUID"].ToString()); //获取用户的门店下的角色 DataTable dtUserRole = new bllTB_UserRole().GetUserStoreRole(dr["userid"].ToString()); string RoleIds = string.Empty; string RoleTypes = string.Empty; if (dtUserRole != null) { foreach (DataRow drRole in dtUserRole.Rows) { RoleIds += drRole["id"].ToString() + ","; RoleTypes += "," + drRole["RoleType"].ToString() + ","; } } DataRow drAdd = dtReturn.NewRow(); foreach (DataColumn dc in dtAdmin.Columns) { drAdd[dc.ColumnName] = dr[dc.ColumnName]; } drAdd["RoleType"] = RoleTypes; dtReturn.Rows.Add(drAdd); if (string.IsNullOrEmpty(RoleIds)) { ReturnResultJson("3", "该用户没有角色信息,无法登陆"); return; } HttpContext.Current.Cache.Insert(dr["userid"].ToString() + "1", RoleIds);//保存用户角色ID到缓存中,多个使用,分隔 } } } catch (Exception ex) { ErrorLog.WriteErrorMessage(ErrorLog.LogType.baselog, ex.ToString()); ReturnResultJson("2", ex.Message); return; } }