Beispiel #1
0
        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)));
        }
Beispiel #3
0
        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)));
        }
Beispiel #4
0
        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);
        }