Exemple #1
0
        public ActionResult EditStoreShipFee(int recordId = -1)
        {
            StoreShipFeeInfo storeShipFeeInfo = AdminStores.GetStoreShipFeeById(recordId);

            if (storeShipFeeInfo == null)
            {
                return(PromptView("店铺配送费用不存在"));
            }
            StoreShipTemplateInfo storeShipTemplateInfo = AdminStores.GetStoreShipTemplateById(storeShipFeeInfo.StoreSTid);

            if (storeShipTemplateInfo == null)
            {
                return(PromptView("店铺配送模板不存在"));
            }
            if (storeShipTemplateInfo.StoreId != WorkContext.StoreId)
            {
                return(PromptView("不能操作其它店铺的配送模板"));
            }

            StoreShipFeeModel model = new StoreShipFeeModel();

            model.RegionId   = storeShipFeeInfo.RegionId;
            model.StartValue = storeShipFeeInfo.StartValue;
            model.StartFee   = storeShipFeeInfo.StartFee;
            model.AddValue   = storeShipFeeInfo.AddValue;
            model.AddFee     = storeShipFeeInfo.AddFee;

            LoadStoreShipFee(model.RegionId);
            return(View(model));
        }
Exemple #2
0
        public ActionResult EditStoreShipFee(StoreShipFeeModel model, int recordId = -1)
        {
            StoreShipFeeInfo storeShipFeeInfo = AdminStores.GetStoreShipFeeById(recordId);

            if (storeShipFeeInfo == null)
            {
                return(PromptView("店铺配送费用不存在"));
            }
            StoreShipTemplateInfo storeShipTemplateInfo = AdminStores.GetStoreShipTemplateById(storeShipFeeInfo.StoreSTid);

            if (storeShipTemplateInfo == null)
            {
                return(PromptView("店铺配送模板不存在"));
            }
            if (storeShipTemplateInfo.StoreId != WorkContext.StoreId)
            {
                return(PromptView("不能操作其它店铺的配送模板"));
            }

            if (ModelState.IsValid)
            {
                storeShipFeeInfo.RegionId   = model.RegionId;
                storeShipFeeInfo.StartValue = model.StartValue;
                storeShipFeeInfo.StartFee   = model.StartFee;
                storeShipFeeInfo.AddValue   = model.AddValue;
                storeShipFeeInfo.AddFee     = model.AddFee;

                AdminStores.UpdateStoreShipFee(storeShipFeeInfo);
                AddStoreAdminLog("修改店铺配送费用", "修改店铺配送费用,店铺配送费用ID为:" + recordId);
                return(PromptView("店铺配送费用修改成功"));
            }

            LoadStoreShipFee(model.RegionId);
            return(View(model));
        }
Exemple #3
0
        public ActionResult AddStoreShipFee(StoreShipFeeModel model, int storeSTid = -1)
        {
            StoreShipTemplateInfo storeShipTemplateInfo = AdminStores.GetStoreShipTemplateById(storeSTid);

            if (storeShipTemplateInfo == null)
            {
                return(PromptView("店铺配送模板不存在"));
            }
            if (storeShipTemplateInfo.StoreId != WorkContext.StoreId)
            {
                return(PromptView("不能操作其它店铺的配送模板"));
            }

            if (ModelState.IsValid)
            {
                StoreShipFeeInfo storeShipFeeInfo = new StoreShipFeeInfo()
                {
                    StoreSTid  = storeSTid,
                    RegionId   = model.RegionId,
                    StartValue = model.StartValue,
                    StartFee   = model.StartFee,
                    AddValue   = model.AddValue,
                    AddFee     = model.AddFee
                };
                AdminStores.CreateStoreShipFee(storeShipFeeInfo);
                AddStoreAdminLog("添加店铺配送费用", "添加店铺配送费用");
                return(PromptView("店铺配送费用添加成功"));
            }
            LoadStoreShipFee(model.RegionId);
            return(View(model));
        }
