Example #1
0
        public async void SyncOrderDeliveryToAssist(List <Order> orderList)
        {
            var orderDeliveryDatas = new List <OrderDeliveryData>();

            foreach (var order in orderList)
            {
                var orderDeliveryData = new OrderDeliveryData
                {
                    sd_id           = order.ShopId == 97 ? "501" : order.ShopId.ToString(),
                    order_sn        = order.SerialNumber,
                    delivery_number = order.DeliveryNumber,
                    delivery_type   = _deliveriesService.GetDeliveryById(order.DeliveryTypeId) == null ? "" : _deliveriesService.GetDeliveryById(order.DeliveryTypeId).ShopCode
                };
                orderDeliveryDatas.Add(orderDeliveryData);
            }

            using (var http = new HttpClient())
            {
                var content  = new StringContent(orderDeliveryDatas.ToJson(), System.Text.Encoding.UTF8, "application/json");
                var postUrl  = _configuration.GetSection("OrderAssistOmsApi")["domain"].ToString() + "/OrderDelivery";
                var response = http.PostAsync(postUrl, content).Result;
                var result   = await response.Content.ReadAsStringAsync();

                if (response.StatusCode == System.Net.HttpStatusCode.OK)
                {
                    var data = JsonMapper.ToObject <OrderDeliveryResponse>(result);
                    if (data.state)
                    {
                        var orderNotificationResults = data.resp_data.delivery_result_list;
                        var noSuccNotific            = new List <OrderNotificationResult>();
                        if (orderNotificationResults != null && orderNotificationResults.Count > 0)
                        {
                            noSuccNotific = orderNotificationResults.Where(r => r.result != "1").ToList();
                        }
                        if (noSuccNotific != null && noSuccNotific.Count() > 0)
                        {
                            var order_snStr = string.Empty;
                            foreach (var item in noSuccNotific)
                            {
                                order_snStr += string.Format("商铺Id:{0},系统方订单号{1};", item.sd_id, item.order_sn);
                            }

                            _logService.Error(string.Format("OMS发货成功通知信息异常:{0}", order_snStr));
                        }
                    }
                    else
                    {
                        _logService.Error(string.Format("OMS发货成功通知信息异常,订单号:{0},错误信息:{1}", orderList.FirstOrDefault().SerialNumber, data.message));
                    }
                }
            }
        }
Example #2
0
        public IActionResult GetDeliveryInfo(int id)
        {
            var result = _deliveriesService.GetDeliveryById(id);

            return(Success(result));
        }