Exemplo n.º 1
0
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IHostingEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }

            app.UseSwagger();

            app.UseSwaggerUI(c =>
            {
                c.SwaggerEndpoint("/swagger/v1/swagger.json", "web api v1");
                //c.RoutePrefix = string.Empty;
            });
            app.UseMiddleware <TimeMiddleware>();
            // app.UseMiddleware<TimeMiddleware>(new StopWatch()); //也可以不把StopWatch添加到依赖注入容器中,而是在UserMiddleware方法中直接给出参数。
            app.UseMvc();
#if !DEBUG
            InitBLL.Start();
#endif
            InitBLL.Start();
            Task.Factory.StartNew(() => {
                TaoBaoKeHelper.ImportAllTaobaoke();
                TaoBaoKeHelper.ImportTaobaoke();
            });
        }
Exemplo n.º 2
0
        public static Result <Items> QueryPageList(ReqItems req)
        {
            Result <Items> results = new Result <Items>();

            if (req.IsFull)
            {
                var tempItems = TaoBaoKeHelper.QueryCoupon(req.KeyWord);
                if (tempItems.Count > req.PageInfo.PageSize)
                {
                    results.Results = tempItems.OrderByDescending(t => t.CommissionRate).ThenByDescending(t => t.Volume).Skip(req.PageInfo.PageSize * (req.PageInfo.PageIndex - 1)).Take(req.PageInfo.PageSize).ToList();
                }
                else
                {
                    results.Results = tempItems;
                }
                results.TotalCount = tempItems.Count;
                Task.Factory.StartNew(() =>
                {
                    UpdateCache(tempItems);
                });
                return(results);
            }
            if (mDict.HasValue())
            {
                List <Items> temp = mDict.Where(m =>
                {
                    bool tempResult = m.Status == 1;
                    if (tempResult && req.KeyWord.IsNotNullOrEmpty())
                    {
                        tempResult = m.Title.TryContains(req.KeyWord);

                        if (tempResult == false)
                        {
                            tempResult = m.Tags.TryContains(req.KeyWord);
                        }

                        if (tempResult == false)
                        {
                            tempResult = m.ProductUrl.TryContains(req.KeyWord);
                        }

                        if (tempResult == false)
                        {
                            tempResult = m.ProductWapUrl.TryContains(req.KeyWord);
                        }
                    }

                    if (tempResult && req.TypeId > 0)
                    {
                        tempResult = m.TypeId == req.TypeId;
                    }

                    if (tempResult && req.ZCId > 0)
                    {
                        tempResult = m.ZCId == req.ZCId;
                    }

                    if (tempResult && req.Tag.IsNotNullOrEmpty() && m.Tags != null)
                    {
                        tempResult = m.Tags.TryContains(req.Tag) || m.Title.TryContains(req.Tag);
                    }

                    return(tempResult);
                }).ToList();

                temp = temp.OrderByDescending(t => t.YouhuiPrice).ToList();

                if (req.PageInfo.SortFields.IsNotNullOrEmpty() && req.PageInfo.SortFields == "volume")
                {
                    if (req.PageInfo.Sort.EqualsCurrentCultureIgnoreCase("desc"))
                    {
                        temp = temp.OrderByDescending(t => t.Volume).ToList();
                    }
                    else
                    {
                        temp = temp.OrderBy(t => t.Volume).ToList();
                    }
                }
                results.Results    = temp.Skip(req.PageInfo.PageSize * (req.PageInfo.PageIndex - 1)).Take(req.PageInfo.PageSize).ToList();
                results.TotalCount = temp.Count;
                if (results.TotalCount == 0)
                {
                    var tempItems = TaoBaoKeHelper.QueryCoupon(req.KeyWord);
                    if (tempItems.Count > req.PageInfo.PageSize)
                    {
                        results.Results = tempItems.OrderByDescending(t => t.CommissionRate).ThenByDescending(t => t.Volume).Take(req.PageInfo.PageSize).ToList();
                    }
                    results.TotalCount = tempItems.Count;
                    Task.Factory.StartNew(() =>
                    {
                        UpdateCache(tempItems);
                    });
                }
                return(results);
            }

            var dbContext = new DbContext();
            Expression <Func <Items, bool> > fun = null;

            if (req.KeyWord.IsNotNullOrEmpty())
            {
                fun = (r) => SqlFunc.Contains(r.Title, req.KeyWord);
            }

            var result = dbContext.ItemsDb.GetPages(req.ConvertData(), fun, req.PageInfo);

            return(result);
        }
Exemplo n.º 3
0
 public static void ImportTaobaoke()
 {
     TaoBaoKeHelper.ImportAllTaobaoke();
     WebRequestHelper.GetResponseContent("http://api.bestddd.com/api/items/refresh/AutoReInit" + DateTime.Now.Hour.ToString());
 }