Exemplo n.º 1
0
        /// <summary>
        /// 获取单笔代销采购订单信息
        /// </summary>
        /// <param name="orderid">主订单ID,即客户订单ID</param>
        /// <param name="authorizationcode">授权码</param>
        /// <returns>采购订单详情</returns>
        /// /// <remarks>2103-8-27 陶辉 创建</remarks>
        private Result <UpGradeOrder> GetAgentOrderDetail(string orderid, string authorizationcode)
        {
            //分销采购单请求
            var req = new FenxiaoOrdersGetRequest {
                Status = "WAIT_SELLER_SEND_GOODS", TcOrderId = long.Parse(orderid)
            };
            var response = client.Execute(req, authorizationcode);

            //是否异常
            if (!response.IsError)
            {
                var order = new UpGradeOrder();
                if (response.PurchaseOrders != null)
                {
                    Map(response.PurchaseOrders[0], order);
                }

                return(new Result <UpGradeOrder>()
                {
                    Status = true,
                    StatusCode = 1,
                    Data = order
                });
            }
            else
            {
                return(new Result <UpGradeOrder>()
                {
                    Status = false,
                    StatusCode = -1,
                    Message = GetErrorMsg(response.ErrCode, response.SubErrMsg + response.ErrMsg),
                    Data = null
                });
            }
        }
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     = 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);
        }
Exemplo n.º 3
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);
        }
Exemplo n.º 4
0
        /// <summary>
        /// 批量获取指定时间区间的天猫商城订单
        /// </summary>
        /// <param name="param">参数实体</param>
        /// <param name="auth">权限参数</param>
        /// <returns>订单列表</returns>
        /// <remarks>2103-8-27 陶辉 创建</remarks>
        private Result <List <UpGradeOrder> > GetMallOrderList(OrderParameters param, AuthorizationParameters auth)
        {
            //增量查询今日订单请求
            var req = new TradesSoldIncrementGetRequest
            {
                Fields =
                    "seller_flag,seller_nick,buyer_nick,alipay_no,has_buyer_message,title,tid,status,payment,discount_fee,post_fee,adjust_fee,pay_time,receiver_name,receiver_state,receiver_city,receiver_district,receiver_address,receiver_zip,receiver_mobile,receiver_phone,orders.title,orders.price,orders.num,orders.iid,orders.num_iid,orders.sku_id,orders.payment,orders.discount_fee,orders.sku_properties_name,orders.outer_iid,orders.outer_sku_id,orders.oid,orders.refund_status,orders.total_fee",
                Status        = "WAIT_SELLER_SEND_GOODS",
                StartModified = param.StartDate,
                EndModified   = param.EndDate,
                PageSize      = 20L,
                UseHasNext    = false
            };

            var response = client.Execute(req, auth.AuthorizationCode);

            //是否异常
            if (!response.IsError)
            {
                var list = new List <UpGradeOrder>();
                //总页数
                var pageCount = ((response.TotalResults + req.PageSize - 1) / req.PageSize).Value;
                while (pageCount > 0)
                {
                    //为防止漏单,先查询最后一页
                    req.PageNo     = pageCount;
                    req.UseHasNext = true;
                    response       = client.Execute(req, auth.AuthorizationCode);
                    if (response.Trades != null && !response.IsError)
                    {
                        //过滤查询条件
                        var trades = FilterMallOrder(response.Trades, param);
                        foreach (Trade trade in trades)
                        {
                            var order = new UpGradeOrder();
                            Map(trade, order);
                            list.Add(order);
                        }
                        pageCount--;
                    }
                }

                return(new Result <List <UpGradeOrder> >()
                {
                    Status = true,
                    StatusCode = 1,
                    Data = list
                });
            }
            else
            {
                return(new Result <List <UpGradeOrder> >()
                {
                    Status = false,
                    StatusCode = -1,
                    Message = GetErrorMsg(response.ErrCode, response.SubErrMsg + response.ErrMsg),
                    Data = null
                });
            }
        }
Exemplo n.º 5
0
        /// <summary>
        /// 批量获取代销采购订单
        /// </summary>
        /// <param name="param">参数实体</param>
        /// <param name="auth">权限参数</param>
        /// <returns>订单列表</returns>
        /// <remarks>2103-8-27 陶辉 创建</remarks>
        private Result <List <UpGradeOrder> > GetAgentOrderList(OrderParameters param, AuthorizationParameters auth)
        {
            //分销采购单请求
            var req = new FenxiaoOrdersGetRequest
            {
                Status       = "WAIT_SELLER_SEND_GOODS",
                StartCreated = param.StartDate,
                EndCreated   = param.EndDate,
                PageSize     = 20L
            };
            //交易状态为待发货

            FenxiaoOrdersGetResponse response = client.Execute(req, auth.AuthorizationCode);

            //是否异常
            if (!response.IsError)
            {
                var list = new List <UpGradeOrder>();
                //总页数
                long pageCount = ((response.TotalResults + req.PageSize - 1) / req.PageSize).Value;
                while (pageCount > 0)
                {
                    //为避免漏单,先查最后一页
                    req.PageNo = pageCount;
                    if (response.PurchaseOrders != null)
                    {
                        //过滤查询条件
                        var purchaseOrders = FilterMallOrder(response.PurchaseOrders, param);
                        //筛选分销类型为代销的采购单
                        foreach (PurchaseOrder curchaseOrder in purchaseOrders.FindAll(o => o.TradeType == "AGENT"))
                        {
                            var order = new UpGradeOrder();
                            Map(curchaseOrder, order);
                            list.Add(order);
                        }
                        pageCount--;
                    }
                }

                return(new Result <List <UpGradeOrder> >()
                {
                    Status = true,
                    StatusCode = 1,
                    Data = list
                });
            }
            else
            {
                return(new Result <List <UpGradeOrder> >()
                {
                    Status = false,
                    StatusCode = -1,
                    Message = GetErrorMsg(response.ErrCode, response.SubErrMsg + response.ErrMsg),
                    Data = null
                });
            }
        }
Exemplo n.º 6
0
        /// <summary>
        /// 查询可退换货升舱订单
        /// </summary>
        /// <param name="param">订单查询参数</param>
        /// <returns>第三方订单实体分页数据</returns>
        /// <remarks>2014-1-8 黄志勇 代码规范</remarks>
        public Result <PagedList <UpGradeOrder> > GetCanRmaOrderList(MallOrderParameters param)
        {
            Pager <CBDsOrder> dsOrders;
            var filter = new ParaDsOrderFilter
            {
                PageIndex       = param.PageIndex <= 0 ? 1 : param.PageIndex,
                PageSize        = param.PageSize,
                MallProductName = param.ProductName,
                MallProductId   = param.ProductCode,
                MallOrderId     = param.OrderID,
                BuyerNick       = param.BuyerName,
                BeginDate       = param.StartDate,
                EndDate         = param.EndDate,
                DealerMallSysNo = param.DealerMallSysNo
            };

            dsOrders = Hyt.BLL.MallSeller.DsOrderBo.Instance.QueryForRma(filter);
            var list = new List <UpGradeOrder>();

            foreach (var order in dsOrders.Rows)
            {
                var mallOrderInfo = new UpGradeOrder
                {
                    HytOrderDealer = new HytOrderDealerInfo
                    {
                        HytOrderTime   = order.UpgradeTime,
                        LogisticsTime  = order.DeliveryTime,
                        DsOrderSysNo   = order.SysNo,
                        HytPayStatus   = order.PayStatus,
                        DeliveryStatus = order.Status.ToString(),
                        HytPayTime     = order.PayTime
                    },
                    MallOrderBuyer = new MallOrderBuyerInfo
                    {
                        MallOrderId = order.MallOrderId,
                        BuyerNick   = order.BuyerNick
                    },
                    MallOrderPayment = new MallOrderPaymentInfo(),
                    MallOrderReceive = new MallOrderReceiveInfo()
                };
                list.Add(mallOrderInfo);
            }
            var result = new Result <PagedList <UpGradeOrder> >
            {
                Data = new PagedList <UpGradeOrder>
                {
                    TotalItemCount   = dsOrders.TotalRows,
                    CurrentPageIndex = dsOrders.CurrentPage,
                    TData            = list
                },
                Status = true
            };

            return(result);
        }
