public async Task <bool> AreNewEggCredentialsValid(CancellationToken token, Mark mark = null) { if (mark == null) { mark = Mark.CreateNew(); } int pageIndex = 1; DateTime startDateUtc = DateTime.UtcNow; DateTime endDateUtc = startDateUtc.AddMinutes(1); var request = new GetOrderInfoRequest( new GetOrderInfoRequestBody( pageIndex, base.Config.OrdersPageSize, new GetOrderInfoRequestCriteria() { Type = 0, Status = ( int )NewEggOrderStatusEnum.Unshipped, OrderDateFrom = Misc.ConvertFromUtcToPstStr(startDateUtc), OrderDateTo = Misc.ConvertFromUtcToPstStr(endDateUtc) })); var ordersPageServerResponse = await base.PutAsync(new GetModifiedOrdersCommand( base.Config, base.Credentials, request.ToJson()), token, mark, (code, response) => false).ConfigureAwait(false); if (ordersPageServerResponse.Error == null) { return(true); } else { throw new NewEggException(ordersPageServerResponse.Error.Message); } }
private async Task <IEnumerable <NewEggOrder> > GetModifiedOrdersByStatusAsync(DateTime startDateUtc, DateTime endDateUtc, string countryCode, NewEggOrderStatusEnum orderStatus, CancellationToken token, Mark mark = null) { var orders = new List <NewEggOrder>(); if (mark == null) { mark = Mark.CreateNew(); } int pageIndex = 1; while (true) { var request = new GetOrderInfoRequest( new GetOrderInfoRequestBody( pageIndex, base.Config.OrdersPageSize, new GetOrderInfoRequestCriteria() { Type = 0, Status = (int)orderStatus, OrderDateFrom = Misc.ConvertFromUtcToPstStr(startDateUtc), OrderDateTo = Misc.ConvertFromUtcToPstStr(endDateUtc), CountryCode = countryCode, })); var ordersPageServerResponse = await base.PutAsync(new GetModifiedOrdersCommand( base.Config, base.Credentials, request.ToJson()), token, mark, (code, response) => false).ConfigureAwait(false); if (ordersPageServerResponse.Error == null) { var ordersPage = JsonConvert.DeserializeObject <GetOrderInfoResponse>(ordersPageServerResponse.Result); if (ordersPage.IsSuccess) { if (ordersPage.ResponseBody.OrderInfoList != null) { orders.AddRange(ordersPage.ResponseBody.OrderInfoList.Select(o => o.ToSVOrder())); ++pageIndex; } if (ordersPage.ResponseBody.PageInfo.TotalPageCount <= pageIndex) { break; } } else { break; } } else { throw new NewEggException(ordersPageServerResponse.Error.Message); } } return(orders.ToArray()); }
public async Task <GetOrderInfoResponse> GetOrderInfo(GetOrderInfoRequest request) { var queryParameters = new Dictionary <string, string>(); queryParameters.AddValueIfNotNullOrEmpty("signalProvider", _options.SignalProvider); queryParameters.AddValueIfNotNullOrEmpty("signalProviderKey", _options.SignalProviderKey); queryParameters.AddValueIfNotNullOrEmpty("extId", request.ExternalId); queryParameters.AddValueIfNotNullOrEmpty("orderId", request.OrderId); var queryString = queryParameters.ToQueryString(); return(await this.GetAsync <GetOrderInfoResponse>($"v2/getOrderInfo{queryString}")); }
/// <summary> /// 获得订单信息 /// </summary> /// <param name="request"></param> /// <returns></returns> public ResultJsonModel <GetOrderInfoResponse> OrderInfo(GetOrderInfoRequest request) { ResultJsonModel <GetOrderInfoResponse> result = new ResultJsonModel <GetOrderInfoResponse>(); Orders orders = CacheForModel_Order.Instance.GetOrdersByOrderId(request.OrderId); if (orders == null) { result.HttpCode = 300; result.Message = Enum_Message.NoMoreDataMessage.Enum_GetString(); return(result); } var userModel = CacheForModelUser.Instance.GetUserInfo(orders.CustomerId); if (userModel == null) { result.HttpCode = 300; result.Message = Enum_Message.UserNotExitMessage.Enum_GetString(); return(result); } var recipe = CacheForModelRecipe.Instance.GetRecipeListByRecipeId(orders.RecipeId.ParseInt().Value).FirstOrDefault(); if (recipe == null) { result.HttpCode = 300; result.Message = Enum_Message.NoMoreDataMessage.Enum_GetString(); return(result); } var restaurant = CacheForModelRestaurant.Instance.GetRestaurantById(recipe.restaurantId.Value).FirstOrDefault(); if (restaurant == null) { result.HttpCode = 300; result.Message = Enum_Message.NoMoreDataMessage.Enum_GetString(); return(result); } List <Food> list_food = CacheForModelFood.Instance.GetFoodList(); List <FoodType> list_food_type = CacheForModelFoodType.Instance.GetFoodTypeList(); List <Tag> list_tag = CacheForModelTag.Instance.GetTagList(); List <Tag_Relation> list_tag_relation = CacheForModel_TagRelation.Instance.GetTagRelationList(); List <CustomerLike> list_customer_like = CacheForModelCustomerLike.Instance.GetCustomLike(orders.CustomerId); List <Recipe_foods> list_recipe_food = CacheForModelRecipe_Foods.Instance.GetRecipe_FoodsListByRecipeId(orders.RecipeId.ParseInt().Value); List <DataDictionary> list_data_dictionary = CacheForModelDataDcitionarys.Instance.GetDataDictionaryList("餐厅类型"); GetOrderInfoResponse response = new GetOrderInfoResponse(orders, recipe, restaurant, list_food, list_food_type, list_tag, list_customer_like, userModel, list_tag_relation, list_recipe_food, list_data_dictionary, request.CoordX, request.CoordY); result.HttpCode = 200; result.Message = Enum_Message.SuccessMessage.Enum_GetString(); result.Model1 = response; return(result); }
public async Task GetOrdersInfo_ReturnsOrderInfo() { // Arrange var options = CreateOptions(); var httpClient = new HttpClient(); var client = new BotsOrderApi(options, httpClient); var getOrderInfoRequest = new GetOrderInfoRequest { OrderId = "bem-bot-5fdf0108e8f42a4ffc5fa0a1-1650101488-0001-3429175148" }; // Act var order = await client.GetOrderInfo(getOrderInfoRequest); // Assert order.Should().NotBeNull(); order.OrderId.Should().Be(getOrderInfoRequest.OrderId); }
public ResultJsonModel <GetOrderInfoResponse> OrderInfo(GetOrderInfoRequest request) { return(OrdersBiz.Instance.OrderInfo(request)); }