Exemple #4
0
        /// <summary>
        /// 删除店铺配送费用
        /// </summary>
        public ActionResult DelStoreShipFee(int recordId = -1)
        {
            StoreShipFeeInfo storeShipFeeInfo = AdminStores.GetStoreShipFeeById(recordId);

            if (storeShipFeeInfo == null)
            {
                return(PromptView("店铺配送费用不存在"));
            }
            StoreShipTemplateInfo storeShipTemplateInfo = AdminStores.GetStoreShipTemplateById(storeShipFeeInfo.StoreSTid);

            if (storeShipTemplateInfo == null)
            {
                return(PromptView("店铺配送模板不存在"));
            }
            if (storeShipTemplateInfo.StoreId != WorkContext.StoreId)
            {
                return(PromptView("不能操作其它店铺的配送模板"));
            }
            if (storeShipFeeInfo.RegionId == -1)
            {
                return(PromptView("默认店铺配送费用不能删除"));
            }

            AdminStores.DeleteStoreShipFeeById(recordId);
            AddStoreAdminLog("删除店铺配送费用", "删除店铺配送费用,店铺配送费用ID为:" + recordId);
            return(PromptView("店铺配送费用删除成功"));
        }
Exemple #5
0
        public ActionResult EditStoreShipTemplate(EditStoreShipTemplateModel model, int storeSTid = -1)
        {
            StoreShipTemplateInfo storeShipTemplateInfo = AdminStores.GetStoreShipTemplateById(storeSTid);

            if (storeShipTemplateInfo == null)
            {
                return(PromptView("店铺配送模板不存在"));
            }
            if (storeShipTemplateInfo.StoreId != WorkContext.StoreId)
            {
                return(PromptView("不能操作其它店铺的配送模板"));
            }

            if (ModelState.IsValid)
            {
                storeShipTemplateInfo.Title = model.TemplateTitle;
                storeShipTemplateInfo.Free  = model.Free;
                storeShipTemplateInfo.Type  = model.Type;

                AdminStores.UpdateStoreShipTemplate(storeShipTemplateInfo);
                AddStoreAdminLog("修改店铺配送模板", "修改店铺配送模板,店铺配送模板ID为:" + storeSTid);
                return(PromptView("店铺配送模板修改成功"));
            }

            ViewData["referer"] = MallUtils.GetStoreAdminRefererCookie();
            return(View(model));
        }
Exemple #6
0
        /// <summary>
        /// 获得配送费用
        /// </summary>
        /// <param name="provinceId">省id</param>
        /// <param name="cityId">市id</param>
        /// <param name="orderProductList">订单商品列表</param>
        /// <returns></returns>
        public static int GetShipFee(int provinceId, int cityId, List<OrderProductInfo> orderProductList)
        {
            List<int> storeSTidList = new List<int>(orderProductList.Count);
            foreach (OrderProductInfo orderProductInfo in orderProductList)
            {
                storeSTidList.Add(orderProductInfo.StoreSTid);
            }
            storeSTidList = storeSTidList.Distinct<int>().ToList<int>();

            int shipFee = 0;
            foreach (int storeSTId in storeSTidList)
            {
                StoreShipTemplateInfo storeShipTemplateInfo = Stores.GetStoreShipTemplateById(storeSTId);
                if (storeShipTemplateInfo.Free == 0)//不免运费
                {
                    StoreShipFeeInfo storeShipFeeInfo = Stores.GetStoreShipFeeByStoreSTidAndRegion(storeSTId, provinceId, cityId);
                    List<OrderProductInfo> list = Carts.GetSameShipOrderProductList(storeSTId, orderProductList);
                    if (storeShipTemplateInfo.Type == 0)//按件数计算运费
                    {
                        int totalCount = Carts.SumOrderProductCount(orderProductList);
                        if (totalCount <= storeShipFeeInfo.StartValue)//没有超过起步价时
                        {
                            shipFee += storeShipFeeInfo.StartFee;
                        }
                        else//超过起步价时
                        {
                            int temp = 0;
                            if ((totalCount - storeShipFeeInfo.StartValue) % storeShipFeeInfo.AddValue == 0)
                                temp = (totalCount - storeShipFeeInfo.StartValue) / storeShipFeeInfo.AddValue;
                            else
                                temp = (totalCount - storeShipFeeInfo.StartValue) / storeShipFeeInfo.AddValue + 1;
                            shipFee += storeShipFeeInfo.StartFee + temp * storeShipFeeInfo.AddFee;
                        }
                    }
                    else//按重量计算运费
                    {
                        int totalWeight = Carts.SumOrderProductWeight(orderProductList);
                        if (totalWeight <= storeShipFeeInfo.StartValue * 1000)//没有超过起步价时
                        {
                            shipFee += storeShipFeeInfo.StartFee;
                        }
                        else//超过起步价时
                        {
                            int temp = 0;
                            if ((totalWeight - storeShipFeeInfo.StartValue * 1000) % (storeShipFeeInfo.AddValue * 1000) == 0)
                                temp = (totalWeight - storeShipFeeInfo.StartValue * 1000) / (storeShipFeeInfo.AddValue * 1000);
                            else
                                temp = (totalWeight - storeShipFeeInfo.StartValue * 1000) / (storeShipFeeInfo.AddValue * 1000) + 1;
                            shipFee += storeShipFeeInfo.StartFee + temp * storeShipFeeInfo.AddFee;
                        }
                    }
                }
            }

            return shipFee;
        }