Exemplo n.º 7
0
        /// <summary>
        /// 获取店铺等待发货的订单
        /// </summary>
        /// <param name="param">条件参数</param>
        /// <param name="auth">授权参数</param>
        /// <returns>订单列表</returns>
        /// <reamrks>2014-04-08 黄波 创建</reamrks>
        private List <UpGradeOrder> GetShopWaitSendOrder(OrderParameters param, AuthorizationParameters auth)
        {
            var result = new List <UpGradeOrder>();

            //增量查询今日订单请求
            var req = new TradesSoldIncrementGetRequest
            {
                Fields =
                    "seller_flag,seller_nick,buyer_nick,alipay_no,has_buyer_message,title,tid,status,payment,discount_fee,post_fee,adjust_fee,pay_time,receiver_name,receiver_state,receiver_city,receiver_district,receiver_address,receiver_zip,receiver_mobile,receiver_phone,orders.title,orders.price,orders.num,orders.iid,orders.num_iid,orders.sku_id,orders.payment,orders.discount_fee,orders.sku_properties_name,orders.outer_iid,orders.outer_sku_id,orders.oid,orders.refund_status",
                Status        = "WAIT_SELLER_SEND_GOODS",
                StartModified = param.StartDate,
                EndModified   = param.EndDate,
                PageSize      = 20L,
                UseHasNext    = true
            };

            var nextPage = true;
            var pageNo   = 1L;
            var response = new TradesSoldIncrementGetResponse();

            while (nextPage)
            {
                try
                {
                    req.PageNo = pageNo;
                    response   = client.Execute(req, auth.AuthorizationCode);
                    if (!response.IsError)
                    {
                        if (response.HasNext)
                        {
                            pageNo++;
                        }
                        else
                        {
                            nextPage = false;
                        }
                        foreach (Trade trade in response.Trades)
                        {
                            var order = new UpGradeOrder();
                            Map(trade, order);
                            order.MallOrderBuyer.SellerFlag = trade.SellerFlag.ToString();
                            result.Add(order);
                        }
                    }
                    else
                    {
                        nextPage = false;
                    }
                }
                catch { nextPage = false; }
            }

            return(result);
        }
Exemplo n.º 8
0
        void Map(PurchaseOrder purchaseOrder, UpGradeOrder order)
        {
            //第三方买家订单信息
            order.MallOrderBuyer = new MallOrderBuyerInfo()
            {
                BuyerNick      = purchaseOrder.DistributorUsername ?? string.Empty,
                MallOrderId    = purchaseOrder.TcOrderId.ToString(),
                MallPurchaseId = purchaseOrder.Id.ToString(),
                BuyerMessage   = purchaseOrder.Memo ?? string.Empty,
                SellerMessage  = purchaseOrder.SupplierMemo
            };

            //订单明细列表
            order.UpGradeOrderItems = purchaseOrder.SubPurchaseOrders.Select(item => new UpGradeOrderItem()
            {
                MallProductCode   = item.SkuOuterId ?? item.ItemOuterId ?? string.Empty,
                MallProductName   = item.Title ?? string.Empty,
                MallProductAttrId = item.SkuId.ToString(),
                MallProductAttrs  = item.SkuProperties ?? string.Empty,
                OrderId           = purchaseOrder.TcOrderId.ToString(),
                MallPrice         = Math.Round(decimal.Parse(item.DistributorPayment ?? "0") / item.Num, 2),
                MallAmount        = decimal.Parse(item.DistributorPayment ?? "0"),
                Quantity          = int.Parse(item.Num.ToString()),
                DiscountFee       = decimal.Parse((item.TcDiscountFee / 100).ToString()),
                MallOrderItemId   = item.FenxiaoId.ToString()
            }).ToList();

            //第三方订单交易信息

            order.MallOrderPayment = new MallOrderPaymentInfo()
            {
                Payment     = decimal.Parse(purchaseOrder.DistributorPayment ?? "0"),
                AlipayNo    = purchaseOrder.AlipayNo ?? string.Empty,
                PostFee     = decimal.Parse(purchaseOrder.PostFee ?? "0"),
                DiscountFee = decimal.Parse(purchaseOrder.SubPurchaseOrders.Sum(o => o.TcDiscountFee / 100).ToString()),
                PayTime     = DateTime.Parse(purchaseOrder.PayTime ?? "2000-00-00 00:00:00")
            };

            //订单收货信息
            order.MallOrderReceive = new MallOrderReceiveInfo()
            {
                City           = purchaseOrder.Receiver.City ?? string.Empty,
                Province       = purchaseOrder.Receiver.State ?? string.Empty,
                District       = purchaseOrder.Receiver.District ?? string.Empty,
                ReceiveAddress = purchaseOrder.Receiver.Address ?? string.Empty,
                ReceiveContact = purchaseOrder.Receiver.Name ?? string.Empty,
                TelPhone       = purchaseOrder.Receiver.Phone ?? string.Empty,
                Mobile         = purchaseOrder.Receiver.MobilePhone ?? string.Empty,
                PostCode       = purchaseOrder.Receiver.Zip ?? string.Empty
            };
            //订单备注标示
            order.MallOrderBuyer.SellerFlag = purchaseOrder.SupplierFlag.ToString();
        }
Exemplo n.º 9
0
        /// <summary>
        /// 获取店铺等待发货的订单
        /// </summary>
        /// <param name="param">条件参数</param>
        /// <param name="auth">授权参数</param>
        /// <returns>订单列表</returns>
        /// <reamrks>2014-04-08 黄波 创建</reamrks>
        private List <UpGradeOrder> GetAgentWaitSendOrder(OrderParameters param, AuthorizationParameters auth)
        {
            //分销采购单请求
            var req = new FenxiaoOrdersGetRequest
            {
                Status       = "WAIT_SELLER_SEND_GOODS",
                StartCreated = param.StartDate,
                EndCreated   = param.EndDate,
                PageSize     = 20L
            };
            //交易状态为待发货

            FenxiaoOrdersGetResponse response = client.Execute(req, auth.AuthorizationCode);

            //是否异常
            if (!response.IsError)
            {
                var list = new List <UpGradeOrder>();
                //总页数
                long pageCount = ((response.TotalResults + req.PageSize - 1) / req.PageSize).Value;
                while (pageCount > 0)
                {
                    //为避免漏单,先查最后一页
                    req.PageNo = pageCount;
                    if (response.PurchaseOrders != null)
                    {
                        //过滤查询条件
                        var purchaseOrders = FilterMallOrder(response.PurchaseOrders, param);
                        //筛选分销类型为代销的采购单
                        foreach (PurchaseOrder curchaseOrder in purchaseOrders.FindAll(o => o.TradeType == "AGENT"))
                        {
                            var order = new UpGradeOrder();
                            Map(curchaseOrder, order);
                            order.MallOrderBuyer.SellerFlag = curchaseOrder.SupplierFlag.ToString();
                            list.Add(order);
                        }
                        pageCount--;
                    }
                }

                return(list);
            }
            else
            {
                return(null);
            }
        }
