示例#1
0
 public MtCallBackController()
 {
     _service = new MtCallBackService();
 }
示例#2
0
        //[Route("GetGet")]
        //[HttpPost]
        //public IHttpActionResult GetGet()
        //{
        //    var eleOrderApiService = new EleOrderApiService();
        //    var eleCallBackService = new EleCallBackService();

        //    var shops = _shopEleService.GetByUserId("0002");

        //    foreach (var shop in shops)
        //    {
        //        if (shop is null) continue;

        //        var orders = eleOrderApiService.GetAllOrders("18c0a5787a2639347c0e493947d515c6", shop.ShopId, 1, 50, "2021-03-12");
        //        if (orders.error != null)
        //            continue;

        //        var models = JsonConvert.DeserializeObject<List<Models.Eleme.OrderModel>>(JObject.Parse(orders.result.ToString())["list"].ToString());

        //        using (var enumerator = models.GetEnumerator())
        //        {
        //            while (enumerator.MoveNext())
        //            {
        //                var current = enumerator.Current;
        //                var message = new MessageModel()
        //                {
        //                    message = JsonConvert.SerializeObject(current),
        //                    shopId = shop.ShopId
        //                };
        //                eleCallBackService.OrderNew(message);
        //            }
        //        }
        //    }

        //    return Json(Tools.ResultOk());
        //}

        #endregion

        public void CreateMissOrderAll(string userId, DateTime dateTime, string shopNo, int takeType)
        {
            try
            {
                var missDaySeqArrary = _orderService.GetMissOrder(userId, dateTime, shopNo, takeType);
                switch (takeType)
                {
                case 0:
                    var mtOrderApiService = new MtOrderApiService(userId, shopNo);
                    foreach (var daySeq in missDaySeqArrary)
                    {
                        var orderIdByDaySeq = mtOrderApiService.GetOrderIdByDaySeq(dateTime, daySeq);
                        if (!(orderIdByDaySeq.State == "ERR"))
                        {
                            var jtoken      = JObject.Parse(orderIdByDaySeq.Data.ToString())["order_id"];
                            var orderDetail = mtOrderApiService.GetOrderDetail(jtoken.ToString());
                            if (!(orderDetail.State == "ERR"))
                            {
                                var mtCallBackService = new MtCallBackService();
                                _log.DebugFormat("【补单】商户{0} 平台:美团 单号:{1}", userId, jtoken);
                                mtCallBackService.CreateMissOrder(userId, orderDetail.Data.ToString());
                            }
                        }
                    }
                    break;

                case 1:
                    var eleOrderApiService = new EleOrderApiService();
                    var eleShopDto         = _shopEleService.Get(userId, shopNo);
                    if (eleShopDto is null)
                    {
                        return;
                    }

                    var allOrders = eleOrderApiService.GetAllOrders(eleShopDto.AccessToken, eleShopDto.ShopId, 1, 50, dateTime.ToString("yyyy-MM-dd"));
                    if (allOrders.error != null)
                    {
                        break;
                    }
                    var orderModels        = JsonConvert.DeserializeObject <List <Models.Eleme.OrderModel> >(JObject.Parse(allOrders.result.ToString())["list"].ToString()).Where(a => missDaySeqArrary.Contains(a.daySn));
                    var eleCallBackService = new EleCallBackService();
                    using (var enumerator = orderModels.GetEnumerator())
                    {
                        while (enumerator.MoveNext())
                        {
                            var current = enumerator.Current;
                            var message = new MessageModel()
                            {
                                message = JsonConvert.SerializeObject(current),
                                shopId  = eleShopDto.ShopId
                            };
                            _log.DebugFormat("【补单】商户{0} 平台:饿了么 单号:{1}", userId, current?.orderId);
                            eleCallBackService.OrderNew(message);
                        }
                        break;
                    }
                }
            }
            catch (Exception ex)
            {
                _log.DebugFormat("【系统错误】类型:CreateAllOrder 门店:{0}  信息{1}", shopNo, ex.Message);
            }
        }