예제 #1
0
        public ShopCategoryInfo GetCategoryByProductId(long id)
        {
            if (id <= 0)
            {
                throw new ArgumentNullException("id", string.Format("获取一个商品分类时,id={0}", id));
            }
            ProductShopCategoryInfo productShopCategoryInfo = (
                from p in context.ProductShopCategoryInfo
                where p.ProductId == id
                select p).FirstOrDefault();

            if (productShopCategoryInfo != null)
            {
                return(productShopCategoryInfo.ShopCategoryInfo);
            }
            return(new ShopCategoryInfo()
            {
                Name = ""
            });
        }
예제 #2
0
        public object GetSellerMobileHomePageProducts(long shopId, PlatformType platformType, int page, int rows, string brandName, long?categoryId = null)
        {
            ProductQuery productQuery = new ProductQuery()
            {
                ShopCategoryId = categoryId,
                KeyWords       = brandName,
                PageSize       = rows,
                PageNo         = page
            };
            PageModel <MobileHomeProductsInfo> sellerMobileHomePageProducts = ServiceHelper.Create <IMobileHomeProductsService>().GetSellerMobileHomePageProducts(shopId, platformType, productQuery);
            IBrandService brandService = ServiceHelper.Create <IBrandService>();

            ServiceHelper.Create <IShopCategoryService>();
            var collection = sellerMobileHomePageProducts.Models.ToArray().Select((MobileHomeProductsInfo item) => {
                BrandInfo brand = brandService.GetBrand(item.Himall_Products.BrandId);
                ProductShopCategoryInfo productShopCategoryInfo = item.Himall_Products.Himall_ProductShopCategories.FirstOrDefault();
                return(new { name = item.Himall_Products.ProductName, image = item.Himall_Products.GetImage(ProductInfo.ImageSize.Size_50, 1), price = item.Himall_Products.MinSalePrice.ToString("F2"), brand = (brand == null ? "" : brand.Name), sequence = item.Sequence, id = item.Id, categoryName = (productShopCategoryInfo == null ? "" : productShopCategoryInfo.ShopCategoryInfo.Name), productId = item.ProductId });
            });

            return(new { rows = collection, total = sellerMobileHomePageProducts.Total });
        }