Exemplo n.º 10
0
        /// <summary>
        /// 获取单笔天猫商城订单详情
        /// </summary>
        /// <param name="orderId">订单编号数</param>
        /// <param name="authorizationcode">授权码</param>
        /// <returns>单笔订单详情</returns>
        /// <remarks>2103-8-27 陶辉 创建</remarks>
        private Result <UpGradeOrder> GetMallOrderDetail(string orderId, string authorizationcode)
        {
            //查询订单详情请求
            var req = new TradeFullinfoGetRequest
            {
                Fields =
                    "seller_flag,seller_nick,buyer_nick,alipay_no,buyer_message,seller_memo,title,tid,status,payment,discount_fee,post_fee,pay_time,receiver_name,receiver_state,receiver_city,receiver_district,receiver_address,receiver_zip,receiver_mobile,receiver_phone,orders.title,orders.price,orders.num,orders.iid,orders.num_iid,orders.sku_id,orders.payment,orders.total_fee,orders.discount_fee,orders.sku_properties_name,orders.outer_iid,orders.outer_sku_id,orders.oid",
                Tid = long.Parse(orderId)
            };
            //返回字段
            //订单号

            var response = client.Execute(req, authorizationcode);

            //是否异常
            if (!response.IsError)
            {
                var order = new UpGradeOrder();
                Map(response.Trade, order);

                return(new Result <UpGradeOrder>()
                {
                    Status = true,
                    StatusCode = 1,
                    Data = order
                });
            }
            else
            {
                return(new Result <UpGradeOrder>()
                {
                    Status = false,
                    StatusCode = -1,
                    Message = GetErrorMsg(response.ErrCode, response.SubErrMsg + response.ErrMsg),
                    Data = null
                });
            }
        }
Exemplo n.º 11
0
        /// <summary>
        /// 获取拍拍订单详情
        /// </summary>
        /// <param name="param">查询参数</param>
        /// <param name="auth">授权参数</param>
        /// <returns>拍拍订单详情</returns>
        /// <remarks>2013-11-10 陶辉 创建</remarks>
        public Result <UpGradeOrder> GetOrderDetail(OrderParameters param, AuthorizationParameters auth)
        {
            IDictionary <string, string> dic = new Dictionary <string, string>();

            dic.Add("format", "json");
            dic.Add("pureData", "1");
            dic.Add("sellerUin", auth.ShopAccount);
            dic.Add("dealCode", param.OrderID);
            dic.Add("listItem", "1");

            var client   = new OpenApiOauth(config.AppOAuthID, config.SecretOAuthKey, long.Parse(auth.ShopAccount), auth.AuthorizationCode);
            var response = client.InvokeOpenApi("http://api.paipai.com/deal/getDealDetail.xhtml", dic, null);
            var result   = Hyt.Util.Serialization.JsonUtil.ToObject <DealInfo>(response);

            if (result.errorCode == "0")
            {
                var order = new UpGradeOrder();
                Map(result, order);

                return(new Result <UpGradeOrder>()
                {
                    Status = true,
                    StatusCode = 1,
                    Data = order
                });
            }
            else
            {
                return(new Result <UpGradeOrder>()
                {
                    Status = false,
                    StatusCode = -1,
                    Message = result.errorMessage,
                    Data = null
                });
            }
        }
Exemplo n.º 12
0
        /// <summary>
        /// 获取单笔订单详情
        /// </summary>
        /// <param name="param">参数实体</param>
        /// <param name="auth">授权参数</param>
        /// <returns>单笔订单详情</returns>
        /// <reamrks>2017-08-16 黄杰 创建</reamrks>
        public Result <UpGradeOrder> GetOrderDetail(OrderParameters param, AuthorizationParameters auth)
        {
            var result = new Result <UpGradeOrder> {
                Status = true, Message = "", Data = null, StatusCode = 0
            };
            var req = new PopOrderGetRequest();

            req.orderId = param.OrderID;
            //需返回的字段列表
            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";

            var response = client.Execute(req, config.AccessToken, DateTime.Now.ToLocalTime());

            var order = new UpGradeOrder();
            var trade = JObject.Parse(response.orderDetailInfo);

            Map(trade["orderInfo"], order);
            order.HytOrderDealer = new HytOrderDealerInfo();
            // 支付方式(1货到付款, 2邮局汇款, 3自提, 4在线支付, 5公司转账, 6银行卡转账)
            order.HytOrderDealer.HytPayType = JingDongToPayTypeSysNo(trade["orderInfo"]["payType"].ToString());

            result.Data = order;
            return(result);
        }
Exemplo n.º 13
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);
        }
Exemplo n.º 14
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);
        }