Exemple #7
0
        /// <summary>
        /// 获得店铺配送模板
        /// </summary>
        /// <param name="storeSTid">店铺配送模板id</param>
        /// <returns></returns>
        public static StoreShipTemplateInfo GetStoreShipTemplateById(int storeSTid)
        {
            StoreShipTemplateInfo storeShipTemplateInfo = NStore.Core.BMACache.Get(CacheKeys.MALL_STORE_SHIPTEMPLATEINFO + storeSTid) as StoreShipTemplateInfo;

            if (storeShipTemplateInfo == null)
            {
                storeShipTemplateInfo = NStore.Data.Stores.GetStoreShipTemplateById(storeSTid);
                NStore.Core.BMACache.Insert(CacheKeys.MALL_STORE_SHIPTEMPLATEINFO + storeSTid, storeShipTemplateInfo);
            }

            return(storeShipTemplateInfo);
        }
Exemple #8
0
        /// <summary>
        /// 从IDataReader创建StoreShipTemplateInfo
        /// </summary>
        public static StoreShipTemplateInfo BuildStoreShipTemplateFromReader(IDataReader reader)
        {
            StoreShipTemplateInfo storeShipTemplateInfo = new StoreShipTemplateInfo();

            storeShipTemplateInfo.StoreSTid = TypeHelper.ObjectToInt(reader["storestid"]);
            storeShipTemplateInfo.StoreId   = TypeHelper.ObjectToInt(reader["storeid"]);
            storeShipTemplateInfo.Free      = TypeHelper.ObjectToInt(reader["free"]);
            storeShipTemplateInfo.Type      = TypeHelper.ObjectToInt(reader["type"]);
            storeShipTemplateInfo.Title     = reader["title"].ToString();

            return(storeShipTemplateInfo);
        }
Exemple #9
0
        /// <summary>
        /// 获得店铺配送模板
        /// </summary>
        /// <param name="storeSTId">店铺配送模板id</param>
        /// <returns></returns>
        public static StoreShipTemplateInfo GetStoreShipTemplateById(int storeSTId)
        {
            StoreShipTemplateInfo storeShipTemplateInfo = null;
            IDataReader           reader = BrnMall.Core.BMAData.RDBS.GetStoreShipTemplateById(storeSTId);

            if (reader.Read())
            {
                storeShipTemplateInfo = BuildStoreShipTemplateFromReader(reader);
            }

            reader.Close();
            return(storeShipTemplateInfo);
        }
Exemple #10
0
        /// <summary>
        /// 创建店铺配送模板
        /// </summary>
        /// <param name="storeShipTemplateInfo">店铺配送模板信息</param>
        public int CreateStoreShipTemplate(StoreShipTemplateInfo storeShipTemplateInfo)
        {
            DbParameter[] parms =
            {
                GenerateInParam("@storeid", SqlDbType.Int,       4, storeShipTemplateInfo.StoreId),
                GenerateInParam("@free",    SqlDbType.TinyInt,   1, storeShipTemplateInfo.Free),
                GenerateInParam("@type",    SqlDbType.TinyInt,   1, storeShipTemplateInfo.Type),
                GenerateInParam("@title",   SqlDbType.NChar,   100, storeShipTemplateInfo.Title)
            };
            string commandText = string.Format("INSERT INTO [{0}storeshiptemplates]([storeid],[free],[type],[title]) VALUES(@storeid,@free,@type,@title);SELECT SCOPE_IDENTITY();",
                                               RDBSHelper.RDBSTablePre);

            return(TypeHelper.ObjectToInt(RDBSHelper.ExecuteScalar(CommandType.Text, commandText, parms)));
        }
Exemple #11
0
        public ActionResult AddStoreShipFee(int storeSTid = -1)
        {
            StoreShipTemplateInfo storeShipTemplateInfo = AdminStores.GetStoreShipTemplateById(storeSTid);

            if (storeShipTemplateInfo == null)
            {
                return(PromptView("店铺配送模板不存在"));
            }

            StoreShipFeeModel model = new StoreShipFeeModel();

            LoadStoreShipFee(0);
            return(View(model));
        }
