/// <summary> /// 处理邮件队列任务 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void work_email(object sender, System.Timers.ElapsedEventArgs e) { lock (this) { int Mail_SendTop = 0; int.TryParse(conf.Mail_SendTop, out Mail_SendTop); string where = "(Type_id_EmailStatus=270 and Count_send < " + Mail_SendTop + ") and Time_Task<=GetDate()"; List <Lebi_Email> models = B_Lebi_Email.GetList(where, "", 100, 1); int Type_id_EmailStatus = 270; foreach (Lebi_Email model in models) { Type_id_EmailStatus = 270; model.Count_send++; Lebi_User user = B_Lebi_User.GetModel(model.User_id); if (user == null) { user = new Lebi_User(); } if (model.TableName == "Supplier" && model.Keyid > 0) { Email.Send(model.Email, model.Title, model.Content, user, "Supplier", model.Keyid, model.id); } else if (model.TableName == "DT" && model.Keyid > 0) { Email.Send(model.Email, model.Title, model.Content, user, "DT", model.Keyid, model.id); } else { Email.Send(model.Email, model.Title, model.Content, user, model.id); } model.Type_id_EmailStatus = Type_id_EmailStatus; B_Lebi_Email.Update(model); } } }
/// <summary> /// 用户名称 /// </summary> /// <param name="siteid"></param> /// <returns></returns> public string UserName(int id) { Lebi_User model = B_Lebi_User.GetModel(id); if (model == null) { model = new Lebi_User(); } return("[" + model.UserName + "]" + model.RealName); }
/// <summary> /// 商品咨询管理员回复 /// </summary> /// <param name="model"></param> public static void SendSMS_askreply(Lebi_Comment model) { BaseConfig conf = ShopCache.GetBaseConfig(); if (conf.SMS_sendmode.Contains("SMSTPL_ask")) { Lebi_User user = B_Lebi_User.GetModel(model.User_id); if (user.Language == "") { user.Language = Language.Languages().FirstOrDefault().Code; } string content = Language.Content(conf.SMSTPL_ask, user.Language); content = ReplaceSMSTag(content, user, conf); content = content.Replace("{$Content}", model.Content); Send(user.MobilePhone, content); } }
/// <summary> /// 商品咨询管理员回复 /// </summary> /// <param name="model"></param> public static void Push_askreply(Lebi_Comment model) { BaseConfig conf = ShopCache.GetBaseConfig(); if (conf.APPPush_sendmode.Contains("ask")) { Lebi_User user = B_Lebi_User.GetModel(model.User_id); if (user.Language == "") { user.Language = Language.Languages().FirstOrDefault().Code; } string content = Language.Content(conf.SMSTPL_ask, user.Language); content = ReplaceSMSTag(content, user, conf); content = content.Replace("{$Content}", model.Content); Push(user.Device_system, user.Device_id, content); } }
/// <summary> /// 使一个购买单的佣金生效 /// 完结订单时使用 /// </summary> /// <param name="order"></param> public void AgentMoneyOK() { //string sql = "update Lebi_Agent_Money set Type_id_AgentMoneyType=382 where Order_id=" + order.id + ""; //Common.ExecuteSql(sql); List <Lebi_Agent_Money> models = B_Lebi_Agent_Money.GetList("Order_id=" + Order.id + "", ""); foreach (Lebi_Agent_Money model in models) { model.Type_id_AgentMoneyStatus = 382; Lebi_User user = B_Lebi_User.GetModel(model.User_id); if (user != null) { UpdateUserMoney(user, model); B_Lebi_Agent_Money.Update(model); } } }
public Agent(Lebi_Order order) { bc = ShopCache.GetBaseConfig(); if (bc.IsUsedAgent == "1") { UsedAgent = true; } if (bc.IsUsedAgent_Area == "1") { UsedAgentArea = true; } if (bc.IsUsedAgent_Product == "1") { UsedAgentProduct = true; } Order = order; OrderUser = B_Lebi_User.GetModel(order.User_id); //EndDays = Convert.ToInt32(bc.AgentEndDays); }
/// <summary> /// 留言反馈 /// </summary> /// <param name="model"></param> public static void SendSMS_inquiry(Lebi_Inquiry model) { BaseConfig conf = ShopCache.GetBaseConfig(); if (conf.SMS_sendmode.Contains("SMSTPL_Admin_inquiry")) { Lebi_User user = B_Lebi_User.GetModel(0); if (user == null) { user = new Lebi_User(); } string list = "" + Language.Tag("昵称", model.Language) + ":" + model.UserName + "<br />" + Language.Tag("电话", model.Language) + ":" + model.Phone + "<br />" + Language.Tag("EMAIL", model.Language) + ":" + model.Email + "<br />" + Language.Tag("标题", model.Language) + ":" + model.Subject + "<br />" + Language.Tag("内容", model.Language) + ":" + model.Content + "<br />" + Language.Tag("时间", model.Language) + ":" + model.Time_Add + ""; string Admin_content = Language.Content(conf.SMSTPL_Admin_inquiry, model.Language); Admin_content = ReplaceSMSTag(Admin_content, user, conf); Admin_content = Admin_content.Replace("{$Title}", model.Subject); Admin_content = Admin_content.Replace("{$Content}", list); Send(conf.SMS_reciveno, Admin_content); } }
/// <summary> /// 使一个购买单的佣金失效 /// 已完结订单取消完结时使用 /// </summary> /// <param name="order"></param> public void AgentMoneyCancal() { //string sql = "update Lebi_Agent_Money set Type_id_AgentMoneyType=383 where Order_id=" + order.id + ""; //Common.ExecuteSql(sql); List <Lebi_Agent_Money> models = B_Lebi_Agent_Money.GetList("Order_id=" + Order.id + "", ""); foreach (Lebi_Agent_Money model in models) { model.Type_id_AgentMoneyStatus = 381; Lebi_User user = B_Lebi_User.GetModel(model.User_id); if (user != null) { B_Lebi_Agent_Money.Update(model); user.AgentMoney_history -= model.Money; user.AgentMoney -= model.Money; B_Lebi_User.Update(user); //model.Money = 0 - model.Money; //UpdateUserMoney(user, model); } } }
/// <summary> /// 处理地区代理佣金 /// </summary> private void AgentAreaMoney() { if (Order.T_Area_id > 0) { Lebi_Agent_Area agentarea = GetAgentArea(Order.T_Area_id); if (agentarea != null) { if (agentarea.Time_end.Date > System.DateTime.Now.Date) { Lebi_User user = B_Lebi_User.GetModel(agentarea.User_id); if (user != null) { //按籍贯的佣金 decimal yongjin = agentarea.Commission_1; decimal money = Order.Money_Product * yongjin / 100; AddMoney(money, user, 393, agentarea.Area_id, 0, 0); } } } } if (OrderUser.Area_id > 0) { Lebi_Agent_Area agentarea = GetAgentArea(OrderUser.Area_id); if (agentarea != null) { if (agentarea.Time_end.Date > System.DateTime.Now.Date) { Lebi_User user = B_Lebi_User.GetModel(agentarea.User_id); if (user != null) { //按籍贯的佣金 decimal yongjin = agentarea.Commission_2; decimal money = Order.Money_Product * yongjin / 100; AddMoney(money, user, 394, agentarea.Area_id, 0, 0); } } } } }
/// <summary> /// 站内信管理员回复 /// </summary> /// <param name="user"></param> public static void Push_messagereply(Lebi_Message model) { BaseConfig conf = ShopCache.GetBaseConfig(); if (conf.APPPush_sendmode.Contains("message")) { Lebi_User user = B_Lebi_User.GetModel(model.User_id_To); if (user == null) { user.Language = Language.Languages().FirstOrDefault().Code; } if (user.Language == "") { user.Language = Language.Languages().FirstOrDefault().Code; } string content = Language.Content(conf.SMSTPL_message, user.Language); content = ReplaceSMSTag(content, user, conf); content = content.Replace("{$Title}", model.Title); content = content.Replace("{$Content}", model.Content); Push(user.Device_system, user.Device_id, content); } }
/// <summary> /// 单品代理佣金 /// </summary> private void AgentProductMoney() { List <Lebi_Order_Product> Products = B_Lebi_Order_Product.GetList("Order_id=" + Order.id + "", ""); if (Products == null) { return; } int pid = 0; decimal money = 0; Lebi_Agent_Product_User auser; foreach (Lebi_Order_Product model in Products) { Lebi_Product pro = B_Lebi_Product.GetModel(model.Product_id); pid = pro.Product_id == 0 ? pro.id : pro.Product_id; Lebi_Agent_Product apro = B_Lebi_Agent_Product.GetModel("Product_id=" + pid + ""); if (apro == null) { continue; } auser = B_Lebi_Agent_Product_User.GetModel("User_id=" + apro.User_id + " and IsFailure=0"); if (auser == null) { continue; } if (auser.Time_end.Date < System.DateTime.Now.Date) { continue; } Lebi_User user = B_Lebi_User.GetModel(apro.User_id); if (user == null) { continue; } money = model.Price * model.Count * auser.Commission / 100; AddMoney(money, user, 392, 0, model.Product_id, pid, pro.Number); } }
/// <summary> /// 推广佣金 /// </summary> private void AgentMoney() { //SystemLog.Add("计算佣金orderid" + Order.id + "userid" + OrderUser.User_id_parent); SystemLog.Add("推广佣金-开始"); if (OrderUser.User_id_parent == 0) { return; } //string Money_Product_Profit_ = Common.GetValue("select sum((Price - Price_Cost)*(Count-Count_Return)) from Lebi_Order_Product where Order_id = " + Order.id + ""); string Money_Product_Profit_ = Common.GetValue("select sum((Price - Price_Cost)*Count) from Lebi_Order_Product where Order_id = " + Order.id + ""); decimal Money_Product_Profit = 0; decimal.TryParse(Money_Product_Profit_, out Money_Product_Profit); if (Order.Type_id_OrderType == 212) { Money_Product_Profit = 0 - Money_Product_Profit;//zhangshijia 退货时产生负数佣金 } //处理一级代理 Lebi_User user1 = B_Lebi_User.GetModel(OrderUser.User_id_parent); if (user1 == null) { return; } decimal yongjin1 = 0; //1级佣金比例 decimal yongjin2 = 0; //2级佣金比例 decimal yongjin3 = 0; //3级佣金比例 Lebi_DT_Agent dt_agent = B_Lebi_DT_Agent.GetModel(0); Lebi_User DT_User = new Lebi_User(); Lebi_DT dt = new Lebi_DT(); int CommissionLevel = 3; if (Order.Supplier_id > 0) { Lebi_Supplier supplier = B_Lebi_Supplier.GetModel(Order.Supplier_id); if (supplier.IsSpread == 0) //商家未开启 { SystemLog.Add("推广佣金-商家未开启"); return; } } if (Order.DT_id > 0) { Money_Product_Profit = Order.DT_Money; //如果是分销商,利润为分销商佣金 dt_agent = B_Lebi_DT_Agent.GetModel("DT_id=" + Order.DT_id + ""); dt = B_Lebi_DT.GetModel(Order.DT_id); if (dt != null) { CommissionLevel = dt.CommissionLevel; } DT_User = B_Lebi_User.GetModel(dt.User_id); if (dt_agent.IsUsedAgent == 0) //分销商未开启 { SystemLog.Add("推广佣金-分销商未开启"); return; } // Money_Product_Profit = Order.DT_Money; ///zhangshijia注释,未找到DT_Money来源 //List<Lebi_Order_Product> order_pro = B_Lebi_Order_Product.GetModel(" Order_id = " + Order.id + ""); //foreach (Lebi_Order_Product op in order_pro) //{ //} } yongjin1 = GetAngentCommission1(dt_agent, user1); decimal money = Money_Product_Profit * yongjin1 / 100; if (Order.DT_id > 0) { if (DT_User.Money < money) { SystemLog.Add("推广佣金-分销商[" + DT_User.NickName + "-" + DT_User.id + "]金额不足,一级佣金生成失败"); return; } } AddMoney(money, user1, 391, 0, 0, 0); //SystemLog.Add("计算佣金" + user1.UserName + money.ToString()); if (Order.DT_id > 0) { AddMoney(0 - money, DT_User, 391, 0, 0, 0); } //处理2级代理 Lebi_User user2 = B_Lebi_User.GetModel(user1.User_id_parent); if (user2 == null) { user2 = new Lebi_User(); } else { if (CommissionLevel >= 2) { yongjin2 = GetAngentCommission2(dt_agent, user2); money = Money_Product_Profit * yongjin2 / 100; if (Order.DT_id > 0) { if (DT_User.Money < money) { SystemLog.Add("推广佣金-分销商金额不足,二级佣金生成失败"); return; } } AddMoney(money, user2, 391, 0, 0, 0); if (Order.DT_id > 0) { AddMoney(0 - money, DT_User, 391, 0, 0, 0); } } } //处理3级代理 if (CommissionLevel == 2) { return; } Lebi_User user3 = B_Lebi_User.GetModel(user2.User_id_parent); if (user3 != null) { yongjin3 = GetAngentCommission3(dt_agent, user3); money = Money_Product_Profit * yongjin3 / 100; if (Order.DT_id > 0) { if (DT_User.Money < money) { SystemLog.Add("推广佣金-分销商金额不足,三级佣金生成失败"); return; } } AddMoney(money, user3, 391, 0, 0, 0); if (Order.DT_id > 0) { AddMoney(0 - money, DT_User, 391, 0, 0, 0); } } ////处理条件佣金,佣金历史达到X时,可获得下线,下下线Y%的佣金 //decimal Angent_Commission_require = 0; //decimal.TryParse(bc.Angent_Commission_require, out Angent_Commission_require); //decimal yongjin3 = 0;//条件佣金比例 //decimal.TryParse(bc.Angent_Commission, out yongjin3); //money = Money_Product_Profit * yongjin3 / 100; //if (user1.AgentMoney_history > Angent_Commission_require) // AddMoney(money, user1, 395, 0, 0, 0); //if (user2.AgentMoney_history > Angent_Commission_require) // AddMoney(money, user2, 395, 0, 0, 0); }