Exemplo n.º 15
0
        //2018-03-18 罗勤瑶 修改
        void Map(JToken trade, UpGradeOrder order)
        {
            //第三方买家订单信息
            order.MallOrderBuyer = new MallOrderBuyerInfo()
            {
                BuyerNick   = trade["receiver"]["receiverName"].ToString(),
                MallOrderId = trade["number"].ToString(),
                //格格家无买家留言、卖家备注
                BuyerMessage  = "",
                SellerMessage = ""
            };

            order.UpGradeOrderItems = new List <UpGradeOrderItem>();
            var orders = trade["items"];

            for (int i = 0; i < orders.Count(); i++)
            {
                var item  = orders[i];
                var code  = item["itemCode"].ToString();
                var code2 = "";
                //第三方商品编码统一格式 商品编号*数量-商品类型:商品单价,作为拆分条件罗勤尧
                var pcs = "1";
                //取出商品名字里面的规格数量
                var itemName = item["itemName"].ToString();
                var count    = 1;
                if (itemName.Contains("*"))
                {
                    int    index  = itemName.IndexOf("*");
                    string result = itemName.Substring(index + 1, 1);
                    int.TryParse(result, out count);
                    if (count == 0)
                    {
                        count = 1;
                    }
                }
                else
                {
                    count = 1;
                }

                int    x   = itemName.IndexOf("【") + 1;
                int    j   = itemName.IndexOf("】");
                string str = itemName.Substring(i, j - i + 1);
                string con = str.Substring(1, 1);
                int.TryParse(con, out count);
                if (count == 0)
                {
                    count = 1;
                }
                var type  = 0;
                var price = 0m;
                if (code.Contains(":"))
                {
                    var c = code.Split(':')[0];
                    if (c.Contains("*"))
                    {
                        if (c.Split('*').Length > 1 && c.Split('*')[1].Contains("-"))
                        {
                            pcs = c.Split('*')[1].Split('-')[0];
                            if (c.Split('*')[1].Split('-').Length > 1 && !string.IsNullOrWhiteSpace(c.Split('*')[1].Split('-')[1]))
                            {
                                if (c.Split('*')[1].Split('-')[1] == "1")
                                {
                                    type = 1;
                                }
                                else if (c.Split('*')[1].Split('-')[1] == "2")
                                {
                                    type = 2;
                                }
                                else if (c.Split('*')[1].Split('-')[1] == "3")
                                {
                                    type = 3;
                                }
                            }
                        }
                        else if (c.Split('*').Length > 1 && !c.Split('*')[1].Contains("-"))
                        {
                            pcs = c.Split('*')[1];
                        }
                        code2 = c.Split('*')[0];
                    }
                    else
                    {
                        code2 = c;
                    }
                    if (!string.IsNullOrWhiteSpace(code.Split(':')[1]))
                    {
                        price = decimal.Parse(code.Split(':')[1]);
                    }
                    // code2 = code;
                }
                else if (code.Contains("*"))
                {
                    code2 = code.Split('*')[0];
                }
                else
                {
                    code2 = code;
                }
                //系统商品信息
                var product = IPdProductDao.Instance.GetProductByErpCode(code2);
                if (product != null)
                {
                    var pricesel = 0m;
                    if (count == 1)
                    {
                        pricesel = product.GeGeJiaSupplyPrice;
                    }
                    else if (count == 2)
                    {
                        pricesel = product.GeGeJiaSupplyPriceSpecTwo;
                    }
                    else if (count == 3)
                    {
                        pricesel = product.GeGeJiaSupplyPriceSpecThree;
                    }
                    order.UpGradeOrderItems.Add(new UpGradeOrderItem()
                    {
                        MallProductCode   = code2,
                        MallProductName   = item["itemName"].ToString(),
                        MallProductAttrId = item["itemCode"].ToString(),
                        MallProductAttrs  = item["itemName"].ToString(),
                        OrderId           = trade["number"].ToString(),
                        MallPrice         = pricesel / count,
                        MallAmount        = pricesel * int.Parse(item["itemCount"].ToString()),
                        // Quantity = int.Parse(item["itemCount"].ToString()) * int.Parse(pcs),
                        Quantity    = int.Parse(item["itemCount"].ToString()) * count,
                        DiscountFee = decimal.Parse(trade["couponPrice"].ToString()),
                        // MallOrderItemId = item["itemCode"].ToString(),
                        MallOrderItemId  = "",
                        ProductType      = type,
                        ProductSalesType = 91
                    });
                }
                else
                {
                    order.UpGradeOrderItems.Add(new UpGradeOrderItem()
                    {
                        MallProductCode   = code2,
                        MallProductName   = item["itemName"].ToString(),
                        MallProductAttrId = item["itemCode"].ToString(),
                        MallProductAttrs  = item["itemName"].ToString(),
                        OrderId           = trade["number"].ToString(),
                        MallPrice         = price / count,
                        MallAmount        = price * int.Parse(item["itemCount"].ToString()),
                        // Quantity = int.Parse(item["itemCount"].ToString()) * int.Parse(pcs),
                        Quantity    = int.Parse(item["itemCount"].ToString()) * count,
                        DiscountFee = decimal.Parse(trade["couponPrice"].ToString()),
                        // MallOrderItemId = item["itemCode"].ToString(),
                        MallOrderItemId  = "",
                        ProductType      = type,
                        ProductSalesType = 91
                    });
                }
            }

            //第三方订单交易信息
            order.MallOrderPayment = new MallOrderPaymentInfo()
            {
                Payment     = decimal.Parse(trade["realPrice"].ToString()),
                AlipayNo    = "",
                PostFee     = decimal.Parse(trade["freight"].ToString()),
                DiscountFee = decimal.Parse(trade["couponPrice"].ToString()),
                PayTime     = DateTime.Parse(trade["payTime"].ToString() == "" ? "1900-01-01" : trade["payTime"].ToString())
            };

            #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           = trade["receiver"]["cityName"].ToString(),
                Province       = trade["receiver"]["provinceName"].ToString(),
                District       = trade["receiver"]["districtName"].ToString(),
                ReceiveAddress = trade["receiver"]["detailAddress"].ToString(),
                ReceiveContact = trade["receiver"]["receiverName"].ToString(),
                Mobile         = trade["receiver"]["receiverMobile"].ToString(),
                PostCode       = trade["receiver"]["districtCode"].ToString(),
                IdCard         = trade["receiver"]["receiverIdCard"].ToString(),
            };

            //订单备注标示
            //order.MallOrderBuyer.SellerFlag = trade["seller_flag"].ToString();
        }
Exemplo n.º 16
0
        /// <summary>
        /// 获取海带单笔订单详情
        /// </summary>
        /// <param name="OrderID">海带订单id</param>
        /// <param name="auth">授权参数</param>
        /// <returns>单笔订单详情</returns>
        /// <remarks>2016-6-11 杨浩 创建</remarks>
        /// <remarks>2017-6-15 罗勤尧 修改</remarks>
        public Result <UpGradeOrder> GetOrderDetail(string orderID, AuthorizationParameters auth)
        {
            var reslut = new Result <UpGradeOrder>()
            {
                Status = true
            };

            var _result = OrderDetail(orderID, auth);

            if (!_result.Status)
            {
                reslut.Message = _result.Message;
                reslut.Status  = false;
                return(reslut);
            }

            var orders = _result.Data;

            if (orders == null)
            {
                reslut.Message = "获取异常,请联系客服";
                reslut.Status  = false;
                return(reslut);
            }
            UpGradeOrder ord = new UpGradeOrder();

            ord.HytOrderDealer = new HytOrderDealerInfo()
            {
            };
            ord.MallOrderBuyer = new MallOrderBuyerInfo()
            {
                BuyerNick     = "海带",
                MallOrderId   = orders.orderId.ToString(),
                BuyerMessage  = "",
                SellerMessage = ""
            };
            ord.MallOrderPayment = new MallOrderPaymentInfo()
            {
                Payment     = 0,
                AlipayNo    = string.Empty,
                PostFee     = orders.shipMoney,
                DiscountFee = 0,
                PayTime     = DateTime.Now
                              //Orders.data.paySuccessTimeStr
            };
            ord.MallOrderReceive = new MallOrderReceiveInfo()
            {
                City           = orders.city,
                Province       = orders.province,
                District       = orders.region,
                ReceiveAddress = orders.shipAddr,
                ReceiveContact = orders.shipName,
                TelPhone       = string.Empty,
                Mobile         = orders.shipMobile,
                PostCode       = string.Empty,
                IdCard         = orders.idNumber
            };
            ord.UpGradeOrderItems = orders.orderItemList.Select(item => new UpGradeOrderItem
            {
                MallProductCode   = item.psn,
                MallProductName   = item.name,
                MallProductAttrId = string.Empty,
                MallProductAttrs  = string.Empty,
                OrderId           = orders.orderId.ToString(),
                MallPrice         = item.supplyPrice,
                MallAmount        = item.supplyPrice,
                Quantity          = item.num,
                DiscountFee       = 0,
                MallOrderItemId   = item.itemId.ToString()
            }).ToList();

            reslut.Data       = ord;
            reslut.StatusCode = 1;
            return(reslut);
        }
