/// <summary> /// 获取文章 /// </summary> /// <param name="p"></param> /// <param name="pagesize"></param> /// <param name="title"></param> /// <param name="categoryId"></param> /// <param name="tagId"></param> /// <returns></returns> public static PageModel<ArticleDetail> GetArticles(int p, int pagesize, string title = null, int categoryId = 0, int tagId = 0) { var init = new Yun.ClientCache.CacheFunc(); List<ArchiveInSql> data = null; long totalItem = 0; if (title.IsNotNullOrEmpty()) { var r = YunClient.Instance.Execute(new GetArchivesRequest { Title = title, TaxonomyId = categoryId, Fields = "id", PageNum = p, Sort = "sort", PageSize = pagesize, Status = "publish", }); data = init.FetchAll<ArchiveInSql>(_cacheName, _cacheName + ".id IN (" + string.Join(",", r.Articles.Select(e => e.Id)) + ")"); totalItem = data.Count; } else { //不需要搜索文章标题的方法 var sql = init.GenerateWhereSql(new List<WhereSql> { new WhereSql("TaxonomyId", categoryId, true), new WhereSql("TaxonomyId", tagId, true), }); sql += " ORDER BY sort DESC, "+_cacheName+".id DESC"; data = init.FetchAll<ArchiveInSql>(p, pagesize, _cacheName, sql, out totalItem); } return new PageModel<ArticleDetail> { CurrentPage = p, Items = data.ConvertAll(ArchiveInSql.ConvertArticleDetail), ItemsPerPage = pagesize, TotalItems = totalItem, }; }
/// <summary> /// 搜索商品 /// </summary> /// <param name="page"></param> /// <param name="itemsperpage"></param> /// <param name="categoryId"></param> /// <param name="areaId"></param> /// <param name="title"></param> /// <param name="sort"></param> /// <param name="minPrice"></param> /// <param name="maxPrice"></param> /// <returns></returns> public static PageModel<GoodsDetail> Find(bool area, int page, int itemsperpage, int categoryId, int areaId, string title, string sort = "default", double minPrice = 0, double maxPrice = 0, int saleType = 1, int shopId = 0, string spid = "0", int itemcatid = 0, string recommend=null) { var init = new Yun.ClientCache.CacheFunc(); List<GoodsDetailInSql> data = null; long totalItem = 0; if (title.IsNotNullOrEmpty() || spid != "0" || itemcatid > 0 || categoryId>0) { var itemss = new GetItemsRequest { ItemTitle = title, ShopCatIds = categoryId > 0 ? categoryId.ToString() : null, Fields = "id", PageNum = page, PageSize = itemsperpage, AreaIds = areaId > 0 ? areaId.ToString() : null, Sorts = sort, MinPrice = minPrice, MaxPrice = maxPrice, SaleType = saleType, ShopId = shopId, Recommend = recommend, PropIds = spid != "0" ? spid : null, Operation = "propids:and", ItemCatIds = itemcatid > 0 ? itemcatid.ToString() : null }; var r = YunClient.Instance.Execute(itemss); data = init.FetchAll<GoodsDetailInSql>(_cacheName, "id IN (" + string.Join(",", r.Items.Select(e => e.Id)) + ") " + GenerateSort(sort)); totalItem = data.Count; } else { var sql=""; if (area) { sql = init.GenerateWhereSql(new List<WhereSql> { new WhereSql("CompanyId", GlobeInfo.InitiatedCompanyId, true), new WhereSql("ShopId", shopId, true), new WhereSql("CategoryId", categoryId, true), new WhereSql("AreaId", areaId, true), new WhereSql("IsRecommend", recommend!=null?recommend=="1"?"True":"False":null, true), new WhereSql("Price", minPrice, true, SqlOperatorsEnum.GreaterEqualThan), new WhereSql("Price", maxPrice, true, SqlOperatorsEnum.LessEqualThan), new WhereSql("SaleType",saleType, true), new WhereSql("OffShelfTime", DateTime.Now.ToString(), true, SqlOperatorsEnum.GreaterThan), new WhereSql("OnShelfTime", DateTime.Now.ToString(), true, SqlOperatorsEnum.LessEqualThan), }); } else { //不需要搜索文章标题的方法 sql = init.GenerateWhereSql(new List<WhereSql> { new WhereSql("CompanyId", GlobeInfo.InitiatedCompanyId, true), new WhereSql("ShopId", shopId, true), new WhereSql("CategoryId", categoryId, true), new WhereSql("AreaId", areaId, true), new WhereSql("IsRecommend", recommend!=null?recommend=="1"?"True":"False":null, true), new WhereSql("Price", minPrice, true, SqlOperatorsEnum.GreaterEqualThan), new WhereSql("Price", maxPrice, true, SqlOperatorsEnum.LessEqualThan), new WhereSql("SaleType",saleType, true), }); } sql += GenerateSort(sort); data = init.FetchAll<GoodsDetailInSql>(page, itemsperpage, _cacheName, sql, out totalItem); } return new PageModel<GoodsDetail> { CurrentPage = page, Items = data.ConvertAll(GoodsDetailInSql.ConvertGoodsDetail), ItemsPerPage = itemsperpage, TotalItems = totalItem, }; }
public static List<GoodsDetail> Gets(int p,int pageSize,IList<int> itemIds) { var init = new Yun.ClientCache.CacheFunc(); List<GoodsDetail> data = null; data = init.FetchAll<GoodsDetail>(p, pageSize, _cacheName, "id in (" + string.Join(",", itemIds) + ")"); return data; }
/// <summary> /// 搜索店铺 /// </summary> /// <param name="page"></param> /// <param name="pageSize"></param> /// <param name="areaId"></param> /// <param name="categoryId"></param> /// <param name="name"></param> /// <returns></returns> public static PageModel<ShopDetail> Search(long page, int pageSize, int areaId, int categoryId, string name) { var init = new Yun.ClientCache.CacheFunc(); long total = 0; var r = init.FetchAll<ShopInSql>(page, pageSize, _cacheName, init.GenerateWhereSql(new List<WhereSql> { new WhereSql("AreaId", areaId, true), new WhereSql("CategoryId", categoryId, true), new WhereSql("Title", name, true) }), out total); return new PageModel<ShopDetail> { CurrentPage = page, Items = r.ConvertAll(ShopInSql.ConvertShopDetail), ItemsPerPage = pageSize, TotalItems = total }; }