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)); }
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)); }
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)); }
/// <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("店铺配送费用删除成功")); }
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)); }
/// <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; }
/// <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); }
/// <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); }
/// <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); }
/// <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))); }
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)); }
/// <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); }
/// <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); }
/// <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); }
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)); }
/// <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)); }
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)); }
/// <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("店铺配送模板删除成功")); }
/// <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); }
/// <summary> /// 创建店铺配送模板 /// </summary> /// <param name="storeShipTemplateInfo">店铺配送模板信息</param> public static int CreateStoreShipTemplate(StoreShipTemplateInfo storeShipTemplateInfo) { return(NStore.Data.Stores.CreateStoreShipTemplate(storeShipTemplateInfo)); }
/// <summary> /// 创建店铺配送模板 /// </summary> /// <param name="storeShipTemplateInfo">店铺配送模板信息</param> public static int CreateStoreShipTemplate(StoreShipTemplateInfo storeShipTemplateInfo) { return(BrnMall.Core.BMAData.RDBS.CreateStoreShipTemplate(storeShipTemplateInfo)); }
/// <summary> /// 更新店铺配送模板 /// </summary> /// <param name="storeShipTemplateInfo">店铺配送模板信息</param> public static void UpdateStoreShipTemplate(StoreShipTemplateInfo storeShipTemplateInfo) { BrnMall.Core.BMAData.RDBS.UpdateStoreShipTemplate(storeShipTemplateInfo); }