Exemplo n.º 17
0
        /// <summary>
        /// 获取单笔订单详情
        /// </summary>
        /// <param name="param">参数实体</param>
        /// <param name="auth">授权参数</param>
        /// <returns>单笔订单详情</returns>
        /// <reamrks>2017-08-16 黄杰 创建</reamrks>
        public Result <UpGradeOrder> GetOrderDetail(OrderParameters param, AuthorizationParameters auth)
        {
            var result = new Result <UpGradeOrder> {
                Status = true, Message = "", Data = null, StatusCode = 0
            };
            var req = new PopOrderGetRequest();
            //req.orderId = param.OrderID;

            ////需返回的字段列表
            //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";
            //XmlDocumentExtender xms = new XmlDocumentExtender();
            //xms.LoadXml(param.ProductName = "推单请求报文.xml");

            //var response = client.Execute(req, config.AccessToken, DateTime.Now.ToLocalTime());

            //var order = new UpGradeOrder() { };
            //var trade = JObject.Parse(response.orderDetailInfo);
            //Map(trade["orderInfo"], order);
            //order.HytOrderDealer = new HytOrderDealerInfo();
            //// 支付方式(1货到付款, 2邮局汇款, 3自提, 4在线支付, 5公司转账, 6银行卡转账)
            //order.HytOrderDealer.HytPayType = JingDongToPayTypeSysNo(trade["orderInfo"]["payType"].ToString());


            string xmlStr = System.IO.File.ReadAllText("推单请求报文.xml");

            Hyt.Util.Xml.XmlDocumentExtender xms = new Hyt.Util.Xml.XmlDocumentExtender();
            xms.LoadXml(param.ProductName = "推单请求报文.xml");

            var order = new UpGradeOrder()
            {
            };

            //商城订单明细
            order.UpGradeOrderItems = new System.Collections.Generic.List <UpGradeOrderItem>();
            var orders = xms["HipacPush"]["Body"]["OrderItemList"].ChildNodes;

            for (int i = 0; i < orders.Count; i++)
            {
                var item = orders[i];
                var code = item["itemSupplyNo"].InnerText;
                order.UpGradeOrderItems.Add(new UpGradeOrderItem()
                {
                    MallProductName = item["itemName"].InnerText,
                    MallProductCode = item["itemSupplyNo"].InnerText,
                    MallPrice       = decimal.Parse(item["itemPrice"].InnerText),
                    MallAmount      = decimal.Parse(item["itemTotal"].InnerText),
                    Quantity        = int.Parse(item["itemQuantity"].InnerText),
                });
            }

            // var aScource = order.UpGradeOrderItems;

            //订单收货信息
            order.MallOrderReceive = new MallOrderReceiveInfo()
            {
                City           = xms["HipacPush"]["Body"]["Customer"]["custCity"].InnerText,
                Province       = xms["HipacPush"]["Body"]["Customer"]["custProvice"].InnerText,
                District       = xms["HipacPush"]["Body"]["Customer"]["custArea"].InnerText,
                ReceiveAddress = xms["HipacPush"]["Body"]["Customer"]["custAddress"].InnerText,
                ReceiveContact = xms["HipacPush"]["Body"]["Customer"]["custName"].InnerText,
                Mobile         = xms["HipacPush"]["Body"]["Customer"]["custPhone"].InnerText,
                IdCard         = xms["HipacPush"]["Body"]["Customer"]["custIdNum"].InnerText,
            };
            // var bScource = order.MallOrderReceive;

            //订单信息
            //  string dd= xms["HipacPush"]["Body"]["Order"]["payTime"].InnerText;
            var payInfo = xms["HipacPush"]["Body"]["PayInfo"];
            var _order  = xms["HipacPush"]["Body"]["Order"];

            //支付信息
            order.HytOrderDealer = new HytOrderDealerInfo()
            {
                //第三方订单编号

                HytPayType = Convert.ToInt32(payInfo["payType"].InnerText),
                HytPayTime = DateTime.Now // DateTime.Parse(payInfo["payTime"].InnerText == "0001-01-01 00:00:00" ? "1900-01-01" : payInfo["payTime"].InnerText)
            };
            order.MallOrderPayment = new MallOrderPaymentInfo()
            {
                AlipayNo = payInfo["payNo"].InnerText,
                PayTime  = DateTime.Now,
                //  DateTime.Parse(payInfo["payTime"].InnerText.Trim() == "00010101 000000" ? "1900-01-01" : payInfo["payTime"].InnerText),

                Payment = decimal.Parse(_order["totalPayAmount"].InnerText),
                PostFee = decimal.Parse(_order["logisticsAmount"].InnerText),
            };



            //订单信息
            result.Data = order;



            return(result);
        }
Exemplo n.º 18
0
        /// <summary>
        /// 获取拍拍订单列表
        /// </summary>
        /// <param name="param">查询参数</param>
        /// <param name="auth">授权参数</param>
        /// <returns>拍拍订单列表</returns>
        /// <remarks>2013-11-10 陶辉 创建</remarks>
        public Result <List <UpGradeOrder> > GetOrderList(OrderParameters param, AuthorizationParameters auth)
        {
            #region 查询条件

            IDictionary <string, string> dic = new Dictionary <string, string>();
            dic.Add("format", "json");
            dic.Add("pureData", "1");
            dic.Add("sellerUin", auth.ShopAccount);
            dic.Add("timeType", "PAY");
            dic.Add("timeBegin", param.StartDate.ToString());
            dic.Add("timeEnd", param.EndDate.ToString());
            dic.Add("dealState", "DS_WAIT_SELLER_DELIVERY");
            if (param.IsUseFlag)
            {
                dic.Add("dealNoteType", config.DealNoteType);
            }
            if (!string.IsNullOrEmpty(param.ProductCode))
            {
                dic.Add("itemCode", param.ProductCode);
            }
            if (!string.IsNullOrEmpty(param.ProductName))
            {
                dic.Add("itemNameKey", param.ProductName);
            }
            if (!string.IsNullOrEmpty(param.OrderID))
            {
                dic.Add("dealCode", param.OrderID);
            }

            #endregion
            var client   = new OpenApiOauth(config.AppOAuthID, config.SecretOAuthKey, long.Parse(auth.ShopAccount), auth.AuthorizationCode);
            var response = client.InvokeOpenApi("http://api.paipai.com/deal/sellerSearchDealList.xhtml", dic, null);
            var result   = Hyt.Util.Serialization.JsonUtil.ToObject <PaipaiResult>(response);
            if (result.errorCode == "0")
            {
                var list = new List <UpGradeOrder>();
                //总页数
                var pageCount = result.pageTotal;
                while (pageCount > 0)
                {
                    if (dic.ContainsKey("pageIndex"))
                    {
                        dic["pageIndex"] = pageCount.ToString();
                    }
                    else
                    {
                        dic.Add("pageIndex", pageCount.ToString());
                    }
                    dic.Remove("sign");
                    response = client.InvokeOpenApi("http://api.paipai.com/deal/sellerSearchDealList.xhtml", dic, null);
                    result   = Hyt.Util.Serialization.JsonUtil.ToObject <PaipaiResult>(response);
                    if (result.errorCode == "0")
                    {
                        foreach (DealInfo deal in result.dealList)
                        {
                            var order = new UpGradeOrder();

                            Map(deal, order);
                            order.MallOrderBuyer.SellerFlag = deal.dealNoteType;
                            list.Add(order);
                        }
                    }
                    pageCount--;
                }
                list = FilterMallOrder(list, param);
                return(new Result <List <UpGradeOrder> >()
                {
                    Status = true,
                    StatusCode = 1,
                    Data = list
                });
            }
            else
            {
                return(new Result <List <UpGradeOrder> >()
                {
                    Status = false,
                    StatusCode = -1,
                    Message = result.errorMessage,
                    Data = null
                });
            }
        }