예제 #3
0
        /// <summary>
        /// 根据产品ID查询商家商品信息
        /// </summary>
        /// <param name="pid">产品ID</param>
        /// <returns></returns>
        public List <ProductShopCategoryInfo> SearchbyProid(string pid)
        {
            List <ProductShopCategoryInfo> list = new List <ProductShopCategoryInfo>();
            MySqlParameter pidparamter          = new MySqlParameter("pid", MySqlDbType.Int64);

            pidparamter.Value = pid;
            DataTable dt = IndexService.Common.MySqlHelper.Search("SELECT * FROM himall_productshopcategories WHERE ProductId=@pid", new MySqlParameter[] { pidparamter });

            if (dt.Rows.Count > 0)
            {
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    ProductShopCategoryInfo info = new ProductShopCategoryInfo();
                    info.Id             = long.Parse(dt.Rows[i]["Id"].ToString());
                    info.ProductId      = long.Parse(dt.Rows[i]["ProductId"].ToString());
                    info.ShopCategoryId = long.Parse(dt.Rows[i]["ShopCategoryId"].ToString());
                    list.Add(info);
                }
            }
            return(list);
        }
        public object GetSellerMobileHomePageProducts(long shopId, PlatformType platformType, int page, int rows, string brandName, long?categoryId = new long?())
        {
            ProductQuery productQuery = new ProductQuery
            {
                ShopCategoryId = categoryId,
                KeyWords       = brandName,
                PageSize       = rows,
                PageNo         = page
            };
            ObsoletePageModel <MobileHomeProductsInfo> model = this._iMobileHomeProductsService.GetSellerMobileHomePageProducts(shopId, platformType, productQuery);
            IBrandService        brandService = this._iBrandService;
            IShopCategoryService service      = this._iShopCategoryService;

            return(new
            {
                rows = model.Models.ToArray().Select(delegate(MobileHomeProductsInfo item)
                {
                    BrandInfo brand = brandService.GetBrand(item.Himall_Products.BrandId);
                    ProductShopCategoryInfo info2 = item.Himall_Products.Himall_ProductShopCategories.FirstOrDefault <ProductShopCategoryInfo>();
                    return new { name = item.Himall_Products.ProductName, image = item.Himall_Products.GetImage(ImageSize.Size_50, 1), price = item.Himall_Products.MinSalePrice.ToString("F2"), brand = (brand == null) ? "" : brand.Name, sequence = item.Sequence, id = item.Id, categoryName = (info2 == null) ? "" : info2.ShopCategoryInfo.Name, productId = item.ProductId };
                }),
                total = model.Total
            });
        }
        private int ProcessProduct(long paraCategory, long paraShopCategory, long paraBrand, int paraSaleStatus, long _shopid, long _userid, string mainpath, string imgpath1, string imgpath2)
        {
            string          str;
            ProductQuery    productQuery;
            IProductService productService;
            long            nextProductId;
            long            num;
            decimal         num1;
            decimal         num1_min;
            ProductInfo     productInfo;
            int             num2     = 0;
            string          str1     = mainpath;
            CategoryInfo    category = ServiceHelper.Create <ICategoryService>().GetCategory(paraCategory);

            if (Directory.Exists(str1))
            {
                string[] files     = Directory.GetFiles(str1, "*.csv", SearchOption.AllDirectories);
                string   empty     = string.Empty;
                string[] strArrays = new string[0];
                for (int i = 0; i < files.Length; i++)
                {
                    using (StreamReader streamReader = System.IO.File.OpenText(files[i]))
                    {
                        int           num3 = 0;
                        List <string> strs = new List <string>();
                        while (true)
                        {
                            string str2 = streamReader.ReadLine();
                            empty = str2;
                            if (str2 == null || string.IsNullOrEmpty(empty))
                            {
                                break;
                            }
                            num3++;
                            if (num3 >= 4)
                            {
                                strs.Add(empty);
                            }
                        }
                        Cache.Insert(CacheKeyCollection.UserImportProductTotal(_userid), strs.Count);
                        int rowId = 0;
                        foreach (string str3 in strs)
                        {
                            string[] strArrays1 = new string[] { "\t" };
                            strArrays = str3.Split(strArrays1, StringSplitOptions.None);
                            int length = strArrays.Length;
                            if (length == 58)                                        //淘宝5.6版本
                            {
                                str          = strArrays[0].Replace("\"", "");
                                productQuery = new ProductQuery()
                                {
                                    CategoryId = new long?(category.Id),
                                    ShopId     = new long?(_shopid),
                                    KeyWords   = str
                                };
                                productService = ServiceHelper.Create <IProductService>();
                                if (productService.GetProducts(productQuery).Total <= 0)
                                {
                                    nextProductId = productService.GetNextProductId();
                                    num           = 0;
                                    num1          = decimal.Parse((strArrays[7] == string.Empty ? "0" : strArrays[7]));
                                    ProductInfo productInfo1 = new ProductInfo()
                                    {
                                        Id                   = nextProductId,
                                        TypeId               = category.TypeId,
                                        AddedDate            = DateTime.Now,
                                        BrandId              = paraBrand,
                                        CategoryId           = category.Id,
                                        CategoryPath         = category.Path,
                                        MarketPrice          = num1,
                                        ShortDescription     = string.Empty,
                                        ProductCode          = strArrays[33].Replace("\"", ""),
                                        ImagePath            = "",
                                        DisplaySequence      = 1,
                                        ProductName          = strArrays[0].Replace("\"", ""),
                                        MinSalePrice         = num1,
                                        ShopId               = _shopid,
                                        HasSKU               = true,
                                        ProductAttributeInfo = new List <ProductAttributeInfo>()
                                    };
                                    List <ProductShopCategoryInfo> productShopCategoryInfos = new List <ProductShopCategoryInfo>();
                                    ProductShopCategoryInfo        productShopCategoryInfo  = new ProductShopCategoryInfo()
                                    {
                                        ProductId      = nextProductId,
                                        ShopCategoryId = paraShopCategory
                                    };
                                    productShopCategoryInfos.Add(productShopCategoryInfo);
                                    productInfo1.Himall_ProductShopCategories = productShopCategoryInfos;
                                    ProductDescriptionInfo productDescriptionInfo = new ProductDescriptionInfo()
                                    {
                                        AuditReason          = "",
                                        Description          = strArrays[20].Replace("\"", ""),
                                        DescriptiondSuffixId = 0,
                                        DescriptionPrefixId  = 0,
                                        Meta_Description     = string.Empty,
                                        Meta_Keywords        = string.Empty,
                                        Meta_Title           = string.Empty,
                                        ProductId            = nextProductId
                                    };
                                    productInfo1.ProductDescriptionInfo = productDescriptionInfo;
                                    ProductInfo    productInfo2 = productInfo1;
                                    List <SKUInfo> sKUInfos     = new List <SKUInfo>();
                                    List <SKUInfo> sKUInfos1    = sKUInfos;
                                    SKUInfo        sKUInfo      = new SKUInfo();
                                    object[]       objArray     = new object[] { nextProductId, "0", "0", "0" };
                                    sKUInfo.Id        = string.Format("{0}_{1}_{2}_{3}", objArray);
                                    sKUInfo.Stock     = (long.TryParse(strArrays[9], out num) ? num : 0);
                                    sKUInfo.SalePrice = num1;
                                    sKUInfo.CostPrice = num1;
                                    sKUInfos1.Add(sKUInfo);
                                    productInfo2.SKUInfo     = sKUInfos;
                                    productInfo1.SaleStatus  = (paraSaleStatus == 1 ? ProductInfo.ProductSaleStatus.OnSale : ProductInfo.ProductSaleStatus.InStock);
                                    productInfo1.AuditStatus = ProductInfo.ProductAuditStatus.WaitForAuditing;
                                    productInfo = productInfo1;
                                    long id = productInfo.Id;
                                    productInfo.ImagePath = string.Concat(imgpath1, "//", id.ToString());
                                    if (strArrays[28] != string.Empty)
                                    {
                                        ImportProductImg(productInfo.Id, _shopid, files[i], strArrays[28]);
                                    }
                                    productService.AddProduct(productInfo);
                                    num2++;
                                    Log.Debug(strArrays[0].Replace("\"", ""));
                                    Cache.Insert(CacheKeyCollection.UserImportProductCount(_userid), num2);
                                }
                                else
                                {
                                    num2++;
                                    Log.Debug(string.Concat(strArrays[0].Replace("\"", ""), " : 商品不能重复导入"));
                                    Cache.Insert(CacheKeyCollection.UserImportProductCount(_userid), num2);
                                }
                            }
                            else if (length == 63)                                       //淘宝5.7版本
                            {
                                str          = strArrays[0].Replace("\"", "");
                                productQuery = new ProductQuery()
                                {
                                    CategoryId = new long?(category.Id),
                                    ShopId     = new long?(_shopid),
                                    KeyWords   = str
                                };
                                productService = ServiceHelper.Create <IProductService>();
                                if (productService.GetProducts(productQuery).Total <= 0)
                                {
                                    nextProductId = productService.GetNextProductId();
                                    num1          = decimal.Parse((strArrays[7] == string.Empty ? "0" : strArrays[7]));
                                    ProductInfo productInfo3 = new ProductInfo()
                                    {
                                        Id                   = nextProductId,
                                        TypeId               = category.TypeId,
                                        AddedDate            = DateTime.Now,
                                        BrandId              = paraBrand,
                                        CategoryId           = category.Id,
                                        CategoryPath         = category.Path,
                                        MarketPrice          = num1,
                                        ShortDescription     = string.Empty,
                                        ProductCode          = strArrays[33].Replace("\"", ""),
                                        ImagePath            = "",
                                        DisplaySequence      = 1,
                                        ProductName          = strArrays[0].Replace("\"", ""),
                                        MinSalePrice         = num1,
                                        ShopId               = _shopid,
                                        HasSKU               = true,
                                        ProductAttributeInfo = new List <ProductAttributeInfo>()
                                    };
                                    List <ProductShopCategoryInfo> productShopCategoryInfos1 = new List <ProductShopCategoryInfo>();
                                    ProductShopCategoryInfo        productShopCategoryInfo1  = new ProductShopCategoryInfo()
                                    {
                                        ProductId      = nextProductId,
                                        ShopCategoryId = paraShopCategory
                                    };
                                    productShopCategoryInfos1.Add(productShopCategoryInfo1);
                                    productInfo3.Himall_ProductShopCategories = productShopCategoryInfos1;
                                    ProductDescriptionInfo productDescriptionInfo1 = new ProductDescriptionInfo()
                                    {
                                        AuditReason          = "",
                                        Description          = strArrays[20].Replace("\"", ""),
                                        DescriptiondSuffixId = 0,
                                        DescriptionPrefixId  = 0,
                                        Meta_Description     = string.Empty,
                                        Meta_Keywords        = string.Empty,
                                        Meta_Title           = string.Empty,
                                        ProductId            = nextProductId
                                    };
                                    productInfo3.ProductDescriptionInfo = productDescriptionInfo1;
                                    ProductInfo    productInfo4 = productInfo3;
                                    List <SKUInfo> sKUInfos2    = new List <SKUInfo>();
                                    List <SKUInfo> sKUInfos3    = sKUInfos2;
                                    SKUInfo        sKUInfo1     = new SKUInfo();
                                    object[]       objArray1    = new object[] { nextProductId, "0", "0", "0" };
                                    sKUInfo1.Id        = string.Format("{0}_{1}_{2}_{3}", objArray1);
                                    sKUInfo1.Stock     = (long.TryParse(strArrays[9], out num) ? num : 0);
                                    sKUInfo1.SalePrice = num1;
                                    sKUInfo1.CostPrice = num1;
                                    sKUInfos3.Add(sKUInfo1);
                                    productInfo4.SKUInfo     = sKUInfos2;
                                    productInfo3.SaleStatus  = (paraSaleStatus == 1 ? ProductInfo.ProductSaleStatus.OnSale : ProductInfo.ProductSaleStatus.InStock);
                                    productInfo3.AuditStatus = ProductInfo.ProductAuditStatus.WaitForAuditing;
                                    productInfo = productInfo3;
                                    long id1 = productInfo.Id;
                                    //productInfo.ImagePath = string.Concat(imgpath1, "//", rowId.ToString());
                                    productInfo.ImagePath = string.Concat(imgpath1, "/", id1.ToString());
                                    if (strArrays[28] != string.Empty)
                                    {
                                        ImportProductImg(productInfo.Id, _shopid, files[i], strArrays[28]);
                                    }

                                    productInfo.MeasureUnit = "件";
                                    // productInfo.Weight = 0;
                                    // productInfo.Volume = 0;
                                    //  productInfo.EditStatus = 3;
                                    productInfo.FreightTemplateId = 139;
                                    productService.AddProduct(productInfo);
                                    num2++;
                                    Log.Debug(strArrays[0].Replace("\"", ""));
                                    Cache.Insert(CacheKeyCollection.UserImportProductCount(_userid), num2);
                                }
                                else
                                {
                                    num2++;
                                    Log.Debug(string.Concat(strArrays[0].Replace("\"", ""), " : 商品不能重复导入"));
                                    Cache.Insert(CacheKeyCollection.UserImportProductCount(_userid), num2);
                                }
                            }
                            else if (length == 19) //
                            {
                                str          = strArrays[0].Replace("\"", "");
                                productQuery = new ProductQuery()
                                {
                                    CategoryId = new long?(category.Id),
                                    ShopId     = new long?(_shopid),
                                    KeyWords   = str
                                };
                                productService = ServiceHelper.Create <IProductService>();
                                if (productService.GetProducts(productQuery).Total <= 0)
                                {
                                    nextProductId = productService.GetNextProductId();
                                    num1          = decimal.Parse((strArrays[1] == string.Empty ? "0" : strArrays[1]));
                                    num1_min      = decimal.Parse((strArrays[2] == string.Empty ? "0" : strArrays[2]));
                                    ProductInfo productInfo3 = new ProductInfo()
                                    {
                                        Id                   = nextProductId,
                                        TypeId               = category.TypeId,
                                        AddedDate            = DateTime.Now,
                                        BrandId              = paraBrand,
                                        CategoryId           = category.Id,
                                        CategoryPath         = category.Path,
                                        MarketPrice          = num1,
                                        ShortDescription     = string.Empty,
                                        ProductCode          = strArrays[15].Replace("\"", ""),
                                        ImagePath            = "",
                                        DisplaySequence      = 1,
                                        ProductName          = strArrays[0].Replace("\"", ""),
                                        MinSalePrice         = num1_min,
                                        ShopId               = _shopid,
                                        HasSKU               = true,
                                        ProductAttributeInfo = new List <ProductAttributeInfo>()
                                    };
                                    List <ProductShopCategoryInfo> productShopCategoryInfos1 = new List <ProductShopCategoryInfo>();
                                    ProductShopCategoryInfo        productShopCategoryInfo1  = new ProductShopCategoryInfo()
                                    {
                                        ProductId      = nextProductId,
                                        ShopCategoryId = paraShopCategory
                                    };
                                    productShopCategoryInfos1.Add(productShopCategoryInfo1);
                                    productInfo3.Himall_ProductShopCategories = productShopCategoryInfos1;
                                    ProductDescriptionInfo productDescriptionInfo1 = new ProductDescriptionInfo()
                                    {
                                        AuditReason          = "",
                                        Description          = strArrays[11].Replace("\"", ""),
                                        DescriptiondSuffixId = 0,
                                        DescriptionPrefixId  = 0,
                                        Meta_Description     = string.Empty,
                                        Meta_Keywords        = string.Empty,
                                        Meta_Title           = string.Empty,
                                        ProductId            = nextProductId
                                    };
                                    productInfo3.ProductDescriptionInfo = productDescriptionInfo1;
                                    ProductInfo    productInfo4 = productInfo3;
                                    List <SKUInfo> sKUInfos2    = new List <SKUInfo>();
                                    List <SKUInfo> sKUInfos3    = sKUInfos2;
                                    SKUInfo        sKUInfo1     = new SKUInfo();
                                    object[]       objArray1    = new object[] { nextProductId, "0", "0", "0" };
                                    sKUInfo1.Id        = string.Format("{0}_{1}_{2}_{3}", objArray1);
                                    sKUInfo1.Stock     = (long.TryParse(strArrays[9], out num) ? num : 0);
                                    sKUInfo1.SalePrice = num1;
                                    sKUInfo1.CostPrice = num1;
                                    sKUInfos3.Add(sKUInfo1);
                                    productInfo4.SKUInfo     = sKUInfos2;
                                    productInfo3.SaleStatus  = (paraSaleStatus == 1 ? ProductInfo.ProductSaleStatus.OnSale : ProductInfo.ProductSaleStatus.InStock);
                                    productInfo3.AuditStatus = ProductInfo.ProductAuditStatus.WaitForAuditing;
                                    productInfo = productInfo3;
                                    long id1 = productInfo.Id;
                                    productInfo.ImagePath = string.Concat(imgpath1, "/", rowId.ToString());
                                    if (strArrays[14] != string.Empty)
                                    {
                                        ImportProductImg(productInfo.Id, _shopid, files[i], strArrays[14]);
                                    }

                                    productInfo.MeasureUnit = strArrays[5].Replace("\"", "");
                                    // productInfo.Volume = null;
                                    //  productInfo.Weight = null;
                                    // productInfo.EditStatus = 3;
                                    productInfo.FreightTemplateId = 139;
                                    productService.AddProduct(productInfo);
                                    num2++;
                                    Log.Debug(strArrays[0].Replace("\"", ""));
                                    Cache.Insert(CacheKeyCollection.UserImportProductCount(_userid), num2);
                                }
                                else
                                {
                                    num2++;
                                    Log.Debug(string.Concat(strArrays[0].Replace("\"", ""), " : 商品不能重复导入"));
                                    Cache.Insert(CacheKeyCollection.UserImportProductCount(_userid), num2);
                                }
                            }
                            rowId++;
                        }
                    }
                }
            }
            return(num2);
        }
