示例#1
0
        /// <summary>
        /// 获得前几行数据
        /// </summary>
        public IList <Wuyiju.Model.ProductFrontend> GetListWithAttr(Wuyiju.Model.Product.Query query, int?limit = null)
        {
            using (var db = new DataContext())
            {
                var records = GetDao(db).GetList(query, limit);

                var attrDao = unity.GetInstance <IProductAttrDAL>(db);

                var lst = new List <ProductFrontend>();

                foreach (var record in records)
                {
                    var product  = new ProductFrontend(record);
                    var attrDict = new Dictionary <int, string>();
                    product.Attrs = attrDao.GetList(new ProductAttr.Query {
                        Product_Id = product.Id
                    });


                    lst.Add(product);
                }

                return(lst);
            }
        }
示例#2
0
        public int GetCount(Wuyiju.Model.Product.Query query)
        {
            StringBuilder sql = new StringBuilder(@"SELECT count(*) FROM ec_product t 
                        INNER JOIN ec_category n on t.category_id = n.id
                    where 1 = 1 ");

            DynamicParameters param = new DynamicParameters();

            sql.AndEquals("t.category_id", "cat_id")
            .AndEquals("t.status", "status")
            .AndEquals("t.type", "type")
            .AndEquals("t.pay_status", "pay_status")
            .AndEquals("t.hot", "hot")
            .AndEquals("t.best", "best")
            .AndEquals("t.new", "new")
            .AndEquals("t.trademark_type", "trademark_type")
            .AndEquals("t.mall_type", "malltype")
            .AndEquals("t.seller_id", "seller_id")
            .AndBetween("t.price", "StartPrice", "EndPrice")
            .AndLike("t.name", "keyword");

            sql.AndDateBetween("t.add_time", "startdate", "enddate");


            if (query != null)
            {
                param.AddDynamicParams(query);
            }

            return(db.ExecuteScalar <int>(sql.ToString(), param));
        }
示例#3
0
 public int GetCount(Wuyiju.Model.Product.Query query)
 {
     using (var db = new DataContext())
     {
         return(this.GetDao(db).GetCount(query));
     }
 }
示例#4
0
 /// <summary>
 /// 获得前几行数据
 /// </summary>
 public IList <Wuyiju.Model.Product> GetList(Wuyiju.Model.Product.Query query, int?limit = null)
 {
     using (var db = new DataContext())
     {
         return(this.GetDao(db).GetList(query, limit));
     }
 }
示例#5
0
        /// <summary>
        /// 构造属性筛选条件
        /// </summary>
        /// <param name="query"></param>
        /// <param name="param"></param>
        /// <returns></returns>
        private string AttributeQuery(Wuyiju.Model.Product.Query Filter, ref DynamicParameters param)
        {
            var sql = new StringBuilder();

            if (Filter != null && Filter.Attrs != null && Filter.Attrs.Count > 0)
            {
                sql.Append(" and t.id in (select a.product_id from ec_product_attr a where ");

                int i = 0;

                foreach (var attr in Filter.Attrs)
                {
                    if (attr.Key > 0)
                    {
                        if (attr.Key == 101)
                        {
                            sql.AppendFormat(" {0} (a.attr_id = @attr_key{1} ", i > 0 ? "and" : "", i);

                            param.Add(string.Format("attr_key{0}", i), attr.Key);

                            if (!string.IsNullOrWhiteSpace(attr.Value))
                            {
                                sql.AppendFormat(" and a.attr_value like CONCAT('%',@attr_val{0},'%') ", i);
                                param.Add(string.Format("attr_val{0}", i), attr.Value);
                            }

                            sql.Append(" ) ");
                        }
                        else
                        {
                            sql.AppendFormat(" {0} (a.attr_id = @attr_key{1} ", i > 0 ? "and" : "", i);

                            param.Add(string.Format("attr_key{0}", i), attr.Key);

                            if (!string.IsNullOrWhiteSpace(attr.Value))
                            {
                                sql.AppendFormat(" and a.attr_value = @attr_val{0} ", i);
                                param.Add(string.Format("attr_val{0}", i), attr.Value);
                            }

                            sql.Append(" ) ");
                        }
                    }

                    i++;
                }

                sql.Append(" ) ");
            }

            return(sql.ToString());
        }
示例#6
0
        public int TodayNewCount()
        {
            var today = DateTime.Now;
            var query = new Wuyiju.Model.Product.Query
            {
                StartDate = new DateTime(today.Year, today.Month, today.Day, 0, 0, 0),
                EndDate   = new DateTime(today.Year, today.Month, today.Day, 23, 59, 59)
            };

            using (var db = new DataContext())
            {
                return(this.GetDao(db).GetCount(query));
            }
        }
示例#7
0
        /// <summary>
        /// 获得前几行数据
        /// </summary>
        public IList <Wuyiju.Model.Product> GetList(Wuyiju.Model.Product.Query query, int?limit = null)
        {
            StringBuilder     sql   = new StringBuilder(@"SELECT t.id,t.brief,t.admin_id,t.name,t.subname,t.sn,t.category_id,t.market_price,t.price,t.member_price,t.promote_price,t.intro,t.integration,t.integration_buy,t.promote,t.promote_start,t.promote_end,t.recommend,t.click,t.stock,t.pay_status,t.warn_nums,t.sales,t.status,t.hot,t.new,t.best,t.sort,t.keywords,t.seo_title,t.seo_keys,t.seo_desc,t.url,t.address_id,t.buyer_id,t.add_time,t.start_time,t.log,t.del_time,t.filename,t.seller_id,t.user_return,t.type,t.praise_rate,t.collection_popularity,t.seller_credit,t.annual_turnover,t.protection_deposit,t.tech_fee,t.whether_goods,t.buyer_protection,t.virtual_proportion,t.old_customer_number,t.area,t.mall_type,t.trademark_type,t.trademark_no,t.tax_qualification,t.score,t.smallarea,t.company_level,t.guanlian_id,t.weiscore,t.reason,n.name category_name,attr101.attr_value as categories,attr290.attr_value as trademark  FROM ec_product t 
                        INNER JOIN ec_category n on t.category_id = n.id
                        LEFT JOIN (select * from ec_product_attr where attr_id = 101) attr101 on attr101.product_id = t.id
                        LEFT JOIN (select * from ec_product_attr where attr_id = 290) attr290 on attr290.product_id = t.id
                    where 1 = 1 ");
            DynamicParameters param = new DynamicParameters();

            sql.AndEquals("t.category_id", "cat_id")
            .AndEquals("t.status", "status")
            .AndEquals("t.type", "type")
            .AndEquals("t.pay_status", "pay_status")
            .AndEquals("t.hot", "hot")
            .AndEquals("t.best", "best")
            .AndEquals("t.new", "new")
            .AndEquals("t.trademark_type", "trademark_type")
            .AndEquals("t.mall_type", "malltype")
            .AndEquals("t.seller_id", "seller_id")
            .AndEquals("t.sales", "sales")
            .AndEquals("t.recommend", "recommend")
            .AndBetween("t.price", "StartPrice", "EndPrice")
            .AndLike("t.name", "keyword");



            if (query != null)
            {
                param.AddDynamicParams(query);
                sql.Append(AttributeQuery(query, ref param));
            }

            // sql.Append(" order by t.add_time desc , t.sort desc ");

            if (limit != null)
            {
                sql.Append(" limit  @rows ");
            }
            if (limit != null)
            {
                param.Add("rows", limit);
            }

            return(db.GetList <Wuyiju.Model.Product>(sql, param));
        }
示例#8
0
        /// <summary>
        /// 获得数据列表
        /// </summary>
        public IList <Wuyiju.Model.Product> GetList(Wuyiju.Model.Product.Query query)
        {
            StringBuilder     sql   = new StringBuilder(@"SELECT t.id,t.brief,t.admin_id,t.name,t.subname,t.sn,t.category_id,t.market_price,t.price,t.member_price,t.promote_price,t.intro,t.integration,t.integration_buy,t.promote,t.promote_start,t.promote_end,t.recommend,t.click,t.stock,t.pay_status,t.warn_nums,t.sales,t.status,t.hot,t.new,t.best,t.sort,t.keywords,t.seo_title,t.seo_keys,t.seo_desc,t.url,t.address_id,t.buyer_id,t.add_time,t.start_time,t.log,t.del_time,t.filename,t.seller_id,t.user_return,t.type,t.praise_rate,t.collection_popularity,t.seller_credit,t.annual_turnover,t.protection_deposit,t.tech_fee,t.whether_goods,t.buyer_protection,t.virtual_proportion,t.old_customer_number,t.area,t.mall_type,t.trademark_type,t.trademark_no,t.tax_qualification,t.score,t.smallarea,t.company_level,t.guanlian_id,t.weiscore,t.reason,n.name category_name FROM ec_product t 
                        INNER JOIN ec_category n INNER JOIN ec_admin m on t.category_id = n.id and t.guanlian_id=m.id and t.status!=-2
                    where 1 = 1 ");
            DynamicParameters param = new DynamicParameters();

            sql.AndEquals("t.category_id", "cat_id")
            .AndEquals("t.status", "status")
            .AndEquals("t.type", "type")
            .AndEquals("t.pay_status", "pay_status")
            .AndEquals("t.hot", "hot")
            .AndEquals("t.best", "best")
            .AndEquals("m.parent_id", "parent_id")
            .AndEquals("t.trademark_type", "trademark_type")
            .AndEquals("t.mall_type", "malltype")
            .AndEquals("t.seller_id", "seller_id")
            .AndEquals("t.smallarea", "smallarea")
            .AndEquals("t.area", "area")
            .AndEquals("t.sales", "sales")
            .AndEquals("t.guanlian_id", "guanlian_id")
            .AndEquals("t.company_level", "company_level")
            .AndEquals("t.subname", "subname")
            .AndEquals("t.admin_id", "admin_id")
            .AndEquals("t.recommend", "recommend")
            .AndBetween("t.price", "StartPrice", "EndPrice")
            .AndBetween("t.start_time", "starttime1", "starttime2")
            .AndLike("t.name", "keyword");

            if (query != null)
            {
                param.AddDynamicParams(query);
                sql.Append(AttributeQuery(query, ref param));
            }

            return(db.GetList <Wuyiju.Model.Product>(sql, param));
        }