Exemplo n.º 19
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);
        }
Exemplo n.º 20
0
        void Map(Trade trade, UpGradeOrder order)
        {
            //第三方买家订单信息
            order.MallOrderBuyer = new MallOrderBuyerInfo()
            {
                BuyerNick     = trade.BuyerNick,
                MallOrderId   = trade.Tid.ToString(),
                BuyerMessage  = trade.BuyerMessage ?? string.Empty,
                SellerMessage = trade.SellerMemo ?? string.Empty
            };

            //订单明细列表
            order.UpGradeOrderItems = trade.Orders.Select(item => new UpGradeOrderItem()
            {
                MallProductCode   = item.OuterSkuId ?? item.OuterIid ?? item.NumIid.ToString() ?? string.Empty,
                MallProductName   = item.Title,
                MallProductAttrId = item.SkuId ?? string.Empty,
                MallProductAttrs  = item.SkuPropertiesName ?? string.Empty,
                OrderId           = trade.Tid.ToString(),
                MallPrice         = decimal.Parse(trade.Payment ?? "0") == 0 ? 0 :
                                    Math.Round((decimal.Parse(trade.Payment ?? "0")    //实际支付金额
                                                - decimal.Parse(trade.PostFee ?? "0")) //运费
                                               / (decimal.Parse(trade.Payment ?? "0")
                                                  - decimal.Parse(trade.PostFee ?? "0")
                                                  - decimal.Parse(trade.AdjustFee ?? "0")   //调整金额
                                                  + decimal.Parse(trade.DiscountFee ?? "0") //折扣金额
                                                  )                                         //折扣金额
                                               * decimal.Parse(item.TotalFee ?? "0")        //应付金额
                                               / int.Parse(item.Num.ToString())             //数量
                                               , 2),
                MallAmount = decimal.Parse(trade.Payment ?? "0") == 0 ? 0 :
                             Math.Round((decimal.Parse(trade.Payment ?? "0")    //实际支付金额
                                         - decimal.Parse(trade.PostFee ?? "0")) //运费
                                        / (decimal.Parse(trade.Payment ?? "0")
                                           - decimal.Parse(trade.PostFee ?? "0")
                                           - decimal.Parse(trade.AdjustFee ?? "0")   //调整金额
                                           + decimal.Parse(trade.DiscountFee ?? "0") //折扣金额
                                           )                                         //折扣金额
                                        * decimal.Parse(item.TotalFee ?? "0")        //应付金额
                                        , 2),
                Quantity        = int.Parse(item.Num.ToString()),
                DiscountFee     = decimal.Parse(item.DiscountFee),
                MallOrderItemId = item.Oid.ToString()
            }).ToList();

            //第三方订单交易信息
            order.MallOrderPayment = new MallOrderPaymentInfo()
            {
                Payment     = decimal.Parse(trade.Payment ?? "0"),
                AlipayNo    = trade.AlipayNo ?? string.Empty,
                PostFee     = decimal.Parse(trade.PostFee ?? "0"),
                DiscountFee = decimal.Parse(trade.DiscountFee ?? "0"),
                PayTime     = DateTime.Parse(trade.PayTime ?? "1900-01-01")
            };

            #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           = trade.ReceiverCity ?? string.Empty,
                Province       = trade.ReceiverState ?? string.Empty,
                District       = trade.ReceiverDistrict ?? string.Empty,
                ReceiveAddress = trade.ReceiverAddress ?? string.Empty,
                ReceiveContact = trade.ReceiverName ?? string.Empty,
                TelPhone       = trade.ReceiverPhone ?? string.Empty,
                Mobile         = trade.ReceiverMobile ?? string.Empty,
                PostCode       = trade.ReceiverZip ?? string.Empty
            };

            //订单备注标示
            order.MallOrderBuyer.SellerFlag = trade.SellerFlag.ToString();
        }
Exemplo n.º 21
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
            });
        }
Exemplo n.º 22
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
            };
        }
Exemplo n.º 23
0
        void Map(DealInfo deal, UpGradeOrder order)
        {
            //第三方买家订单信息
            order.MallOrderBuyer = new MallOrderBuyerInfo()
            {
                BuyerNick     = deal.buyerName,
                MallOrderId   = deal.dealCode,
                BuyerMessage  = deal.buyerRemark ?? string.Empty,
                SellerMessage = deal.dealNote ?? string.Empty + "。" + deal.comboInfo ?? string.Empty
            };

            if (deal.itemList != null)
            {
                //订单明细列表
                order.UpGradeOrderItems = deal.itemList.Select(item => new UpGradeOrderItem
                {
                    MallProductCode   = !string.IsNullOrEmpty(item.stockLocalCode) ? item.stockLocalCode : item.itemLocalCode,
                    MallProductName   = item.itemName,
                    MallProductAttrId = item.skuId ?? string.Empty,
                    MallProductAttrs  = item.stockAttr ?? string.Empty,
                    OrderId           = deal.dealCode,
                    MallPrice         = deal.dealPayFeeTotal == 0 ? 0 :
                                        Math.Round((
                                                       (deal.dealPayFeeTotal
                                                        + decimal.Parse(string.IsNullOrEmpty(item.wanggouQuanAmt) ? "0" : item.wanggouQuanAmt))
                                                       / (deal.dealPayFeeTotal - deal.couponFee)
                                                       * (item.itemDealPrice - (item.itemAdjustPrice + item.itemDiscountFee) / item.itemDealCount)
                                                       ) / 100, 2),
                    MallAmount = deal.dealPayFeeTotal == 0 ? 0 :
                                 Math.Round((
                                                (deal.dealPayFeeTotal
                                                 + decimal.Parse(string.IsNullOrEmpty(item.wanggouQuanAmt) ? "0" : item.wanggouQuanAmt))
                                                / (deal.dealPayFeeTotal - deal.couponFee)
                                                * (item.itemDealPrice - (item.itemAdjustPrice + item.itemDiscountFee) / item.itemDealCount)
                                                ) / 100, 2) * item.itemDealCount,
                    Quantity        = item.itemDealCount,
                    DiscountFee     = item.itemDiscountFee / 100,
                    MallOrderItemId = item.dealSubCode
                }).ToList();
            }

            //第三方订单交易信息
            order.MallOrderPayment = new MallOrderPaymentInfo()
            {
                Payment     = deal.totalCash / 100,
                AlipayNo    = deal.tenpayCode ?? string.Empty,
                PostFee     = decimal.Parse(deal.freight ?? "0") / 100,
                DiscountFee = deal.couponFee / 100,
                PayTime     = deal.payTime
            };

            #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           = string.Empty,
                Province       = string.Empty,
                District       = string.Empty,
                ReceiveAddress = deal.receiverAddress ?? string.Empty,
                ReceiveContact = deal.receiverName ?? string.Empty,
                TelPhone       = deal.receiverPhone ?? string.Empty,
                Mobile         = deal.receiverMobile ?? string.Empty,
                PostCode       = deal.receiverPostcode ?? string.Empty
            };
        }
