Esempio n. 1
0
        /// <summary>
        /// 同步商品到易扫购,以修改方式
        /// </summary>
        /// <param name="url">商品修改地址</param>
        /// <param name="merchantId">商户编号</param>
        /// <param name="customerId">商户角色编号</param>
        /// <param name="key">商户密钥</param>
        /// <param name="model">商品实体</param>
        /// <returns></returns>
        /// <remarks>2016-05-18 杨浩 创建</remarks>
        public Result AsynProductUpdate(string merchantId, string goodsId, string key, ParaProductSearchFilter model, int dealerSysNo)
        {
            var result = new Result()
            {
                Status = true
            };

            var wareHouseInfo = BLL.Distribution.DsDealerWharehouseBo.Instance.GetByDsUserSysNo(dealerSysNo);

            if (wareHouseInfo == null)
            {
                result.Status  = false;
                result.Message = "没有绑定仓库";
                return(result);
            }

            string url = "https://mall.ehking.com/api/goods/modify";
            //PdProductStock productStock = PdProductStockBo.Instance.GetEntityByWP(wareHouseInfo.WarehouseSysNo, 0);

            var pager     = new Pager <CBPdProductDetail>();
            var condition = new ParaProductFilter();

            condition.DealerSysNo = dealerSysNo;
            pager.PageSize        = int.MaxValue;
            pager.CurrentPage     = 1;
            BLL.Distribution.DsSpecialPriceBo.Instance.GetSpecialPriceProductList(ref pager, condition);
            foreach (var row in pager.Rows)
            {
            }
            var product = new MEProductUpdate();

            product.merchantId  = merchantId;
            product.goodsId     = goodsId;
            product.goodsName   = model.ProductName;
            product.goodsCode   = model.ErpCode;
            product.goodsAmount = (int)(model.Price * 100);
            product.goodsType   = goodsType["其他"];



            decimal inventoryCount = 0;

            //if (productStock != null)
            //{
            //    inventoryCount = productStock.StockQuantity;
            //}

            product.inventoryCount = (int)inventoryCount;
            product.status         = model.Status;
            product.goodsDescribe  = model.ProductSummary;

            IList <PdProductImage> imageList = new List <PdProductImage>();

            imageList = PdProductImageBo.Instance.GetProductImg(model.SysNo).Take(12).ToList();
            StringBuilder imageJsonArray = new StringBuilder();

            product.pictureList = new List <MEProductUpdatePicture>();
            int orderNum = 1;

            foreach (PdProductImage imageItem in imageList)
            {
                string filePath = imageItem.ImageUrl.Replace('/', '\\');

                filePath = string.Format(filePath, @"E:\StaticFiles\SG\Images\", "Base");

                MEProductUpdatePicture picture = new MEProductUpdatePicture();
                picture.baseCode = imageToBase64(filePath);
                picture.orderNum = orderNum++;
                picture.fileType = getExtensionName(filePath);
                product.pictureList.Add(picture);
            }

            string hmac = product.merchantId + product.goodsId + product.goodsName + product.goodsCode + product.goodsAmount + product.goodsType + product.inventoryCount + product.status;

            product.hmac = Security.HmacSign(hmac, key);

            string param      = LitJson.JsonMapper.ToJson(product);
            string jsonString = Send(url, param);

            if (jsonString.Contains(@"""status"":""ERROR"""))
            {
                result.Status  = false;
                result.Message = jsonString;
            }
            else
            {
                result.Status = true;
            }

            return(result);
        }
 /// <summary>
 /// 获取商品详细信息列表
 /// </summary>
 /// <param name="pager">商品详细信息查询列表</param>
 /// <param name="dealerMallSysNo">分销商商城系统编号</param>
 /// <param name="condition">动态条件,CBPdProductDetail里不包含的条件</param>
 /// <returns></returns>
 /// <remarks>2015-12-10 王耀发 创建</remarks>
 public abstract void GetDealerMallProductList(ref Pager <CBPdProductDetail> pager, int dealerMallSysNo, ParaProductFilter condition);
Esempio n. 3
0
 /// <summary>
 /// 获取商品详细信息列表
 /// </summary>
 /// <param name="pager">商品详细信息查询列表</param>
 /// <param name="dealerMallSysNo">分销商商城系统编号</param>
 /// <param name="condition">动态条件,CBPdProductDetail里不包含的条件</param>
 /// <returns></returns>
 /// <remarks>2015-12-10 王耀发 创建</remarks>
 public void GetSpecialPriceProductList(ref Pager <CBPdProductDetail> pager, ParaProductFilter condition)
 {
     IDsSpecialPriceDao.Instance.GetSpecialPriceProductList(ref pager, condition);
 }
Esempio n. 4
0
        /// <summary>
        /// 获取商品详细信息列表
        /// </summary>
        /// <param name="pager">商品详细信息查询列表</param>
        /// <param name="dealerMallSysNo">分销商商城系统编号</param>
        /// <param name="condition">动态条件,CBPdProductDetail里不包含的条件</param>
        /// <returns></returns>
        /// <remarks>
        /// 2015-12-10 王耀发 创建
        /// 2016-6-27 杨浩 增加产品价格只查有效的(PdPrice + Status=1)
        /// </remarks>
        public override void GetSpecialPriceProductList(ref Pager <CBPdProductDetail> pager, ParaProductFilter condition)
        {
            //List<DBKey> keyList = new List<DBKey>();
            //keyList.Add(new DBKey() { KeyName = "WholesalePrice", Type = "decimal(18, 2)" });
            //CheckKeyExcel(keyList);

            using (var _context = Context.UseSharedConnection(true))
            {
                //只能看到总部和分销商对应自己创建的商品
                //var sqlWhere = " 1=1 and p.Status <> 2 and (p.DealerSysNo = 0 or p.DealerSysNo = " + condition.SelectedDealerSysNo + ")";

                var sqlWhere = " 1=1 and p.Status <> 2 ";
                if (condition.IsFrontDisplay >= 0)
                {
                    sqlWhere += " and p.IsFrontDisplay=@IsFrontDisplay";
                }

                if (condition.MainStatus >= 0)
                {
                    sqlWhere += " and p.Status=@MainStatus";
                }

                if (condition.Status >= 0)
                {
                    sqlWhere += " and isnull(sp.Status,0)=@Status";
                }

                if (condition.SysNo > 0)
                {
                    sqlWhere += " and p.Sysno=@Sysno";
                }


                if (!string.IsNullOrEmpty(condition.ErpCode) && condition.ErpCode != "")
                {
                    sqlWhere += " and p.ErpCode=@ErpCode";
                }

                if (!string.IsNullOrEmpty(condition.Barcode) && condition.Barcode != "")
                {
                    sqlWhere += " and p.Barcode=@Barcode";
                }

                if (condition.ProductType > 0)
                {
                    sqlWhere += " and p.ProductType=@ProductType";
                }

                if (!string.IsNullOrEmpty(condition.ProductName) && condition.ProductName != "")
                {
                    sqlWhere += " and (p.EasName like @name1 or  p.ErpCode = @name or p.Barcode=@name)";
                }

                if (condition.StartTime != null)
                {
                    sqlWhere += " and p.LastUpdateDate >= @StartTime";
                }

                if (condition.EndTime != null)
                {
                    sqlWhere += " and p.LastUpdateDate <= @EndTime";
                }

                if (condition.CreateStartTime != null)
                {
                    sqlWhere += " and p.CreatedDate >= @CreateStartTime";
                }

                if (condition.CreateEndTime != null)
                {
                    sqlWhere += " and  p.CreatedDate <= @CreateEndTime";
                }

                if (condition.ProductCategorySysno > 0)
                {
                    sqlWhere += " and SysNos like '%," + condition.ProductCategorySysno + ",%' ";
                }

                if (condition.HasChangePrice.HasValue && condition.HasChangePrice == 1)
                {
                    sqlWhere += " and case d.IsWholeSaler when 1 then p.TradePrice else price1.Price end<>sp.Price ";
                }

                if (condition.HasChangePrice.HasValue && condition.HasChangePrice == 2)
                {
                    sqlWhere += " and case d.IsWholeSaler when 1 then p.TradePrice else price1.Price end=sp.Price ";
                }

                //获取当前分销商的订单和当前用户对应所有分销商订单
                string sqlWhere2 = "1=1";
                //判断是否绑定所有分销商
                if (!condition.IsBindAllDealer)
                {
                    //判断是否绑定分销商
                    if (condition.IsBindDealer)
                    {
                        sqlWhere2 += " and sp.DealerSysNo = @DealerSysNo";
                    }
                    else
                    {
                        sqlWhere2 += " and sp.DealerSysNo in (select SysNo from  DsDealer where CreatedBy = @DealerCreatedBy) ";
                    }
                }
                if (condition.SelectedDealerSysNo != -1)
                {
                    sqlWhere2 += " and sp.DealerSysNo = @SelectedDealerSysNo";
                }

                pager.Rows = _context.Select <CBPdProductDetail>(@"p.barcode ,p.ProductName,p.SalesMeasurementUnit, sp.SysNo as SpecialPriceSysNo,p.SysNo,p.ErpCode,p.EasName,p.ProductType,p.CanFrontEndOrder,p.Status as MainStatus,isnull(sp.Status,0) as Status, c.categoryname as ProductCategoryName, c.sysno as ProductCategorySysno, 
                             price.Price as BasicPrice, case d.IsWholeSaler when 1 then p.TradePrice else price1.Price end as SalesPrice,sp.Price as spSalesPrice,sp.DealerSysNo,d.DealerName,sp.ShopPrice as spShopPrice,sp.WholesalePrice as spWholesalePrice")
                             .From(@"PdProduct p 
                                    left join (select productsysno,categorysysno from PdCategoryAssociation where IsMaster=@IsMaster) ca on ca.productsysno = p.sysno 
                                    left join  PdCategory c on ca.categorysysno = c.sysno
                                    left join  (select * from PdPrice where PriceSource =@PriceSource and SourceSysNo =@SourceSysNo and Status=1) price  on price.productsysno = p.sysno
                                    left join  (select * from PdPrice where PriceSource =@PriceSource1 and SourceSysNo =@SourceSysNo1 and Status=1) price1  on price1.productsysno = p.sysno
                                    left join DsSpecialPrice sp on p.SysNo = sp.ProductSysNo and " + sqlWhere2 + " left join DsDealer d on sp.DealerSysNo = d.SysNo")
                             .Where(sqlWhere)

                             .Parameter("IsMaster", (int)ProductStatus.是否是主分类.是)
                             .Parameter("PriceSource", (int)ProductStatus.产品价格来源.基础价格)
                             .Parameter("PriceSource1", (int)ProductStatus.产品价格来源.会员等级价)
                             .Parameter("SourceSysNo", 0)   //基础价
                             .Parameter("SourceSysNo1", 1)  //会员价

                             .Parameter("DealerSysNo", condition.DealerSysNo)
                             .Parameter("DealerCreatedBy", condition.DealerCreatedBy)
                             .Parameter("SelectedDealerSysNo", condition.SelectedDealerSysNo)

                             .Parameter("IsFrontDisplay", condition.IsFrontDisplay)

                             .Parameter("MainStatus", condition.MainStatus)

                             .Parameter("Status", condition.Status)

                             .Parameter("name", condition.ProductName)
                             .Parameter("name1", "%" + condition.ProductName + "%")

                             .Parameter("Sysno", condition.SysNo)

                             .Parameter("ErpCode", condition.ErpCode)

                             .Parameter("Barcode", condition.Barcode)

                             .Parameter("ProductType", condition.ProductType)

                             .Parameter("StartTime", condition.StartTime)
                             .Parameter("EndTime", (condition.EndTime == null) ? condition.EndTime : ((DateTime)condition.EndTime).AddDays(1))

                             .Parameter("CreateStartTime", condition.CreateStartTime)

                             .Parameter("CreateEndTime", (condition.CreateEndTime == null) ? condition.CreateEndTime : ((DateTime)condition.CreateEndTime).AddDays(1))

                             .Parameter("CanFrontEndOrder", condition.CanFrontEndOrder)

                             .OrderBy("sp.DealerSysNo desc , sp.sysno desc ")
                             .Paging(pager.CurrentPage, pager.PageSize)
                             .QueryMany();

                pager.TotalRows = _context.Select <int>("count(1)")
                                  .From(@"PdProduct p 
                                    left join (select productsysno,categorysysno from PdCategoryAssociation where IsMaster=@IsMaster) ca on ca.productsysno = p.sysno 
                                    left join  PdCategory c on ca.categorysysno = c.sysno
                                    left join  (select * from PdPrice where PriceSource =@PriceSource and SourceSysNo =@SourceSysNo and Status=1) price  on price.productsysno = p.sysno
                                    left join  (select * from PdPrice where PriceSource =@PriceSource1 and SourceSysNo =@SourceSysNo1 and Status=1) price1  on price1.productsysno = p.sysno
                                    left join DsSpecialPrice sp on p.SysNo = sp.ProductSysNo and " + sqlWhere2 + " left join DsDealer d on sp.DealerSysNo = d.SysNo")
                                  .Where(sqlWhere)

                                  .Parameter("IsMaster", (int)ProductStatus.是否是主分类.是)
                                  .Parameter("PriceSource", (int)ProductStatus.产品价格来源.基础价格)
                                  .Parameter("PriceSource1", (int)ProductStatus.产品价格来源.会员等级价)
                                  .Parameter("SourceSysNo", 0)  //基础价
                                  .Parameter("SourceSysNo1", 1) //会员价

                                  .Parameter("DealerSysNo", condition.DealerSysNo)
                                  .Parameter("DealerCreatedBy", condition.DealerCreatedBy)
                                  .Parameter("SelectedDealerSysNo", condition.SelectedDealerSysNo)

                                  .Parameter("IsFrontDisplay", condition.IsFrontDisplay)

                                  .Parameter("MainStatus", condition.MainStatus)

                                  .Parameter("Status", condition.Status)

                                  .Parameter("name", condition.ProductName)
                                  .Parameter("name1", "%" + condition.ProductName + "%")

                                  .Parameter("Sysno", condition.SysNo)

                                  .Parameter("ErpCode", condition.ErpCode)

                                  .Parameter("Barcode", condition.Barcode)

                                  .Parameter("ProductType", condition.ProductType)

                                  .Parameter("StartTime", condition.StartTime)

                                  .Parameter("EndTime", (condition.EndTime == null) ? condition.EndTime : ((DateTime)condition.EndTime).AddDays(1))

                                  .Parameter("CreateStartTime", condition.CreateStartTime)

                                  .Parameter("CreateEndTime", (condition.CreateEndTime == null) ? condition.CreateEndTime : ((DateTime)condition.CreateEndTime).AddDays(1))

                                  .Parameter("CanFrontEndOrder", condition.CanFrontEndOrder)
                                  .QuerySingle();

                pager.IdRows = _context.Select <int>(@"sp.SysNo as SpecialPriceSysNo")
                               .From(@"PdProduct p 
                                    left join (select productsysno,categorysysno from PdCategoryAssociation where IsMaster=@IsMaster) ca on ca.productsysno = p.sysno 
                                    left join  PdCategory c on ca.categorysysno = c.sysno
                                    left join  (select * from PdPrice where PriceSource =@PriceSource and SourceSysNo =@SourceSysNo and Status=1) price  on price.productsysno = p.sysno
                                    left join  (select * from PdPrice where PriceSource =@PriceSource1 and SourceSysNo =@SourceSysNo1 and Status=1) price1  on price1.productsysno = p.sysno
                                    left join DsSpecialPrice sp on p.SysNo = sp.ProductSysNo and " + sqlWhere2 + " left join DsDealer d on sp.DealerSysNo = d.SysNo")
                               .Where(sqlWhere)

                               .Parameter("IsMaster", (int)ProductStatus.是否是主分类.是)
                               .Parameter("PriceSource", (int)ProductStatus.产品价格来源.基础价格)
                               .Parameter("PriceSource1", (int)ProductStatus.产品价格来源.会员等级价)
                               .Parameter("SourceSysNo", 0)  //基础价
                               .Parameter("SourceSysNo1", 1) //会员价

                               .Parameter("DealerSysNo", condition.DealerSysNo)
                               .Parameter("DealerCreatedBy", condition.DealerCreatedBy)
                               .Parameter("SelectedDealerSysNo", condition.SelectedDealerSysNo)

                               .Parameter("IsFrontDisplay", condition.IsFrontDisplay)

                               .Parameter("MainStatus", 1)

                               .Parameter("Status", 1)

                               .Parameter("name", condition.ProductName)
                               .Parameter("name1", "%" + condition.ProductName + "%")

                               .Parameter("Sysno", condition.SysNo)

                               .Parameter("ErpCode", condition.ErpCode)

                               .Parameter("Barcode", condition.Barcode)

                               .Parameter("ProductType", condition.ProductType)

                               .Parameter("StartTime", condition.StartTime)

                               .Parameter("EndTime", (condition.EndTime == null) ? condition.EndTime : ((DateTime)condition.EndTime).AddDays(1))

                               .Parameter("CreateStartTime", condition.CreateStartTime)

                               .Parameter("CreateEndTime", (condition.CreateEndTime == null) ? condition.CreateEndTime : ((DateTime)condition.CreateEndTime).AddDays(1))

                               .Parameter("CanFrontEndOrder", condition.CanFrontEndOrder)
                               .QueryMany();
            }
        }
Esempio n. 5
0
 /// <summary>
 /// 获取商品详细信息列表
 /// </summary>
 /// <param name="pager">商品详细信息查询列表</param>
 /// <param name="dealerMallSysNo">分销商商城系统编号</param>
 /// <param name="condition">动态条件,CBPdProductDetail里不包含的条件</param>
 /// <returns></returns>
 /// <remarks>2015-12-10 王耀发 创建</remarks>
 public void GetDealerMallProductList(ref Pager <CBPdProductDetail> pager, int dealerMallSysNo, ParaProductFilter condition)
 {
     IDsProductAssociationDao.Instance.GetDealerMallProductList(ref pager, dealerMallSysNo, condition);
 }
Esempio n. 6
0
 /// <summary>
 /// 获取商品详细信息列表
 /// </summary>
 /// <param name="pager">商品详细信息查询列表</param>
 /// <param name="dealerMallSysNo">分销商商城系统编号</param>
 /// <param name="condition">动态条件,CBPdProductDetail里不包含的条件</param>
 /// <returns></returns>
 /// <remarks>2015-12-10 王耀发 创建</remarks>
 public abstract void GetSpecialPriceProductList(ref Pager <CBPdProductDetail> pager, ParaProductFilter condition);
Esempio n. 7
0
 /// <summary>
 /// 查询导出商品列表(无净重,商品简介)
 /// </summary>
 /// <param name="sysNos"></param>
 /// <param name="productDetail"></param>
 /// <returns></returns>
 public abstract List <CBOutputPdProductsExcel> GetExportProductListExcel(List <int> sysNos, ParaProductFilter productDetail = null);
Esempio n. 8
0
 /// <summary>
 /// 根据条件获取商品列表
 /// </summary>
 /// <param name="filter">搜索条件</param>
 /// <returns>商品列表</returns>
 /// <remarks>2013-06-25 黄波 创建</remarks>
 public abstract IList <CBPdProduct> GetProducts(ParaProductFilter filter);
Esempio n. 9
0
 /// <summary>
 /// 商品同步信息
 /// </summary>
 /// <param name="sysNos"></param>
 /// <returns>2017 010 10 罗勤瑶</returns>
 public abstract List <CBXinyingSynPdProductsB2B> GetXinYingSynProductList(List <int> sysNos, ParaProductFilter productDetail);
Esempio n. 10
0
 /// <summary>
 /// 查询导出商品列表(信营)
 /// </summary>
 /// <param name="sysNos"></param>
 /// <returns></returns>
 public abstract List <CBOutputPdProductsLijia> GetXinYingExportProductListLiJia(List <int> sysNos, ParaProductFilter productDetail);
Esempio n. 11
0
 /// <summary>
 /// 查询导出商品列表(信营)
 /// </summary>
 /// <param name="sysNos"></param>
 /// <returns></returns>
 public abstract List <CBXinyingOutputPdProducts> GetXinYingExportProductList(List <int> sysNos, ParaProductFilter productDetail);
Esempio n. 12
0
 /// <summary>
 /// 查询导出商品列表
 /// </summary>
 /// <param name="sysNos"></param>
 /// <returns></returns>
 /// <remarks>2015-12-30 王耀发 创建</remarks>
 public abstract List <CBOutputPdProductsByYD> GetExportProductListByYD(List <int> sysNos, ParaProductFilter productDetail);
Esempio n. 13
0
 /// <summary>
 /// 获取导出商品信息
 /// </summary>
 /// <param name="sysNos">商品系统编号集合</param>
 /// <param name="productDetail">查询条件</param>
 /// <returns></returns>
 /// <remarks>2016-11-28 杨浩 创建</remarks>
 public abstract System.Data.DataTable GetExportProductToDataTable(List <int> sysNos, ParaProductFilter productDetail);
Esempio n. 14
0
 /// <summary>
 /// 获取商品详细信息列表
 /// </summary>
 /// <param name="pager">商品详细信息查询列表</param>
 /// <param name="condition">动态条件,CBPdProductDetail里不包含的条件</param>
 /// <returns></returns>
 /// <remarks>2013-07-15 唐永勤 创建</remarks>
 public abstract void GetPdProductDetailList(ref Pager <CBPdProductDetail> pager, ParaProductFilter condition);
        /// <summary>
        /// 获取商品详细信息列表
        /// </summary>
        /// <param name="pager">商品详细信息查询列表</param>
        /// <param name="dealerMallSysNo">分销商商城系统编号</param>
        /// <param name="condition">动态条件,CBPdProductDetail里不包含的条件</param>
        /// <returns></returns>
        /// <remarks>2015-12-10 王耀发 创建</remarks>
        public override void GetDealerMallProductList(ref Pager <CBPdProductDetail> pager, int dealerMallSysNo, ParaProductFilter condition)
        {
            using (var _context = Context.UseSharedConnection(true))
            {
                pager.Rows = _context.Select <CBPdProductDetail>(" pa.SysNo as PAssociationSysNo,p.SysNo,p.ErpCode,p.EasName,p.ProductType,pa.Status, c.categoryname as ProductCategoryName, c.sysno as ProductCategorySysno, price.Price as BasicPrice, price1.Price as SalesPrice")
                             .From(@"DsProductAssociation pa left join 
                               PdProduct p on pa.HytProductSysNo = p.SysNo
                                    inner join (select productsysno from PdCategoryAssociation where  (@ProductCategorySysno = 0 or categorysysno=@ProductCategorySysno) group by productsysno ) ca1 on ca1.productsysno = p.sysno 
                                    left join (select productsysno,categorysysno from PdCategoryAssociation where IsMaster=@IsMaster) ca on ca.productsysno = p.sysno 
                                    left join  PdCategory c on ca.categorysysno = c.sysno
                                    left join  (select * from PdPrice where PriceSource =@PriceSource and (@SourceSysno =0 or sourcesysno=@sourcesysno)) price  on price.productsysno = p.sysno
                                    left join  (select * from PdPrice where PriceSource =@PriceSource1 and (@SourceSysno =0 or sourcesysno=@sourcesysno)) price1  on price1.productsysno = p.sysno")
                             .Where(@"(pa.DealerMallSysNo = @DealerMallSysNo) 
                                        and (@Status = -1 or pa.Status=@Status)
                                        and (@name is null or (p.EasName like @name1 or p.ErpCode = @name))
                                        and (@Sysno = 0 or p.Sysno=@Sysno)
                                        and (@ErpCode is null or p.ErpCode=@ErpCode)
                                        and (@StartTime is null or p.LastUpdateDate >= @StartTime)
                                        and (@EndTime is null or p.LastUpdateDate <= @EndTime)
                                        and (@CreateStartTime is null or p.CreatedDate >= @CreateStartTime)
                                        and (@CreateEndTime is null or p.CreatedDate <= @CreateEndTime) 
                                        and (@CanFrontEndOrder = -1 or CanFrontEndOrder = @CanFrontEndOrder)  
                                        ")
                             .Parameter("ProductCategorySysno", condition.ProductCategorySysno)
                             .Parameter("IsMaster", (int)ProductStatus.是否是主分类.是)
                             .Parameter("PriceSource", (int)ProductStatus.产品价格来源.基础价格)
                             .Parameter("PriceSource1", (int)ProductStatus.产品价格来源.会员等级价)
                             .Parameter("SourceSysno", condition.PriceSourceSysNo)
                             .Parameter("DealerMallSysNo", dealerMallSysNo)
                             .Parameter("Status", condition.Status)
                             .Parameter("name", condition.ProductName)
                             .Parameter("name1", "%" + condition.ProductName + "%")
                             .Parameter("Sysno", condition.SysNo)
                             .Parameter("ErpCode", condition.ErpCode)
                             .Parameter("StartTime", condition.StartTime)
                             .Parameter("EndTime", (condition.EndTime == null) ? condition.EndTime : ((DateTime)condition.EndTime).AddDays(1))
                             .Parameter("CreateStartTime", condition.CreateStartTime)
                             .Parameter("CreateEndTime", (condition.CreateEndTime == null) ? condition.CreateEndTime : ((DateTime)condition.CreateEndTime).AddDays(1))
                             .Parameter("CanFrontEndOrder", condition.CanFrontEndOrder)
                             .OrderBy("pa.Status desc, pa.sysno desc ")
                             .Paging(pager.CurrentPage, pager.PageSize)
                             .QueryMany();

                pager.TotalRows = _context.Select <int>("count(1)")
                                  .From(@"DsProductAssociation pa left join 
                               PdProduct p on pa.HytProductSysNo = p.SysNo
                                    inner join (select productsysno from PdCategoryAssociation where  (@ProductCategorySysno = 0 or categorysysno=@ProductCategorySysno) group by productsysno ) ca1 on ca1.productsysno = p.sysno 
                                    left join (select productsysno,categorysysno from PdCategoryAssociation where IsMaster=@IsMaster) ca on ca.productsysno = p.sysno 
                                    left join  PdCategory c on ca.categorysysno = c.sysno
                                    left join  (select * from PdPrice where PriceSource =@PriceSource and (@SourceSysno =0 or sourcesysno=@sourcesysno)) price  on price.productsysno = p.sysno
                                    left join  (select * from PdPrice where PriceSource =@PriceSource1 and (@SourceSysno =0 or sourcesysno=@sourcesysno)) price1  on price1.productsysno = p.sysno")
                                  .Where(@"(pa.DealerMallSysNo = @DealerMallSysNo) 
                                        and (@Status = -1 or pa.Status=@Status)
                                        and (@name is null or (p.EasName like @name1 or p.ErpCode = @name))
                                        and (@Sysno = 0 or p.Sysno=@Sysno)
                                        and (@ErpCode is null or p.ErpCode=@ErpCode)
                                        and (@StartTime is null or p.LastUpdateDate >= @StartTime)
                                        and (@EndTime is null or p.LastUpdateDate <= @EndTime)
                                        and (@CreateStartTime is null or p.CreatedDate >= @CreateStartTime)
                                        and (@CreateEndTime is null or p.CreatedDate <= @CreateEndTime) 
                                        and (@CanFrontEndOrder = -1 or CanFrontEndOrder = @CanFrontEndOrder)  
                                        ")
                                  .Parameter("ProductCategorySysno", condition.ProductCategorySysno)
                                  .Parameter("IsMaster", (int)ProductStatus.是否是主分类.是)
                                  .Parameter("PriceSource", (int)ProductStatus.产品价格来源.基础价格)
                                  .Parameter("PriceSource1", (int)ProductStatus.产品价格来源.会员等级价)
                                  .Parameter("SourceSysno", condition.PriceSourceSysNo)
                                  .Parameter("DealerMallSysNo", dealerMallSysNo)
                                  .Parameter("Status", condition.Status)
                                  .Parameter("name", condition.ProductName)
                                  .Parameter("name1", "%" + condition.ProductName + "%")
                                  .Parameter("Sysno", condition.SysNo)
                                  .Parameter("ErpCode", condition.ErpCode)
                                  .Parameter("StartTime", condition.StartTime)
                                  .Parameter("EndTime", (condition.EndTime == null) ? condition.EndTime : ((DateTime)condition.EndTime).AddDays(1))
                                  .Parameter("CreateStartTime", condition.CreateStartTime)
                                  .Parameter("CreateEndTime", (condition.CreateEndTime == null) ? condition.CreateEndTime : ((DateTime)condition.CreateEndTime).AddDays(1))
                                  .Parameter("CanFrontEndOrder", condition.CanFrontEndOrder)
                                  .QuerySingle();
            }
        }