Exemple #1
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);
        }
Exemple #2
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);
        }
Exemple #3
0
        void Map(resultList deal, UpGradeOrder order, DataDetail detail)
        {
            order.HytOrderDealer = new HytOrderDealerInfo();

            //第三方买家订单信息
            order.MallOrderBuyer = new MallOrderBuyerInfo()
            {
                BuyerNick     = deal.shipName,
                MallOrderId   = deal.sn.ToString(),// deal.orderId.ToString(),
                SN            = deal.sn.ToString(),
                BuyerMessage  = string.Empty,
                SellerMessage = string.Empty
            };

            if (detail.orderItemList != null)
            {
                //var item = deal.orderItemList.Select(item => item.name == haidai.data.orderItemList.Select(i=> i.name==item.name).First().Equals);



                order.UpGradeOrderItems = new List <UpGradeOrderItem>();
                //订单明细列表
                foreach (var item in detail.orderItemList)
                {
                    var    orderItem   = new UpGradeOrderItem();
                    string productCode = item.psn;
                    if (item.psn.Contains('-'))
                    {
                        productCode = item.psn.Split('-')[0];
                    }

                    orderItem.MallProductCode   = productCode;
                    orderItem.HytProductErpCode = productCode;
                    orderItem.MallProductName   = item.name;
                    orderItem.MallProductAttrId = string.Empty;
                    orderItem.MallProductAttrs  = string.Empty;
                    orderItem.OrderId           = deal.orderId.ToString();
                    orderItem.MallPrice         = item.supplyPrice / item.totalNum;
                    orderItem.HytPrice          = orderItem.MallPrice;         //单价
                    orderItem.MallAmount        = item.supplyPrice * item.num; //供货价*数量
                    orderItem.Quantity          = item.totalNum;               // item.num*int.Parse(item.specName.ToCharArray()[0].ToString()),
                    orderItem.DiscountFee       = 0;
                    orderItem.MallOrderItemId   = item.itemId.ToString();
                    orderItem.SN = deal.sn;
                    var _item = order.UpGradeOrderItems.Where(x => x.MallProductCode == productCode).FirstOrDefault();
                    if (_item != null)
                    {
                        orderItem.Quantity   = orderItem.Quantity + _item.Quantity;
                        orderItem.MallAmount = _item.MallAmount + orderItem.MallAmount;
                        order.UpGradeOrderItems.Remove(_item);
                    }

                    order.UpGradeOrderItems.Add(orderItem);
                }


                //order.UpGradeOrderItems = deal.orderItemList.Select(item => new UpGradeOrderItem
                //{
                //    MallProductCode = haidai.orderItemList.Where(i => i.name == item.name).First().psn.Split('-').Length > 1 ? haidai.orderItemList.Where(i => i.name == item.name).First().psn.Split('-')[0] : haidai.orderItemList.Where(i => i.name == item.name).First().psn,
                //    HytProductErpCode = haidai.orderItemList.Where(i => i.name == item.name).First().psn.Split('-').Length > 1 ? haidai.orderItemList.Where(i => i.name == item.name).First().psn.Split('-')[0] : haidai.orderItemList.Where(i => i.name == item.name).First().psn,
                //    MallProductName = item.name,
                //    MallProductAttrId = string.Empty,
                //    MallProductAttrs = string.Empty,
                //    OrderId = deal.orderId.ToString(),
                //    MallPrice = item.supplyPrice ,
                //    MallAmount = item.supplyPrice,
                //    Quantity =item.totalNum,// item.num*int.Parse(item.specName.ToCharArray()[0].ToString()),
                //    DiscountFee = 0,
                //    MallOrderItemId = item.itemId.ToString(),
                //    SN = deal.sn,
                //}).ToList();
            }

            //第三方订单交易信息
            order.MallOrderPayment = new MallOrderPaymentInfo()
            {
                TotalTaxAmount = deal.tax,
                Payment        = deal.goodsCost,
                AlipayNo       = string.Empty,
                PostFee        = decimal.Parse(deal.shipMoney ?? "0"),
                DiscountFee    = 0,
                PayTime        = DateTime.Parse(deal.paySuccessTime)
            };

            #region 当明细金额合计与实收金额不等时,将差额分摊到最后一个商品上

            //if ((order.MallOrderPayment.Payment - order.MallOrderPayment.PostFee) != order.UpGradeOrderItems.Sum(i => i.MallAmount))
            //{
            //    var _amt = 0m;
            //    var _count = 0;
            //    foreach (var item in order.UpGradeOrderItems)
            //    {
            //        _count++;
            //        if (_count == order.UpGradeOrderItems.Count)
            //        {
            //            item.MallAmount = (order.MallOrderPayment.Payment - order.MallOrderPayment.PostFee) - _amt;
            //            break;
            //        }
            //        _amt += item.MallAmount;
            //    }
            //}

            #endregion

            //订单收货信息
            order.MallOrderReceive = new MallOrderReceiveInfo()
            {
                City           = detail.city,
                Province       = detail.province,
                District       = detail.region,
                ReceiveAddress = detail.shipAddr,
                ReceiveContact = detail.shipName,
                TelPhone       = string.Empty,
                Mobile         = detail.shipMobile,
                PostCode       = string.Empty,
                IdCard         = detail.idNumber
            };
        }