Exemple #12
0
        /// <summary>
        /// 更新店铺配送模板
        /// </summary>
        /// <param name="storeShipTemplateInfo">店铺配送模板信息</param>
        public void UpdateStoreShipTemplate(StoreShipTemplateInfo storeShipTemplateInfo)
        {
            DbParameter[] parms =
            {
                GenerateInParam("@storeid",   SqlDbType.Int,        4, storeShipTemplateInfo.StoreId),
                GenerateInParam("@free",      SqlDbType.TinyInt,    1, storeShipTemplateInfo.Free),
                GenerateInParam("@type",      SqlDbType.TinyInt,    1, storeShipTemplateInfo.Type),
                GenerateInParam("@title",     SqlDbType.NVarChar, 100, storeShipTemplateInfo.Title),
                GenerateInParam("@storestid", SqlDbType.Int,        4, storeShipTemplateInfo.StoreSTid)
            };
            string commandText = string.Format("UPDATE [{0}storeshiptemplates] SET [storeid]=@storeid,[free]=@free,[type]=@type,[title]=@title WHERE [storestid]=@storestid",
                                               RDBSHelper.RDBSTablePre);

            RDBSHelper.ExecuteNonQuery(CommandType.Text, commandText, parms);
        }
Exemple #13
0
        /// <summary>
        /// 获得店铺配送模板列表
        /// </summary>
        /// <param name="storeId">店铺id</param>
        /// <returns></returns>
        public static List <StoreShipTemplateInfo> GetStoreShipTemplateList(int storeId)
        {
            List <StoreShipTemplateInfo> storeShipTemplateList = new List <StoreShipTemplateInfo>();

            IDataReader reader = BrnMall.Core.BMAData.RDBS.GetStoreShipTemplateList(storeId);

            while (reader.Read())
            {
                StoreShipTemplateInfo storeShipTemplateInfo = BuildStoreShipTemplateFromReader(reader);
                storeShipTemplateList.Add(storeShipTemplateInfo);
            }
            reader.Close();

            return(storeShipTemplateList);
        }
Exemple #14
0
        /// <summary>
        /// 删除店铺配送模板
        /// </summary>
        /// <param name="storeSTid">店铺配送模板id</param>
        /// <returns>-1代表此店铺模板下还有商品未删除,0代表此店铺模板不存在,1代表删除成功</returns>
        public static int DeleteStoreShipTemplateById(int storeSTid)
        {
            StoreShipTemplateInfo storeShipTemplateInfo = GetStoreShipTemplateById(storeSTid);

            if (storeShipTemplateInfo == null)
            {
                return(0);
            }
            if (AdminProducts.AdminGetStoreShipTemplateProductCount(storeSTid) > 0)
            {
                return(-1);
            }
            NStore.Data.Stores.DeleteStoreShipTemplateById(storeSTid);
            NStore.Core.BMACache.Remove(CacheKeys.MALL_STORE_SHIPTEMPLATEINFO + storeSTid);
            return(1);
        }
Exemple #15
0
        public ActionResult EditStoreShipTemplate(int storeSTid = -1)
        {
            StoreShipTemplateInfo storeShipTemplateInfo = AdminStores.GetStoreShipTemplateById(storeSTid);

            if (storeShipTemplateInfo == null)
            {
                return(PromptView("店铺配送模板不存在"));
            }

            EditStoreShipTemplateModel model = new EditStoreShipTemplateModel();

            model.TemplateTitle = storeShipTemplateInfo.Title;
            model.Free          = storeShipTemplateInfo.Free;
            model.Type          = storeShipTemplateInfo.Type;

            ViewData["referer"] = MallUtils.GetMallAdminRefererCookie();
            return(View(model));
        }
Exemple #16
0
        /// <summary>
        /// 店铺配送费用列表
        /// </summary>
        public ActionResult StoreShipFeeList(int storeSTid = -1)
        {
            StoreShipTemplateInfo storeShipTemplateInfo = AdminStores.GetStoreShipTemplateById(storeSTid);

            if (storeShipTemplateInfo == null)
            {
                return(PromptView("店铺配送模板不存在"));
            }

            StoreShipFeeListModel model = new StoreShipFeeListModel()
            {
                StoreSTid        = storeSTid,
                StoreShipFeeList = AdminStores.AdminGetStoreShipFeeList(storeSTid)
            };

            MallUtils.SetAdminRefererCookie(string.Format("{0}?storeSTid={1}", Url.Action("storeshipfeelist"), storeSTid));
            return(View(model));
        }