Exemplo n.º 24
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);
        }
Exemplo n.º 25
0
        void Map(JToken trade, UpGradeOrder order)
        {
            //第三方买家订单信息
            order.MallOrderBuyer = new MallOrderBuyerInfo()
            {
                BuyerNick     = trade["pin"].ToString(),
                MallOrderId   = trade["orderId"].ToString(),
                BuyerMessage  = trade["orderRemark"].ToString(),
                SellerMessage = trade["venderRemark"].ToString()
            };

            order.UpGradeOrderItems = new List <UpGradeOrderItem>();
            var orders = trade["itemInfoList"];

            for (int i = 0; i < orders.Count(); i++)
            {
                var item = orders[i];
                var code = item["outerSkuId"].ToString();
                order.UpGradeOrderItems.Add(new UpGradeOrderItem()
                {
                    MallProductCode   = code,
                    MallProductName   = item["skuName"].ToString(),
                    MallProductAttrId = item["skuId"].ToString(),
                    MallProductAttrs  = item["skuName"].ToString(),
                    OrderId           = trade["orderId"].ToString(),
                    MallPrice         = decimal.Parse(item["jdPrice"].ToString()),
                    MallAmount        = decimal.Parse(item["jdPrice"].ToString()),
                    Quantity          = int.Parse(item["itemTotal"].ToString()),
                    DiscountFee       = 0,// decimal.Parse(item["discount_fee"].ToString()),
                    MallOrderItemId   = item["skuId"].ToString()
                });
            }


            decimal discountFee = 0;

            if (trade["coupondetail"] != null)
            {
                foreach (var item in trade["coupondetail"])
                {
                    discountFee += decimal.Parse(item["couponPrice"].ToString());
                }
            }

            //第三方订单交易信息
            order.MallOrderPayment = new MallOrderPaymentInfo()
            {
                Payment     = decimal.Parse(trade["orderPayment"].ToString()),
                AlipayNo    = "",
                PostFee     = decimal.Parse(trade["freightPrice"].ToString()),
                DiscountFee = discountFee,
                PayTime     = DateTime.Parse(trade["paymentConfirmTime"].ToString() == "0001-01-01 00:00:00" ? "1900-01-01" : trade["paymentConfirmTime"].ToString())
            };

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

            if ((order.MallOrderPayment.Payment - order.MallOrderPayment.PostFee) != order.UpGradeOrderItems.Sum(i => (i.MallAmount * i.Quantity)))
            {
                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           = trade["consigneeInfo"]["city"].ToString(),
                Province       = trade["consigneeInfo"]["province"].ToString(),
                District       = trade["consigneeInfo"]["county"].ToString(),
                ReceiveAddress = trade["consigneeInfo"]["fullAddress"].ToString(),
                ReceiveContact = trade["consigneeInfo"]["fullname"].ToString(),
                TelPhone       = trade["consigneeInfo"]["telephone"].ToString(),
                Mobile         = trade["consigneeInfo"]["mobile"].ToString(),
                PostCode       = "",
            };


            //订单备注标示
            //order.MallOrderBuyer.SellerFlag = trade["seller_flag"].ToString();
        }
Exemplo n.º 26
0
        void Map(JToken trade, UpGradeOrder order)
        {
            //第三方买家订单信息
            order.MallOrderBuyer = new MallOrderBuyerInfo()
            {
                BuyerNick     = trade["consignee"]["name"].ToString(),
                MallOrderId   = trade["orderId"].ToString(),
                BuyerMessage  = "",
                SellerMessage = trade["opinionDesc"].ToString()
            };

            order.UpGradeOrderItems = new List <UpGradeOrderItem>();
            var orders = trade["orderDetails"];

            for (int i = 0; i < orders.Count(); i++)
            {
                var item = orders[i];
                var code = item["mainItemId"].ToString();
                order.UpGradeOrderItems.Add(new UpGradeOrderItem()
                {
                    MallProductCode   = code,
                    MallProductName   = item["itemName"].ToString(),
                    MallProductAttrId = item["itemId"].ToString(),
                    MallProductAttrs  = item["itemName"].ToString(),
                    OrderId           = trade["orderId"].ToString(),
                    MallPrice         = decimal.Parse(item["price"].ToString()),
                    MallAmount        = decimal.Parse(item["price"].ToString()),
                    Quantity          = int.Parse(item["count"].ToString()),
                    DiscountFee       = decimal.Parse((trade["partDiscountPrice"].ToString()) + (trade["couponValue"].ToString())),
                    MallOrderItemId   = item["mainItemId"].ToString()
                });
            }

            //第三方订单交易信息
            order.MallOrderPayment = new MallOrderPaymentInfo()
            {
                Payment     = decimal.Parse(trade["orderTotalPrice"].ToString()),
                AlipayNo    = "",
                PostFee     = decimal.Parse(trade["freightPrice"].ToString()),
                DiscountFee = decimal.Parse((trade["partDiscountPrice"].ToString()) + (trade["couponValue"].ToString())),
                PayTime     = DateTime.Parse(trade["payTime"].ToString() == "" ? "1900-01-01" : trade["payTime"].ToString())
            };

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

            if ((order.MallOrderPayment.Payment - order.MallOrderPayment.PostFee) != order.UpGradeOrderItems.Sum(i => (i.MallAmount * i.Quantity)))
            {
                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           = trade["consignee"]["city"].ToString(),
                Province       = trade["consignee"]["province"].ToString(),
                District       = trade["consignee"]["county"].ToString(),
                ReceiveAddress = trade["consignee"]["address"].ToString(),
                ReceiveContact = trade["idName"].ToString(),
                TelPhone       = "", //trade["consignee"]["telephone"].ToString(),
                Mobile         = trade["consignee"]["mobilephone"].ToString(),
                PostCode       = ""  //trade["consignee"]["post"].ToString(),
            };

            //订单备注标示
            //order.MallOrderBuyer.SellerFlag = trade["seller_flag"].ToString();
        }
