public ActionResult Refresh(Guid id) { var dto = _service.Get(id); EleUserApiService service = new EleUserApiService(); var res = service.RefreshToken(dto.RefreshToken); if (res == "") { return(Json(Tools.ResultErr())); } JObject jo = JObject.Parse(res); if (jo["error"] != null) { return(Json(Tools.ResultErr(jo["error_description"].ToString()))); } dto.AccessToken = jo["access_token"].ToString(); dto.RefreshToken = jo["refresh_token"].ToString(); dto.ExpiresDate = DateTime.Now.AddSeconds(double.Parse(jo["expires_in"].ToString())); _service.Update(dto); return(Json(new AjaxResult() { state = "ok" })); }
private async Task Auth(Ele_AccountDTO dto) { var service = new EleUserApiService(); var res = service.RefreshToken(dto.RefreshToken); if (res == "") { _log.DebugFormat("【更新授权异常】:返回结果空"); return; } var jo = JObject.Parse(res); if (jo["error"] != null) { _log.DebugFormat($"【更新授权异常】:{jo["error_description"]}"); return; } dto.AccessToken = jo["access_token"]?.ToString(); dto.RefreshToken = jo["refresh_token"]?.ToString(); dto.ExpiresDate = DateTime.Now.AddSeconds(double.Parse(jo["expires_in"]?.ToString() ?? string.Empty)); _eleAccountService.Update(dto); }
public IHttpActionResult Authorize(string code = "", string state = "") { try { var userId = state.Split('@')[0]; var accountNo = state.Split('@')[1]; var accountName = state.Split('@')[2]; var service = new EleUserApiService(); var res = service.GetToken(code); if (res == "") { return(Json(Tools.ResultErr())); } var jo = JObject.Parse(res); if (jo["error"] != null) { return(Json(Tools.ResultErr(jo["error_description"].ToString()))); } var dto = new Ele_AccountDTO(); dto.AccountNo = accountNo; dto.AccountName = accountName; dto.UserId = userId; dto.AccessToken = jo["access_token"].ToString(); dto.TokenType = jo["token_type"].ToString(); dto.RefreshToken = jo["refresh_token"].ToString(); dto.Scope = jo["scope"]?.ToString(); dto.ExpiresDate = DateTime.Now.AddSeconds(double.Parse(jo["expires_in"].ToString())); _serviceAccount.Add(dto); return(Json(new { message = "ok" })); } catch (Exception e) { _log.DebugFormat("【信息记录】用户:{0} 类型:Authorize 信息{1}", state, e.Message); _log.DebugFormat("【信息记录】用户:{0} 类型:Authorize 信息{1}", state, e.GetOriginalException().Message); return(Json(new { message = "ok" })); } }
public string Tree() { //获取账户 var accounts = _serviceAccount.GetAccounts(Global.USER_ID); var nodes = new List <ZTreeNode>(); foreach (var account in accounts) { nodes.Add(new ZTreeNode { id = account.Id.ToString(), name = account.AccountName, pId = "", isParent = true }); var serviceUser = new EleUserApiService(); var res = serviceUser.GetUser(account.AccessToken); if (res.error != null) { continue; } var jObject = JObject.Parse(res.result.ToString()); var shops = JArray.Parse(jObject["authorizedShops"].ToString()); foreach (var shop in shops) { nodes.Add(new ZTreeNode { id = shop["id"].ToString(), name = shop["name"].ToString(), pId = account.Id.ToString(), token = account.AccessToken }); } } //将获取的节点集合转换为json格式字符串,并返回 var json = JsonConvert.SerializeObject(nodes); return(json); }
public List <ShopMap> GetList(string type = "") { var list = new List <ShopMap>(); //获取账户 var accounts = _serviceAccount.GetAccounts(Global.USER_ID); //已经映射过的门店 var listMapped = _serviceShop.GetByUserId(Global.USER_ID); //获取365门店 var listShop365 = Bak365Service.GetShopList(); //根据账户获取门店 foreach (var account in accounts) { EleUserApiService serviceUser = new EleUserApiService(); var res = serviceUser.GetUser(account.AccessToken); if (res.error != null) { continue; } JObject jObject = JObject.Parse(res.result.ToString()); JArray shops = JArray.Parse(jObject["authorizedShops"].ToString()); foreach (var shop in shops) { ShopMap shopMap = new ShopMap(); shopMap.AccountId = account.Id; shopMap.AccountNo = account.AccountNo; shopMap.AccountName = account.AccountName; shopMap.AccessToken = account.AccessToken; shopMap.ShopId = (long)shop["id"]; shopMap.ShopNameEle = shop["name"].ToString(); if (type.ToUpper() == "MATCH") { foreach (var shop365 in listShop365) { if (shop["name"].ToString().Contains(shop365.Value)) { shopMap.ShopNo = shop365.Key; shopMap.ShopName = shop365.Value; break; } } } else { var dd = listMapped.Find(a => a.ShopId.ToString() == shop["id"].ToString()); if (dd != null) { shopMap.ShopNo = dd.ShopNo; shopMap.ShopName = listShop365[dd.ShopNo]; } } list.Add(shopMap); } } return(list); }