Exemplo n.º 1
0
        static void Main(string[] args)
        {
            try
            {
                Log.Info("总包号跟踪记录信息Job 任务开始运行");
                var list = TotalPackageTraceInfoController.GetTotalPackageTraceInfo();
                if (list != null && list.Count > 0)
                {
                    var dictionary = TotalPackageTraceInfoController.GetShippingMethodConfig();

                    foreach (var model in list)
                    {
                        var xml = new StringBuilder();
                        dictionary[model.TraceEventCode].ForEach(p =>
                        {
                            if (model.TraceEventCode > _maxEventCode)
                            {
                                xml.Append(
                                    "<EventContent Address=\"{0}\" ShippingMentodId=\"{1}\"  CountryCode=\"{2}\" OffsetHours=\"{4}\">{3}</EventContent>"
                                    .FormatWith(p.Address, p.ShippingMethodId, p.CountryCode, p.EventContent, p.OffsetHours));
                            }
                            else
                            {
                                xml.Append(
                                    "<EventContent ShippingMentodId=\"{0}\"  CountryCode=\"{1}\" OffsetHours=\"{3}\">{2}</EventContent>"
                                    .FormatWith(p.ShippingMethodId, p.CountryCode, p.EventContent, p.OffsetHours));
                            }
                        });
                        if (TotalPackageTraceInfoController.InsertInTrackingLogInfo(model, xml.ToString()))
                        {
                            if (model.TraceEventCode >= _maxEventCode && model.TraceEventCode < dictionary.Keys.Max())
                            {
                                TotalPackageTraceInfoController.InTotalPackageTraceInfo(new TotalPackageTraceInfoModel()
                                {
                                    CreatedBy          = model.CreatedBy,
                                    TotalPackageNumber = model.TotalPackageNumber,
                                    TraceEventCode     = model.TraceEventCode + 1,
                                    TraceEventTime     = (model.TraceEventCode == 8?model.TraceEventTime.AddHours(48)
                                                          .AddMilliseconds(new Random().Next(-2 * 60 * 60 * 1000, 2 * 60 * 60 * 1000)):
                                                          model.TraceEventTime.AddHours(24)
                                                          .AddMilliseconds(new Random().Next(-2 * 60 * 60 * 1000, 2 * 60 * 60 * 1000))),
                                    TraceEventAddress = ""
                                });
                            }
                        }
                    }
                }
                Log.Info("总包号跟踪记录信息Job 任务运行结束");
            }
            catch (Exception ee)
            {
                Log.Exception(ee);
            }
        }
Exemplo n.º 2
0
        public static void Run()
        {
            Log.Info("开始抓取B2C跟踪信息");
            TrackController.GetTrackInfo();
            Log.Info("完成抓取B2C跟踪信息");
            Log.Info("开始生成内部跟踪信息");
            var shippingMethodIds = TotalPackageTraceInfoController.GetShippingMethodsByIds();
            var dictionary        = TotalPackageTraceInfoController.GetShippingMethodConfig(shippingMethodIds);

            CreateInternalTrackInfo(shippingMethodIds, dictionary);
            Log.Info("完成生成内部跟踪信息");
            TotalPackageTraceInfoController.OutInsertB2CForeCastLogs();
            CreateCustomTrackInfo(shippingMethodIds, dictionary);
            TrackController.TrackInfoInsertLms();
        }