Ejemplo n.º 1
0
        public ActionResult Index(string productid)
        {
            var data = new Models.ProductInfoModels.json_model();

            try
            {
                if (string.IsNullOrEmpty(productid))
                {
                    return(Json(new { response = Extensions.ErrorInfo.ParameterError, message = "参数错误" }));
                }
                if (AuthIsOpen)
                {
                    var dic = new SortedDictionary <string, string>();
                    dic.Add("timestamp", Request["timestamp"]);
                    dic.Add("productid", productid);
                    VerifyAuthorize(dic);
                }
                var product    = new Models.ProductInfoModels.product_model();    //商品信息
                var skuModel   = new List <Models.ProductInfoModels.sku_model>(); //sku
                var propertity = new List <Models.ProductInfoModels.property>();  //商品属性
                var proveder   = new Provider.ProductBasisProvider();
                var prod       = proveder.GetProduct(Common.ToolHelper.ConvertToLong(productid));
                var shop       = new Cache.BIZ_ShopBasisCache().Get(Common.FormsTicket.SystemCode).Where(c => c.Id == prod.ShopId).FirstOrDefault();
                if (prod.IsMoveProp == (int)Common.EnumModel.EIsMoveProp.OneProp)
                {
                    product = new Models.ProductInfoModels.product_model
                    {
                        productid   = prod.Id,
                        salecount   = prod.SaleCount,
                        productname = prod.ProductName,
                        promoprice  = prod.PromoPrice,
                        realprice   = prod.RealPrice,
                        review      = prod.Review,
                        ismoveprop  = prod.IsMoveProp,
                        stock       = prod.Stock,
                        shopid      = prod.ShopId,
                        shopname    = shop.ShopName
                    };
                }
                else
                {
                    product = new Models.ProductInfoModels.product_model
                    {
                        productid   = prod.Id,
                        salecount   = prod.SaleCount,
                        productname = prod.ProductName,
                        promoprice  = prod.PromoPrice,
                        realprice   = prod.RealPrice,
                        review      = prod.Review,
                        ismoveprop  = prod.IsMoveProp,
                        stock       = prod.Stock,
                        shopid      = prod.ShopId,
                        shopname    = shop.ShopName
                    };
                    #region sku信息
                    var sku  = new Provider.ProductSKUProvider().GetSKUByProd(Common.ToolHelper.ConvertToLong(productid));
                    var spic = "";
                    foreach (var item in sku)
                    {
                        spic = new ERP.Common.FileHelper().GetWebFileUrl(item.PictureURL, Common.FileConfig.FileType.ProductPhoto.ToString());
                        skuModel.Add(new Models.ProductInfoModels.sku_model
                        {
                            salecount  = item.SaleCount,
                            skuid      = item.Id,
                            stock      = item.Stock,
                            promoprice = item.PromoPrice,
                            realprice  = item.RealPrice,
                            skustring  = item.SKUString.Trim('-').Replace("-", ","),
                            pictureurl = spic
                        });
                    }

                    #endregion
                    #region 商品属性
                    var propValue = new List <Models.ProductInfoModels.property_value>();
                    var prop      = new HashSet <int>(); //属性集合
                    var value     = new HashSet <int>(); //属性值集合
                    var ps        = prod.PropString.Split('|');
                    foreach (var item in ps[0].Split(','))
                    {
                        prop.Add(Common.ToolHelper.ConvertToInt(item));
                    }
                    foreach (var item in ps[1].Split(','))
                    {
                        value.Add(Common.ToolHelper.ConvertToInt(item));
                    }
                    var props  = new Provider.ProductPropertyProvider().GetListByIds(prop);
                    var values = new Provider.ProductPropertyProvider().GetValueByIds(prop);
                    foreach (var item in props)
                    {
                        propValue = new List <Models.ProductInfoModels.property_value>();
                        foreach (var v in values.Where(c => c.PropertyId == item.Id))
                        {
                            propValue.Add(new Models.ProductInfoModels.property_value
                            {
                                id   = v.Id,
                                name = v.Name
                            });
                        }
                        propertity.Add(new Models.ProductInfoModels.property
                        {
                            id     = item.Id,
                            name   = item.PropName,
                            values = propValue
                        });
                    }
                    #endregion
                }
                var picModel = new List <Models.ProductInfoModels.pic_model>();
                #region 商品图片
                var pics = proveder.GetPic(Common.ToolHelper.ConvertToLong(productid));
                var pic  = "";
                foreach (var item in pics)
                {
                    pic = new ERP.Common.FileHelper().GetWebFileUrl(item.PictureURL, Common.FileConfig.FileType.ProductPhoto.ToString());
                    picModel.Add(new Models.ProductInfoModels.pic_model
                    {
                        pictureurl = pic
                    });
                }
                #endregion

                var model = new Models.ProductInfoModels.result_model()
                {
                    picture  = picModel,
                    sku      = skuModel,
                    product  = product,
                    property = propertity
                };
                data.response = (int)Extensions.ErrorInfo.OK;
                data.message  = "成功";
                data.result   = model;
            }
            catch (Exception ex)
            {
                data.response = (int)Extensions.ErrorInfo.ServerError;
                data.message  = "服务器内部错误";
                Common.LogHelper.WriteLog(typeof(ProductCategoryController), ex);
            }
            return(Json(data));
        }
