Beispiel #1
0
 /// <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);
         }
     }
 }
Beispiel #2
0
        /// <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);
        }
Beispiel #3
0
        /// <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);
            }
        }
Beispiel #4
0
        /// <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);
            }
        }
Beispiel #5
0
        /// <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);
                }
            }
        }
Beispiel #6
0
 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);
 }
Beispiel #7
0
        /// <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);
            }
        }
Beispiel #8
0
        /// <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);
                }
            }
        }
Beispiel #9
0
        /// <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);
                        }
                    }
                }
            }
        }
Beispiel #10
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);
            }
        }
Beispiel #11
0
        /// <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);
            }
        }
Beispiel #12
0
        /// <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);
        }