/// <summary> /// 更新会员积分 /// </summary> /// <param name="user"></param> public static void UpdateUserPoint(Lebi_User user) { string point = B_Lebi_User_Point.GetValue("sum(Point)", "User_id=" + user.id + " and Type_id_PointStatus=171"); decimal Point = 0; Decimal.TryParse(point, out Point); Lebi_UserLevel userlev = B_Lebi_UserLevel.GetModel(user.UserLevel_id); if (userlev == null) { userlev = new Lebi_UserLevel(); } List <Lebi_UserLevel> ls = B_Lebi_UserLevel.GetList("Grade > " + userlev.Grade + "", "Grade desc"); //Lebi_UserLevel newlev=new Lebi_UserLevel(); if (ls.Count > 0) { foreach (Lebi_UserLevel l in ls) { if (Point >= l.Lpoint) { user.UserLevel_id = l.id; //newlev = l; break; } } } //if (userlev.Grade < newlev.Grade) //{ user.Point = Point; B_Lebi_User.Update(user); //} }
protected ShopControl() { SYS = ShopCache.GetBaseConfig(); //CurrentLanguage_ = B_Lebi_Language.GetList("Code='CN'", "").FirstOrDefault(); //CurrentTheme_ = new Lebi_Theme(); CurrentUser = EX_User.CurrentUser(); CurrentUserLevel = B_Lebi_UserLevel.GetModel("id=" + CurrentUser.UserLevel_id + ""); if (CurrentUserLevel == null) { CurrentUserLevel = B_Lebi_UserLevel.GetList("", "Grade desc").FirstOrDefault(); if (CurrentUserLevel == null) { CurrentUserLevel = new Lebi_UserLevel(); Log.Add("会员分组有误", "User_id=" + CurrentUser.id.ToString()); } } WebPath = RequestTool.GetConfigKey("WebPath"); WebPath = WebPath == "/" ? "" : WebPath; if (WebPath != "") { int h = WebPath.Length; if (WebPath.LastIndexOf("/") == h - 1) { WebPath = WebPath.Remove(h - 1); } } }
private decimal GetAngentCommission3(Lebi_DT_Agent dt_agent, Lebi_User user) { if (user != null) { Lebi_UserLevel userlevel = B_Lebi_UserLevel.GetModel(user.UserLevel_id); if (userlevel != null) { if (userlevel.IsUsedAgent == 0) //关闭推广佣金 { return(0); } } if (dt_agent != null) { if (dt_agent.IsUsedAgent == 0) { return(0); } if (dt_agent.Angent3_Commission != -1) { return(dt_agent.Angent3_Commission); } } Lebi_Agent_User agent_user = B_Lebi_Agent_User.GetModel("User_id = " + user.id + ""); if (agent_user != null) { if (agent_user.Angent3_Commission != -1) { return(agent_user.Angent3_Commission); } } Lebi_Agent_UserLevel agent_userlevel = B_Lebi_Agent_UserLevel.GetModel("UserLevel_id = " + user.UserLevel_id + ""); if (agent_userlevel != null) { if (agent_userlevel.Angent3_Commission != -1) { return(agent_userlevel.Angent3_Commission); } } } decimal yongjin = 0;//3级佣金比例 decimal.TryParse(bc.Angent3_Commission, out yongjin); return(yongjin); }
public ShopPage() { pageindex = RequestTool.RequestInt("pageindex", 0); string servicepannelcon = SYS.ServicePanel; servicepannel = B_ServicePanel.GetModel(servicepannelcon); CurrentUser_ = EX_User.CurrentUser(); CurrentUserLevel_ = B_Lebi_UserLevel.GetModel("id=" + CurrentUser_.UserLevel_id + ""); if (CurrentUserLevel_ == null) { CurrentUserLevel_ = B_Lebi_UserLevel.GetList("Grade=0", "Grade asc").FirstOrDefault(); if (CurrentUserLevel_ == null) { CurrentUserLevel_ = new Lebi_UserLevel(); Log.Add("会员分组有误", "User_id=" + CurrentUser_.id.ToString()); } } DT_id = GetDT(); Currencys = B_Lebi_Currency.GetList("1=1", "Sort desc"); }
/// <summary> /// 计算促销活动 /// </summary> /// <param name="Products">商品信息</param> /// <param name="CurrentUser">购买者</param> /// <param name="shop">供应商,为空表示自营商品</param> /// <param name="basketshop"></param> public static BasketShop SetMoneyAndPoint(Lebi_User CurrentUser, Lebi_UserLevel CurrentUserLevel, BasketShop basketshop) { string pids = "0"; decimal Money_Product_begin = 0; int Count = 0; decimal Weight = 0; //订单总重量 decimal Volume = 0; //订单总体积 int Money_Transport_One = 0; bool IsTransportPriceOne = false; decimal Money_Market = 0; decimal Money_Cut = 0; decimal Money_Give = 0; decimal Point_Free = 0; //赠送积分 decimal Point_Product = 0; //商品获得的积分 decimal Point = 0; //获得的积分总数 decimal Point_Buy = 0; //积分换购所需积分 decimal Money_Product = 0; decimal Money_Property = 0; List <Lebi_User_Product> FreeProducts = new List <Lebi_User_Product>(); List <Lebi_Promotion_Type> PromotionTypes = new List <Lebi_Promotion_Type>(); if (CurrentUserLevel == null) { CurrentUserLevel = B_Lebi_UserLevel.GetModel(CurrentUser.UserLevel_id); } List <Lebi_User_Product> Products = basketshop.Products; Lebi_Supplier shop = basketshop.Shop; foreach (Lebi_User_Product pro in Products) { Lebi_Product product = B_Lebi_Product.GetModel(pro.Product_id); if (product == null) { continue; } pro.Discount = 100; pro.Pointagain = 1; //pro.Product_Price = EX_Product.ProductPrice(product, CurrentUserLevel,pro.count);//单价 if (CurrentUserLevel.MoneyToPoint > 0) { pro.Product_Point = pro.Product_Price * CurrentUserLevel.MoneyToPoint + pro.Product_Point;//单个产品可得的积分 } pids += "," + pro.Product_id; Money_Product_begin = Math.Round(Money_Product_begin + pro.Product_Price * pro.count, 2); Count = Count + pro.count; Money_Market = Money_Market + EX_Product.ProductMarketPrice(product) * pro.count; //兼容分销 2018.3.8 by lebi.kingdge Money_Property = Money_Property + pro.ProPerty_Price * pro.count; Money_Product = Money_Product + pro.Product_Price * pro.count; Weight = Weight + product.Weight * pro.count; Volume = Volume + product.VolumeH * product.VolumeL * product.VolumeW * pro.count; Point_Product = Point_Product + Math.Round(pro.Product_Point * pro.count, 2); Point = Point_Product + Point_Free; //320一般商品321限时抢购322团购323积分换购 if (product.Type_id_ProductType == 323 && product.Time_Expired > System.DateTime.Now) { Point_Buy = Point_Buy + product.Price_Sale * pro.count; } } List <Lebi_Promotion_Type> cps = Promotion.CurrentPromotionType(); if (shop == null) { shop = new Lebi_Supplier(); } foreach (Lebi_Promotion_Type cp in cps) { //检查是否商铺单独促销 if (cp.Type_id_PromotionType == 421) { if (shop.id > 0) { continue; } } if (cp.Type_id_PromotionType == 422) { if (shop.id != cp.Supplier_id) { continue; } } //检查会员组别 if (!("," + cp.UserLevel_ids + ",").Contains("," + CurrentUserLevel.id + ",")) { continue; } bool flag = true; string where = "1=1"; List <Lebi_User_Product> sps = null; foreach (Lebi_Promotion p in Promotion.GetPromotion(cp.id))//只匹配一个条件 { flag = true; if (p.Case804 == "") { p.Case804 = "0"; } if (p.Case805 == "") { p.Case805 = "0"; } //验证订单金额:801 if (p.IsCase801 == 1) { if (Money_Product_begin < p.Case801) { flag = false; continue; } } //验证订单商品数量:802 if (p.IsCase802 == 1) { if (Count < p.Case802) { flag = false; continue; } } //验证商品分类:804 if (p.IsCase804 == 1) { where += " and Pro_Type_id in (" + p.Case804 + ")"; if (B_Lebi_Product.Counts("id in (" + pids + ") and Pro_Type_id in (" + p.Case804 + ")") == 0) { flag = false; continue; } } //验证限制商品:805 if (p.IsCase805 == 1) { where += "and id in (" + p.Case805 + ")"; if (B_Lebi_Product.Counts("id in (" + pids + ") and id in (" + p.Case805 + ")") == 0) { flag = false; continue; } } //验证单品数量:803 if (p.IsCase803 == 1) { string tids = "0"; //取出购物车中,数量大于水平线的商品 foreach (Lebi_User_Product up in Products) { if (up.count >= p.Case803) { tids += "," + up.Product_id; } } if (tids == "0") { flag = false; continue; } where += " and id in (" + tids + ")"; if (B_Lebi_Product.Counts(where) == 0) { flag = false; continue; } } //验证订单内指定商品数量:806 if (p.IsCase806 == 1) { if (p.Case804 == "" && p.Case805 == "")//未设置限制条件的话,直接失败 { flag = false; continue; } int count = 0; //计算购物车中包含商品的总数 foreach (Lebi_User_Product up in Products) { if (("," + p.Case804 + ",").Contains("," + up.Pro_Type_id + ",") || ("," + p.Case805 + ",").Contains("," + up.Product_id + ",")) { count = count + up.count; } } if (count < p.Case806) { flag = false; continue; } } //条件检查结束 if (flag) { //取出验证成功的指定商品 sps = B_Lebi_User_Product.GetList("User_id=" + CurrentUser.id + " and type_id_UserProductType=142 and Product_id in (select id from [Lebi_Product] where " + where + ")", ""); //计算定额运费901 if (p.IsRule901 == 1) { Money_Transport_One = p.Rule901; IsTransportPriceOne = true; } //计算折扣902 if (p.IsRule902 == 1) { foreach (Lebi_User_Product pro in Products) { pro.Discount = pro.Discount * p.Rule902 / 100; } } //计算指定商品折扣903 if (p.IsRule903 == 1) { if (sps != null) { foreach (Lebi_User_Product pro in Products) { foreach (Lebi_User_Product sp in sps) { if (pro.id == sp.id) { pro.Discount = pro.Discount * p.Rule903 / 100; } } } } } //计算减免金额904 if (p.IsRule904 == 1) { Money_Cut = p.Rule904; } //计算返还金额905 if (p.IsRule905 == 1) { Money_Give = p.Rule905; } //计算赠送积分906 if (p.IsRule906 == 1) { Point_Free = p.Rule906; } //计算翻倍积分907 if (p.IsRule907 == 1) { foreach (Lebi_User_Product pro in Products) { pro.Pointagain = pro.Pointagain + p.Rule907; } } //计算指定商品折扣翻倍积分908 if (p.IsRule908 == 1) { if (sps != null) { foreach (Lebi_User_Product pro in Products) { foreach (Lebi_User_Product sp in sps) { if (pro.id == sp.id) { pro.Pointagain = pro.Pointagain + p.Rule908; } } } } } //赠送商品909 if (p.IsRule909 == 1) { //暂时不做 } //赠送指定商品910 if (p.IsRule910 == 1) { if (sps != null) { foreach (Lebi_User_Product sp in sps) { sp.count = p.Rule910; sp.Product_Price = 0; sp.Product_Point = 0; sp.Pointagain = 0; sp.Discount = 0; FreeProducts.Add(sp); } } } //第N个指定商品打折 if (p.IsRule912 == 1 && p.IsCase803 == 1 && p.Case803 > 0) { foreach (Lebi_User_Product pro in Products) { foreach (Lebi_User_Product sp in sps) { if (pro.id == sp.id) { if (pro.count > p.Case803) { int n = sp.count / p.Case803; Money_Cut = Money_Cut + pro.Product_Price * (100 - p.Rule912) / 100 * n; } } } } } //重新计算价格积分, Money_Product = 0; Point_Product = 0; Point = 0; foreach (Lebi_User_Product pro in Products) { Money_Product += Math.Round(pro.Product_Price * pro.count * pro.Discount / 100, 2); Point_Product += Math.Round(pro.Product_Point * pro.count * pro.Pointagain); Point = Point_Product + Point_Free; } break;//验证成功不再验证 } } if (flag) { PromotionTypes.Add(cp); } } basketshop = new BasketShop(); basketshop.FreeProducts = FreeProducts; basketshop.Money_Cut = Money_Cut; basketshop.Money_Give = Money_Give; basketshop.Money_Market = Money_Market; basketshop.Money_Product = Money_Product; basketshop.Money_Product_begin = Money_Product_begin; basketshop.Money_Transport = 0; basketshop.Point = Point; basketshop.Point_Free = Point_Free; basketshop.Point_Buy = Point_Buy; basketshop.Point_Product = Point_Product; basketshop.Products = Products; basketshop.PromotionTypes = PromotionTypes; basketshop.Shop = shop; basketshop.Volume = Volume; basketshop.Weight = Weight; basketshop.IsTransportPriceOne = IsTransportPriceOne; basketshop.Money_Transport_One = Money_Transport_One; basketshop.Count = Count; basketshop.Money_Property = Money_Property; return(basketshop); }
public static Model Info(Lebi_User user) { BaseConfig bc = ShopCache.GetBaseConfig(); Model m = new Model(); decimal Money = 0; string money_ = Common.GetValue("select sum(Money) from Lebi_Agent_Money where User_id=" + user.id + " and Type_id_AgentMoneyStatus=382 and datediff(d,Time_add,'" + System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "')>" + bc.CommissionMoneyDays + ""); decimal.TryParse(money_, out Money); int UserCount = 0; UserCount = B_Lebi_User.Counts("User_id_parent=" + user.id + ""); int UserCountmonth = 0; UserCountmonth = B_Lebi_User.Counts("User_id_parent=" + user.id + " and (datediff(d,Time_Reg,'" + System.DateTime.Now.Date.AddDays(0 - System.DateTime.Now.Day + 1).ToString("yyyy-MM-dd") + "')<=0 and datediff(d,Time_Reg,'" + System.DateTime.Now + "')>=0)"); int UserCountday = 0; UserCountday = B_Lebi_User.Counts("User_id_parent=" + user.id + " and (datediff(d,Time_Reg,'" + System.DateTime.Now.Date.ToString("yyyy-MM-dd") + "')<=0 and datediff(d,Time_Reg,'" + System.DateTime.Now + "')>=0)"); decimal Commission1 = 0; decimal Commission2 = 0; decimal Commission3 = 0; decimal.TryParse(bc.Angent1_Commission, out Commission1); decimal.TryParse(bc.Angent2_Commission, out Commission2); decimal.TryParse(bc.Angent3_Commission, out Commission3); if (user.DT_id == 0) { Lebi_Agent_UserLevel agent_userlevel = B_Lebi_Agent_UserLevel.GetModel("UserLevel_id = " + user.UserLevel_id + ""); if (agent_userlevel != null) { if (agent_userlevel.Angent1_Commission != -1) { Commission1 = agent_userlevel.Angent1_Commission; } if (agent_userlevel.Angent2_Commission != -1) { Commission2 = agent_userlevel.Angent2_Commission; } if (agent_userlevel.Angent3_Commission != -3) { Commission3 = agent_userlevel.Angent3_Commission; } } Lebi_Agent_User agent_user = B_Lebi_Agent_User.GetModel("User_id = " + user.id + ""); if (agent_user != null) { if (agent_user.Angent1_Commission != -1) { Commission1 = agent_user.Angent1_Commission; } if (agent_user.Angent2_Commission != -1) { Commission2 = agent_user.Angent2_Commission; } if (agent_user.Angent3_Commission != -1) { Commission3 = agent_user.Angent3_Commission; } } } else { Lebi_DT_Agent dt_agent = B_Lebi_DT_Agent.GetModel("DT_id = " + user.DT_id + ""); if (dt_agent != null) { if (dt_agent.IsUsedAgent == 1) { Commission1 = dt_agent.Angent1_Commission; Commission2 = dt_agent.Angent2_Commission; Commission3 = dt_agent.Angent3_Commission; } } } m.Money = Money; m.UserCount = UserCount; m.UserCountmonth = UserCountmonth; m.UserCountday = UserCountday; m.Commission1 = Commission1; m.Commission2 = Commission2; m.Commission3 = Commission3; Lebi_UserLevel userlevel = B_Lebi_UserLevel.GetModel(user.UserLevel_id); if (userlevel != null) { if (userlevel.IsUsedAgent == 0) //关闭注册 { m.Commission1 = 0; m.Commission2 = 0; m.Commission3 = 0; } } return(m); }