public static int GetSoldRefundsCount(SoldRefundsRequest request) { int totalCount = 0; #region MyRegion string param = string.Empty; Dictionary <string, string> keyValuePairs = SignHelper.GetDictionary <SoldRefundsRequest>(request); keyValuePairs.Add("app_key", appKey); keyValuePairs.Add("timestamp", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); foreach (var kv in keyValuePairs) { param += kv.Key + "=" + kv.Value + "&"; } param = param.Substring(0, param.Length - 1); LogHelper.Info("param参数:" + param); string sign = SignHelper.SignTopRequest(keyValuePairs, "md5", appSecret); LogHelper.Info("sign签名:" + sign); param += "&sign=" + sign; string postUrl = url + WXAppConstants.soldrefundsUrl; var result = string.Empty;//请求结果 try { result = HttpHelper.HttpGet(postUrl, param); LogHelper.Info("请求结果:" + result); } catch (Exception ex) { LogHelper.Info("请求失败:" + ex.Message); } SoldRefundsResponse response = null; if (!string.IsNullOrEmpty(result)) { try { response = JsonConvert.DeserializeObject <SoldRefundsResponse>(result, new JsonSerializerSettings() { NullValueHandling = NullValueHandling.Ignore }); } catch (Exception ex) { LogHelper.Info("转换失败:" + ex.Message); } } if (response != null) { totalCount = response.refunds_get_response.total_results; } #endregion return(totalCount); }
/// <summary> /// 获取售后列表(根据申请时间) /// </summary> public static void GetSoldRefunds() { LogHelper.SetPreFilePath = "SoldRefund"; SoldRefundsRequest request = new SoldRefundsRequest(); int TotalCount = GetSoldRefundsCount(request); LogHelper.Info("总条数:" + TotalCount); int PageCount = TotalCount % PageSize == 0 ? TotalCount / PageSize : TotalCount / PageSize + 1; LogHelper.Info("总页数:" + PageCount); #region 过程 for (int i = 1; i <= PageCount; i++) { request.page_no = i; string param = string.Empty; Dictionary <string, string> keyValuePairs = SignHelper.GetDictionary <SoldRefundsRequest>(request); keyValuePairs.Add("app_key", appKey); keyValuePairs.Add("timestamp", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); foreach (var kv in keyValuePairs) { param += kv.Key + "=" + kv.Value + "&"; } param = param.Substring(0, param.Length - 1); LogHelper.Info("param参数:" + param); string sign = SignHelper.SignTopRequest(keyValuePairs, "md5", appSecret); LogHelper.Info("sign签名:" + sign); param += "&sign=" + sign; string postUrl = url + WXAppConstants.soldrefundsUrl; var result = string.Empty;//请求结果 try { result = HttpHelper.HttpGet(postUrl, param); LogHelper.Info("请求结果:" + result); } catch (Exception ex) { LogHelper.Info("请求失败:" + ex.Message); } SoldRefundsResponse response = null; if (!string.IsNullOrEmpty(result)) { try { response = JsonConvert.DeserializeObject <SoldRefundsResponse>(result, new JsonSerializerSettings() { NullValueHandling = NullValueHandling.Ignore }); } catch (Exception ex) { LogHelper.Info("转换失败:" + ex.Message); } } if (response != null) { List <RefundDetail> rds = new List <RefundDetail>(); List <SoldRefund> soldRefunds = response.refunds_get_response.refunds; foreach (var item in soldRefunds) { RefundDetail rd = GetRefundDetail(item.returnId.ToString()); rd.userSendGoodsTime = item.userSendGoodsTime; rds.Add(rd); } try { var ms = service.AddSoldRefundDetail(rds); LogHelper.Info("返回信息" + ms); } catch (Exception ex) { } } } #endregion }