Ejemplo n.º 1
0
        /// <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);
        }
Ejemplo n.º 2
0
        /// <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);
        }
Ejemplo n.º 3
0
        /// <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);
        }
Ejemplo n.º 4
0
        /// <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);
        }
Ejemplo n.º 5
0
        /// <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);
        }
Ejemplo n.º 6
0
        /// <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);
        }
Ejemplo n.º 7
0
        /// <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);
        }
Ejemplo n.º 8
0
        /// <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
            });
        }
Ejemplo n.º 9
0
        /// <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);
        }
Ejemplo n.º 10
0
        /// <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);
        }
Ejemplo n.º 11
0
        /// <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);
        }