示例#1
0
        /// <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 }), "商品关键词添加成功"));
        }
示例#2
0
        /// <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("优惠劵商品添加成功"));
        }
示例#3
0
        /// <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"));
        }
示例#4
0
        /// <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 }), "关联商品添加成功"));
        }
示例#5
0
        /// <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 }), "商品图片添加成功"));
        }
示例#6
0
        /// <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("优惠劵商品添加成功"));
        }
示例#7
0
        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));
        }
示例#8
0
        /// <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"));
            }
        }
示例#9
0
        /// <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));
        }
示例#10
0
        /// <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));
        }
示例#11
0
        /// <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));
        }
示例#12
0
        /// <summary>
        /// 修改商品排序
        /// </summary>
        public ActionResult UpdateProductDisplayOrder(int pid = -1, int displayOrder = 0)
        {
            PartProductInfo partProductInfo = AdminProducts.AdminGetPartProductById(pid);

            if (partProductInfo == null || partProductInfo.StoreId != WorkContext.StoreId)
            {
                return(Content("0"));
            }

            bool result = AdminProducts.UpdateProductDisplayOrder(pid, displayOrder);

            if (result)
            {
                AddStoreAdminLog("修改商品顺序", "修改商品顺序,商品ID:" + pid);
                return(Content("1"));
            }
            else
            {
                return(Content("0"));
            }
        }
示例#13
0
        /// <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"));
            }
        }
示例#14
0
        /// <summary>
        /// 修改商品库存数量
        /// </summary>
        public ActionResult UpdateProductStockNumber(int pid = -1, int stockNumber = 0)
        {
            PartProductInfo partProductInfo = AdminProducts.AdminGetPartProductById(pid);

            if (partProductInfo == null || partProductInfo.StoreId != WorkContext.StoreId)
            {
                return(Content("0"));
            }

            bool result = AdminProducts.UpdateProductStockNumber(pid, stockNumber);

            if (result)
            {
                AddStoreAdminLog("更新商品库存数量", "更新商品库存数量,商品ID和库存数量为:" + pid + "_" + stockNumber);
                return(Content("1"));
            }
            else
            {
                return(Content("0"));
            }
        }
示例#15
0
        /// <summary>
        /// 修改商品商城价格
        /// </summary>
        public ActionResult UpdateProductShopPrice(int pid = -1, decimal shopPrice = 0.00M)
        {
            PartProductInfo partProductInfo = AdminProducts.AdminGetPartProductById(pid);

            if (partProductInfo == null || partProductInfo.StoreId != WorkContext.StoreId)
            {
                return(Content("0"));
            }

            bool result = AdminProducts.UpdateProductShopPrice(pid, shopPrice);

            if (result)
            {
                AddStoreAdminLog("修改商品本店价格", "修改商品本店价格,商品ID和价格为:" + pid + "_" + shopPrice);
                return(Content("1"));
            }
            else
            {
                return(Content("0"));
            }
        }
示例#16
0
        /// <summary>
        /// 删除关联商品
        /// </summary>
        /// <param name="pid">主商品id</param>
        /// <param name="relatePid">关联商品id</param>
        /// <returns></returns>
        public ActionResult DelRelateProduct(int pid = -1, int relatePid = -1)
        {
            PartProductInfo partProductInfo = AdminProducts.AdminGetPartProductById(pid);

            if (partProductInfo == null || partProductInfo.StoreId != WorkContext.StoreId)
            {
                return(Content("0"));
            }

            bool result = AdminProducts.DeleteRelateProductByPidAndRelatePid(pid, relatePid);

            if (result)
            {
                AddStoreAdminLog("删除关联商品", "删除关联商品品,商品ID为" + pid + "_" + relatePid);
                return(Content("1"));
            }
            else
            {
                return(Content("0"));
            }
        }
示例#17
0
        public ActionResult AddSignProduct(SignProductModel model)
        {
            PartProductInfo partProductInfo = AdminProducts.AdminGetPartProductById(model.Pid);

            if (partProductInfo == null)
            {
                ModelState.AddModelError("Pid", "请选择商品");
            }

            if (AdminProducts.IsExistSignProduct(model.Sign, model.Pid))
            {
                ModelState.AddModelError("Pid", "此商品已经存在");
            }

            if (ModelState.IsValid)
            {
                AdminProducts.AddSignProduct(model.Sign, model.Pid);
                AddAdminOperateLog("添加签名商品", "添加签名商品,签名商品为:" + partProductInfo.Name);
                return(PromptView("签名商品添加成功"));
            }
            return(View(model));
        }
示例#18
0
        public ActionResult EditTimeProduct(int recordId = -1)
        {
            TimeProductInfo timeProductInfo = AdminProducts.GetTimeProductByRecordId(recordId);

            if (timeProductInfo == null)
            {
                return(PromptView("定时商品不存在"));
            }

            DateTime?nullTime = null;
            DateTime noTime   = new DateTime(1900, 1, 1);

            TimeProductModel model = new TimeProductModel();

            model.Pid         = timeProductInfo.Pid;
            model.ProductName = AdminProducts.AdminGetPartProductById(timeProductInfo.Pid).Name;
            model.OnSaleTime  = timeProductInfo.OnSaleTime == noTime ? nullTime : timeProductInfo.OnSaleTime;
            model.OutSaleTime = timeProductInfo.OutSaleTime == noTime ? nullTime : timeProductInfo.OutSaleTime;

            ViewData["referer"] = ShopUtils.GetAdminRefererCookie();
            return(View(model));
        }
示例#19
0
        /// <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("商品不存在"));
            }
            if (partProductInfo.StoreId != WorkContext.StoreId)
            {
                return(PromptView("不能操作其它店铺的商品"));
            }

            RelateProductListModel model = new RelateProductListModel()
            {
                RelateProductList = AdminProducts.AdminGetRelateProductList(pid),
                Pid = pid
            };

            ViewData["referer"] = MallUtils.GetStoreAdminRefererCookie();
            return(View(model));
        }