Exemple #17
0
        public ActionResult AddStoreShipTemplate(AddStoreShipTemplateModel model, int storeId = -1)
        {
            StoreInfo storeInfo = AdminStores.GetStoreById(storeId);

            if (storeInfo == null)
            {
                return(PromptView("店铺不存在"));
            }

            if (ModelState.IsValid)
            {
                StoreShipTemplateInfo storeShipTemplateInfo = new StoreShipTemplateInfo()
                {
                    StoreId = storeId,
                    Title   = model.TemplateTitle,
                    Free    = model.Free,
                    Type    = model.Type
                };

                int storeSTid = AdminStores.CreateStoreShipTemplate(storeShipTemplateInfo);
                if (storeSTid > 0)
                {
                    StoreShipFeeInfo storeShipFeeInfo = new StoreShipFeeInfo()
                    {
                        StoreSTid  = storeSTid,
                        RegionId   = -1,
                        StartValue = model.StartValue,
                        StartFee   = model.StartFee,
                        AddValue   = model.AddValue,
                        AddFee     = model.AddFee
                    };
                    AdminStores.CreateStoreShipFee(storeShipFeeInfo);
                    AddMallAdminLog("添加店铺配送模板", "添加店铺配送模板,店铺配送模板为:" + model.TemplateTitle);
                    return(PromptView("店铺配送模板添加成功"));
                }
                else
                {
                    return(PromptView("店铺配送模板添加失败"));
                }
            }
            ViewData["referer"] = MallUtils.GetMallAdminRefererCookie();
            return(View(model));
        }
Exemple #18
0
        /// <summary>
        /// 删除店铺配送模板
        /// </summary>
        public ActionResult DelStoreShipTemplate(int storeSTid = -1)
        {
            StoreShipTemplateInfo storeShipTemplateInfo = AdminStores.GetStoreShipTemplateById(storeSTid);

            if (storeShipTemplateInfo == null)
            {
                return(PromptView("店铺配送模板不存在"));
            }
            if (storeShipTemplateInfo.StoreId != WorkContext.StoreId)
            {
                return(PromptView("不能操作其它店铺的配送模板"));
            }

            int result = AdminStores.DeleteStoreShipTemplateById(storeSTid);

            if (result == -1)
            {
                return(PromptView("请先移除此模板下的商品"));
            }
            AddStoreAdminLog("删除店铺配送模板", "删除店铺配送模板,店铺配送模板ID为:" + storeSTid);
            return(PromptView("店铺配送模板删除成功"));
        }
Exemple #19
0
 /// <summary>
 /// 更新店铺配送模板
 /// </summary>
 /// <param name="storeShipTemplateInfo">店铺配送模板信息</param>
 public static void UpdateStoreShipTemplate(StoreShipTemplateInfo storeShipTemplateInfo)
 {
     NStore.Data.Stores.UpdateStoreShipTemplate(storeShipTemplateInfo);
     NStore.Core.BMACache.Remove(CacheKeys.MALL_STORE_SHIPTEMPLATEINFO + storeShipTemplateInfo.StoreSTid);
 }
Exemple #20
0
 /// <summary>
 /// 创建店铺配送模板
 /// </summary>
 /// <param name="storeShipTemplateInfo">店铺配送模板信息</param>
 public static int CreateStoreShipTemplate(StoreShipTemplateInfo storeShipTemplateInfo)
 {
     return(NStore.Data.Stores.CreateStoreShipTemplate(storeShipTemplateInfo));
 }
Exemple #21
0
 /// <summary>
 /// 创建店铺配送模板
 /// </summary>
 /// <param name="storeShipTemplateInfo">店铺配送模板信息</param>
 public static int CreateStoreShipTemplate(StoreShipTemplateInfo storeShipTemplateInfo)
 {
     return(BrnMall.Core.BMAData.RDBS.CreateStoreShipTemplate(storeShipTemplateInfo));
 }
Exemple #22
0
 /// <summary>
 /// 更新店铺配送模板
 /// </summary>
 /// <param name="storeShipTemplateInfo">店铺配送模板信息</param>
 public static void UpdateStoreShipTemplate(StoreShipTemplateInfo storeShipTemplateInfo)
 {
     BrnMall.Core.BMAData.RDBS.UpdateStoreShipTemplate(storeShipTemplateInfo);
 }