public string GetProduct(int num_iid) { product_item_model productForApi = ProductHelper.GetProductForApi(num_iid); if (productForApi == null) { return(OpenApiErrorMessage.ShowErrorMsg(OpenApiErrorCode.Product_Not_Exists, "num_iid")); } productForApi.props_name = ProductHelper.GetPropsForApi(num_iid); productForApi.skus = ProductHelper.GetSkusForApi(num_iid); string format = "{{\"product_get_response\":{{\"item\":{0}}}}}"; return(string.Format(format, JsonConvert.SerializeObject(productForApi))); }
private string GetProduct(int num_iid) { ProductApiDao productApiDao = new ProductApiDao(); product_item_model product = productApiDao.GetProduct(num_iid); if (product == null) { return(OpenApiErrorMessage.ShowErrorMsg((Enum)(object)OpenApiErrorCode.Product_Not_Exists, "num_iid")); } product.props_name = productApiDao.GetProps(num_iid); product.skus = productApiDao.GetSkus(num_iid); string format = "{{\"product_get_response\":{{\"item\":{0}}}}}"; return(string.Format(format, JsonConvert.SerializeObject(product))); }
public string UpdateProductQuantity(int num_iid, string sku_id, int quantity, int type) { product_item_model productForApi = ProductHelper.GetProductForApi(num_iid); if (productForApi == null) { return(OpenApiErrorMessage.ShowErrorMsg(OpenApiErrorCode.Product_Not_Exists, "num_iid")); } if (ProductHelper.UpdateProductQuantityForApi(num_iid, sku_id, quantity, type) <= 0) { return(OpenApiErrorMessage.ShowErrorMsg(OpenApiErrorCode.Product_UpdateeQuantity_Faild, "update_quantity")); } productForApi.props_name = ProductHelper.GetPropsForApi(num_iid); productForApi.skus = ProductHelper.GetSkusForApi(num_iid); string format = "{{\"product_get_response\":{{\"item\":{0}}}}}"; return(string.Format(format, JsonConvert.SerializeObject(productForApi))); }
public string UpdateProductApproveStatus(int num_iid, string approve_status) { product_item_model productForApi = ProductHelper.GetProductForApi(num_iid); if (productForApi == null) { return(OpenApiErrorMessage.ShowErrorMsg(OpenApiErrorCode.Product_Not_Exists, "num_iid")); } if (ProductHelper.UpdateProductApproveStatusForApi(num_iid, approve_status) <= 0) { return(OpenApiErrorMessage.ShowErrorMsg(OpenApiErrorCode.Product_ApproveStatus_Faild, "update_approve_status")); } productForApi.props_name = ProductHelper.GetPropsForApi(num_iid); productForApi.skus = ProductHelper.GetSkusForApi(num_iid); productForApi.approve_status = approve_status; string format = "{{\"product_get_response\":{{\"item\":{0}}}}}"; return(string.Format(format, JsonConvert.SerializeObject(productForApi))); }
private string lastUpdateProductQuantity(ProductQuantityParam param) { ProductApiDao productApiDao = new ProductApiDao(); product_item_model product = productApiDao.GetProduct(param.num_iid); if (product == null) { return(OpenApiErrorMessage.ShowErrorMsg((Enum)(object)OpenApiErrorCode.Product_Not_Exists, "num_iid")); } if (productApiDao.UpdateProductQuantity(param.num_iid, param.sku_id, param.quantity, param.type) <= 0) { return(OpenApiErrorMessage.ShowErrorMsg((Enum)(object)OpenApiErrorCode.Product_UpdateeQuantity_Faild, "update_quantity")); } product.props_name = productApiDao.GetProps(param.num_iid); product.skus = productApiDao.GetSkus(param.num_iid); string format = "{{\"product_get_response\":{{\"item\":{0}}}}}"; return(string.Format(format, JsonConvert.SerializeObject(product))); }
public string lastUpdateProductApproveStatus(int num_iid, string approve_status) { ProductApiDao productApiDao = new ProductApiDao(); product_item_model product = productApiDao.GetProduct(num_iid); if (product == null) { return(OpenApiErrorMessage.ShowErrorMsg((Enum)(object)OpenApiErrorCode.Product_Not_Exists, "num_iid")); } if (productApiDao.UpdateProductApproveStatus(num_iid, approve_status) <= 0) { return(OpenApiErrorMessage.ShowErrorMsg((Enum)(object)OpenApiErrorCode.Product_ApproveStatus_Faild, "update_approve_status")); } product.approve_status = approve_status; product.props_name = productApiDao.GetProps(num_iid); product.skus = productApiDao.GetSkus(num_iid); string format = "{{\"product_get_response\":{{\"item\":{0}}}}}"; return(string.Format(format, JsonConvert.SerializeObject(product))); }
/// <summary> /// 商品信息转换 /// </summary> /// <param name="data"></param> /// <returns></returns> private product_item_model ProductInfoMapChange(ProductInfo data) { var prodata = data; if (prodata == null) { throw new HimallOpenApiException(OpenApiErrorCode.Product_Not_Exists, "num_iid"); } product_item_model result = new product_item_model(); #region 装配信息 result.num_iid = (int)prodata.Id; result.outer_id = prodata.ProductCode; result.brand_id = (int)prodata.BrandId; result.brand_name = prodata.BrandName; result.cid = (int)prodata.CategoryId; result.type_id = (int)prodata.TypeId; if (prodata.Himall_Categories != null) { result.cat_name = prodata.Himall_Categories.Name; if (prodata.Himall_Categories.ProductTypeInfo != null) { result.type_name = prodata.Himall_Categories.ProductTypeInfo.Name; } } result.title = prodata.ProductName.Trim(); result.list_time = prodata.AddedDate; result.modified = prodata.AddedDate; result.display_sequence = (int)prodata.DisplaySequence; result.sold_quantity = (int)prodata.SaleCounts; result.desc = prodata.ProductDescriptionInfo.Description; result.wap_desc = prodata.ProductDescriptionInfo.MobileDescription; result.pic_url.Add(System.IO.Path.Combine(OpenAPIHelper.HostUrl, prodata.GetImage(ImageSize.Size_350, 1))); ProductStatus ps = GetProductStatus(prodata); result.approve_status = ps.ToString(); #region 商品属性填充 var prodAttrs = _iProductService.GetProductAttribute(prodata.Id).ToList(); var prodAttrids = prodAttrs.Select(d => d.AttributeId).Distinct().ToList(); result.props_name = ""; if (prodAttrids.Count > 0) { List <string> propslst = new List <string>(); List <string> propsvallst = new List <string>(); foreach (var curattid in prodAttrids) { var item = prodAttrs.FirstOrDefault(d => d.AttributeId == curattid); propsvallst.Clear(); foreach (var attrV in item.AttributesInfo.AttributeValueInfo.ToList()) { if (prodAttrs.Any(p => p.ValueId == attrV.Id)) { propsvallst.Add(attrV.Value); } } propslst.Add(item.AttributesInfo.Name + "#cln#[" + string.Join(",", propsvallst.ToArray()) + "]"); } result.props_name = string.Join("#scln#", propslst.ToArray()); } #endregion #region 发货地区 var prolocid = prodata.Himall_FreightTemplate.SourceAddress; result.location = ""; if (prolocid.HasValue) { var locpath = _iRegionService.GetFullName(prolocid.Value, ","); result.location = "{'city':'#c#', 'state':'#p#'}"; if (!string.IsNullOrWhiteSpace(locpath)) { var _tmparr = locpath.Split(','); result.location = result.location.Replace("#p#", _tmparr[0]); if (_tmparr.Length > 1) { result.location = result.location.Replace("#c#", _tmparr[1]); } else { result.location = result.location.Replace("#c#", ""); } } } #endregion #region SKUS ProductTypeInfo typeInfo = _iTypeService.GetType(data.TypeId); string colorAlias = (typeInfo == null || string.IsNullOrEmpty(typeInfo.ColorAlias)) ? SpecificationType.Color.ToDescription() : typeInfo.ColorAlias; string sizeAlias = (typeInfo == null || string.IsNullOrEmpty(typeInfo.SizeAlias)) ? SpecificationType.Size.ToDescription() : typeInfo.SizeAlias; string versionAlias = (typeInfo == null || string.IsNullOrEmpty(typeInfo.VersionAlias)) ? SpecificationType.Version.ToDescription() : typeInfo.VersionAlias; result.skus = new List <product_sku_model>(); foreach (var item in prodata.SKUInfo) { product_sku_model skudata = new product_sku_model(); skudata.sku_id = item.Id; skudata.outer_sku_id = item.Sku; skudata.price = item.SalePrice; skudata.quantity = (int)item.Stock; //skudata.sku_properties_name = "颜色:" + item.Color + "尺寸:" + item.Size + "版本:" + item.Version; skudata.sku_properties_name = colorAlias + ":" + item.Color + sizeAlias + ":" + item.Size + versionAlias + ":" + item.Version; string sku_properties_name = item.Color + item.Size + item.Version; if (string.IsNullOrWhiteSpace(sku_properties_name)) { skudata.sku_properties_name = ""; } if (!string.IsNullOrWhiteSpace(skudata.sku_properties_name)) { result.skus.Add(skudata); } } #endregion #endregion return(result); }
public product_item_model GetProduct(int num_iid) { DbCommand sqlStringCommand = base.database.GetSqlStringCommand("SELECT CategoryId, (SELECT Name FROM Hishop_Categories WHERE CategoryId = p.CategoryId) AS CategoryName, BrandId, (SELECT BrandName FROM Hishop_BrandCategories WHERE BrandId = p.BrandId) AS BrandName, TypeId, (SELECT TypeName FROM Hishop_ProductTypes WHERE TypeId = p.TypeId) AS TypeName, ProductId, ProductCode, ProductName, ImageUrl1,ImageUrl2, ImageUrl3, ImageUrl4, ImageUrl5, Description, MobbileDescription, AddedDate, UpdateDate, DisplaySequence, SaleStatus,SaleCounts FROM Hishop_Products p WHERE p.ProductId = @ProductId"); base.database.AddInParameter(sqlStringCommand, "ProductId", DbType.Int32, num_iid); product_item_model product_item_model = null; string text = Globals.GetImageServerUrl(); if (string.IsNullOrWhiteSpace(text)) { text = "http://" + HttpContext.Current.Request.Url.Host; } using (IDataReader dataReader = base.database.ExecuteReader(sqlStringCommand)) { if (dataReader.Read()) { product_item_model = new product_item_model(); product_item_model.cid = (int)((IDataRecord)dataReader)["CategoryId"]; if (((IDataRecord)dataReader)["CategoryName"] != DBNull.Value) { product_item_model.cat_name = (string)((IDataRecord)dataReader)["CategoryName"]; } if (((IDataRecord)dataReader)["BrandId"] != DBNull.Value) { product_item_model.brand_id = (int)((IDataRecord)dataReader)["BrandId"]; } if (((IDataRecord)dataReader)["BrandName"] != DBNull.Value) { product_item_model.brand_name = (string)((IDataRecord)dataReader)["BrandName"]; } if (((IDataRecord)dataReader)["TypeId"] != DBNull.Value) { product_item_model.type_id = (int)((IDataRecord)dataReader)["TypeId"]; } if (((IDataRecord)dataReader)["TypeName"] != DBNull.Value) { product_item_model.type_name = (string)((IDataRecord)dataReader)["TypeName"]; } product_item_model.num_iid = (int)((IDataRecord)dataReader)["ProductId"]; if (((IDataRecord)dataReader)["ProductCode"] != DBNull.Value) { product_item_model.outer_id = (string)((IDataRecord)dataReader)["ProductCode"]; } product_item_model.title = (string)((IDataRecord)dataReader)["ProductName"]; if (((IDataRecord)dataReader)["ImageUrl1"] != DBNull.Value) { product_item_model.pic_url.Add(text + (string)((IDataRecord)dataReader)["ImageUrl1"]); } if (((IDataRecord)dataReader)["ImageUrl2"] != DBNull.Value) { product_item_model.pic_url.Add(text + (string)((IDataRecord)dataReader)["ImageUrl2"]); } if (((IDataRecord)dataReader)["ImageUrl3"] != DBNull.Value) { product_item_model.pic_url.Add(text + (string)((IDataRecord)dataReader)["ImageUrl3"]); } if (((IDataRecord)dataReader)["ImageUrl4"] != DBNull.Value) { product_item_model.pic_url.Add(text + (string)((IDataRecord)dataReader)["ImageUrl4"]); } if (((IDataRecord)dataReader)["ImageUrl5"] != DBNull.Value) { product_item_model.pic_url.Add(text + (string)((IDataRecord)dataReader)["ImageUrl5"]); } if (((IDataRecord)dataReader)["Description"] != DBNull.Value) { product_item_model.desc = Globals.UrlEncode(((string)((IDataRecord)dataReader)["Description"]).Replace("src=\"/Storage/master/gallery", $"src=\"{text}/Storage/master/gallery").Replace('"', '“')); } if (((IDataRecord)dataReader)["MobbileDescription"] != DBNull.Value) { product_item_model.wap_desc = Globals.UrlEncode(((string)((IDataRecord)dataReader)["MobbileDescription"]).Replace("src=\"/Storage/master/gallery", $"src=\"{text}/Storage/master/gallery").Replace('"', '“')); } product_item_model.list_time = (DateTime)((IDataRecord)dataReader)["AddedDate"]; if (((IDataRecord)dataReader)["UpdateDate"] != DBNull.Value) { product_item_model.modified = (DateTime)((IDataRecord)dataReader)["UpdateDate"]; } product_item_model.display_sequence = (int)((IDataRecord)dataReader)["DisplaySequence"]; switch ((ProductSaleStatus)((IDataRecord)dataReader)["SaleStatus"]) { case ProductSaleStatus.OnSale: product_item_model.approve_status = "On_Sale"; break; case ProductSaleStatus.UnSale: product_item_model.approve_status = "Un_Sale"; break; default: product_item_model.approve_status = "In_Stock"; break; } product_item_model.sold_quantity = (int)((IDataRecord)dataReader)["SaleCounts"]; } } return(product_item_model); }