예제 #6
0
        public static ProductInfo GetProductInfo(ProductDetailModel m, long productId)
        {
            CategoryInfo category = ServiceHelper.Create <ICategoryService>().GetCategory(m.categoryId);
            decimal      num      = new decimal(0);

            if (m.specificationsValue.Count <= 0)
            {
                num = decimal.Parse(m.mallPrce);
            }
            else
            {
                List <decimal> list = (
                    from p in m.specificationsValue
                    select decimal.Parse(p.mallPrice)).ToList();
                num = list.Min();
            }
            ProductInfo productInfo = new ProductInfo()
            {
                Id                           = productId,
                TypeId                       = category.TypeId,
                AddedDate                    = DateTime.Now,
                BrandId                      = m.brandId,
                CategoryId                   = m.categoryId,
                CategoryPath                 = category.Path,
                MarketPrice                  = decimal.Parse(m.marketPrice),
                ShortDescription             = m.adWord,
                ProductCode                  = m.productCode,
                ImagePath                    = "",
                DisplaySequence              = 1,
                ProductName                  = m.goodsName,
                MinSalePrice                 = num,
                ShopId                       = 1,
                HasSKU                       = true,
                DisableBuy                   = m.DisableBuy,
                Quantity                     = Convert.ToInt32(m.stock),//¿â´æ
                ProductAttributeInfo         = new List <ProductAttributeInfo>(),
                Himall_ProductShopCategories = new List <ProductShopCategoryInfo>()
            };
            ProductDescriptionInfo productDescriptionInfo = new ProductDescriptionInfo()
            {
                AuditReason          = "",
                Description          = m.des,
                MobileDescription    = m.mdes,
                DescriptionPrefixId  = m.styleTemplateId[0],
                DescriptiondSuffixId = m.styleTemplateId[1],
                Meta_Description     = m.seoDes,
                Meta_Keywords        = m.seoKey,
                Meta_Title           = m.seoTitle,
                ProductId            = productId
            };

            productInfo.ProductDescriptionInfo = productDescriptionInfo;
            productInfo.SKUInfo           = new List <SKUInfo>();
            productInfo.SaleStatus        = (ProductInfo.ProductSaleStatus)m.saleStatus;
            productInfo.AuditStatus       = ProductInfo.ProductAuditStatus.WaitForAuditing;
            productInfo.FreightTemplateId = m.FreightTemplateId;
            productInfo.MeasureUnit       = m.MeasureUnit;
            productInfo.Volume            = new decimal?(m.Volume);
            productInfo.Weight            = new decimal?(m.Weight);
            ProductInfo productInfo1 = productInfo;

            foreach (AttrSelectData attrSelectDatum in m.attrSelectData)
            {
                string[] strArrays = attrSelectDatum.valueId.Split(new char[] { ',' });
                for (int i = 0; i < strArrays.Length; i++)
                {
                    string str = strArrays[i];
                    if (!string.IsNullOrWhiteSpace(str))
                    {
                        ICollection <ProductAttributeInfo> productAttributeInfo = productInfo1.ProductAttributeInfo;
                        ProductAttributeInfo productAttributeInfo1 = new ProductAttributeInfo()
                        {
                            AttributeId = attrSelectDatum.attrId,
                            ProductId   = productId,
                            ValueId     = long.Parse(str)
                        };
                        productAttributeInfo.Add(productAttributeInfo1);
                    }
                }
            }
            foreach (long num1 in m.goodsCategory)
            {
                if (num1.Equals(0))
                {
                    continue;
                }
                ICollection <ProductShopCategoryInfo> himallProductShopCategories = productInfo1.Himall_ProductShopCategories;
                ProductShopCategoryInfo productShopCategoryInfo = new ProductShopCategoryInfo()
                {
                    ProductId      = productId,
                    ShopCategoryId = num1
                };
                himallProductShopCategories.Add(productShopCategoryInfo);
            }
            return(productInfo1);
        }