Exemplo n.º 1
0
        public string  Test()
        {
            HaiDaiUpGrade        haidai = new HaiDaiUpGrade();
            HaiDaiOrderParameter pa     = new HaiDaiOrderParameter();

            OrderParameters p = new OrderParameters();

            p.StartDate = DateTime.Now.AddDays(-5);
            p.EndDate   = DateTime.Now;

            AuthorizationParameters au = new AuthorizationParameters();

            au.MallType = 13;
            List <int> orders = new List <int>();

            orders.Add(538924);
            orders.Add(538918);
            //发货测试
            //haidai.ShipGoods("20170", "", "12345678", "shentong");

            //订单列表
            return(haidai.GetOrderList(p, au).ToString());
            //接单
            //return haidai.GetMallOrderDetail(orders,"").ToString();

            //发货
            //return haidai.ShipGoods("538918", "", "2001758225", "shentong").ToString();

            //订单详情
            //return haidai.OrderDetail("539020", "").ToString();
        }
Exemplo 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     = 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
            });
        }