Exemplo n.º 27
0
        /// <summary>
        /// 获取已升舱待发货订单
        /// </summary>
        /// <param name="param">条件参数</param>
        /// <param name="auth">授权参数</param>
        /// <returns>订单列表</returns>
        /// <reamrks>2017-08-16 黄杰 创建</reamrks>
        public Result <List <UpGradeOrder> > GetUpGradedWaitSend(OrderParameters param, AuthorizationParameters auth)
        {
            var result = new Result <List <UpGradeOrder> > {
                Status = true, Message = "", Data = null, StatusCode = 0
            };

            //// 支付方式(1货到付款, 2邮局汇款, 3自提, 4在线支付, 5公司转账, 6银行卡转账)
            //order.HytOrderDealer.HytPayType = JingDongToPayTypeSysNo(trade["orderInfo"]["payType"].ToString());
            var xms = new Hyt.Util.Xml.XmlDocumentExtender();

            xms.LoadXml(param.Xml);

            var order = new UpGradeOrder();

            //商城订单明细
            order.UpGradeOrderItems = new System.Collections.Generic.List <UpGradeOrderItem>();

            var orders = xms.SelectNodes("/HipacPush/Body/OrderItemList/OrderItem");

            for (int i = 0; i < orders.Count; i++)
            {
                var item = orders[i];
                var code = item["itemSupplyNo"].InnerText;

                int     specNum    = int.Parse(item["specNum"].InnerText);            //规格数
                decimal tariffRate = decimal.Parse(item["tariffRate"].InnerText);     //关税
                decimal exciseRate = decimal.Parse(item["exciseRate"].InnerText);     //消费税
                decimal addTaxRate = decimal.Parse(item["addTaxRate"].InnerText);     //增值税

                decimal itemTotalTax = decimal.Parse(item["itemTotalTax"].InnerText); //总税款
                decimal itemTotal    = decimal.Parse(item["itemTotal"].InnerText);    //商品总价

                int itemQuantity = int.Parse(item["itemQuantity"].InnerText);
                order.UpGradeOrderItems.Add(new UpGradeOrderItem()
                {
                    MallProductName = item["itemName"].InnerText,
                    MallProductCode = code,
                    MallPrice       = decimal.Parse(item["itemPrice"].InnerText),
                    MallAmount      = itemTotal,
                    Quantity        = int.Parse(item["itemQuantity"].InnerText),
                    HytPrice        = itemTotal / itemQuantity,
                });
            }

            var receiveInfo = xms.SelectSingleNode("/HipacPush/Body/Customer");

            //订单收货信息
            order.MallOrderReceive = new MallOrderReceiveInfo()
            {
                City           = receiveInfo["custCity"].InnerText,
                Province       = receiveInfo["custProvice"].InnerText,
                District       = receiveInfo["custArea"].InnerText,
                ReceiveAddress = receiveInfo["custAddress"].InnerText,
                ReceiveContact = receiveInfo["custName"].InnerText,
                Mobile         = receiveInfo["custPhone"].InnerText,
                IdCard         = receiveInfo["custIdNum"].InnerText,
            };

            var payInfo = xms["HipacPush"]["Body"]["PayInfo"];
            var _order  = xms["HipacPush"]["Body"]["Order"];


            order.MallOrderBuyer = new MallOrderBuyerInfo()
            {
                MallOrderId = _order["orderNum"].InnerText,
            };
            order.HytOrderDealer = new HytOrderDealerInfo()
            {
                //第三方订单编号
                HytPayType      = Hyt.Model.SystemPredefined.PaymentType.分销商预存,//Convert.ToInt32(payInfo["payType"].InnerText),//支付类型(微信支付,支付宝,盛付通)
                HytPayTime      = DateTime.Parse(payInfo["payTime"].InnerText),
                HytPayment      = decimal.Parse(_order["totalPayAmount"].InnerText),
                DealerSysNo     = 0,
                DealerMallSysNo = 0,
            };

            order.MallOrderPayment = new MallOrderPaymentInfo()
            {
                AlipayNo       = payInfo["payNo"].InnerText,
                PayTime        = DateTime.Parse(payInfo["payTime"].InnerText),
                Payment        = decimal.Parse(_order["totalPayAmount"].InnerText),
                PostFee        = decimal.Parse(_order["logisticsAmount"].InnerText),
                TotalTaxAmount = decimal.Parse(_order["totalTaxAmount"].InnerText),
            };

            //string sign = MD5Encrypt(config.AppKey + param.OrderID + config.AppKey).ToUpper();
            result.Data = new List <UpGradeOrder>();
            //订单信息
            result.Data.Add(order);

            return(result);
        }
Exemplo n.º 28
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);
        }
Exemplo n.º 29
0
        void Map(JToken trade, UpGradeOrder order)
        {
            //第三方买家订单信息
            order.MallOrderBuyer = new MallOrderBuyerInfo()
            {
                BuyerNick     = trade["buyer_nick"].ToString(),
                MallOrderId   = trade["tid"].ToString(),
                BuyerMessage  = trade["buyer_message"].ToString(),
                SellerMessage = trade["trade_memo"].ToString()
            };

            order.UpGradeOrderItems = new List <UpGradeOrderItem>();
            var orders = trade["orders"];

            for (int i = 0; i < orders.Count(); i++)
            {
                var item = orders[i];
                var code = item["outer_sku_id"].ToString().Trim('\t').Trim() == "" ? item["outer_item_id"].ToString().Trim('\t').Trim() : item["outer_sku_id"].ToString().Trim('\t').Trim();
                code = code.Replace(" ", "");
                order.UpGradeOrderItems.Add(new UpGradeOrderItem()
                {
                    MallProductCode   = code,
                    MallProductName   = item["title"].ToString(),
                    MallProductAttrId = item["sku_id"].ToString(),
                    MallProductAttrs  = item["sku_properties_name"].ToString(),
                    OrderId           = trade["tid"].ToString(),
                    MallPrice         = decimal.Parse(item["price"].ToString()),
                    MallAmount        = decimal.Parse(item["payment"].ToString()),
                    Quantity          = int.Parse(item["num"].ToString()),
                    DiscountFee       = decimal.Parse(item["discount_fee"].ToString()),
                    MallOrderItemId   = item["oid"].ToString()
                });
            }

            //第三方订单交易信息
            order.MallOrderPayment = new MallOrderPaymentInfo()
            {
                Payment     = decimal.Parse(trade["payment"].ToString()),
                AlipayNo    = trade["outer_tid"].ToString(),
                PostFee     = decimal.Parse(trade["post_fee"].ToString()),
                DiscountFee = decimal.Parse(trade["discount_fee"].ToString()),
                PayTime     = DateTime.Parse(trade["pay_time"].ToString() == "" ? "1900-01-01" : trade["pay_time"].ToString())
            };

            #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           = trade["receiver_city"].ToString(),
                Province       = trade["receiver_state"].ToString(),
                District       = trade["receiver_district"].ToString(),
                ReceiveAddress = trade["receiver_address"].ToString(),
                ReceiveContact = trade["receiver_name"].ToString(),
                TelPhone       = "",
                Mobile         = trade["receiver_mobile"].ToString(),
                PostCode       = trade["receiver_zip"].ToString()
            };

            string buyer_messages = orders[0]["buyer_messages"].ToString();
            if (buyer_messages != "" && (buyer_messages.ToLower().Contains("\"title\": \"身份证\"") || buyer_messages.ToLower().Contains("\"title\": \"身份证号码\"")))
            {
                order.MallOrderReceive.IdCard = orders[0]["buyer_messages"][0]["content"].ToString();
            }


            //订单备注标示
            order.MallOrderBuyer.SellerFlag = trade["seller_flag"].ToString();
        }
Exemplo n.º 30
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);
        }