예제 #1
0
        public ResultJson <CommodityRes> GetListBySearch(CommListSearchReq req)
        {
            ResultJson <CommodityRes> r = new ResultJson <CommodityRes>();
            var text       = req.text;
            var sales      = req.sales;
            var order      = req.order;
            var commIdTemp = req.commIds;
            var isSearch   = req.isSearch;
            var size       = req.size;
            var index      = req.index;

            var list = new List <CommodityListRes>();
            var r2   = new List <CommodityRes>();

            var c2 = new CommodityRes();

            c2.pages    = 1;
            c2.ListData = new List <CommodityListRes>();
            if (isSearch)
            {
                if (commIdTemp != null)
                {
                    var listCommIds = new List <int>(commIdTemp).Distinct().ToList();
                    c2 = CommodityFunc.Instance.GetCommList(index, size, listCommIds, sales, order);
                }
                else
                {
                    c2 = CommodityFunc.Instance.GetSearchList(index, size, text, sales, order);
                }
            }
            else
            {
                c2 = CommodityFunc.Instance.GetSearchList(index, size, text, sales, order);
            }

            r2.Add(c2);
            r.ListData = r2;
            r.HttpCode = 200;
            return(r);
        }
예제 #2
0
        public CommodityRes GetSearchList(int index, int size, string search, int?sales = null, string orderStr = null)
        {
            CommodityRes r    = new CommodityRes();
            string       key  = "";
            bool         desc = true;

            switch (orderStr)
            {
            case "salesDesc":
                key  = "sales";
                desc = true;
                break;

            case "price":
                key  = "maxPrice";
                desc = false;
                break;

            case "priceDesc":
                key  = "maxPrice";
                desc = true;
                break;

            case "starsDesc":
                key  = "stars";
                desc = true;
                break;

            case "createTimeDesc":
                key  = "createTime";
                desc = true;
                break;
            }

            Commodity_Stageprice_View c = new Commodity_Stageprice_View();

            c.Name      = search;
            c.Introduce = search;
            c.Content   = search;
            c.Sales     = sales;
            c.IsDelete  = false;

            var count = Commodity_Stageprice_ViewOper.Instance.SelectCountForSearchList(c, null, null);

            var listComm = Commodity_Stageprice_ViewOper.Instance.SelectByPageForSearchList(key, index * size, size, desc, c);

            List <CommodityListRes> commList = new List <CommodityListRes>();

            foreach (var item in listComm)
            {
                var res = new CommodityListRes(item);
                commList.Add(res);
            }

            var pages = count / size;

            //总页数
            pages = pages * size == count ? pages : pages + 1;

            r.ListData = commList;
            r.index    = (int)index;
            r.pages    = (int)pages;
            return(r);
        }
예제 #3
0
        /// <summary>
        /// 根据条件筛选商品
        /// </summary>
        /// <param name="ids"></param>
        /// <returns></returns>
        public CommodityRes GetCommList(int index, int size, List <int> ids = null, int?sales = null, string orderStr = null)
        {
            CommodityRes r = new CommodityRes();

            if (ids != null)
            {
                Commodity_Stageprice_View c = new Commodity_Stageprice_View();
                c.Id       = 1;
                c.IsDelete = false;
                if (sales != null)
                {
                    c.Sales = 1;
                }

                string key  = "";
                bool   desc = true;
                switch (orderStr)
                {
                case "salesDesc":
                    key  = "sales";
                    desc = true;
                    break;

                case "price":
                    key  = "maxPrice";
                    desc = false;
                    break;

                case "priceDesc":
                    key  = "maxPrice";
                    desc = true;
                    break;

                case "starsDesc":
                    key  = "stars";
                    desc = true;
                    break;

                case "createTimeDesc":
                    key  = "createTime";
                    desc = true;
                    break;
                }

                //CommodityspviewOper.Instance.SelectByPageForCommList(key, 0, 9, desc, c, null, null, ids, sales);

                var count = Commodity_Stageprice_ViewOper.Instance.SelectCountForCommList(c, null, null, ids, sales);

                var listComm = Commodity_Stageprice_ViewOper.Instance.SelectByPageForCommList(key, index * size, size, desc, c, null, null, ids, sales);

                List <CommodityListRes> commList = new List <CommodityListRes>();
                foreach (var item in listComm)
                {
                    var res = new CommodityListRes(item);
                    commList.Add(res);
                }

                var pages = count / size;
                //总页数
                pages = pages * size == count ? pages : pages + 1;

                r.ListData = commList;
                r.index    = index;

                r.pages = pages;
                return(r);
            }
            return(null);
        }