/// <summary> /// 获取单笔订单详情 /// </summary> /// <param name="param">参数实体</param> /// <param name="auth">授权参数</param> /// <returns>单笔订单详情</returns> /// <reamrks>2017-08-18 罗勤瑶 创建</reamrks> public Result <UpGradeOrder> GetOrderDetail(OrderParameters param, AuthorizationParameters auth) { //}; var dealerInfo = new HytOrderDealerInfo() { DealerSysNo = auth.DealerMall.DealerSysNo, // DealerMallSysNo = auth.DealerMall.SysNo, // HytPayStatus = 20, IsSelfSupport = auth.DealerMall.IsSelfSupport, // }; var result = new Result <UpGradeOrder> { Status = true, Message = "", Data = null, StatusCode = 0 }; var order = new UpGradeOrder(); var _param = new Dictionary <string, string>(); param.PageSize = 999; param.PageIndex = 1; //请求的参数类调用 GeGeJiaParameter ggjParameter = new GeGeJiaParameter(); ///格格家没有单个订单的接口 /// //string parm = "{\"params\":{\"startTime\":\"" + param.StartDate.ToString("yyyy-MM-dd HH:mm:ss") + "\",\"endTime\":\"" + param.EndDate.ToString("yyyy-MM-dd HH:mm:ss") + "\",\"page\":" + param.PageIndex + ", \"pageSize\":" + param.PageSize //+ ", \"status\":2},\"partner\":\"" + auth.DealerApp.AppSecret + "\",\"timestamp\":\"" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "\"}"; return(null); }
/// <summary> /// 批量获取指定时间区间的订单 /// (待升舱的订单) /// </summary> /// <param name="param">参数实体</param> /// <param name="auth">授权参数</param> /// <returns>订单列表</returns> /// <remarks>2016-6-11 杨浩 创建</remarks> public Result <List <UpGradeOrder> > GetOrderList(OrderParameters param, AuthorizationParameters auth) { var dealerInfo = new HytOrderDealerInfo() { DealerSysNo = 0, DealerMallSysNo = 5, HytPayStatus = 20, IsSelfSupport = 1, }; var result = new Result <List <UpGradeOrder> > { Status = true, Message = "", Data = null, StatusCode = 0 }; var orderList = new List <UpGradeOrder>(); var _param = new Dictionary <string, string>(); //_param.Add("fields", "tid,title,receiver_city,outer_tid,orders"); _param.Add("status", "WAIT_SELLER_SEND_GOODS");//等待卖家发货,即:买家已付款 _param.Add("use_has_next", "true"); _param.Add("page_size", "40"); _param.Add("page_no", "1"); _param.Add("start_update", param.StartDate.ToString("yyyy-MM-dd HH:mm:ss")); _param.Add("end_update", param.EndDate.ToString("yyyy-MM-dd HH:mm:ss")); //_param.Add("start_created", param.StartDate.ToString("yyyy-MM-dd HH:mm:ss")); //_param.Add("end_created", param.EndDate.ToString("yyyy-MM-dd HH:mm:ss")); var response = kit.get("kdt.trades.sold.get", _param); while (true) { var trade = JObject.Parse(response); var trades = trade["response"]["trades"]; bool has_next = bool.Parse(trade["response"]["has_next"].ToString()); trade = JObject.Parse(response); foreach (var i in trades) { var order = new UpGradeOrder(); Map(i, order); order.HytOrderDealer = dealerInfo; order.HytOrderDealer.HytPayType = YouZanPayToPayTypeSysNo(i["pay_type"].ToString()); orderList.Add(order); } if (has_next) { _param["page_no"] = (int.Parse(_param["page_no"].ToString()) + 1).ToString(); response = kit.get("kdt.trades.sold.get", _param); } else { break; } } result.Data = orderList; return(result); }
/// <summary> /// 批量获取指定时间区间的订单 /// (待升舱的订单) /// </summary> /// <param name="param">参数实体</param> /// <param name="auth">授权参数</param> /// <returns>订单列表</returns> /// <reamrks>2017-08-16 黄杰 创建</reamrks> public Result <List <UpGradeOrder> > GetOrderList(OrderParameters param, AuthorizationParameters auth) { var dealerInfo = new HytOrderDealerInfo() { DealerSysNo = 2323, DealerMallSysNo = 17, HytPayStatus = 20, IsSelfSupport = 1, }; var result = new Result <List <UpGradeOrder> > { Status = true, Message = "", Data = null, StatusCode = 0 }; return(result); }
/// <summary> /// 获取已升舱待发货订单 /// </summary> /// <param name="param"></param> /// <param name="auth"></param> /// <returns></returns> public Result <List <UpGradeOrder> > GetUpGradedWaitSend(OrderParameters param, AuthorizationParameters auth) { var result = new Result <List <UpGradeOrder> >(); try { var list = new List <UpGradeOrder>(); var request = (HttpWebRequest)WebRequest.Create(url + "/Order/getOrder?Key=" + key + "&paymentStatus=20&Status=60"); var response = (HttpWebResponse)request.GetResponse(); var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd(); var trade = JObject.Parse(responseString); if (!Convert.ToBoolean(trade["Status"].ToString())) { return(result); } for (int i = 0; i < trade["Data"].Count(); i++) { UpGradeOrder data = new UpGradeOrder(); //商城订单相关信息 HytOrderDealerInfo f = new HytOrderDealerInfo(); f.DealerSysNo = 727; f.DealerMallSysNo = 30; f.ShopName = "货栈"; f.HytPayStatus = 20; f.HytPayment = Convert.ToDecimal(trade["Data"][i]["OrderAmount"].ToString()); f.HytOrderId = trade["Data"][i]["OrderCode"].ToString(); f.OrderTransactionSysNo = ""; f.DeliveryStatus = "待配送"; f.HytOrderTime = Convert.ToDateTime(trade["Data"][i]["AddDate"].ToString()); f.IsSelfSupport = 1; f.HytPayType = Hyt.Model.SystemPredefined.PaymentType.分销商预存; data.HytOrderDealer = f; //第三方卖家信息 MallOrderBuyerInfo m = new MallOrderBuyerInfo(); m.MallOrderId = trade["Data"][i]["OrderCode"].ToString(); m.BuyerNick = "货栈"; data.MallOrderBuyer = m; //订单收货信息 MallOrderReceiveInfo s = new MallOrderReceiveInfo(); s.IdCard = trade["Data"][i]["ConsigneeIDCardNo"].ToString(); s.ReceiveContact = trade["Data"][i]["ConsigneeName"].ToString(); s.Mobile = trade["Data"][i]["ConsigneeMobile"].ToString(); s.Province = trade["Data"][i]["Province"].ToString(); s.City = trade["Data"][i]["City"].ToString(); s.District = trade["Data"][i]["District"].ToString(); s.ReceiveAddress = trade["Data"][i]["ConsigneeAddress"].ToString(); data.MallOrderReceive = s; if (data.UpGradeOrderItems == null) { data.UpGradeOrderItems = new List <UpGradeOrderItem>(); } //订单明细列表 for (int ii = 0; ii < trade["Data"][i]["Product"].Count(); ii++) { var r = trade["Data"][i]["Product"][ii]; AddB2CProduct(r["ProductCode"].ToString()); UpGradeOrderItem mx = new UpGradeOrderItem(); mx.OrderId = trade["Data"][i]["OrderCode"].ToString(); mx.MallProductName = r["ProductName"].ToString(); mx.MallProductCode = r["ProductCode"].ToString(); mx.HytProductErpCode = r["ProductCode"].ToString(); mx.HytProductName = r["ProductName"].ToString(); mx.HytPrice = Convert.ToDecimal(r["OriginalUnitPrice"].ToString()); mx.MallPrice = Convert.ToDecimal(r["OriginalUnitPrice"].ToString()); mx.MallAmount = Convert.ToDecimal(r["SalesAmount"].ToString()); mx.Quantity = Convert.ToInt32(r["Count"].ToString()) * GetNumberInt(r["Specifications"].ToString()); mx.DiscountFee = 0; mx.ProductSalesType = 10; data.UpGradeOrderItems.Add(mx); } list.Add(data); } result.Status = true; result.Data = list; } catch (Exception ex) { result.Status = false; result.Message = ex.Message; } return(result); }
/// <summary> /// 批量获取指定时间区间的订单 /// </summary> /// <param name="param"></param> /// <param name="auth"></param> /// <returns></returns> public Result <List <UpGradeOrder> > GetOrderList(OrderParameters param, AuthorizationParameters auth) { Result <List <UpGradeOrder> > result = new Result <List <UpGradeOrder> >(); List <UpGradeOrder> list = new List <UpGradeOrder>(); var urlstr = url + "/Order/getOrder?Key=" + key + "&paymentStatus=20&Status=60"; urlstr += "&beginDate=" + param.StartDate; urlstr += "&endDate=" + param.EndDate; var request = (HttpWebRequest)WebRequest.Create(urlstr); var response = (HttpWebResponse)request.GetResponse(); var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd(); var trade = JObject.Parse(responseString); if (!Convert.ToBoolean(trade["Status"].ToString())) { result.Message = trade["Message"].ToString(); result.Status = false; return(result); } #region 读取订单 for (int i = 0; i < trade["Data"].Count(); i++) { var data = new UpGradeOrder(); //商城订单相关信息 HytOrderDealerInfo f = new HytOrderDealerInfo(); f.DealerSysNo = 727; f.DealerMallSysNo = 30; f.ShopName = "货栈"; f.HytPayStatus = 20; f.HytPayment = Convert.ToDecimal(trade["Data"][i]["OrderAmount"].ToString()); f.HytOrderId = trade["Data"][i]["OrderCode"].ToString(); f.OrderTransactionSysNo = ""; f.DeliveryStatus = "待配送"; f.HytOrderTime = Convert.ToDateTime(trade["Data"][i]["AddDate"].ToString()); f.IsSelfSupport = 1; data.HytOrderDealer = f; //第三方卖家信息 var m = new MallOrderBuyerInfo(); m.MallOrderId = trade["Data"][i]["OrderCode"].ToString(); m.BuyerNick = "货栈"; data.MallOrderBuyer = m; //订单收货信息 MallOrderReceiveInfo s = new MallOrderReceiveInfo(); s.IdCard = trade["Data"][i]["ConsigneeIDCardNo"].ToString(); s.ReceiveContact = trade["Data"][i]["ConsigneeName"].ToString(); s.Mobile = trade["Data"][i]["ConsigneeMobile"].ToString(); s.Province = trade["Data"][i]["Province"].ToString(); s.City = trade["Data"][i]["City"].ToString(); s.District = trade["Data"][i]["District"].ToString(); s.ReceiveAddress = trade["Data"][i]["ConsigneeAddress"].ToString(); data.MallOrderReceive = s; if (data.UpGradeOrderItems == null) { data.UpGradeOrderItems = new List <UpGradeOrderItem>(); } var paymentInfo = new MallOrderPaymentInfo(); paymentInfo.Payment = f.HytPayment; paymentInfo.PostFee = Convert.ToDecimal(trade["Data"][i]["FreightAmount"].ToString()); if (trade["Data"][i]["fnReceiptVoucher"].Count() > 0) { paymentInfo.Payment = Convert.ToDecimal(trade["Data"][i]["fnReceiptVoucher"]["Amount"].ToString()); paymentInfo.PayTime = Convert.ToDateTime(trade["Data"][i]["fnReceiptVoucher"]["CreatedDate"].ToString()); paymentInfo.AlipayNo = trade["Data"][i]["fnReceiptVoucher"]["VoucherNo"].ToString(); paymentInfo.TotalTaxAmount = Convert.ToDecimal(trade["Data"][i]["TaxFee"].ToString()); } else { result.Status = false; result.Message = "接口获取的订单号【" + f.HytOrderId + "】没有支付信息!"; return(result); } data.MallOrderPayment = paymentInfo; //订单明细列表 for (int ii = 0; ii < trade["Data"][i]["Product"].Count(); ii++) { var r = trade["Data"][i]["Product"][ii]; AddB2CProduct(r["ProductCode"].ToString()); UpGradeOrderItem mx = new UpGradeOrderItem(); mx.OrderId = trade["Data"][i]["OrderCode"].ToString(); mx.MallProductName = r["ProductName"].ToString(); mx.MallProductCode = r["ProductCode"].ToString(); mx.HytProductErpCode = r["ProductCode"].ToString(); mx.HytProductName = r["ProductName"].ToString(); mx.HytPrice = Convert.ToDecimal(r["OriginalUnitPrice"].ToString()); mx.MallPrice = Convert.ToDecimal(r["OriginalUnitPrice"].ToString()); mx.MallAmount = Convert.ToDecimal(r["SalesAmount"].ToString()); mx.Quantity = Convert.ToInt32(r["Count"].ToString()) * GetNumberInt(r["Specifications"].ToString()); mx.DiscountFee = 0; mx.ProductSalesType = 10; data.UpGradeOrderItems.Add(mx); } list.Add(data); } #endregion result.Status = true; result.Data = list; return(result); }
/// <summary> /// 批量获取指定时间区间的订单 /// (待升舱的订单) /// </summary> /// <param name="param">参数实体</param> /// <param name="auth">授权参数</param> /// <returns>订单列表</returns> /// <reamrks>2017-08-18 黄杰 创建</reamrks> /// /// <reamrks>2018-03-18 罗勤瑶 修改</reamrks> public Result <List <UpGradeOrder> > GetOrderList(OrderParameters param, AuthorizationParameters auth) { //var dealerInfo = new HytOrderDealerInfo() //{ // DealerSysNo = 129, // DealerMallSysNo = 24, // HytPayStatus = 20, // IsSelfSupport = 1, //}; var dealerInfo = new HytOrderDealerInfo() { DealerSysNo = auth.DealerMall.DealerSysNo, // DealerMallSysNo = auth.DealerMall.SysNo, // HytPayStatus = 20, IsSelfSupport = auth.DealerMall.IsSelfSupport, // }; var result = new Result <List <UpGradeOrder> > { Status = true, Message = "", Data = null, StatusCode = 0 }; var orderList = new List <UpGradeOrder>(); var _param = new Dictionary <string, string>(); param.PageSize = 999; param.PageIndex = 1; //请求的参数类调用 GeGeJiaParameter ggjParameter = new GeGeJiaParameter(); //startTime付款起始时间、endTime付款结束时间。starTime必须小于endTime,并且起始时间跟结束时间差不得超过30天 //page页码,不传默认展示第一页 //pageSize每页数量,不传默认一页50条 //status订单状态;1:未付款,2:待发货,3:已发货,4:交易成功,5:用户取消(待退款团购),6:超时取消(已退款团购),7:团购进行中(团购) //partner商家身份标识 //timestamp时间戳 string parm = "{\"params\":{\"startTime\":\"" + param.StartDate.ToString("yyyy-MM-dd HH:mm:ss") + "\",\"endTime\":\"" + param.EndDate.ToString("yyyy-MM-dd HH:mm:ss") + "\",\"page\":" + param.PageIndex + ", \"pageSize\":" + param.PageSize + ", \"status\":2},\"partner\":\"" + auth.DealerApp.AppSecret + "\",\"timestamp\":\"" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "\"}"; #region 时间控制 string weekstr = DateTime.Now.DayOfWeek.ToString(); bool isTest = true; if ((weekstr == "Sunday" || weekstr == "Saturday" || (DateTime.Now.Hour > 16 && DateTime.Now.Minute > 30) || (DateTime.Now.Hour < 9)) && !isTest) { return(new Result <List <UpGradeOrder> >() { Status = false, StatusCode = 9999, Message = "不是接单时间", Data = null }); } #endregion //MD5加密签名 string sign = MD5Encrypt(auth.DealerApp.AppKey + parm + auth.DealerApp.AppKey).ToUpper(); var response = PostJson("http://openapi.gegejia.com:8902/api/order/findOrders", parm, sign); param.PageIndex = 1; while (true) { var trade = JObject.Parse(response); if (trade["success"].ToString() == "false") { return(new Result <List <UpGradeOrder> >() { Status = false, StatusCode = 9999, Message = trade["errMsg"].ToString(), Data = null }); } int total = int.Parse(trade["totalCount"].ToString()); int totalPage = total / param.PageSize; if (total % param.PageSize != 0) { totalPage++; } var trades = trade["orders"]; if (trades == null) { return(new Result <List <UpGradeOrder> >() { Status = false, StatusCode = 9999, Message = "没有订单", Data = null }); } bool has_next = param.PageIndex < totalPage; //trade = JObject.Parse(response.ToString()); foreach (var i in trades) { //未冻结订单才能接受 if (i["freezeStatus"].ToString() == "0" || i["freezeStatus"].ToString() == "2") { var order = new UpGradeOrder(); Map(i, order); order.HytOrderDealer = dealerInfo; // 支付方式(1货到付款, 2邮局汇款, 3自提, 4在线支付, 5公司转账, 6银行卡转账) order.HytOrderDealer.HytPayType = GeGeJiaToPayTypeSysNo(i["payChannel"].ToString()); orderList.Add(order); } } if (has_next) { param.PageIndex++; ggjParameter.paramss.page = param.PageIndex; parm = "{\"params\":{\"startTime\":\"" + param.StartDate.ToString("yyyy-MM-dd HH:mm:ss") + "\",\"endTime\":\"" + param.EndDate.ToString("yyyy-MM-dd HH:mm:ss") + "\",\"page\":" + param.PageIndex + ", \"pageSize\":" + param.PageSize + ", \"status\":2},\"partner\":\"" + auth.DealerApp.AppSecret + "\",\"timestamp\":\"" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "\"}"; response = PostJson("http://openapi.gegejia.com:8902/api/order/findOrders", parm, sign); } else { break; } } result.Data = orderList; return(result); }
/// <summary> /// 批量获取指定时间区间的订单 /// (待升舱的订单) /// </summary> /// <param name="param">参数实体</param> /// <param name="auth">授权参数</param> /// <returns>订单列表</returns> /// <reamrks>2017-09-06 黄杰 创建</reamrks> public Result <List <UpGradeOrder> > GetOrderList(OrderParameters param, AuthorizationParameters auth) { var dealerInfo = new HytOrderDealerInfo() { DealerSysNo = 129, DealerMallSysNo = 24, HytPayStatus = 20, IsSelfSupport = 1, }; var result = new Result <List <UpGradeOrder> > { Status = true, Message = "", Data = null, StatusCode = 0 }; var orderList = new List <UpGradeOrder>(); var _param = new Dictionary <string, string>(); //签名参数 var signParameter = config.AppSecret + "$methodgome.order.orders.get$token" + config.AccessToken + "$v1.0.0endDate" + param.EndDate.ToString("yyyy-MM-dd HH:mm:ss") + "pageNo" + param.PageIndex + "pageSize" + param.PageSize + "startDate" + param.StartDate.ToString("yyyy-MM-dd HH:mm:ss") + "statusPR" + config.AppSecret; var sign = SHA1(signParameter, Encoding.UTF8).ToUpper(); string req = "$token=" + config.AccessToken + "&$method=gome.order.orders.get&$v=1.0.0&$sign=" + sign + "&startDate=" + param.StartDate.ToString("yyyy-MM-dd HH:mm:ss") + "&endDate=" + param.EndDate.ToString("yyyy-MM-dd HH:mm:ss") + "&status=PR&pageNo=" + param.PageIndex + "&pageSize=" + param.PageSize + ""; var response = Hyt.Util.WebUtil.Get(config.ApiUrl + "?" + req); param.PageIndex = 1; while (true) { var trade = JObject.Parse(response); int total = int.Parse(trade["gome_order_orders_get_response"]["result"]["totalResult"].ToString()); int totalPage = total / param.PageSize; if (total % param.PageSize != 0) { totalPage++; } var trades = trade["gome_order_orders_get_response"]["result"]["orders"]; bool has_next = param.PageIndex < totalPage; //trade = JObject.Parse(response.ToString()); foreach (var i in trades) { var order = new UpGradeOrder(); Map(i, order); order.HytOrderDealer = dealerInfo; // 支付方式(1货到付款, 2邮局汇款, 3自提, 4在线支付, 5公司转账, 6银行卡转账) order.HytOrderDealer.HytPayType = GuoMeiToPayTypeSysNo(i["payType"].ToString()); orderList.Add(order); } if (has_next) { param.PageIndex++; response = Hyt.Util.WebUtil.Get(config.ApiUrl + "?" + req); } else { break; } } result.Data = orderList; return(result); }
/// <summary> /// 海带批量获取指定时间区间的订单并接单 /// (待升舱的订单)(未发货的订单) /// </summary> /// <param name="param">参数实体</param> /// <param name="auth">授权参数</param> /// <returns>订单列表</returns> /// <remarks>2016-6-11 杨浩 创建</remarks> public Result <List <UpGradeOrder> > GetOrderList(OrderParameters param, AuthorizationParameters auth) { var dealerInfo = new HytOrderDealerInfo() { DealerSysNo = auth.DealerMall.DealerSysNo, //408, DealerMallSysNo = auth.DealerMall.SysNo, //22, HytPayStatus = 20, IsSelfSupport = auth.DealerMall.IsSelfSupport, //1, }; var client = GetClient(auth.DealerApp.AppSecret, auth.DealerApp.AppKey, auth.DealerApp.Extend.Trim()); var result = new Result <List <UpGradeOrder> > { Status = true, Message = "", Data = null, StatusCode = 0 }; #region 时间控制 string weekstr = DateTime.Now.DayOfWeek.ToString(); bool isTest = true; if ((weekstr == "Sunday" || weekstr == "Saturday" || (DateTime.Now.Hour > 16 && DateTime.Now.Minute > 30) || (DateTime.Now.Hour < 9)) && !isTest) { return(new Result <List <UpGradeOrder> >() { Status = false, StatusCode = 9999, Message = "不是接单时间", Data = null }); } #endregion #region 参数 var pa = new HaiDaiOrderParameter(); pa.payStartTime = param.StartDate.ToString("yyyy-MM-dd"); pa.payEndTime = DateTime.Now.AddDays(1).ToString("yyyy-MM-dd"); //type=3 待接收订单 0:待发货 pa.type = 3; pa.PageSize = 9999999; pa.PageNum = 1; var dicOrder = SetParameters(auth.AuthorizationCode); dicOrder.Add("type", pa.type.ToString()); dicOrder.Add("abnormalStatus", "0"); if (!(pa.PageNum == 0)) { dicOrder.Add("pageNum", pa.PageNum.ToString()); } if (!(pa.PageSize == 0)) { dicOrder.Add("pageSize", pa.PageSize.ToString()); } //时间范围暂时注释 if (!string.IsNullOrEmpty(pa.payStartTime)) { dicOrder.Add("payStartTime", pa.payStartTime); } if (!string.IsNullOrEmpty(pa.payEndTime)) { dicOrder.Add("payEndTime", pa.payEndTime); } #endregion //正式服务器接口 string url = config.ApiUrlTest + "/api/depot/order!getOrderList.do"; //第三方订单id集合 var orders = new List <int>(); var ordlist = client.InvokeOpenApi(url, dicOrder, null); var list = new List <UpGradeOrder>(); #region 待接收订单 if (ordlist.result == 1) { foreach (resultList deal in ordlist.data.result) { orders.Add(deal.orderId); var order = new UpGradeOrder(); var orderdetailResult = OrderDetail(deal.orderId.ToString(), auth); if (!orderdetailResult.Status) { result.Status = false; result.Message = orderdetailResult.Message; return(result); } Map(deal, order, orderdetailResult.Data); order.HytOrderDealer = dealerInfo; list.Add(order); } } else { result.Status = false; result.Message = ordlist.message; return(result); } #endregion #region 待发货订单 dicOrder["type"] = "0"; //dicOrder["type"] = "1"; dicOrder.Remove("timestamp"); dicOrder.Remove("topSign"); ordlist = client.InvokeOpenApi(url, dicOrder, null); if (ordlist.result == 1) { foreach (resultList deal in ordlist.data.result) { orders.Add(deal.orderId); var order = new UpGradeOrder(); var orderdetailResult = OrderDetail(deal.orderId.ToString(), auth); if (!orderdetailResult.Status) { result.Status = false; result.Message = orderdetailResult.Message; return(result); } Map(deal, order, orderdetailResult.Data); order.HytOrderDealer = dealerInfo; order.HytOrderDealer.HytPayType = Hyt.Model.SystemPredefined.PaymentType.分销商预存; list.Add(order); } } else { result.Status = false; result.Message = ordlist.message; return(result); } #endregion //if (isTest) //{ // return new Result<List<UpGradeOrder>>() // { // Status = true, // StatusCode = 9999, // Data = new List<UpGradeOrder>() // }; //} //接单 var res = GetMallOrderDetail(orders, client, auth); return(new Result <List <UpGradeOrder> >() { Status = true, StatusCode = 1, Data = list }); }
/// <summary> /// 批量获取指定时间区间的订单 /// (待升舱的订单) /// </summary> /// <param name="param">参数实体</param> /// <param name="auth">授权参数</param> /// <returns>订单列表</returns> /// <reamrks>2017-08-16 黄杰 创建</reamrks> public Result <List <UpGradeOrder> > GetOrderList(OrderParameters param, AuthorizationParameters auth) { var dealerInfo = new HytOrderDealerInfo() { DealerSysNo = 2323, DealerMallSysNo = 17, HytPayStatus = 20, IsSelfSupport = 1, }; var result = new Result <List <UpGradeOrder> > { Status = true, Message = "", Data = null, StatusCode = 0 }; var orderList = new List <UpGradeOrder>(); var _param = new Dictionary <string, string>(); //创建PopOrderSearchRequest对象 var req = new PopOrderSearchRequest(); //多订单状态 req.orderState = "WAIT_SELLER_STOCK_OUT"; req.orderState = "TRADE_CANCELED"; //需返回的字段列表 req.optionalFields = "orderId,venderId,orderType,payType,orderTotalPrice,orderSellerPrice,orderPayment,freightPrice,sellerDiscount,orderState,orderStateRemark,deliveryType,invoiceInfo,invoiceCode,orderRemark,orderStartTime,orderEndTime,consigneeInfo,itemInfoList,couponDetailList,venderRemark,balanceUsed,pin,returnOrder,paymentConfirmTime,waybill,logisticsId,vatInfo,modified,directParentOrderId,parentOrderId,customs,customsModel,orderSource,storeOrder,idSopShipmenttype,scDT,serviceFee,pauseBizInfo,taxFee,tuiHuoWuYou,storeId"; //查询的页数 req.page = param.PageIndex.ToString(); //每页的条数(最大page_size 100条) req.pageSize = param.PageSize.ToString(); var response = client.Execute(req, config.AccessToken, DateTime.Now.ToLocalTime()); param.PageIndex = 1; if (response.searchorderinfoResult == null) { return(result); } while (true) { var trade = JObject.Parse(response.searchorderinfoResult); int total = int.Parse(trade["orderTotal"].ToString()); int totalPage = total / param.PageSize; if (total % param.PageSize != 0) { totalPage++; } var trades = trade["orderInfoList"]; bool has_next = param.PageIndex < totalPage; //trade = JObject.Parse(response.ToString()); foreach (var i in trades) { var order = new UpGradeOrder(); Map(i, order); order.HytOrderDealer = dealerInfo; // 支付方式(1货到付款, 2邮局汇款, 3自提, 4在线支付, 5公司转账, 6银行卡转账) order.HytOrderDealer.HytPayType = JingDongToPayTypeSysNo(i["payType"].ToString()); orderList.Add(order); } if (has_next) { param.PageIndex++; req.page = param.PageIndex.ToString(); response = client.Execute(req, auth.AuthorizationCode, DateTime.Now.ToLocalTime()); } else { break; } } result.Data = orderList; return(result); }
/// <summary> /// 获取一号店指定时间区间的订单 /// </summary> /// <param name="param">查询参数</param> /// <param name="auth">授权参数</param> /// <returns>一号店订单列表</returns> /// <remarks>2017-08-23 黄杰 创建</remarks> public Result <List <UpGradeOrder> > GetOrderList(OrderParameters param, AuthorizationParameters auth) { var dealerInfo = new HytOrderDealerInfo() { DealerSysNo = 1565, DealerMallSysNo = 10, HytPayStatus = 20, IsSelfSupport = 1, }; var result = new Result <List <UpGradeOrder> > { Status = true, Message = "", Data = null, StatusCode = 0 }; var orderList = new List <UpGradeOrder>(); var _param = new Dictionary <string, string>(); var req = new OrdersGetRequest() { /**订单状态(逗号分隔): * ORDER_WAIT_PAY:已下单(货款未全收)、 * ORDER_PAYED:已下单(货款已收)、 * ORDER_WAIT_SEND:可以发货(已送仓库)、 * ORDER_ON_SENDING:已出库(货在途)、 * ORDER_RECEIVED:货物用户已收到、 * ORDER_FINISH:订单完成、 * ORDER_CANCEL:订单取消 */ OrderStatusList = "ORDER_WAIT_SEND", //可以发货(已送仓库) DateType = 2, //日期类型(1:订单生成日期,2:订单付款日期,3:订单发货日期,4:订单收货日期,5:订单更新日期) StartTime = param.StartDate.ToString("yyyy-MM-dd HH:mm:ss"), //查询开始时间 格式2011-12-12 20:10:10 EndTime = param.EndDate.ToString("yyyy-MM-dd HH:mm:ss"), //查询结束时间(时间差为15天) CurPage = 1, //当前页数 PageRows = 80 //每页显示记录数,默认50,最大100 }; var response = client.Execute(req, config.SessionKey); //循环获得订单编号,并根据订单编号获取订单详情 while (true) { var trades = JObject.Parse(response.ToString()); int totals = int.Parse(trades["response"]["totalCount"].ToString()); int totalPages = totals / param.PageSize; if (totals % param.PageSize != 0) { totalPages++; } var tradess = trades["response"]["orderList"]["order"]; bool has_nexts = param.PageIndex < totalPages; //trade = JObject.Parse(response.ToString()); foreach (var i in tradess) { //根据获取的订单号取得订单详情 var reqs = new OrdersDetailGetRequest() { OrderCodeList = i["orderId"].ToString() }; var responseData = client.Execute(reqs, config.SessionKey); #region 把订单详情和MAP绑定 while (true) { var trade = JObject.Parse(responseData.ToString()); int total = int.Parse(trade["response"]["totalCount"].ToString()); int totalPage = total / param.PageSize; if (total % param.PageSize != 0) { totalPage++; } var trades1 = trade["response"]["orderInfoList"]["orderInfo"]; bool has_next = param.PageIndex < totalPage; //trade = JObject.Parse(response.ToString()); foreach (var j in trades1) { var order = new UpGradeOrder(); Map(j, order); order.HytOrderDealer = dealerInfo; //// 支付方式(一号店无支付方式选项) //order.HytOrderDealer.HytPayType = YihaodianToPayTypeSysNo(i["payType"].ToString()); orderList.Add(order); } if (has_next) { param.PageIndex++; req.CurPage = param.PageIndex; response = client.Execute(req, config.SessionKey); } else { break; } } #endregion } if (has_nexts) { param.PageIndex++; req.CurPage = param.PageIndex; response = client.Execute(req, config.SessionKey); } else { break; } } result.Data = orderList; return(result); }
/// <summary> /// 批量获取指定时间区间的订单 /// (待升舱的订单) /// </summary> /// <param name="param">参数实体</param> /// <param name="auth">授权参数</param> /// <returns>订单列表</returns> /// <remarks>2017-09-07 黄杰 创建</remarks> public Result <List <UpGradeOrder> > GetOrderList(OrderParameters param, AuthorizationParameters auth) { var dealerInfo = new HytOrderDealerInfo() { DealerSysNo = 129, DealerMallSysNo = 24, HytPayStatus = 20, IsSelfSupport = 1, }; var result = new Result <List <UpGradeOrder> > { Status = true, Message = "", Data = null, StatusCode = 0 }; var orderList = new List <UpGradeOrder>(); var _param = new Dictionary <string, string>(); string appMethod = "suning.custom.order.query"; string appRequestTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); string versionNo = "v1.2"; //orderStatus订单头状态(10:买家已付款,20:卖家已发货,21:部分发货,30:交易成功,40:交易关闭) string resparam = "<sn_request><sn_body><orderQuery><startTime>" + param.StartDate.ToString("yyyy-MM-dd HH:mm:ss") + "</startTime><pageNo>" + param.PageIndex + "</pageNo><pageSize>" + param.PageSize + "</pageSize><endTime>" + param.EndDate.ToString("yyyy-MM-dd HH:mm:ss") + "</endTime><orderStatus>10</orderStatus></orderQuery></sn_body></sn_request>"; string format = "json"; string sign = getSignInfo(config.AppSecret, appMethod, appRequestTime, config.AppKey, versionNo, resparam); string response = GetPost(appMethod, config.AppKey, sign, resparam, appRequestTime, format, versionNo, config.ApiUrl); param.PageIndex = 1; while (true) { var trade = JObject.Parse(response); int total = int.Parse(trade["sn_responseContent"]["sn_head"]["totalSize"].ToString()); int totalPage = total / param.PageSize; if (total % param.PageSize != 0) { totalPage++; } var trades = trade["sn_responseContent"]["sn_body"]["orderQuery"]; bool has_next = param.PageIndex < totalPage; //trade = JObject.Parse(response.ToString()); foreach (var i in trades) { var order = new UpGradeOrder(); Map(i, order); order.HytOrderDealer = dealerInfo; //获取orderDetail的值 var job = i["orderDetail"]; //去括号 //var delbracket = job.ToString().Trim('{').Trim('}'); for (int s = 0; s < job.Count(); s++) { var item = job[s]; //获取paymentList的值 var paymentList = item["paymentList"]; for (int j = 0; j < paymentList.Count(); j++) { var items = paymentList[j]; order.HytOrderDealer.HytPayType = SUNINGToPayTypeSysNo(items["paycode"].ToString()); orderList.Add(order); } } } if (has_next) { param.PageIndex++; response = GetPost(appMethod, config.AppKey, sign, resparam, appRequestTime, format, versionNo, config.ApiUrl); } else { break; } } result.Data = orderList; return(result); }