Ejemplo n.º 2
0
        public ActionResult Index(string memberid, string token)
        {
            var data = new Models.ShoppingCartModels.json_model();

            try
            {
                if (string.IsNullOrEmpty(memberid) || string.IsNullOrEmpty(token))
                {
                    return(Json(new { response = Extensions.ErrorInfo.ParameterError, message = "参数错误" }));
                }
                var tc = new Cache.MemberTokenCache().Get(token);
                if (tc == null)
                {
                    return(Json(new { response = Extensions.ErrorInfo.TokenError, message = "token验证失败请重新登录" }));
                }
                if (AuthIsOpen)
                {
                    var dic = new SortedDictionary <string, string>();
                    dic.Add("timestamp", Request["timestamp"]);
                    dic.Add("memberid", memberid);
                    dic.Add("token", token);
                    VerifyAuthorize(dic);
                }
                var model = new List <Models.ShoppingCartModels.result_model>();
                var shop  = new List <Models.ShoppingCartModels.shop_model>();
                var list  = new Provider.ShoppingCartProvider().GetList(Common.ToolHelper.ConvertToLong(memberid));
                var ids   = list.Select(c => c.ShopId).Distinct();
                var cache = new Cache.BIZ_ShopBasisCache().Get(Common.FormsTicket.SystemCode);
                var pic   = "";
                foreach (var s in ids)
                {
                    var sp = cache.Where(c => c.Id == s).FirstOrDefault();
                    model = new List <Models.ShoppingCartModels.result_model>();
                    foreach (var item in list.Where(c => c.ShopId == s))
                    {
                        pic = new ERP.Common.FileHelper().GetWebFileUrl(item.PictureURL, Common.FileConfig.FileType.ProductPhoto.ToString());
                        model.Add(new Models.ShoppingCartModels.result_model
                        {
                            skuname     = item.SKUName,
                            quantity    = item.Quantity,
                            cartstatus  = item.CartStatus,
                            cartid      = item.Id,
                            ismoveprop  = item.IsMoveProp,
                            pictureurl  = pic,
                            productname = item.ProductName,
                            promoprice  = item.PromoPrice,
                            realprice   = item.RealPrice,
                            orderid     = "cart_" + item.Id
                        });
                    }
                    shop.Add(new Models.ShoppingCartModels.shop_model {
                        product  = model,
                        shopid   = sp.Id,
                        shopname = sp.ShopName
                    });
                }
                data.response = (int)Extensions.ErrorInfo.OK;
                data.message  = "成功";
                data.result   = shop;
            }
            catch (Exception ex)
            {
                data.response = (int)Extensions.ErrorInfo.ServerError;
                data.message  = "服务器内部错误";
                Common.LogHelper.WriteLog(typeof(ShoppingCartController), ex);
            }
            return(Json(data));
        }