public string SetShoppingCount(string token, int shpId, int spCount) { string key = string.Concat(token, "SetShopping"); var uComList = CacheHelp.Get <List <CommodityModel> >(key, DateTimeOffset.Now.AddMonths(3), () => null); if (uComList == null) { uComList = new List <CommodityModel>(); } var um = uComList.Find(o => o.CommodityId == shpId); if (um == null) { CommodityModel cm = GetComInfo(shpId); if (cm != null) { cm.SpCount = spCount; uComList.Add(cm); } } else { um.SpCount = spCount; } var state = CacheHelp.Set(key, DateTimeOffset.Now.AddMonths(3), uComList); ReturnModel re = new ReturnModel(); if (state) { re.state = true; re.rcount = uComList.Count; } return(JsonUtil.Serialize(re)); }
public string GetShoppingList(string token) { string key = string.Concat(token, "SetShopping"); var uComList = CacheHelp.Get <List <CommodityModel> >(key, DateTimeOffset.Now.AddMonths(3), () => null); return(JsonUtil.Serialize(uComList)); }
public string DeleteShopping(string idStr, string token) { var user = UserService.CkToken(token); if (user != null) { string key = string.Concat(user.UserName, "SetShopping"); var uComList = CacheHelp.Get <List <CommodityModel> >(key, DateTimeOffset.Now.AddMonths(3), () => null); if (!string.IsNullOrEmpty(idStr) && uComList != null && uComList.Count > 0) { List <int> idList = new List <int>(idStr.Split(',').Select(x => int.Parse(x))); foreach (var id in idList) //移除购物车商品 { var item = uComList.Find(o => o.CommodityId == id); if (item != null) { uComList.Remove(item); } } CacheHelp.Set(key, DateTimeOffset.Now.AddMonths(3), uComList); } return(JsonUtil.Serialize(uComList)); } else { return(UserService.ckTokenState()); } }
public string Login(string userName, string pwd) { string sql = "select * from Users where UserName=?userName and Pwd=?pwd and State=0 "; Dictionary <string, object> p = new Dictionary <string, object>(); p["userName"] = userName; p["pwd"] = pwd; UserModel user = DbUtil.Master.Query <UserModel>(sql, p); if (user != null) { string key = CryptoUtil.GetRandomAesKey(); user.key = key; user.Pwd = string.Empty; string Token = CryptoUtil.AesEncryptHex(user.UserName + uKey, key); string uloginKey = user.UserName + uKey; var oldToken = CacheHelp.Get <string>(uloginKey, DateTimeOffset.Now.AddDays(7), () => null); if (!string.IsNullOrEmpty(oldToken)) { CacheHelp.Set(oldToken, DateTimeOffset.Now.AddDays(7), null); } CacheHelp.Set(uloginKey, DateTimeOffset.Now.AddDays(7), Token); CacheHelp.Set(Token, DateTimeOffset.Now.AddDays(7), user); List <object> u = new List <object>(); u.Add(new { token = Token, }); return(JsonUtil.Serialize(u)); } return(string.Empty); }
/// <summary> /// 获取指定购物车商品 /// </summary> /// <param name="token"></param> /// <param name="spId"></param> /// <returns></returns> public string GetShoppingInId(string token, string spId) { var user = UserService.CkToken(token); if (user != null) { List <CommodityModel> tmpList = new List <CommodityModel>(); if (!string.IsNullOrEmpty(spId)) { var idList = new List <int>(spId.Split(',').Select(x => int.Parse(x))); string key = string.Concat(user.UserName, "SetShopping"); var uComList = CacheHelp.Get <List <CommodityModel> >(key, DateTimeOffset.Now.AddMonths(3), () => null); if (uComList.Count > 0) { foreach (var id in idList) { var tmpdata = uComList.Find(o => o.CommodityId == id); if (tmpdata != null) { tmpList.Add(tmpdata); } } } } return(JsonUtil.Serialize(tmpList)); } else { return(UserService.ckTokenState()); } }
public string UpdateUserInfo(string token, string nickname, string sex, string uImg) { if (!string.IsNullOrEmpty(token)) { var userModel = CacheHelp.Get <UserModel>(token, DateTimeOffset.Now.AddDays(7), () => null); if (userModel != null) { string sql = "UPDATE Users SET Nickname=?nickname,Sex=?sex,UserImg=?userImg where Uid=?uid"; Dictionary <string, object> p = new Dictionary <string, object>(); p["nickname"] = nickname; p["sex"] = sex; p["userImg"] = uImg; p["uid"] = userModel.Uid; int rowNum = DbUtil.Master.ExecuteNonQuery(sql, p); if (rowNum > 0) { userModel.Nickname = nickname; userModel.Sex = sex; userModel.UserImg = uImg; string key = string.Concat(token); //统一cache Key CacheHelp.Set(key, DateTimeOffset.Now.AddDays(7), userModel); ReturnModel re = new ReturnModel(); re.state = true; return(JsonUtil.Serialize(re)); } } } return(string.Empty); }
private static object CreateInstance(string fullName, string assemblyName) { object instance = CacheHelp.Get(fullName); if (instance == null) { var ass = Assembly.Load(assemblyName); instance = ass.CreateInstance(fullName); } return(instance); }
public string Register(string uName, string pwd, string sex, string nickname, string entName, string phones, string entPhone, string entAddres) { var isok = ckUnameSql(uName); if (!isok) { #region string sql = "INSERT INTO Users (UserName,Pwd,Nickname,Sex,EntName,Phones,EntPhone,EntAddres) VALUES (?userName,?pwd,?nickname,?sex,?entName,?phones,?entPhone,?entAddres)"; Dictionary <string, object> p = new Dictionary <string, object>(); p["userName"] = uName; p["pwd"] = pwd; p["nickname"] = nickname; p["sex"] = sex; p["entName"] = entName; p["phones"] = phones; p["entPhone"] = entPhone; p["entAddres"] = entAddres; var row = DbUtil.Master.ExecuteNonQuery(sql, p); if (row > 0) { UserModel user = new UserModel(); string key = CryptoUtil.GetRandomAesKey(); user.key = key; user.UserName = uName; user.Pwd = string.Empty; string Token = CryptoUtil.AesEncryptHex(user.UserName + uKey, key); string uloginKey = user.UserName + uKey; var oldToken = CacheHelp.Get <string>(uloginKey, DateTimeOffset.Now.AddDays(7), () => null); if (!string.IsNullOrEmpty(oldToken)) { CacheHelp.Set(oldToken, DateTimeOffset.Now.AddDays(7), null); } CacheHelp.Set(uloginKey, DateTimeOffset.Now.AddDays(7), Token); CacheHelp.Set(Token, DateTimeOffset.Now.AddDays(7), user); List <object> u = new List <object>(); u.Add(new { token = Token, }); return(JsonUtil.Serialize(u)); } else { object obj = new { msg = false }; return(JsonUtil.Serialize(obj)); } #endregion } else { object obj = new { msg = isok }; return(JsonUtil.Serialize(obj)); } }
public string GetUserInfo(string token) { if (!string.IsNullOrEmpty(token)) { var userModel = CacheHelp.Get <UserModel>(token, DateTimeOffset.Now.AddDays(7), () => null); if (userModel != null) { return(JsonUtil.Serialize(userModel)); } } return(""); }
public string DeleteAllShopping(string token) { string key = string.Concat(token, "SetShopping"); var uComList = CacheHelp.Get <List <CommodityModel> >(key, DateTimeOffset.Now.AddMonths(3), () => null); if (uComList != null && uComList.Count > 0) { uComList.Clear(); } CacheHelp.Set(key, DateTimeOffset.Now.AddMonths(3), uComList); return(JsonUtil.Serialize(uComList)); }
public string GetShoppingCount(string token) { string key = string.Concat(token, "SetShopping"); var uComList = CacheHelp.Get <List <CommodityModel> >(key, DateTimeOffset.Now.AddMonths(3), () => null); ReturnModel re = new ReturnModel(); re.state = true; if (uComList != null) { re.rcount = uComList.Count; } return(JsonUtil.Serialize(re)); }
public void wapOk(string wapSpId, long orderId) { var idkey = CacheHelp.Get <string>(wapSpId, null); if (!string.IsNullOrEmpty(idkey)) { var orId = Convert.ToInt64(idkey); if (orId == orderId) { LogUtil.Info("支付加密:" + wapSpId + "订单编号;" + orderId); UpdataState(orId); } } }
public string GetSearchList(string token) { var user = UserService.CkToken(token); if (user != null) { string key = string.Concat("GetSearchList"); return(CacheHelp.Get <string>(key, DateTimeOffset.Now.AddSeconds(3), () => GetSearchList(user.Uid))); } else { return(UserService.ckTokenState()); } }
public string GetShoppingList(string token) { var user = UserService.CkToken(token); if (user != null) { string key = string.Concat(user.UserName, "SetShopping"); var uComList = CacheHelp.Get <List <CommodityModel> >(key, DateTimeOffset.Now.AddMonths(3), () => null); return(JsonUtil.Serialize(uComList)); } else { return(UserService.ckTokenState()); } }
public ActionResult <string> ExeAction(string Action, Object PostData) { Model.Action = Action; var context = _accessor.HttpContext; var tokenHeader = context.Request.Headers["Authorization"].ToString().Replace("Bearer ", ""); TokenModelJWT tokenModel = JwtHelper.SerializeJWT(tokenHeader); if (new DateTimeOffset(DateTime.Now.AddMinutes(5)).ToUnixTimeSeconds() > tokenModel.Exp) { //需要更新Token Model.uptoken = JwtHelper.CreateJWT(tokenModel.UserName, "Admin"); } JH_Auth_UserB.UserInfo UserInfo = CacheHelp.Get(tokenModel.UserName) as JH_Auth_UserB.UserInfo; if (UserInfo == null) { UserInfo = new JH_Auth_UserB().GetUserInfo(10334, tokenModel.UserName); CacheHelp.Set(tokenModel.UserName, UserInfo); } try { JObject JsonData = JObject.FromObject(PostData); string P1 = JsonData["P1"] == null ? "" : JsonData["P1"].ToString(); string P2 = JsonData["P2"] == null ? "" : JsonData["P2"].ToString(); // 1.Load(命名空间名称),GetType(命名空间.类名) Type type = Assembly.Load("QJY.API").GetType("QJY.API." + Action.Split('_')[0].ToUpper() + "Manage"); //2.GetMethod(需要调用的方法名称) MethodInfo method = type.GetMethod(Action.Split('_')[1].ToUpper()); // 3.调用的实例化方法(非静态方法)需要创建类型的一个实例 object obj = Activator.CreateInstance(type); //4.方法需要传入的参数 object[] parameters = new object[] { JsonData, Model, P1, P2, UserInfo }; method.Invoke(obj, parameters); new JH_Auth_LogB().InsertLog(Model.Action, "--调用接口", "", UserInfo.User.UserName, UserInfo.User.UserRealName, UserInfo.QYinfo.ComId, ""); } catch (Exception ex) { Model.ErrorMsg = Action + "接口调用失败,请检查日志"; Model.Result = ex.ToString(); new JH_Auth_LogB().InsertLog(Action, Model.ErrorMsg + ex.StackTrace.ToString(), ex.ToString(), tokenModel.UserName, "", 0, ""); } return(ControHelp.CovJson(Model)); }
/// <summary> /// 检查token是否有效 /// </summary> /// <param name="token"></param> /// <param name="uName"></param> /// <returns></returns> public static UserModel CkToken(string token) { var user = CacheHelp.Get <UserModel>(token, DateTimeOffset.Now.AddDays(7), () => null); if (user != null) { string tmpUName = CryptoUtil.AesDecryptHex(token, user.key); if (!string.IsNullOrEmpty(tmpUName) && tmpUName.Equals(user.UserName + uKey)) { return(user); } else { return(null); } } return(null); }
public string GetShoppingCount(string token) { var user = UserService.CkToken(token); if (user != null) { string key = string.Concat(user.UserName, "SetShopping"); var uComList = CacheHelp.Get <List <CommodityModel> >(key, DateTimeOffset.Now.AddMonths(3), () => null); ReturnModel re = new ReturnModel(); re.state = true; if (uComList != null) { re.rcount = uComList.Count; } return(JsonUtil.Serialize(re)); } else { return(UserService.ckTokenState()); } }
public ActionResult <string> ExeAction(string Action, Object PostData) { Model.Action = Action; var context = _accessor.HttpContext; var tokenHeader = context.Request.Headers["Authorization"].ToString().Replace("Bearer ", ""); TokenModelJWT tokenModel = JwtHelper.SerializeJWT(tokenHeader); if (new DateTimeOffset(DateTime.Now.AddMinutes(5)).ToUnixTimeSeconds() > tokenModel.Exp) { //需要更新Token Model.uptoken = JwtHelper.CreateJWT(tokenModel.UserName, "Admin"); } JH_Auth_UserB.UserInfo UserInfo = CacheHelp.Get(tokenModel.UserName) as JH_Auth_UserB.UserInfo; if (UserInfo == null) { UserInfo = new JH_Auth_UserB().GetUserInfo(10334, tokenModel.UserName); CacheHelp.Set(tokenModel.UserName, UserInfo); } try { JObject JsonData = JObject.FromObject(PostData); string P1 = JsonData["P1"] == null ? "" : JsonData["P1"].ToString(); string P2 = JsonData["P2"] == null ? "" : JsonData["P2"].ToString(); //Dictionary<string, string> results3 = JsonConvert.DeserializeObject<Dictionary<string, string>>(PostData.ToString()); var function = Activator.CreateInstance(typeof(AuthManage)) as AuthManage; var method = function.GetType().GetMethod(Action.ToUpper()); method.Invoke(function, new object[] { JsonData, Model, P1, P2, UserInfo }); new JH_Auth_LogB().InsertLog(Model.Action, "--调用接口", "", UserInfo.User.UserName, UserInfo.User.UserRealName, UserInfo.QYinfo.ComId, ""); } catch (Exception ex) { Model.ErrorMsg = Action + "接口调用失败,请检查日志"; Model.Result = ex.ToString(); new JH_Auth_LogB().InsertLog(Action, Model.ErrorMsg + ex.StackTrace.ToString(), ex.ToString(), tokenModel.UserName, "", 0, ""); } return(ControHelp.CovJson(Model)); }
public JsonResult CreateAfter(ShopInfo model) { Utility.ReturnData <string> returnData = new Utility.ReturnData <string>(); ShopInfoBll shopBll = new ShopInfoBll(); UserPC _model = CacheHelp.Get("user") as UserPC; model.Relation = 1; model.ContactPhone = ""; model.Address = ""; model.Range = ""; model.shopIMG = ""; model.WeixinMPID = 0; model.Remarks = ""; model.AgentID = 0; model.ContactTEL = ""; model.Status = 2; model.ProvinceID = model.ProvinceID; model.CityID = model.CityID; model.CountyID = model.CountyID; model.EnterpriseID = LoginUser.UserBasic.EnterpriseID; returnData = shopBll.Create(model); return(Json(returnData)); }
/// <summary> /// 返回false时前端需要重新登录 /// </summary> /// <param name="token"></param> /// <returns></returns> public static UserModel GetUserLoginState(string token) { var userModel = CacheHelp.Get <UserModel>(token, DateTimeOffset.Now.AddDays(7), () => null); return(userModel); }
public string GetBrandHome(int size) { string key = string.Concat("GetBrandHome", size); return(CacheHelp.Get <string>(key, DateTimeOffset.Now.AddSeconds(3), () => GetBrandHomeSal(size))); }
public string GetCityList() { string key = string.Concat("GetCitList"); return(CacheHelp.Get <string>(key, DateTimeOffset.Now.AddSeconds(3), () => GetCityListSql())); }
public string GetCommodityFamily(int familyId, int index = 1, int size = 10) { string key = string.Concat("GetCommodityFamily", familyId, index, size); return(CacheHelp.Get <string>(key, DateTimeOffset.Now.AddSeconds(3), () => GetCommodityByFamilyIdSql(familyId, index, size))); }
public string GetCommodityByBrand(int brandId, int index = 1, int size = 10) { string key = string.Concat("GetCommodityByBrand", brandId, index, size); return(CacheHelp.Get <string>(key, DateTimeOffset.Now.AddSeconds(3), () => GetCommodityByBrandIdSql(brandId, index, size))); }
public string GetAdvType() { string key = string.Concat("GetAdvType"); return(CacheHelp.Get <string>(key, DateTimeOffset.Now.AddSeconds(3), () => GetAdvTypeSql())); }
public string GetPayList() { string key = string.Concat("GetPayListe"); return(CacheHelp.Get <string>(key, DateTimeOffset.Now.AddDays(1), () => GetPayListSql())); }
public string GetCommodityList(int index = 1, int size = 10) { string key = string.Concat("GetCommodityList", index, size); return(CacheHelp.Get <string>(key, DateTimeOffset.Now.AddSeconds(3), () => GetCommodityListSql(index, size))); }
public string GetCommodityInfo(int id) { string key = string.Concat("GetCommodityInfo", id); return(CacheHelp.Get <string>(key, DateTimeOffset.Now.AddSeconds(3), () => GetCommodityByInfoSql(id))); }
public string GetCommoditySearch(string searchTxt, string token) { string key = string.Concat("GetCommoditySearch", searchTxt); return(CacheHelp.Get <string>(key, DateTimeOffset.Now.AddSeconds(3), () => GetCommoditySearchSql(searchTxt, token))); }
public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; context.Response.AddHeader("Access-Control-Allow-Origin", "*"); context.Response.AddHeader("Access-Control-Allow-Methods", "POST,GET,OPTIONS,DELETE"); //支持的http 动作 context.Response.AddHeader("Access-Control-Allow-Headers", "Accept, Origin, Content-type,authorization"); context.Response.AddHeader("Access-Control-Allow-Credentials", "true"); context.Response.AddHeader("pragma", "no-cache"); context.Response.AddHeader("cache-control", ""); context.Response.CacheControl = "no-cache"; string strAction = context.Request["Action"] ?? ""; string P1 = context.Request["P1"] ?? ""; string P2 = context.Request["P2"] ?? ""; string P3 = context.Request["P3"] ?? ""; string UserName = context.Request["UserName"] ?? ""; string wxopenid = context.Request["wxopenid"] ?? ""; string szhlcode = context.Request["szhlcode"] ?? ""; if (context.Request.Cookies["szhlcode"] != null) { szhlcode = context.Request.Cookies["szhlcode"].Value;//防止szhlcode在Url里传输会出现把+弄丢得情况 } //string szhlcode = context.Request["szhlcode"] ?? ""; string authcode = context.Request.Headers["Authorization"] ?? ""; string strIP = CommonHelp.getIP(context); //用户IP int intTimeOut = 60; //用户超时间隔时间即szhlcode失效时间 Msg_Result Model = new Msg_Result() { Action = strAction.ToUpper(), ErrorMsg = "" }; if (!string.IsNullOrEmpty(strAction)) { try { string strCheckString = "";// new CommonHelp().checkconetst(context); if (strCheckString != "") { Model.ErrorMsg = strAction + "有敏感字符串"; new JH_Auth_LogB().InsertLog(strAction, Model.ErrorMsg, strCheckString, UserName, "", 0, strIP); } else { #region 必须登录执行接口 Model.ErrorMsg = ""; var bl = true; string ishc = ""; var acs = Model.Action.Split('_'); if (Model.Action.IndexOf("_") > 0) { if (acs[0].ToUpper() == "Commanage".ToUpper()) { bl = false; var container = ServiceContainerV.Current().Resolve <IWsService>(acs[0].ToUpper()); Model.Action = acs[1]; container.ProcessRequest(context, ref Model, P1.TrimEnd(), P2.TrimEnd(), new JH_Auth_UserB.UserInfo()); int cid = 0; string un = string.Empty; if (Model.Result4 != null) { JH_Auth_User UserInfo = Model.Result4; cid = UserInfo.ComId.Value; un = UserInfo.UserRealName; } } } if (bl) { if (wxopenid != "")//如果存在TOKEN,根据TOKEN找到用户信息,并根据权限执行具体ACTION { //通过Code获取用户名,然后执行接口方法 var container = ServiceContainerV.Current().Resolve <IWsService>(acs[0].ToUpper()); UserCatche UserCatche = CacheHelp.Get(wxopenid) as UserCatche; JH_Auth_UserB.UserInfo UserInfo = new JH_Auth_UserB.UserInfo(); if (UserCatche != null && UserCatche.CatcheTime.AddMinutes(10) > DateTime.Now) { UserInfo = UserCatche.User; ishc = "MOB缓存--"; } else { UserInfo = new JH_Auth_UserB().GetUserInfoByWxopenid(wxopenid); ishc = "MOB数据库--"; CacheHelp.Remove(wxopenid);//超时清理缓存 } if (UserInfo != null && UserInfo.User != null) { Model.Action = Model.Action.Substring(acs[0].Length + 1); container.ProcessRequest(context, ref Model, P1.TrimEnd(), P2.TrimEnd(), UserInfo); new JH_Auth_LogB().InsertLog(Model.Action, ishc + "调用小程序接口", context.Request.Url.AbsoluteUri, UserInfo.User.UserName, UserInfo.User.UserRealName, UserInfo.QYinfo.ComId, strIP); CacheHelp.Set(wxopenid, new UserCatche() { User = UserInfo, CatcheTime = DateTime.Now }); } else { Model.ErrorMsg = "NOSESSIONCODE"; } } else if (szhlcode != "") { //通过Code获取用户名,然后执行接口方法 var container = ServiceContainerV.Current().Resolve <IWsService>(acs[0].ToUpper()); JH_Auth_UserB.UserInfo UserInfo = CacheHelp.Get(szhlcode) as JH_Auth_UserB.UserInfo; ishc = "缓存--"; if (UserInfo == null) { UserInfo = new JH_Auth_UserB().GetUserInfo(szhlcode); ishc = "数据库--"; } if (UserInfo != null && UserInfo.User != null) { if (UserInfo.User.logindate == null) { UserInfo.User.logindate = DateTime.Now; } TimeSpan ts = new TimeSpan(UserInfo.User.logindate.Value.Ticks).Subtract(new TimeSpan(DateTime.Now.Ticks)).Duration(); if (ts.TotalMinutes > intTimeOut) // 超过五分钟了,超时了哦; { UserInfo.User.pccode = ""; new JH_Auth_UserB().Update(UserInfo.User); //清除PCCode Model.ErrorMsg = "WXTIMEOUT"; CacheHelp.Remove(szhlcode); //超时清理缓存 } else { Model.Action = Model.Action.Substring(acs[0].Length + 1); container.ProcessRequest(context, ref Model, P1.TrimEnd(), P2.TrimEnd(), UserInfo); new JH_Auth_LogB().InsertLog(Model.Action, ishc + "--调用接口", context.Request.Url.AbsoluteUri, UserInfo.User.UserName, UserInfo.User.UserRealName, UserInfo.QYinfo.ComId, strIP); new JH_Auth_UserB().UpdateloginDate(UserInfo.User.ComId.Value, UserInfo.User.UserName); //更新用户最近的操作时间 CacheHelp.Set(szhlcode, UserInfo); //生成缓存 } } else { Model.ErrorMsg = "NOSESSIONCODE"; } } else { Model.ErrorMsg = "NOSESSIONCODE"; } } #endregion } } catch (Exception ex) { Model.ErrorMsg = strAction + "接口调用失败,请检查日志"; Model.Result = ex.ToString(); new JH_Auth_LogB().InsertLog(strAction, P1 + "$" + P2 + Model.ErrorMsg + ex.StackTrace.ToString(), ex.ToString(), UserName, "", 0, strIP); } } string jsonpcallback = context.Request["jsonpcallback"] ?? ""; IsoDateTimeConverter timeConverter = new IsoDateTimeConverter(); timeConverter.DateTimeFormat = "yyyy-MM-dd HH:mm:ss"; string Result = JsonConvert.SerializeObject(Model, Formatting.Indented, timeConverter).Replace("null", "\"\""); if (jsonpcallback != "") { Result = jsonpcallback + "(" + Result + ")";//支持跨域 } context.Response.Write(Result); }