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 = "" }); }
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 }); }
/// <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); }
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); }