/// <summary> /// 更新商品关键词 /// </summary> public ActionResult UpdateProductKeyword(string keyword = "", int relevancy = 0, int pid = -1) { PartProductInfo partProductInfo = AdminProducts.AdminGetPartProductById(pid); if (partProductInfo == null) { return(PromptView(Url.Action("productkeywordlist", new { pid = pid }), "商品不存在")); } if (string.IsNullOrWhiteSpace(keyword)) { return(PromptView(Url.Action("productkeywordlist", new { pid = pid }), "关键词不能为空")); } if (keyword.Length > 20) { return(PromptView(Url.Action("productkeywordlist", new { pid = pid }), "关键词最多只能输入20个字")); } ProductKeywordInfo productKeywordInfo = new ProductKeywordInfo { Keyword = keyword, Pid = pid, Relevancy = relevancy }; Searches.UpdateProductKeyword(productKeywordInfo); AddMallAdminLog("修改商品关键词", "修改商品关键词,商品ID:" + pid); return(Content("1")); }
/// <summary> /// 添加优惠劵商品 /// </summary> /// <returns></returns> public ActionResult AddCouponProduct(int couponTypeId = -1, int pid = 1) { CouponTypeInfo couponTypeInfo = AdminCoupons.AdminGetCouponTypeById(couponTypeId); if (couponTypeInfo == null) { return(PromptView("优惠劵类型不存在")); } if (couponTypeInfo.LimitProduct == 0) { return(PromptView("此优惠劵类型没有限制商品")); } PartProductInfo partProductInfo = AdminProducts.AdminGetPartProductById(pid); if (partProductInfo == null) { return(PromptView("此商品不存在")); } if (couponTypeInfo.StoreId != partProductInfo.StoreId) { return(PromptView(Url.Action("couponproductlist", new { couponTypeId = couponTypeId }), "只能关联同一店铺的商品")); } if (AdminCoupons.IsExistCouponProduct(couponTypeId, pid)) { return(PromptView("此商品已经存在")); } AdminCoupons.AddCouponProduct(couponTypeId, pid); AddMallAdminLog("添加优惠劵商品", "添加优惠劵商品,商品为:" + partProductInfo.Name); return(PromptView("优惠劵商品添加成功")); }
/// <summary> /// 商品评价列表 /// </summary> public ActionResult ProductReviewList() { int pid = WebHelper.GetQueryInt("pid"); int reviewType = WebHelper.GetQueryInt("reviewType"); int page = WebHelper.GetQueryInt("page"); //判断商品是否存在 PartProductInfo productInfo = Products.GetPartProductById(pid); if (productInfo == null) { return(PromptView("/", "你访问的商品不存在")); } if (reviewType < 0 || reviewType > 3) { reviewType = 0; } PageModel pageModel = new PageModel(10, page, ProductReviews.GetProductReviewCount(pid, reviewType)); ProductReviewListModel model = new ProductReviewListModel() { ProductInfo = productInfo, CategoryInfo = Categories.GetCategoryById(productInfo.CateId), BrandInfo = Brands.GetBrandById(productInfo.BrandId), ReviewType = reviewType, PageModel = pageModel, ProductReviewList = ProductReviews.GetProductReviewList(pid, reviewType, pageModel.PageSize, pageModel.PageNumber) }; return(View(model)); }
/// <summary> /// 商品咨询列表 /// </summary> public ActionResult ProductConsultList() { int pid = WebHelper.GetQueryInt("pid"); int consultTypeId = WebHelper.GetQueryInt("consultTypeId"); string consultMessage = WebHelper.GetQueryString("consultMessage"); int page = WebHelper.GetQueryInt("page"); //判断商品是否存在 PartProductInfo productInfo = Products.GetPartProductById(pid); if (productInfo == null) { return(PromptView("/", "你访问的商品不存在")); } PageModel pageModel = new PageModel(10, page, ProductConsults.GetProductConsultCount(pid, consultTypeId, consultMessage)); ProductConsultListModel model = new ProductConsultListModel() { ProductInfo = productInfo, CategoryInfo = Categories.GetCategoryById(productInfo.CateId), BrandInfo = Brands.GetBrandById(productInfo.BrandId), ConsultTypeId = consultTypeId, ConsultMessage = consultMessage, PageModel = pageModel, ProductConsultList = ProductConsults.GetProductConsultList(pageModel.PageSize, pageModel.PageNumber, pid, consultTypeId, consultMessage), ProductConsultTypeList = ProductConsults.GetProductConsultTypeList(), IsVerifyCode = CommonHelper.IsInArray(WorkContext.PageKey, WorkContext.ShopConfig.VerifyPages) }; return(View(model)); }
/// <summary> /// 商品咨询列表 /// </summary> public ActionResult ProductConsultList() { int pid = WebHelper.GetQueryInt("pid"); int consultTypeId = WebHelper.GetQueryInt("consultTypeId"); string consultMessage = WebHelper.GetQueryString("consultMessage"); int page = WebHelper.GetQueryInt("page"); //判断商品是否存在 PartProductInfo productInfo = Products.GetPartProductById(pid); if (productInfo == null) { return(PromptView(Url.Action("index", "home"), "你访问的商品不存在")); } if (!SecureHelper.IsSafeSqlString(consultMessage)) { return(PromptView(WorkContext.UrlReferrer, "您搜索的内容不存在")); } PageModel pageModel = new PageModel(10, page, ProductConsults.GetProductConsultCount(pid, consultTypeId, consultMessage)); ProductConsultListModel model = new ProductConsultListModel() { ProductInfo = productInfo, ConsultTypeId = consultTypeId, ConsultMessage = consultMessage, PageModel = pageModel, ProductConsultList = ProductConsults.GetProductConsultList(pageModel.PageSize, pageModel.PageNumber, pid, consultTypeId, consultMessage), ProductConsultTypeList = ProductConsults.GetProductConsultTypeList(), IsVerifyCode = CommonHelper.IsInArray(WorkContext.PageKey, WorkContext.ShopConfig.VerifyPages) }; return(View(model)); }
/// <summary> /// 商品评价列表 /// </summary> public ActionResult ProductReviewList() { int pid = WebHelper.GetQueryInt("pid"); int reviewType = WebHelper.GetQueryInt("reviewType"); int page = WebHelper.GetQueryInt("page"); //判断商品是否存在 PartProductInfo productInfo = Products.GetPartProductById(pid); if (productInfo == null) { return(PromptView(Url.Action("index", "home"), "你访问的商品不存在")); } if (reviewType < 0 || reviewType > 3) { reviewType = 0; } PageModel pageModel = new PageModel(10, page, ProductReviews.GetProductReviewCount(pid, reviewType)); ProductReviewListModel model = new ProductReviewListModel() { ProductInfo = productInfo, ReviewType = reviewType, PageModel = pageModel, ProductReviewList = ProductReviews.GetProductReviewList(pid, reviewType, pageModel.PageSize, pageModel.PageNumber) }; return(View(model)); }
/// <summary> /// 添加优惠劵商品 /// </summary> /// <returns></returns> public ActionResult AddCouponProduct(int couponTypeId = -1, int pid = 1) { CouponTypeInfo couponTypeInfo = AdminCoupons.AdminGetCouponTypeById(couponTypeId); if (couponTypeInfo == null) { return(PromptView("优惠劵类型不存在")); } if (couponTypeInfo.LimitProduct == 0) { return(PromptView("此优惠劵类型没有限制商品")); } PartProductInfo partProductInfo = AdminProducts.AdminGetPartProductById(pid); if (partProductInfo == null) { return(PromptView("此商品不存在")); } if (AdminCoupons.IsExistCouponProduct(couponTypeId, pid)) { return(PromptView("此商品已经存在")); } AdminCoupons.AddCouponProduct(couponTypeId, pid); AddAdminOperateLog("添加优惠劵商品", "添加优惠劵商品,商品为:" + partProductInfo.Name); return(PromptView("优惠劵商品添加成功")); }
/// <summary> /// 添加商品到收藏夹 /// </summary> public ActionResult AddToFavorite() { //商品id int pid = WebHelper.GetQueryInt("pid"); //商品信息 PartProductInfo partProductInfo = Products.GetPartProductById(pid); if (partProductInfo == null) { return(AjaxResult("noproduct", "请选择商品")); } //当收藏夹中已经存在此商品时 if (Favorites.IsExistFavoriteProduct(WorkContext.Uid, pid)) { return(AjaxResult("exist", "商品已经存在")); } //收藏夹已满时 if (WorkContext.ShopConfig.FavoriteCount <= Favorites.GetFavoriteProductCount(WorkContext.Uid)) { return(AjaxResult("full", "收藏夹已满")); } bool result = Favorites.AddToFavorite(WorkContext.Uid, pid, 0, DateTime.Now); if (result)//添加成功 { return(AjaxResult("success", "收藏成功")); } else//添加失败 { return(AjaxResult("error", "收藏失败")); } }
/// <summary> /// 从IDataReader创建PartProductInfo /// </summary> public static PartProductInfo BuildPartProductFromReader(IDataReader reader) { PartProductInfo partProductInfo = new PartProductInfo(); partProductInfo.Pid = TypeHelper.ObjectToInt(reader["pid"]); partProductInfo.PSN = reader["psn"].ToString(); partProductInfo.CateId = TypeHelper.ObjectToInt(reader["cateid"]); partProductInfo.BrandId = TypeHelper.ObjectToInt(reader["brandid"]); partProductInfo.SKUGid = TypeHelper.ObjectToInt(reader["skugid"]); partProductInfo.Name = reader["name"].ToString(); partProductInfo.ShopPrice = TypeHelper.ObjectToDecimal(reader["shopprice"]); partProductInfo.MarketPrice = TypeHelper.ObjectToDecimal(reader["marketprice"]); partProductInfo.CostPrice = TypeHelper.ObjectToDecimal(reader["costprice"]); partProductInfo.State = TypeHelper.ObjectToInt(reader["state"]); partProductInfo.IsBest = TypeHelper.ObjectToInt(reader["isbest"]); partProductInfo.IsHot = TypeHelper.ObjectToInt(reader["ishot"]); partProductInfo.IsNew = TypeHelper.ObjectToInt(reader["isnew"]); partProductInfo.DisplayOrder = TypeHelper.ObjectToInt(reader["displayorder"]); partProductInfo.Weight = TypeHelper.ObjectToInt(reader["weight"]); partProductInfo.ShowImg = reader["showimg"].ToString(); partProductInfo.SaleCount = TypeHelper.ObjectToInt(reader["salecount"]); partProductInfo.VisitCount = TypeHelper.ObjectToInt(reader["visitcount"]); partProductInfo.ReviewCount = TypeHelper.ObjectToInt(reader["reviewcount"]); partProductInfo.Star1 = TypeHelper.ObjectToInt(reader["star1"]); partProductInfo.Star2 = TypeHelper.ObjectToInt(reader["star2"]); partProductInfo.Star3 = TypeHelper.ObjectToInt(reader["star3"]); partProductInfo.Star4 = TypeHelper.ObjectToInt(reader["star4"]); partProductInfo.Star5 = TypeHelper.ObjectToInt(reader["star5"]); partProductInfo.AddTime = TypeHelper.ObjectToDateTime(reader["addtime"]); return(partProductInfo); }
/// <summary> /// 添加关联商品 /// </summary> /// <param name="pid">主商品id</param> /// <param name="relatePid">关联商品id</param> /// <returns></returns> public ActionResult AddRelateProduct(int pid = -1, int relatePid = -1) { PartProductInfo partProductInfo1 = AdminProducts.AdminGetPartProductById(pid); if (partProductInfo1 == null) { return(PromptView(Url.Action("relateproductlist", new { pid = pid }), "主商品不存在")); } PartProductInfo partProductInfo2 = AdminProducts.AdminGetPartProductById(relatePid); if (partProductInfo2 == null) { return(PromptView(Url.Action("relateproductlist", new { pid = pid }), "关联商品不存在")); } if (pid == relatePid) { return(PromptView(Url.Action("relateproductlist", new { pid = pid }), "不能关联自身")); } if (partProductInfo1.StoreId != partProductInfo2.StoreId) { return(PromptView(Url.Action("relateproductlist", new { pid = pid }), "只能关联同一店铺的商品")); } if (AdminProducts.IsExistRelateProduct(pid, relatePid)) { return(PromptView(Url.Action("relateproductlist", new { pid = pid }), "此关联商品已经存在")); } AdminProducts.AddRelateProduct(pid, relatePid); AddMallAdminLog("添加关联商品", "添加关联商品,关联商品为:" + partProductInfo2.Name); return(PromptView(Url.Action("relateproductlist", new { pid = pid }), "关联商品添加成功")); }
public ActionResult AddTimeProduct(TimeProductModel model) { PartProductInfo partProductInfo = AdminProducts.AdminGetPartProductById(model.Pid); if (partProductInfo == null) { ModelState.AddModelError("Pid", "请选择商品"); } if (AdminProducts.IsExistTimeProduct(model.Pid)) { ModelState.AddModelError("Pid", "此商品已经存在"); } if (ModelState.IsValid) { DateTime noTime = new DateTime(1900, 1, 1); TimeProductInfo timeProductInfo = new TimeProductInfo() { Pid = model.Pid, StoreId = partProductInfo.StoreId, OnSaleState = model.OnSaleTime == null ? 0 : 1, OutSaleState = model.OutSaleTime == null ? 0 : 1, OnSaleTime = model.OnSaleTime == null ? noTime : model.OnSaleTime.Value, OutSaleTime = model.OutSaleTime == null ? noTime : model.OutSaleTime.Value }; AdminProducts.AddTimeProduct(timeProductInfo); AddMallAdminLog("添加定时商品", "添加定时商品,定时商品为:" + partProductInfo.Name); return(PromptView("定时商品添加成功")); } ViewData["referer"] = MallUtils.GetMallAdminRefererCookie(); return(View(model)); }
/// <summary> /// 添加商品图片 /// </summary> public ActionResult AddProductImage(string showImg, int displayOrder = 0, int pid = -1) { PartProductInfo partProductInfo = AdminProducts.AdminGetPartProductById(pid); if (partProductInfo == null) { return(PromptView(Url.Action("productimagelist", new { pid = pid }), "商品不存在")); } if (string.IsNullOrWhiteSpace(showImg)) { return(PromptView(Url.Action("productimagelist", new { pid = pid }), "图片不能为空")); } ProductImageInfo productImageInfo = new ProductImageInfo { Pid = pid, ShowImg = showImg, IsMain = 0, DisplayOrder = displayOrder, StoreId = partProductInfo.StoreId }; AdminProducts.CreateProductImage(productImageInfo); AddMallAdminLog("添加商品图片", "添加商品图片,商品ID为:" + pid); return(PromptView(Url.Action("productimagelist", new { pid = pid }), "商品图片添加成功")); }
/// <summary> /// 添加商品关键词 /// </summary> public ActionResult AddProductKeyword(string keyword, int relevancy = 0, int pid = -1) { PartProductInfo partProductInfo = AdminProducts.AdminGetPartProductById(pid); if (partProductInfo == null) { return(PromptView(Url.Action("productkeywordlist", new { pid = pid }), "商品不存在")); } if (string.IsNullOrWhiteSpace(keyword)) { return(PromptView(Url.Action("productkeywordlist", new { pid = pid }), "关键词不能为空")); } if (keyword.Length > 20) { return(PromptView(Url.Action("productkeywordlist", new { pid = pid }), "关键词最多只能输入20个字")); } if (AdminProducts.IsExistProductKeyWord(pid, keyword)) { return(PromptView(Url.Action("productkeywordlist", new { pid = pid }), "关键词已经存在")); } ProductKeywordInfo productKeywordInfo = new ProductKeywordInfo { Keyword = keyword, Pid = pid, Relevancy = relevancy }; AdminProducts.CreateProductKeyword(productKeywordInfo); AddMallAdminLog("添加商品关键词", "添加商品关键词,商品ID为:" + pid); return(PromptView(Url.Action("productkeywordlist", new { pid = pid }), "商品关键词添加成功")); }
/// <summary> /// 获得关联商品列表 /// </summary> /// <param name="pid">商品id</param> /// <returns></returns> public static List <PartProductInfo> GetRelateProductList(int pid) { List <PartProductInfo> partProductList = null; if (_productnosql != null) { List <string> relatePidList = _productnosql.GetRelatePidList(pid); if (relatePidList == null) { relatePidList = new List <string>(); foreach (DataRow row in AdminGetRelateProductList(pid).Rows) { relatePidList.Add(row["relatepid"].ToString()); } _productnosql.CreateRelatePidList(pid, relatePidList); } partProductList = _productnosql.GetPartProductList(relatePidList); } else { partProductList = new List <PartProductInfo>(); IDataReader reader = BrnShop.Core.BSPData.RDBS.GetRelateProductList(pid); while (reader.Read()) { PartProductInfo partProductInfo = BuildPartProductFromReader(reader); partProductList.Add(partProductInfo); } reader.Close(); } return(partProductList); }
/// <summary> /// 咨询商品 /// </summary> public ActionResult ConsultProduct() { //不允许游客访问 if (WorkContext.Uid < 1) { return(AjaxResult("nologin", "请先登录")); } //验证验证码 if (CommonHelper.IsInArray(WorkContext.PageKey, WorkContext.ShopConfig.VerifyPages)) { string verifyCode = WebHelper.GetFormString("verifyCode");//验证码 if (string.IsNullOrWhiteSpace(verifyCode)) { return(AjaxResult("emptyverifycode", "验证码不能为空"));; } else if (verifyCode.ToLower() != Sessions.GetValueString(WorkContext.Sid, "verifyCode")) { return(AjaxResult("wrongverifycode", "验证码错误"));; } } int pid = WebHelper.GetFormInt("pid"); int consultTypeId = WebHelper.GetFormInt("consultTypeId"); string consultMessage = WebHelper.GetFormString("consultMessage"); PartProductInfo partProductInfo = Products.GetPartProductById(pid); if (partProductInfo == null) { return(AjaxResult("noproduct", "请选择商品")); } if (consultTypeId < 1 || ProductConsults.GetProductConsultTypeById(consultTypeId) == null) { return(AjaxResult("noproductconsulttype", "请选择咨询类型")); } ; if (string.IsNullOrWhiteSpace(consultMessage)) { return(AjaxResult("noconsultmessage", "请填写咨询内容")); } ; if (consultMessage.Length > 100) { return(AjaxResult("muchconsultmessage", "咨询内容内容太长")); } ; if (!SecureHelper.IsSafeSqlString(consultMessage)) { return(AjaxResult("dangerconsultmessage", "咨询内中包含非法字符")); } ; ProductConsults.ConsultProduct(pid, consultTypeId, WorkContext.Uid, DateTime.Now, WebHelper.HtmlEncode(consultMessage), WorkContext.NickName, partProductInfo.Name, partProductInfo.ShowImg, WorkContext.IP); return(AjaxResult("success", Url.Action("product", new RouteValueDictionary { { "pid", pid } })));; }
/// <summary> /// 购买商品 /// </summary> /// <returns></returns> public ActionResult BuyProduct() { int pid = WebHelper.GetQueryInt("pid"); //商品id string note = WebHelper.GetQueryString("note"); //备注 int buyCount = WebHelper.GetQueryInt("buyCount"); //购买数量 //当商城不允许游客使用购物车时 if (WorkContext.ShopConfig.IsGuestSC == 0 && WorkContext.Uid < 1) { return(AjaxResult("nologin", "请先登录")); } //判断商品是否存在 PartProductInfo partProductInfo = Products.GetPartProductById(pid); if (partProductInfo == null) { return(AjaxResult("noproduct", "请选择商品")); } //购买数量不能小于1 if (buyCount < 1) { return(AjaxResult("buycountmin", "请填写购买数量")); } //商品库存 int stockNumber = Products.GetProductStockNumberByPid(pid); if (stockNumber < buyCount) { return(AjaxResult("stockout", "商品库存不足")); } //购物车中已经存在的商品列表 List <OrderProductInfo> orderProductList = Carts.GetCartProductList(WorkContext.Uid, WorkContext.Sid); OrderProductInfo orderProductInfo = Carts.GetCommonOrderProductByPid(pid, orderProductList); if (orderProductInfo == null) { if ((WorkContext.Uid > 0 && orderProductList.Count >= WorkContext.ShopConfig.MemberSCCount) || (WorkContext.Uid < 1 && orderProductList.Count >= WorkContext.ShopConfig.GuestSCCount)) { return(AjaxResult("full", "购物车已满")); } } buyCount = orderProductInfo == null ? buyCount : orderProductInfo.BuyCount + buyCount; //将商品添加到购物车 Carts.AddProductToCart(ref orderProductList, buyCount, partProductInfo, WorkContext.Sid, WorkContext.Uid, DateTime.Now, WorkContext.IsMember, note); //将购物车中商品数量写入cookie Carts.SetCartProductCountCookie(Carts.SumOrderProductCount(orderProductList)); return(AjaxResult("success", Url.Action("confirmorder", "order", new RouteValueDictionary { { "selectedCartItemKeyList", "0_" + pid } }))); }
/// <summary> /// 更新商品属性 /// </summary> /// <param name="pid">商品id</param> /// <param name="attrId">属性id</param> /// <param name="attrValueId">属性值id</param> /// <param name="inputValue">输入值</param> /// <param name="type">更新类型</param> /// <returns></returns> public ActionResult UpdateProductAttribute(int pid = -1, int attrId = -1, int attrValueId = -1, string inputValue = "", int type = -1) { PartProductInfo partProductInfo = AdminProducts.AdminGetPartProductById(pid); if (partProductInfo == null || partProductInfo.StoreId != WorkContext.StoreId) { return(Content("0")); } bool result = false; ProductAttributeInfo productAttributeInfo = AdminProducts.GetProductAttributeByPidAndAttrId(pid, attrId); if (productAttributeInfo == null) { productAttributeInfo = new ProductAttributeInfo(); productAttributeInfo.Pid = pid; productAttributeInfo.AttrId = attrId; productAttributeInfo.AttrValueId = attrValueId; if (AdminCategories.GetAttributeValueById(attrValueId).IsInput == 0 || string.IsNullOrWhiteSpace(inputValue)) { productAttributeInfo.InputValue = ""; } else { productAttributeInfo.InputValue = inputValue; } result = AdminProducts.CreateProductAttribute(productAttributeInfo); } else { if (type == 1) { productAttributeInfo.AttrValueId = attrValueId; productAttributeInfo.InputValue = inputValue; result = AdminProducts.UpdateProductAttribute(productAttributeInfo); } else if (type == 0) { productAttributeInfo.AttrValueId = attrValueId; productAttributeInfo.InputValue = ""; result = AdminProducts.UpdateProductAttribute(productAttributeInfo); } } if (result) { AddStoreAdminLog("修改商品属性", "修改商品属性,商品属性ID:" + pid + "_" + attrId); return(Content("1")); } else { return(Content("0")); } }
/// <summary> /// 添加商品到购物车 /// </summary> public ActionResult AddProduct() { int pid = WebHelper.GetQueryInt("pid"); //商品id int buyCount = WebHelper.GetQueryInt("buyCount"); //购买数量 int scSubmitType = WorkContext.ShopConfig.SCSubmitType; //购物车的提交方式 //当商城不允许游客使用购物车时 if (WorkContext.ShopConfig.IsGuestSC == 0 && WorkContext.Uid < 1) { return(AjaxResult("nologin", "请先登录")); } //判断商品是否存在 PartProductInfo partProductInfo = Products.GetPartProductById(pid); if (partProductInfo == null) { return(AjaxResult("noproduct", "请选择商品")); } //购买数量不能小于1 if (buyCount < 1) { return(AjaxResult("buycountmin", "请填写购买数量")); } //商品库存 int stockNumber = Products.GetProductStockNumberByPid(pid); if (stockNumber < buyCount) { return(AjaxResult("stockout", "商品库存不足")); } //购物车中已经存在的商品列表 List <OrderProductInfo> orderProductList = Carts.GetCartProductList(WorkContext.Uid, WorkContext.Sid); OrderProductInfo orderProductInfo = Carts.GetCommonOrderProductByPid(pid, orderProductList); if (orderProductInfo == null) { if ((WorkContext.Uid > 0 && orderProductList.Count >= WorkContext.ShopConfig.MemberSCCount) || (WorkContext.Uid < 1 && orderProductList.Count >= WorkContext.ShopConfig.GuestSCCount)) { return(AjaxResult("full", "购物车已满")); } } buyCount = orderProductInfo == null ? buyCount : orderProductInfo.BuyCount + buyCount; //将商品添加到购物车 Carts.AddProductToCart(ref orderProductList, buyCount, partProductInfo, WorkContext.Sid, WorkContext.Uid, DateTime.Now); //将购物车中商品数量写入cookie Carts.SetCartProductCountCookie(Carts.SumOrderProductCount(orderProductList)); return(AjaxResult("success", "添加成功")); }
/// <summary> /// 后台获得部分商品 /// </summary> /// <param name="pid">商品id</param> /// <returns></returns> public static PartProductInfo AdminGetPartProductById(int pid) { PartProductInfo partProductInfo = null; IDataReader reader = BrnShop.Core.BSPData.RDBS.AdminGetPartProductById(pid); if (reader.Read()) { partProductInfo = BuildPartProductFromReader(reader); } reader.Close(); return(partProductInfo); }
/// <summary> /// 获得用户浏览商品列表 /// </summary> /// <param name="pageSize">每页数</param> /// <param name="pageNumber">当前页数</param> /// <param name="uid">用户id</param> /// <returns></returns> public static List <PartProductInfo> GetUserBrowseProductList(int pageSize, int pageNumber, int uid) { List <PartProductInfo> partProductList = new List <PartProductInfo>(); IDataReader reader = BrnShop.Core.BSPData.RDBS.GetUserBrowseProductList(pageSize, pageNumber, uid); while (reader.Read()) { PartProductInfo partProductInfo = Products.BuildPartProductFromReader(reader); partProductList.Add(partProductInfo); } reader.Close(); return(partProductList); }
/// <summary> /// 获得签名商品列表 /// </summary> /// <param name="sign">签名</param> /// <returns></returns> public static List <PartProductInfo> GetSignProductList(string sign) { List <PartProductInfo> partProductList = new List <PartProductInfo>(); IDataReader reader = BrnShop.Core.BSPData.RDBS.GetSignProductList(sign); while (reader.Read()) { PartProductInfo partProductInfo = BuildPartProductFromReader(reader); partProductList.Add(partProductInfo); } reader.Close(); return(partProductList); }
/// <summary> /// 获得分类商品列表 /// </summary> /// <param name="pageSize">每页数</param> /// <param name="pageNumber">当前页数</param> /// <param name="cateId">分类id</param> /// <param name="brandId">品牌id</param> /// <param name="filterPrice">筛选价格</param> /// <param name="catePriceRangeList">分类价格范围列表</param> /// <param name="attrValueIdList">属性值id列表</param> /// <param name="onlyStock">是否只显示有货</param> /// <param name="sortColumn">排序列</param> /// <param name="sortDirection">排序方向</param> /// <returns></returns> public static List <PartProductInfo> GetCategoryProductList(int pageSize, int pageNumber, int cateId, int brandId, int filterPrice, string[] catePriceRangeList, List <int> attrValueIdList, int onlyStock, int sortColumn, int sortDirection) { List <PartProductInfo> partProductList = new List <PartProductInfo>(); IDataReader reader = BrnShop.Core.BSPData.RDBS.GetCategoryProductList(pageSize, pageNumber, cateId, brandId, filterPrice, catePriceRangeList, attrValueIdList, onlyStock, sortColumn, sortDirection); while (reader.Read()) { PartProductInfo partProductInfo = BuildPartProductFromReader(reader); partProductList.Add(partProductInfo); } reader.Close(); return(partProductList); }
/// <summary> /// 商品咨询列表 /// </summary> public ActionResult ProductConsultList() { int pid = WebHelper.GetQueryInt("pid"); int consultTypeId = WebHelper.GetQueryInt("consultTypeId"); string consultMessage = WebHelper.GetQueryString("consultMessage"); int page = WebHelper.GetQueryInt("page"); //判断商品是否存在 PartProductInfo productInfo = Products.GetPartProductById(pid); if (productInfo == null) { return(PromptView("/", "你访问的商品不存在")); } if (!SecureHelper.IsSafeSqlString(consultMessage)) { return(PromptView(WorkContext.UrlReferrer, "您搜索的内容不存在")); } //店铺信息 StoreInfo storeInfo = Stores.GetStoreById(productInfo.StoreId); if (storeInfo.State != (int)StoreState.Open) { return(PromptView("/", "你访问的商品不存在")); } PageModel pageModel = new PageModel(10, page, ProductConsults.GetProductConsultCount(pid, consultTypeId, consultMessage)); ProductConsultListModel model = new ProductConsultListModel() { ProductInfo = productInfo, CategoryInfo = Categories.GetCategoryById(productInfo.CateId), BrandInfo = Brands.GetBrandById(productInfo.BrandId), StoreInfo = storeInfo, StoreKeeperInfo = Stores.GetStoreKeeperById(storeInfo.StoreId), StoreRegion = Regions.GetRegionById(storeInfo.RegionId), StoreRankInfo = StoreRanks.GetStoreRankById(storeInfo.StoreRid), ConsultTypeId = consultTypeId, ConsultMessage = consultMessage, PageModel = pageModel, ProductConsultList = ProductConsults.GetProductConsultList(pageModel.PageSize, pageModel.PageNumber, pid, consultTypeId, consultMessage), ProductConsultTypeList = ProductConsults.GetProductConsultTypeList(), IsVerifyCode = CommonHelper.IsInArray(WorkContext.PageKey, WorkContext.MallConfig.VerifyPages) }; return(View(model)); }
/// <summary> /// 商品套装列表 /// </summary> /// <returns></returns> public ActionResult ProductSuitList() { //商品id int pid = GetRouteInt("pid"); if (pid == 0) { pid = WebHelper.GetQueryInt("pid"); } //判断商品是否存在 PartProductInfo productInfo = Products.GetPartProductById(pid); if (productInfo == null) { return(PromptView(Url.Action("index", "home"), "你访问的商品不存在")); } //店铺信息 StoreInfo storeInfo = Stores.GetStoreById(productInfo.StoreId); if (storeInfo.State != (int)StoreState.Open) { return(PromptView(Url.Action("index", "home"), "你访问的商品不存在")); } List <KeyValuePair <SuitPromotionInfo, List <ExtSuitProductInfo> > > suitProductList = Promotions.GetProductAllSuitPromotion(pid, DateTime.Now); if (suitProductList.Count == 0) { return(PromptView(Url.Action("product", new RouteValueDictionary { { "pid", pid } }), "此商品没有套装")); } ProductSuitListModel model = new ProductSuitListModel(); //商品id model.Pid = pid; //商品信息 model.ProductInfo = productInfo; //套装商品列表 model.SuitProductList = suitProductList; return(View(model)); }
/// <summary> /// 商品关键词列表 /// </summary> public ActionResult ProductKeywordList(int pid = -1) { PartProductInfo partProductInfo = AdminProducts.AdminGetPartProductById(pid); if (partProductInfo == null) { return(PromptView("商品不存在")); } ProductKeywordListModel model = new ProductKeywordListModel() { ProductKeywordList = AdminProducts.GetProductKeywordList(pid), Pid = pid }; ViewData["referer"] = MallUtils.GetMallAdminRefererCookie(); return(View(model)); }
/// <summary> /// 关联商品列表 /// </summary> /// <param name="pid">主商品id</param> /// <returns></returns> public ActionResult RelateProductList(int pid = -1) { PartProductInfo partProductInfo = AdminProducts.AdminGetPartProductById(pid); if (partProductInfo == null) { return(PromptView("商品不存在")); } RelateProductListModel model = new RelateProductListModel() { RelateProductList = AdminProducts.AdminGetRelateProductList(pid), Pid = pid }; ViewData["referer"] = ShopUtils.GetAdminRefererCookie(); return(View(model)); }
/// <summary> /// 商品图片列表 /// </summary> public ActionResult ProductImageList(int pid = -1) { PartProductInfo partProductInfo = AdminProducts.AdminGetPartProductById(pid); if (partProductInfo == null) { return(PromptView("商品不存在")); } ProductImageListModel model = new ProductImageListModel() { ProductImageList = AdminProducts.GetProductImageList(pid), Pid = pid }; Load(); return(View(model)); }
/// <summary> /// 商品评价列表 /// </summary> public ActionResult ProductReviewList() { int pid = WebHelper.GetQueryInt("pid"); int reviewType = WebHelper.GetQueryInt("reviewType"); int page = WebHelper.GetQueryInt("page"); //判断商品是否存在 PartProductInfo productInfo = Products.GetPartProductById(pid); if (productInfo == null) { return(PromptView("/", "你访问的商品不存在")); } //店铺信息 StoreInfo storeInfo = Stores.GetStoreById(productInfo.StoreId); if (storeInfo.State != (int)StoreState.Open) { return(PromptView("/", "你访问的商品不存在")); } if (reviewType < 0 || reviewType > 3) { reviewType = 0; } PageModel pageModel = new PageModel(10, page, ProductReviews.GetProductReviewCount(pid, reviewType)); ProductReviewListModel model = new ProductReviewListModel() { ProductInfo = productInfo, CategoryInfo = Categories.GetCategoryById(productInfo.CateId), BrandInfo = Brands.GetBrandById(productInfo.BrandId), StoreInfo = storeInfo, StoreKeeperInfo = Stores.GetStoreKeeperById(storeInfo.StoreId), StoreRegion = Regions.GetRegionById(storeInfo.RegionId), StoreRankInfo = StoreRanks.GetStoreRankById(storeInfo.StoreRid), ReviewType = reviewType, PageModel = pageModel, ProductReviewList = ProductReviews.GetProductReviewList(pid, reviewType, pageModel.PageSize, pageModel.PageNumber) }; return(View(model)); }
/// <summary> /// 获得部分商品 /// </summary> /// <param name="pid">商品id</param> /// <returns></returns> public static PartProductInfo GetPartProductById(int pid) { PartProductInfo partProductInfo = null; if (_productnosql != null) { partProductInfo = _productnosql.GetPartProductById(pid); } else { IDataReader reader = BrnShop.Core.BSPData.RDBS.GetPartProductById(pid); if (reader.Read()) { partProductInfo = BuildPartProductFromReader(reader); } reader.Close(); } return(partProductInfo); }
/// <summary> /// 删除商品属性 /// </summary> /// <param name="pid">商品id</param> /// <param name="attrId">属性id</param> /// <returns></returns> public ActionResult DelProductAttribute(int pid = -1, int attrId = -1) { PartProductInfo partProductInfo = AdminProducts.AdminGetPartProductById(pid); if (partProductInfo == null || partProductInfo.StoreId != WorkContext.StoreId) { return(Content("0")); } bool result = AdminProducts.DeleteProductAttributeByPidAndAttrId(pid, attrId); if (result) { AddStoreAdminLog("删除商品属性", "删除商品属性,商品属性ID:" + pid + "_" + attrId); return(Content("1")); } else { return(Content("0")); } }