/// <summary> /// 后台商品信息分页 /// </summary> /// <param name="goodsInfoQuery"></param> /// <param name="pageIndex"></param> /// <param name="pageSize"></param> /// <returns></returns> public PagingDataSet <GoodsInfo> GetPageGoodsInfo(GoodsInfoQuery goodsInfoQuery, int pageIndex, int pageSize) { int totalCount = 0; int totalPage = 0; string whereSql = string.Empty; string orderBy = string.Empty; HandleOrderByEunm(goodsInfoQuery.GoodsInfoSortBy, out orderBy); object pars = new object(); whereSql = HandleQueryBySqlable(goodsInfoQuery, out pars); return(GetPageListByCache <long>(pageIndex, pageSize, out totalCount, out totalPage, whereSql, pars, orderBy, i => i.Goodsid)); }
/// <summary> /// 处理SQL /// </summary> /// <param name="goodsInfoQuery"></param> /// <param name="pars"></param> /// <returns></returns> private string HandleQueryBySqlable(GoodsInfoQuery goodsInfoQuery, out object pars) { Dictionary <string, object> paramsDictionary = new Dictionary <string, object>(); var sqlTable = new Sqlable(); sqlTable.Sql = new StringBuilder(); sqlTable = sqlTable.Where("status = @Status"); paramsDictionary.Add("Status", (int)goodsInfoQuery.GoodsInfoStatus); if (!string.IsNullOrWhiteSpace(goodsInfoQuery.Keynum)) { sqlTable = sqlTable.Where("goodsid = @Goodsid"); paramsDictionary.Add("Goodsid", long.Parse(goodsInfoQuery.Keynum)); } if (!string.IsNullOrWhiteSpace(goodsInfoQuery.Keyword)) { sqlTable = sqlTable.Where("goods_name LIKE @GoodsName"); paramsDictionary.Add("GoodsName", $"%{goodsInfoQuery.Keyword}%"); } if (goodsInfoQuery.GoodsPriceLowerLimit.HasValue) { sqlTable = sqlTable.Where("goods_price >= @GoodsPriceLowerLimit"); paramsDictionary.Add("GoodsPriceLowerLimit", goodsInfoQuery.GoodsPriceLowerLimit); } if (goodsInfoQuery.GoodsPriceUpperLimit.HasValue) { sqlTable = sqlTable.Where("goods_price <= @GoodsPriceUpperLimit"); paramsDictionary.Add("GoodsPriceUpperLimit", goodsInfoQuery.GoodsPriceUpperLimit); } if (goodsInfoQuery.BuyCountLowerLimit.HasValue) { sqlTable = sqlTable.Where("goods_price >= @GoodsPriceLowerLimit"); paramsDictionary.Add("BuyCountLowerLimit", goodsInfoQuery.BuyCountLowerLimit); } if (goodsInfoQuery.BuyCountUpperLimit.HasValue) { sqlTable = sqlTable.Where("goods_price <= @GoodsPriceUpperLimit"); paramsDictionary.Add("BuyCountUpperLimit", goodsInfoQuery.BuyCountUpperLimit); } pars = paramsDictionary; foreach (var item in sqlTable.Where) { sqlTable.Sql.Append(item); } return(sqlTable.Sql.ToString().TrimStart(" AND".ToCharArray())); }
/// <summary> /// 后台商品信息分页 /// </summary> /// <param name="goodsInfoQuery"></param> /// <param name="pageIndex"></param> /// <param name="pageSize"></param> /// <returns></returns> public PagingDataSet <GoodsInfo> GetPageGoodsInfo(GoodsInfoQuery goodsInfoQuery, int pageIndex, int pageSize) { return(goodsInfoRepository.GetPageGoodsInfo(goodsInfoQuery, pageIndex, pageSize)); }