示例#1
0
        public static bool AddBalanceDrawRequest(BalanceDrawRequestInfo balancerequestinfo, MemberInfo memberinfo)
        {
            DistributorsInfo currentDistributors = DistributorsBrower.GetCurrentDistributors(false);
            bool             result;

            if (memberinfo != null && !string.IsNullOrEmpty(memberinfo.RealName) && currentDistributors != null && currentDistributors.UserId > 0 && !string.IsNullOrEmpty(memberinfo.CellPhone))
            {
                if (!string.IsNullOrEmpty(balancerequestinfo.MerchantCode) && currentDistributors.RequestAccount != balancerequestinfo.MerchantCode)
                {
                    new DistributorsDao().UpdateDistributorById(balancerequestinfo.MerchantCode, memberinfo.UserId);
                }
                balancerequestinfo.UserId   = memberinfo.UserId;
                balancerequestinfo.UserName = memberinfo.UserName;
                if (balancerequestinfo.RequesType == 0 || balancerequestinfo.RequesType == 3)
                {
                    balancerequestinfo.MerchantCode = memberinfo.OpenId;
                }
                else if (balancerequestinfo.MerchantCode.Length < 1)
                {
                    balancerequestinfo.MerchantCode = currentDistributors.RequestAccount;
                }
                balancerequestinfo.CellPhone = memberinfo.CellPhone;
                result = new DistributorsDao().AddBalanceDrawRequest(balancerequestinfo);
            }
            else
            {
                result = false;
            }
            return(result);
        }
示例#2
0
        public static int FrozenCommisionChecks(string userids, string ReferralStatus)
        {
            int num = new DistributorsDao().FrozenCommisionChecks(userids, ReferralStatus);

            string[] strArray = userids.Trim(new char[] { ',' }).Split(new char[] { ',' });
            int      userId   = 0;

            foreach (string str in strArray)
            {
                userId = Globals.ToNum(str);
                if (userId > 0)
                {
                    MemberInfo member = new MemberDao().GetMember(userId);
                    if (member != null)
                    {
                        if (ReferralStatus == "1")
                        {
                            Messenger.SendWeiXinMsg_AccountLockOrUnLock(member, true);
                        }
                        else if (ReferralStatus == "0")
                        {
                            Messenger.SendWeiXinMsg_AccountLockOrUnLock(member, false);
                        }
                        else if (ReferralStatus == "9")
                        {
                            Messenger.SendWeiXinMsg_DistributorCancel(member);
                        }
                        RemoveDistributorCache(userId);
                    }
                }
            }
            return(num);
        }
示例#3
0
        public static bool FrozenCommision(int userid, string ReferralStatus)
        {
            try
            {
                MemberInfo member = new MemberDao().GetMember(userid);
                if (member != null)
                {
                    if (ReferralStatus == "1")
                    {
                        Messenger.SendWeiXinMsg_AccountLockOrUnLock(member, true);
                    }
                    else if (ReferralStatus == "0")
                    {
                        Messenger.SendWeiXinMsg_AccountLockOrUnLock(member, false);
                    }
                    else if (ReferralStatus == "9")
                    {
                        Messenger.SendWeiXinMsg_DistributorCancel(member);
                    }
                }
            }
            catch (Exception var_1_7A)
            {
            }
            bool result = new DistributorsDao().FrozenCommision(userid, ReferralStatus);

            DistributorsBrower.RemoveDistributorCache(userid);
            return(result);
        }
示例#4
0
        public static int GetNotDescDistributorGrades(string ReferralUserId)
        {
            DistributorsInfo     userIdDistributors = GetUserIdDistributors(int.Parse(ReferralUserId));
            decimal              num2 = userIdDistributors.ReferralBlance + userIdDistributors.ReferralRequestBalance;
            DistributorGradeInfo distributorGradeInfo = DistributorGradeBrower.GetDistributorGradeInfo(userIdDistributors.DistriGradeId);

            if ((distributorGradeInfo != null) && (num2 < distributorGradeInfo.CommissionsLimit))
            {
                return(userIdDistributors.DistriGradeId);
            }
            List <DistributorGradeInfo> distributorGrades = new DistributorsDao().GetDistributorGrades() as List <DistributorGradeInfo>;

            foreach (DistributorGradeInfo info3 in from item in distributorGrades
                     orderby item.CommissionsLimit descending
                     select item)
            {
                if (userIdDistributors.DistriGradeId == info3.GradeId)
                {
                    return(0);
                }
                if (info3.CommissionsLimit <= (userIdDistributors.ReferralBlance + userIdDistributors.ReferralRequestBalance))
                {
                    return(info3.GradeId);
                }
            }
            return(0);
        }
示例#5
0
        public static int GetNotDescDistributorGrades(string ReferralUserId)
        {
            int result = 0;
            DistributorsInfo     userIdDistributors = DistributorsBrower.GetUserIdDistributors(int.Parse(ReferralUserId));
            decimal              num = userIdDistributors.ReferralBlance + userIdDistributors.ReferralRequestBalance;
            DistributorGradeInfo distributorGradeInfo = DistributorGradeBrower.GetDistributorGradeInfo(userIdDistributors.DistriGradeId);

            if (distributorGradeInfo != null && num < distributorGradeInfo.CommissionsLimit)
            {
                result = userIdDistributors.DistriGradeId;
            }
            else
            {
                List <DistributorGradeInfo> source = new DistributorsDao().GetDistributorGrades() as List <DistributorGradeInfo>;
                foreach (DistributorGradeInfo current in from item in source
                         orderby item.CommissionsLimit descending
                         select item)
                {
                    if (userIdDistributors.DistriGradeId == current.GradeId)
                    {
                        result = userIdDistributors.DistriGradeId;
                        break;
                    }
                    if (current.CommissionsLimit <= num)
                    {
                        result = current.GradeId;
                        break;
                    }
                }
            }
            return(result);
        }
        public static int GetNotDescDistributorGrades(string ReferralUserId)
        {
            SiteSettings         masterSettings     = SettingsManager.GetMasterSettings(false);
            DistributorsInfo     userIdDistributors = GetUserIdDistributors(int.Parse(ReferralUserId));
            decimal              num2 = userIdDistributors.ReferralBlance + userIdDistributors.ReferralRequestBalance; //用于判断的变量:佣金
            decimal              num3 = userIdDistributors.OrdersTotal;                                                //用于判断的变量:销售额
            DistributorGradeInfo distributorGradeInfo = DistributorGradeBrower.GetDistributorGradeInfo(userIdDistributors.DistriGradeId);

            //增加了升级判断类型:根据分销商的销售价来判断
            switch (masterSettings.DistributorUpgradeType)
            {
            case "byComm":
                //根据分销商的佣金判断
                if ((distributorGradeInfo != null) && (num2 < distributorGradeInfo.CommissionsLimit))
                {
                    return(userIdDistributors.DistriGradeId);
                }
                List <DistributorGradeInfo> distributorGrades = new DistributorsDao().GetDistributorGrades() as List <DistributorGradeInfo>;
                foreach (DistributorGradeInfo info3 in from item in distributorGrades
                         orderby item.CommissionsLimit descending
                         select item)
                {
                    if (userIdDistributors.DistriGradeId == info3.GradeId)
                    {
                        return(0);
                    }
                    if (info3.CommissionsLimit <= (userIdDistributors.ReferralBlance + userIdDistributors.ReferralRequestBalance))
                    {
                        return(info3.GradeId);
                    }
                }
                break;

            case "byOrdersTotal":
                //根据分销商的销售额判断
                if ((distributorGradeInfo != null) && (num3 < distributorGradeInfo.CommissionsLimit))
                {
                    return(userIdDistributors.DistriGradeId);
                }
                List <DistributorGradeInfo> distributorGrades2 = new DistributorsDao().GetDistributorGrades() as List <DistributorGradeInfo>;
                foreach (DistributorGradeInfo info4 in from item in distributorGrades2
                         orderby item.CommissionsLimit descending
                         select item)
                {
                    if (userIdDistributors.DistriGradeId == info4.GradeId)
                    {
                        return(0);
                    }
                    if (info4.CommissionsLimit <= (new DistributorsDao().GetDistributorDirectOrderTotal(userIdDistributors.UserId)))
                    {
                        return(info4.GradeId);
                    }
                }
                break;
            }

            return(0);
        }
示例#7
0
        public static bool AddDistributors(DistributorsInfo distributors)
        {
            DistributorsDao dao = new DistributorsDao();

            if (dao.GetCustomDistributorStatistic(distributors.StoreName).Rows.Count > 0)
            {
                return(false);
            }
            MemberInfo currentMember = MemberProcessor.GetCurrentMember();

            distributors.DistributorGradeId = DistributorGrade.OneDistributor;
            distributors.ParentUserId       = new int?(currentMember.UserId);
            distributors.UserId             = currentMember.UserId;
            DistributorsInfo currentDistributors = GetCurrentDistributors(true);

            if (currentDistributors != null)
            {
                if (!(string.IsNullOrEmpty(currentDistributors.ReferralPath) || currentDistributors.ReferralPath.Contains("|")))
                {
                    distributors.ReferralPath = currentDistributors.ReferralPath + "|" + currentDistributors.UserId.ToString();
                }
                else if (!(string.IsNullOrEmpty(currentDistributors.ReferralPath) || !currentDistributors.ReferralPath.Contains("|")))
                {
                    distributors.ReferralPath = currentDistributors.ReferralPath.Split(new char[] { '|' })[1] + "|" + currentDistributors.UserId.ToString();
                }
                else
                {
                    distributors.ReferralPath = currentDistributors.UserId.ToString();
                }
                distributors.ParentUserId = new int?(currentDistributors.UserId);
                if (distributors.Logo == "")
                {
                    if (!string.IsNullOrEmpty(currentDistributors.Logo))
                    {
                        distributors.Logo = currentDistributors.Logo;
                    }
                    else
                    {
                        SiteSettings masterSettings = SettingsManager.GetMasterSettings(true);
                        distributors.Logo = masterSettings.DistributorLogoPic;
                    }
                }
                if (currentDistributors.DistributorGradeId == DistributorGrade.OneDistributor)
                {
                    distributors.DistributorGradeId = DistributorGrade.TowDistributor;
                }
                else if (currentDistributors.DistributorGradeId == DistributorGrade.TowDistributor)
                {
                    distributors.DistributorGradeId = DistributorGrade.ThreeDistributor;
                }
                else
                {
                    distributors.DistributorGradeId = DistributorGrade.ThreeDistributor;
                }
            }
            return(new DistributorsDao().CreateDistributor(distributors));
        }
示例#8
0
        public static string UpdateDistributorSuperior(int userid, int tosuperuserid)
        {
            string text = DistributorsBrower.IsCanUpdateDistributorSuperior(userid, tosuperuserid);

            if (text == "1")
            {
                text = new DistributorsDao().UpdateDistributorSuperior(userid, tosuperuserid);
            }
            return(text);
        }
示例#9
0
        public static string UpdateDistributorSuperior(int userid, int tosuperuserid)
        {
            string str = IsCanUpdateDistributorSuperior(userid, tosuperuserid);

            if (str == "1")
            {
                str = new DistributorsDao().UpdateDistributorSuperior(userid, tosuperuserid);
            }
            return(str);
        }
示例#10
0
        public static DistributorsInfo GetCurrentDistributors(int userId)
        {
            DistributorsInfo distributorInfo = HiCache.Get(string.Format("DataCache-Distributor-{0}", userId)) as DistributorsInfo;

            if ((distributorInfo == null) || (distributorInfo.UserId == 0))
            {
                distributorInfo = new DistributorsDao().GetDistributorInfo(userId);
                HiCache.Insert(string.Format("DataCache-Distributor-{0}", userId), distributorInfo, 360, CacheItemPriority.Normal);
            }
            return(distributorInfo);
        }
示例#11
0
        public static bool AddDistributors(DistributorsInfo distributors)
        {
            MemberInfo currentMember = MemberProcessor.GetCurrentMember();

            int        ReferralUserId2 = 0;
            MemberInfo userInfo        = MemberProcessor.GetMember(currentMember.UserId);
            //Utils.LogWriter.SaveLog("开始申请分销11:");
            DistributorsInfo parentDistributorsInfo = new DistributorsDao().GetDistributorInfo(userInfo.ReferralUserId);

            //Utils.LogWriter.SaveLog("开始申请分销22:");

            if (parentDistributorsInfo != null)
            {
                //Utils.LogWriter.SaveLog("开始申请分销33:");
                //上上级
                if (parentDistributorsInfo != null && parentDistributorsInfo.ReferralUserId != 0)
                {
                    ReferralUserId2 = parentDistributorsInfo.ReferralUserId;
                    //DistributorsInfo parentDistributorsInfo2 = new DistributorsDao().GetDistributorInfo(parentDistributorsInfo.ReferralUserId);
                    //if (parentDistributorsInfo != null && parentDistributorsInfo2.ReferralUserId > 0)
                    //{
                    //    ReferralUserId2 = parentDistributorsInfo.ReferralUserId;
                    //}
                }

                distributors.ParentUserId = userInfo.ReferralUserId;
            }

            //Utils.LogWriter.SaveLog("开始申请分销44:");

            //Utils.LogWriter.SaveLog("开始申请分销5:");
            distributors.DistributorGradeId = DistributorGrade.OneDistributor;
            distributors.ReferralUserId2    = ReferralUserId2;
            distributors.UserId             = currentMember.UserId;
            DistributorsInfo currentDistributors = GetCurrentDistributors();

            if (currentDistributors != null)
            {
                if (currentDistributors.DistributorGradeId == DistributorGrade.OneDistributor)
                {
                    distributors.DistributorGradeId = DistributorGrade.TowDistributor;
                }
                else if (currentDistributors.DistributorGradeId == DistributorGrade.TowDistributor)
                {
                    distributors.DistributorGradeId = DistributorGrade.ThreeDistributor;
                }
                else
                {
                    distributors.DistributorGradeId = DistributorGrade.ThreeDistributor;
                }
            }
            return(new DistributorsDao().CreateDistributor(distributors));
        }
示例#12
0
        public static DistributorsInfo GetCurrentDistributors(int userId, bool readCache = true)
        {
            DistributorsInfo distributorsInfo = null;

            if (readCache)
            {
                distributorsInfo = (HiCache.Get(string.Format("DataCache-Distributor-{0}", userId)) as DistributorsInfo);
            }
            if (distributorsInfo == null || distributorsInfo.UserId == 0)
            {
                distributorsInfo = new DistributorsDao().GetDistributorInfo(userId);
                HiCache.Insert(string.Format("DataCache-Distributor-{0}", userId), distributorsInfo, 360, CacheItemPriority.Normal);
            }
            return(distributorsInfo);
        }
示例#13
0
        public static DistributorsInfo GetCurrentDistributors(int userId, [Optional, DefaultParameterValue(true)] bool readCache)
        {
            DistributorsInfo distributorInfo = null;

            if (readCache)
            {
                distributorInfo = HiCache.Get(string.Format("DataCache-Distributor-{0}", userId)) as DistributorsInfo;
            }
            if ((distributorInfo == null) || (distributorInfo.UserId == 0))
            {
                distributorInfo = new DistributorsDao().GetDistributorInfo(userId);
                HiCache.Insert(string.Format("DataCache-Distributor-{0}", userId), distributorInfo, 360, CacheItemPriority.Normal);
            }
            return(distributorInfo);
        }
示例#14
0
        public static bool setCommission(OrderInfo order, DistributorsInfo DisInfo)
        {
            bool      flag               = false;
            decimal   num                = 0M;
            decimal   num2               = 0M;
            decimal   resultCommTatal    = 0M;
            string    userId             = order.ReferralUserId.ToString();
            string    orderId            = order.OrderId;
            decimal   orderTotal         = 0M;
            ArrayList gradeIdList        = new ArrayList();
            ArrayList referralUserIdList = new ArrayList();

            foreach (LineItemInfo info in order.LineItems.Values)
            {
                if (info.OrderItemsStatus.ToString() == OrderStatus.SellerAlreadySent.ToString())
                {
                    num2 += info.ItemsCommission;
                    if ((!string.IsNullOrEmpty(info.ItemAdjustedCommssion.ToString()) && (info.ItemAdjustedCommssion > 0M)) && !info.IsAdminModify)
                    {
                        num += info.ItemAdjustedCommssion;
                    }
                    orderTotal += (info.GetSubTotal() - info.DiscountAverage) - info.ItemAdjustedCommssion;
                }
            }
            orderTotal -= order.Freight;
            if (false)
            {
                resultCommTatal = num2;
            }
            else
            {
                resultCommTatal = num2 - num;
                if (resultCommTatal < 0M)
                {
                    resultCommTatal = 0M;
                }
            }
            flag = new DistributorsDao().UpdateCalculationCommission(userId, userId, orderId, orderTotal, resultCommTatal);
            int notDescDistributorGrades = GetNotDescDistributorGrades(userId);

            if (notDescDistributorGrades > 0)
            {
                gradeIdList.Add(notDescDistributorGrades);
                referralUserIdList.Add(userId);
                flag = new DistributorsDao().UpdateGradeId(gradeIdList, referralUserIdList);
            }
            return(flag);
        }
示例#15
0
        public static string GetAllDistributorsName(string keysearch)
        {
            string    str = "";
            DataTable allDistributorsName = new DistributorsDao().GetAllDistributorsName(keysearch);

            foreach (DataRow row in allDistributorsName.Rows)
            {
                string str3 = str;
                str = str3 + "{\"title\":\"" + Globals.HtmlEncode(row[0].ToString()) + "\",\"result\":\"" + row[1].ToString() + "\"},";
            }
            if (!string.IsNullOrEmpty(str))
            {
                str = str.Substring(0, str.Length - 1);
            }
            return(str);
        }
示例#16
0
        public static bool DeleteDistributor(int userId)
        {
            //如果该分销商有下属,则不允许删除
            if (DistributorsBrower.GetDownDistributorNum(userId.ToString()) > 0)
            {
                return(false);
            }
            bool flag = new DistributorsDao().DeleteDistributor(userId);

            if (flag)
            {
                HiCache.Remove(string.Format("DataCache-Member-{0}", userId));
                HiCache.Remove(string.Format("DataCache-Distributor-{0}", userId));
            }
            return(flag);
        }
示例#17
0
        public static int GetDistributorGrades(string ReferralUserId)
        {
            DistributorsInfo            userIdDistributors = GetUserIdDistributors(int.Parse(ReferralUserId));
            List <DistributorGradeInfo> distributorGrades  = new DistributorsDao().GetDistributorGrades() as List <DistributorGradeInfo>;

            foreach (DistributorGradeInfo info2 in from item in distributorGrades
                     orderby item.CommissionsLimit descending
                     select item)
            {
                if (userIdDistributors.DistriGradeId == info2.GradeId)
                {
                    return(0);
                }
                if (info2.CommissionsLimit <= (userIdDistributors.ReferralBlance + userIdDistributors.ReferralRequestBalance))
                {
                    userIdDistributors.DistriGradeId = info2.GradeId;
                    return(info2.GradeId);
                }
            }
            return(0);
        }
示例#18
0
        public static int FrozenCommisionChecks(string userids, string ReferralStatus)
        {
            int result = new DistributorsDao().FrozenCommisionChecks(userids, ReferralStatus);

            string[] array = userids.Trim(new char[]
            {
                ','
            }).Split(new char[]
            {
                ','
            });
            string[] array2 = array;
            for (int i = 0; i < array2.Length; i++)
            {
                string s   = array2[i];
                int    num = Globals.ToNum(s);
                if (num > 0)
                {
                    MemberInfo member = new MemberDao().GetMember(num);
                    if (member != null)
                    {
                        if (ReferralStatus == "1")
                        {
                            Messenger.SendWeiXinMsg_AccountLockOrUnLock(member, true);
                        }
                        else if (ReferralStatus == "0")
                        {
                            Messenger.SendWeiXinMsg_AccountLockOrUnLock(member, false);
                        }
                        else if (ReferralStatus == "9")
                        {
                            Messenger.SendWeiXinMsg_DistributorCancel(member);
                        }
                        DistributorsBrower.RemoveDistributorCache(num);
                    }
                }
            }
            return(result);
        }
示例#19
0
        public static bool SetBalanceDrawRequestIsCheckStatus(int[] serialids, int checkValue, [Optional, DefaultParameterValue(null)] string Remark, [Optional, DefaultParameterValue(null)] string Amount)
        {
            bool flag = new DistributorsDao().SetBalanceDrawRequestIsCheckStatus(serialids, checkValue, Remark, Amount);

            if (flag && (checkValue == -1))
            {
                try
                {
                    foreach (int num in serialids)
                    {
                        BalanceDrawRequestInfo balanceDrawRequestById = GetBalanceDrawRequestById(num.ToString());
                        if (balanceDrawRequestById != null)
                        {
                            Messenger.SendWeiXinMsg_DrawCashReject(balanceDrawRequestById);
                        }
                    }
                }
                catch (Exception)
                {
                }
            }
            return(flag);
        }
示例#20
0
        public static bool SetBalanceDrawRequestIsCheckStatus(int[] serialids, int checkValue, string Remark = null, string Amount = null)
        {
            bool flag = new DistributorsDao().SetBalanceDrawRequestIsCheckStatus(serialids, checkValue, Remark, Amount);

            if (flag && checkValue == -1)
            {
                try
                {
                    for (int i = 0; i < serialids.Length; i++)
                    {
                        int num = serialids[i];
                        BalanceDrawRequestInfo balanceDrawRequestById = DistributorsBrower.GetBalanceDrawRequestById(num.ToString());
                        if (balanceDrawRequestById != null)
                        {
                            Messenger.SendWeiXinMsg_DrawCashReject(balanceDrawRequestById);
                        }
                    }
                }
                catch (Exception var_3_6E)
                {
                }
            }
            return(flag);
        }
示例#21
0
        public static string GetAllDistributorsName(string keysearch)
        {
            string text = "";

            System.Data.DataTable allDistributorsName = new DistributorsDao().GetAllDistributorsName(keysearch);
            foreach (System.Data.DataRow dataRow in allDistributorsName.Rows)
            {
                string text2 = text;
                text = string.Concat(new string[]
                {
                    text2,
                    "{\"title\":\"",
                    Globals.HtmlEncode(dataRow[0].ToString()),
                    "\",\"result\":\"",
                    dataRow[1].ToString(),
                    "\"},"
                });
            }
            if (!string.IsNullOrEmpty(text))
            {
                text = text.Substring(0, text.Length - 1);
            }
            return(text);
        }
示例#22
0
        public static int GetDistributorGrades(string ReferralUserId)
        {
            DistributorsInfo            userIdDistributors = DistributorsBrower.GetUserIdDistributors(int.Parse(ReferralUserId));
            List <DistributorGradeInfo> source             = new DistributorsDao().GetDistributorGrades() as List <DistributorGradeInfo>;
            int result = 0;

            foreach (DistributorGradeInfo current in from item in source
                     orderby item.CommissionsLimit descending
                     select item)
            {
                if (userIdDistributors.DistriGradeId == current.GradeId)
                {
                    result = 0;
                    break;
                }
                if (current.CommissionsLimit <= userIdDistributors.ReferralBlance + userIdDistributors.ReferralRequestBalance)
                {
                    userIdDistributors.DistriGradeId = current.GradeId;
                    result = current.GradeId;
                    break;
                }
            }
            return(result);
        }
示例#23
0
        /// <summary>
        /// jinhb,20150820,更新三级返佣金额,加入了无限代理佣金算法
        /// </summary>
        public static bool UpdateCalculationCommission(OrderInfo order)
        {
            DistributorsInfo userIdDistributors = GetUserIdDistributors(order.ReferralUserId);

            SiteSettings masterSettings = SettingsManager.GetMasterSettings(false);
            bool         flag           = false;

            if (userIdDistributors != null)
            {
                bool isAgent1 = (userIdDistributors.IsAgent == 1) ? true : false;
                bool isAgent2 = false;
                bool isAgent3 = false;
                if (!masterSettings.EnableCommission)                    //未启用三级返佣
                {
                    if (userIdDistributors.ReferralStatus == 0)          //状态正常
                    {
                        flag = setCommission(order, userIdDistributors); //设置分销商佣金(仅更新直接销售的分销商返佣)
                    }
                }
                else//启用了三级返佣
                {
                    if (userIdDistributors.ReferralStatus == 0)
                    {
                        flag = setCommission(order, userIdDistributors);//更新直接销售的分销商返佣
                    }
                    if (!string.IsNullOrEmpty(userIdDistributors.ReferralPath))
                    {
                        ArrayList commTatalList  = new ArrayList();
                        decimal   num            = 0M;
                        ArrayList userIdList     = new ArrayList();
                        string    referralUserId = order.ReferralUserId.ToString();
                        string    orderId        = order.OrderId;
                        ArrayList orderTotalList = new ArrayList();
                        decimal   num2           = 0M;
                        ArrayList gradeIdList    = new ArrayList();
                        string[]  strArray       = userIdDistributors.ReferralPath.Split(new char[] { '|' });
                        if (strArray.Length == 1)
                        {
                            #region  一级返佣
                            DistributorsInfo info2 = GetUserIdDistributors(int.Parse(strArray[0]));
                            isAgent2 = (info2.IsAgent == 1) ? true : false;
                            if (info2.ReferralStatus == 0)
                            {
                                foreach (LineItemInfo info3 in order.LineItems.Values)
                                {
                                    if (info3.OrderItemsStatus.ToString() == OrderStatus.SellerAlreadySent.ToString())
                                    {
                                        num  += info3.SecondItemsCommission;
                                        num2 += info3.GetSubTotal();
                                    }
                                }
                                commTatalList.Add(num);
                                orderTotalList.Add(num2);
                                userIdList.Add(info2.UserId);
                            }
                            #endregion  一级返佣
                        }
                        if (strArray.Length == 2)
                        {
                            #region  一级、上二级返佣
                            DistributorsInfo info4 = GetUserIdDistributors(int.Parse(strArray[0]));
                            isAgent3 = (info4.IsAgent == 1) ? true : false;
                            if (info4.ReferralStatus == 0)
                            {
                                foreach (LineItemInfo info3 in order.LineItems.Values)
                                {
                                    if (info3.OrderItemsStatus.ToString() == OrderStatus.SellerAlreadySent.ToString())
                                    {
                                        num  += info3.ThirdItemsCommission;
                                        num2 += info3.GetSubTotal();
                                    }
                                }
                                commTatalList.Add(num);
                                orderTotalList.Add(num2);
                                userIdList.Add(info4.UserId);
                            }
                            DistributorsInfo info5 = GetUserIdDistributors(int.Parse(strArray[1]));
                            isAgent2 = (info5.IsAgent == 1) ? true : false;
                            num      = 0M;
                            num2     = 0M;
                            if (info5.ReferralStatus == 0)
                            {
                                foreach (LineItemInfo info3 in order.LineItems.Values)
                                {
                                    if (info3.OrderItemsStatus.ToString() == OrderStatus.SellerAlreadySent.ToString())
                                    {
                                        num  += info3.SecondItemsCommission;
                                        num2 += info3.GetSubTotal();
                                    }
                                }
                                commTatalList.Add(num);
                                orderTotalList.Add(num2);
                                userIdList.Add(info5.UserId);
                            }
                            #endregion  一级、上二级返佣

                            //三级向上存在代理时进行设置
                            if (!string.IsNullOrEmpty(info4.AgentPath))
                            {
                                System.Data.DataView defaultViewAgent = DistributorGradeBrower.GetAllAgentGrade().DefaultView;      //当前系统中所有代理商等级
                                #region 设置无限代理返佣

                                string[] arrayAgentPath = info4.AgentPath.Split(new char[] { '|' });
                                foreach (string strAgentPat in arrayAgentPath)
                                {
                                    DistributorsInfo infoAgent = GetUserIdDistributors(int.Parse(strAgentPat));
                                    if (infoAgent.IsAgent != 1 || infoAgent.ReferralStatus == 1)
                                    {
                                        continue;
                                    }
                                    defaultViewAgent.RowFilter = " AgentGradeId=" + infoAgent.AgentGradeId;
                                    if (defaultViewAgent.Count == 0)
                                    {
                                        continue;
                                    }
                                    num  = 0M;
                                    num2 = 0M;
                                    foreach (LineItemInfo info in order.LineItems.Values)
                                    {
                                        if (info.OrderItemsStatus.ToString() == OrderStatus.SellerAlreadySent.ToString())
                                        {
                                            if (!SettingsManager.GetMasterSettings(false).EnableProfit)
                                            {
                                                num += decimal.Parse(defaultViewAgent[0]["FirstCommissionRise"].ToString()) / 100m * info.GetSubTotal();
                                            }
                                            else
                                            {
                                                num += decimal.Parse(defaultViewAgent[0]["FirstCommissionRise"].ToString()) / 100m * info.GetSubTotalProfit();
                                            }

                                            num2 += info.GetSubTotal();
                                        }
                                    }
                                    commTatalList.Add(num);
                                    orderTotalList.Add(num2);
                                    userIdList.Add(infoAgent.UserId);
                                }

                                #endregion 设置无限代理返佣
                            }
                        }

                        //点睛教育:收到佣金的同时,收到5/100的积分


                        flag = new DistributorsDao().UpdateTwoCalculationCommission(userIdList, referralUserId, orderId, orderTotalList, commTatalList);
                        for (int i = 0; i < userIdList.Count; i++)
                        {
                            int notDescDistributorGrades = GetNotDescDistributorGrades(userIdList[i].ToString());
                            gradeIdList.Add(notDescDistributorGrades);
                        }
                        flag = new DistributorsDao().UpdateGradeId(gradeIdList, userIdList);
                    }
                }
                RemoveDistributorCache(userIdDistributors.UserId);
            }


            //额外10%的比例给服务门店
            if (order.RedPagerID > 0)    //如果选中了门店
            {
                #region 迪蔓门店服务费10%
                ArrayList commTatalList  = new ArrayList();
                ArrayList userIdList     = new ArrayList();
                string    referralUserId = order.ReferralUserId.ToString();
                string    orderId        = order.OrderId;
                ArrayList orderTotalList = new ArrayList();
                decimal   num            = 0M;
                decimal   num2           = 0M;
                foreach (LineItemInfo info in order.LineItems.Values)
                {
                    if (info.OrderItemsStatus.ToString() == OrderStatus.SellerAlreadySent.ToString())
                    {
                        if (!SettingsManager.GetMasterSettings(false).EnableProfit)
                        {
                            num += decimal.Parse("10") / 100m * info.GetSubTotal();
                        }
                        else
                        {
                            num += decimal.Parse("10") / 100m * info.GetSubTotalProfit();
                        }

                        num2 += info.GetSubTotal();
                    }
                }
                commTatalList.Add(num);
                orderTotalList.Add(num2);
                userIdList.Add(order.RedPagerID);
                flag = new DistributorsDao().UpdateTwoCalculationCommission(userIdList, referralUserId, orderId, orderTotalList, commTatalList);
                #endregion
            }


            OrderRedPagerBrower.CreateOrderRedPager(order.OrderId, order.GetTotal(), order.UserId);
            return(flag);
        }
示例#24
0
        private void btnCreate_Click(object sender, System.EventArgs e)
        {
            /*
             * //实例会员信息j
             * MemberInfo member = new MemberInfo();
             * string generateId = Globals.GetGenerateId();
             * member.GradeId = new MemberGradeDao().GetDefaultMemberGrade();
             * member.UserName = this.txtUserName.Text.Trim();
             * member.CreateDate = DateTime.Now;
             * member.SessionId = generateId;
             * member.SessionEndTime = DateTime.Now.AddYears(10);
             * member.Password = HiCryptographer.Md5Encrypt("888888");
             * if ((new MemberDao().GetusernameMember(member.UserName) == null) && new MemberDao().CreateMember(member))
             * {
             *  //根据推荐人获取相关信息
             *  string referralPath = string.Empty;
             *  string agentPath = string.Empty;
             *  string distributorname = this.txtReferralUserId.Text;
             *  int referruserId = MemberHelper.IsExiteDistributorNames(distributorname);
             *  DistributorGrade threeDistributor = DistributorGrade.ThreeDistributor;
             *  if (referruserId > 0)
             *  {
             *      referralPath = new DistributorsDao().GetDistributorInfo(referruserId).ReferralPath;
             *      agentPath = string.IsNullOrEmpty(referralPath) ? referruserId.ToString() : referralPath + "|" + referruserId.ToString();
             *      if (string.IsNullOrEmpty(referralPath))
             *      {
             *          referralPath = referruserId.ToString();
             *          threeDistributor = DistributorGrade.TowDistributor;
             *      }
             *      else if (referralPath.Contains("|"))
             *      {
             *          referralPath = referralPath.Split(new char[] { '|' })[1] + "|" + referruserId.ToString();
             *      }
             *      else
             *      {
             *          referralPath = referralPath + "|" + referruserId.ToString();
             *      }
             *  }
             *
             *  //实例分销商信息
             *  DistributorsInfo distributor = new DistributorsInfo
             *  {
             *      UserId = new MemberDao().GetusernameMember(member.UserName).UserId,
             *      RequestAccount = "",
             *      StoreName = txtStoreName.Text.Trim(),
             *      StoreDescription = "",
             *      BackImage = "",
             *      Logo = "",
             *      DistributorGradeId = threeDistributor,
             *      IsAgent = 1,
             *      AgentGradeId = int.Parse(ddlAgentGrade.SelectedValue.ToString()),
             *      AgentPath = agentPath
             *  };
             *  distributor.UserId.ToString();
             *  distributor.ReferralPath = referralPath;
             *  distributor.ParentUserId = new int?(Convert.ToInt32(referruserId));
             *  DistributorGradeInfo isDefaultDistributorGradeInfo = new DistributorsDao().GetIsDefaultDistributorGradeInfo();
             *  distributor.DistriGradeId = isDefaultDistributorGradeInfo.GradeId;
             *  if (new DistributorsDao().CreateAgent(distributor))
             *  {
             *      this.ShowMsgAndReUrl("添加成功!", true, "../distributor/distributorlist.aspx?isagent=1");
             *  }
             * }
             * else
             * {
             *  this.ShowMsg(string.Format("账号【{0}】已存在", member.UserName), false);
             * }
             */

            if (btnCreate.Text == "返 回")
            {
                Response.Redirect("../member/ManageMembersEx.aspx");
                return;
            }
            //判断自己的店铺名是否重复
            string           myStoreName = txtStoreName.Text.Trim();
            DistributorsInfo info        = DistributorsBrower.GetDistributorInfo(Request.QueryString["userId"].ToInt());

            if (MemberHelper.IsExiteDistributorNames(myStoreName) > 0 && info == null)//如果同名,则不能继续,否则取出来的id就是同名的代理商id了
            {
                this.ShowMsg("您的店铺名重复!", false);
                return;
            }

            //根据推荐人获取相关信息
            string referralPath    = string.Empty;
            string agentPath       = string.Empty;
            string distributorname = this.txtReferralUserId.Text;
            int    referruserId    = MemberHelper.IsExiteDistributorNames(distributorname);

            DistributorGrade threeDistributor = DistributorGrade.ThreeDistributor;

            if (referruserId > 0)
            {
                referralPath = new DistributorsDao().GetDistributorInfo(referruserId).ReferralPath;
                agentPath    = string.IsNullOrEmpty(referralPath) ? referruserId.ToString() : referralPath + "|" + referruserId.ToString();
                if (string.IsNullOrEmpty(referralPath))
                {
                    referralPath     = referruserId.ToString();
                    threeDistributor = DistributorGrade.TowDistributor;
                }
                else if (referralPath.Contains("|"))
                {
                    referralPath = referralPath.Split(new char[] { '|' })[1] + "|" + referruserId.ToString();
                }
                else
                {
                    referralPath = referralPath + "|" + referruserId.ToString();
                }
            }
            else if (referruserId == 0)//如果没有推荐商,ReferralUserid就是自己
            {
                referruserId = int.Parse(Request.QueryString["userId"]);
            }

            //获取会员信息、分销信息
            MemberInfo       member      = MemberHelper.GetMember(int.Parse(Request.QueryString["userId"]));
            DistributorsInfo distributor = VShopHelper.GetUserIdDistributors(member.UserId);

            //升级会员为代理
            if (distributor == null)
            {
                DistributorGradeInfo isDefaultDistributorGradeInfo = new DistributorsDao().GetIsDefaultDistributorGradeInfo();
                distributor = new DistributorsInfo
                {
                    UserId             = new MemberDao().GetusernameMember(member.UserName).UserId,
                    RequestAccount     = "",
                    StoreName          = txtStoreName.Text.Trim(),
                    StoreDescription   = "",
                    BackImage          = "",
                    Logo               = "",
                    DistributorGradeId = threeDistributor,
                    IsAgent            = 1,
                    DistriGradeId      = isDefaultDistributorGradeInfo.GradeId,
                    AgentGradeId       = int.Parse(ddlAgentGrade.SelectedValue.ToString()),
                    AgentPath          = agentPath,
                    ReferralPath       = referralPath,
                    ParentUserId       = new int?(Convert.ToInt32(referruserId)),
                    ReferralUserId     = referruserId //
                };
                new DistributorsDao().CreateAgent(distributor);
            }
            else
            {
                //升级分销为代理
                string where = "UserId=" + distributor.UserId;
                DataTable dtData          = DistributorsBrower.GetDistributorsByWhere(where);
                string    oldReferralPath = (dtData.Rows[0]["ReferralPath"] == DBNull.Value) ? "" : dtData.Rows[0]["ReferralPath"].ToString();
                dtData.Rows[0]["IsAgent"]      = 1;
                dtData.Rows[0]["AgentGradeId"] = int.Parse(ddlAgentGrade.SelectedValue.ToString());
                if (!CustomConfigHelper.Instance.SelectServerAgent && referruserId == 0)
                {
                    dtData.Rows[0]["AgentPath"]      = agentPath;
                    dtData.Rows[0]["ReferralPath"]   = referralPath;
                    dtData.Rows[0]["ReferralUserid"] = referruserId;//referraluserid更新
                    //DistributorsBrower.CommitDistributors(dtData);

                    //找到所有的子
                    dtData.PrimaryKey = new DataColumn[] { dtData.Columns["UserID"] };
                    FindCurrDistributorChild(distributor.UserId, dtData);
                    agentPath = (agentPath == "") ? distributor.UserId.ToString() : (agentPath + "|" + distributor.UserId.ToString());

                    //设置所属的 代理商
                    foreach (DataRow dr in dtData.Rows)
                    {
                        //清除缓存
                        DistributorsBrower.RemoveDistributorCache(dr["userid"].ToInt());

                        //自己已经设置过
                        if (distributor.UserId == dr["UserID"].ToInt())
                        {
                            continue;
                        }

                        //设置所属代理
                        dr["AgentPath"] = agentPath;
                    }

                    //设置所属的 店铺
                    where = string.Format("1=1 AND (ReferralPath LIKE '{0}|%' OR ReferralPath LIKE '%|{0}|%' OR ReferralPath LIKE '%|{0}' OR ReferralPath='{0}')"
                                          , distributor.UserId);
                    DataRow[] rowsChildDistributor = dtData.Select(where);
                    foreach (DataRow dr in dtData.Rows)
                    {
                        if (oldReferralPath != "")
                        {
                            string currReferralPath = dr["ReferralPath"].ToString();
                            if (currReferralPath.IndexOf(oldReferralPath) == 0)
                            {
                                if (referralPath == "")
                                {
                                    currReferralPath = distributor.UserId.ToString();
                                }
                                else
                                {
                                    //替换前缀
                                    currReferralPath = referralPath + "|" + currReferralPath.Split('|')[currReferralPath.Split('|').Length - 1];
                                }
                                dr["ReferralPath"] = currReferralPath;
                            }
                        }
                    }
                }
                //保存到数据库
                DistributorsBrower.CommitDistributors(dtData);
            }
            this.ShowMsgAndReUrl("升级成功!", true, "../member/ManageMembersEx.aspx");
        }
示例#25
0
        private void btnCreate_Click(object sender, System.EventArgs e)
        {
            //实例会员信息
            MemberInfo member     = new MemberInfo();
            string     generateId = Globals.GetGenerateId();

            member.GradeId        = new MemberGradeDao().GetDefaultMemberGrade();
            member.UserName       = this.txtUserName.Text.Trim();
            member.CreateDate     = DateTime.Now;
            member.SessionId      = generateId;
            member.SessionEndTime = DateTime.Now.AddYears(10);
            member.Password       = HiCryptographer.Md5Encrypt("888888");
            if ((new MemberDao().GetusernameMember(member.UserName) == null) && new MemberDao().CreateMember(member))
            {
                //根据推荐人获取相关信息
                string           referralPath     = string.Empty;
                string           agentPath        = string.Empty;
                string           distributorname  = this.txtReferralUserId.Text;
                int              referruserId     = MemberHelper.IsExiteDistributorNames(distributorname);
                DistributorGrade threeDistributor = DistributorGrade.ThreeDistributor;
                if (referruserId > 0)
                {
                    referralPath = new DistributorsDao().GetDistributorInfo(referruserId).ReferralPath;
                    agentPath    = string.IsNullOrEmpty(referralPath) ? referruserId.ToString() : referralPath + "|" + referruserId.ToString();
                    if (string.IsNullOrEmpty(referralPath))
                    {
                        referralPath     = referruserId.ToString();
                        threeDistributor = DistributorGrade.TowDistributor;
                    }
                    else if (referralPath.Contains("|"))
                    {
                        referralPath = referralPath.Split(new char[] { '|' })[1] + "|" + referruserId.ToString();
                    }
                    else
                    {
                        referralPath = referralPath + "|" + referruserId.ToString();
                    }
                }

                //实例分销商信息
                DistributorsInfo distributor = new DistributorsInfo
                {
                    UserId             = new MemberDao().GetusernameMember(member.UserName).UserId,
                    RequestAccount     = "",
                    StoreName          = txtStoreName.Text.Trim(),
                    StoreDescription   = "",
                    BackImage          = "",
                    Logo               = "",
                    DistributorGradeId = threeDistributor,
                    IsAgent            = 1,
                    AgentGradeId       = int.Parse(ddlAgentGrade.SelectedValue.ToString()),
                    AgentPath          = agentPath
                };
                distributor.UserId.ToString();
                distributor.ReferralPath = referralPath;
                distributor.ParentUserId = new int?(Convert.ToInt32(referruserId));
                DistributorGradeInfo isDefaultDistributorGradeInfo = new DistributorsDao().GetIsDefaultDistributorGradeInfo();
                distributor.DistriGradeId = isDefaultDistributorGradeInfo.GradeId;
                if (new DistributorsDao().CreateAgent(distributor))
                {
                    this.ShowMsgAndReUrl("添加成功!", true, "../distributor/distributorlist.aspx?isagent=1");
                }
            }
            else
            {
                this.ShowMsg(string.Format("账号【{0}】已存在", member.UserName), false);
            }
        }
示例#26
0
        public static IList <string> BatchCreateMembers(IList <string> distributornames, int referruserId, string createtype = "1")
        {
            string           text  = string.Empty;
            string           text2 = string.Empty;
            IList <string>   list  = new List <string>();
            DistributorGrade distributorGradeId = DistributorGrade.ThreeDistributor;

            if (referruserId > 0)
            {
                text2 = new DistributorsDao().GetDistributorInfo(referruserId).ReferralPath;
                if (string.IsNullOrEmpty(text2))
                {
                    text2 = referruserId.ToString();
                    distributorGradeId = DistributorGrade.TowDistributor;
                }
                else if (text2.Contains("|"))
                {
                    text2 = text2.Split(new char[]
                    {
                        '|'
                    })[1] + "|" + referruserId.ToString();
                }
                else
                {
                    text2 = text2 + "|" + referruserId.ToString();
                }
            }
            foreach (string current in distributornames)
            {
                Hidistro.Entities.Members.MemberInfo memberInfo = new Hidistro.Entities.Members.MemberInfo();
                string generateId = Globals.GetGenerateId();
                memberInfo.GradeId        = new MemberGradeDao().GetDefaultMemberGrade();
                memberInfo.UserName       = current;
                memberInfo.CreateDate     = DateTime.Now;
                memberInfo.UserBindName   = current;
                memberInfo.SessionId      = generateId;
                memberInfo.ReferralUserId = Convert.ToInt32(referruserId);
                memberInfo.SessionEndTime = DateTime.Now.AddYears(10);
                memberInfo.Password       = HiCryptographer.Md5Encrypt("888888");
                memberInfo.UserHead       = "/templates/common/images/user.png";
                if (new MemberDao().GetusernameMember(current) == null && new MemberDao().CreateMember(memberInfo))
                {
                    DistributorsInfo distributorsInfo = new DistributorsInfo();
                    distributorsInfo.UserId             = new MemberDao().GetusernameMember(current).UserId;
                    distributorsInfo.RequestAccount     = "";
                    distributorsInfo.StoreName          = current;
                    distributorsInfo.StoreDescription   = "";
                    distributorsInfo.BackImage          = "";
                    distributorsInfo.Logo               = "";
                    distributorsInfo.DistributorGradeId = distributorGradeId;
                    text = distributorsInfo.UserId.ToString();
                    distributorsInfo.ReferralPath = text2;
                    distributorsInfo.ParentUserId = new int?(Convert.ToInt32(referruserId));
                    DistributorGradeInfo isDefaultDistributorGradeInfo = new DistributorsDao().GetIsDefaultDistributorGradeInfo();
                    distributorsInfo.DistriGradeId = isDefaultDistributorGradeInfo.GradeId;
                    if (new DistributorsDao().CreateDistributor(distributorsInfo) && createtype == "1")
                    {
                        list.Add(current);
                    }
                }
                else if (createtype == "2")
                {
                    list.Add(current);
                }
            }
            return(list);
        }
示例#27
0
        public static bool CreateDistributorByUserIds(string userids, ref string msg)
        {
            bool flag = false;

            userids = userids.Trim(new char[]
            {
                ','
            });
            string[] array = userids.Split(new char[]
            {
                ','
            });
            bool result;

            if (array.Length == 0)
            {
                msg    = "没有会员被选择!";
                result = flag;
            }
            else
            {
                DistributorGradeInfo isDefaultDistributorGradeInfo = new DistributorGradeDao().GetIsDefaultDistributorGradeInfo();
                if (isDefaultDistributorGradeInfo == null)
                {
                    msg    = "默认分销商等级未设置,无法生成分销商!";
                    result = flag;
                }
                else
                {
                    Dictionary <int, bool> existDistributorList = new DistributorsDao().GetExistDistributorList(userids);
                    List <int>             list = new List <int>();
                    string[] array2             = array;
                    for (int i = 0; i < array2.Length; i++)
                    {
                        string s   = array2[i];
                        int    num = 0;
                        if (int.TryParse(s, out num) && !existDistributorList.ContainsKey(num))
                        {
                            list.Add(num);
                        }
                    }
                    if (list.Count == 0)
                    {
                        msg    = "选择的会员已经是分销商,操作终止!";
                        result = flag;
                    }
                    else
                    {
                        int          num2           = 0;
                        SiteSettings masterSettings = SettingsManager.GetMasterSettings(true);
                        foreach (int current in list)
                        {
                            int userId = current;
                            Hidistro.Entities.Members.MemberInfo member = MemberHelper.GetMember(userId);
                            int              referralUserId             = member.ReferralUserId;
                            string           referralPath     = string.Empty;
                            DistributorsInfo distributorsInfo = new DistributorsInfo();
                            distributorsInfo.DistributorGradeId = DistributorGrade.OneDistributor;
                            if (referralUserId > 0)
                            {
                                DistributorsInfo distributorInfo = new DistributorsDao().GetDistributorInfo(referralUserId);
                                if (distributorInfo != null)
                                {
                                    if (!string.IsNullOrEmpty(distributorInfo.ReferralPath) && !distributorInfo.ReferralPath.Contains("|"))
                                    {
                                        referralPath = distributorInfo.ReferralPath + "|" + distributorInfo.UserId.ToString();
                                    }
                                    else if (!string.IsNullOrEmpty(distributorInfo.ReferralPath) && distributorInfo.ReferralPath.Contains("|"))
                                    {
                                        referralPath = distributorInfo.ReferralPath.Split(new char[]
                                        {
                                            '|'
                                        })[1] + "|" + distributorInfo.UserId.ToString();
                                    }
                                    else
                                    {
                                        referralPath = distributorInfo.UserId.ToString();
                                    }
                                    if (!string.IsNullOrEmpty(distributorInfo.Logo))
                                    {
                                        distributorsInfo.Logo = distributorInfo.Logo;
                                    }
                                    if (distributorInfo.DistributorGradeId == DistributorGrade.OneDistributor)
                                    {
                                        distributorsInfo.DistributorGradeId = DistributorGrade.TowDistributor;
                                    }
                                    else if (distributorInfo.DistributorGradeId == DistributorGrade.TowDistributor)
                                    {
                                        distributorsInfo.DistributorGradeId = DistributorGrade.ThreeDistributor;
                                    }
                                    else
                                    {
                                        distributorsInfo.DistributorGradeId = DistributorGrade.ThreeDistributor;
                                    }
                                }
                            }
                            if (string.IsNullOrEmpty(distributorsInfo.Logo))
                            {
                                distributorsInfo.Logo = masterSettings.DistributorLogoPic;
                            }
                            distributorsInfo.UserId           = member.UserId;
                            distributorsInfo.RequestAccount   = "";
                            distributorsInfo.StoreName        = Globals.GetStoreNameByUserIDAndName(member.UserId, member.UserName, member.OpenId, masterSettings.SiteName);
                            distributorsInfo.StoreDescription = "";
                            distributorsInfo.BackImage        = "";
                            distributorsInfo.DistriGradeId    = isDefaultDistributorGradeInfo.GradeId;
                            distributorsInfo.ReferralPath     = referralPath;
                            distributorsInfo.ParentUserId     = new int?(Convert.ToInt32(referralUserId));
                            if (new DistributorsDao().CreateDistributor(distributorsInfo))
                            {
                                num2++;
                            }
                        }
                        if (num2 > 0)
                        {
                            msg  = "成功生成" + num2.ToString() + "位分销商,请检查!";
                            flag = true;
                        }
                        else
                        {
                            msg  = "生成分销商失败!";
                            flag = false;
                        }
                        result = flag;
                    }
                }
            }
            return(result);
        }
示例#28
0
        public static bool UpdateCalculationCommission(OrderInfo order, string wid)
        {
            DistributorsInfo userIdDistributors = GetUserIdDistributors(order.ReferralUserId);
            SiteSettings     masterSettings     = SettingsManager.GetMasterSettings(false, wid);
            bool             flag = false;

            if (userIdDistributors != null)
            {
                if (!masterSettings.EnableCommission)
                {
                    if (userIdDistributors.ReferralStatus == 0)
                    {
                        flag = setCommission(order, userIdDistributors);
                    }
                }
                else
                {
                    if (userIdDistributors.ReferralStatus == 0)
                    {
                        flag = setCommission(order, userIdDistributors);
                    }
                    if (!string.IsNullOrEmpty(userIdDistributors.ReferralPath))
                    {
                        ArrayList commTatalList  = new ArrayList();
                        decimal   num            = 0M;
                        ArrayList userIdList     = new ArrayList();
                        string    referralUserId = order.ReferralUserId.ToString();
                        string    orderId        = order.OrderId;
                        ArrayList orderTotalList = new ArrayList();
                        decimal   num2           = 0M;
                        ArrayList gradeIdList    = new ArrayList();
                        string[]  strArray       = userIdDistributors.ReferralPath.Split(new char[] { '|' });
                        if (strArray.Length == 1)
                        {
                            DistributorsInfo info2 = GetUserIdDistributors(int.Parse(strArray[0]));
                            if (info2.ReferralStatus == 0)
                            {
                                foreach (LineItemInfo info3 in order.LineItems.Values)
                                {
                                    if (info3.OrderItemsStatus.ToString() == OrderStatus.SellerAlreadySent.ToString())
                                    {
                                        num  += info3.SecondItemsCommission;
                                        num2 += info3.GetSubTotal();
                                    }
                                }
                                commTatalList.Add(num);
                                orderTotalList.Add(num2);
                                userIdList.Add(info2.UserId);
                            }
                        }
                        if (strArray.Length == 2)
                        {
                            DistributorsInfo info4 = GetUserIdDistributors(int.Parse(strArray[0]));
                            if (info4.ReferralStatus == 0)
                            {
                                foreach (LineItemInfo info5 in order.LineItems.Values)
                                {
                                    if (info5.OrderItemsStatus.ToString() == OrderStatus.SellerAlreadySent.ToString())
                                    {
                                        num  += info5.ThirdItemsCommission;
                                        num2 += info5.GetSubTotal();
                                    }
                                }
                                commTatalList.Add(num);
                                orderTotalList.Add(num2);
                                userIdList.Add(info4.UserId);
                            }
                            DistributorsInfo info6 = GetUserIdDistributors(int.Parse(strArray[1]));
                            num  = 0M;
                            num2 = 0M;
                            if (info6.ReferralStatus == 0)
                            {
                                foreach (LineItemInfo info7 in order.LineItems.Values)
                                {
                                    if (info7.OrderItemsStatus.ToString() == OrderStatus.SellerAlreadySent.ToString())
                                    {
                                        num  += info7.SecondItemsCommission;
                                        num2 += info7.GetSubTotal();
                                    }
                                }
                                commTatalList.Add(num);
                                orderTotalList.Add(num2);
                                userIdList.Add(info6.UserId);
                            }
                        }
                        flag = new DistributorsDao().UpdateTwoCalculationCommission(userIdList, referralUserId, orderId, orderTotalList, commTatalList);
                        for (int i = 0; i < userIdList.Count; i++)
                        {
                            int notDescDistributorGrades = GetNotDescDistributorGrades(userIdList[i].ToString());
                            gradeIdList.Add(notDescDistributorGrades);
                        }
                        flag = new DistributorsDao().UpdateGradeId(gradeIdList, userIdList);
                    }
                }
                RemoveDistributorCache(userIdDistributors.UserId);
            }
            OrderRedPagerBrower.CreateOrderRedPager(order.OrderId, order.GetTotal(), order.UserId);
            int id = Globals.IsNumeric(order.ActivitiesId) ? Globals.ToNum(order.ActivitiesId) : 0;

            if (id > 0)
            {
                ActivityDetailInfo activityDetailInfo = new Hidistro.SqlDal.VShop.ActivityDao().GetActivityDetailInfo(id);
                if (activityDetailInfo != null)
                {
                    int couponId = activityDetailInfo.CouponId;
                    int integral = activityDetailInfo.Integral;
                    if ((couponId > 0) && (ShoppingProcessor.GetCoupon(couponId.ToString()) != null))
                    {
                        new CouponDao().SendCouponToMember(couponId, order.UserId);
                    }
                    if (integral > 0)
                    {
                        new OrderDao().AddMemberPointNumber(integral, order, null);
                    }
                }
            }
            MemberProcessor.UpdateUserAccount(order, wid);
            return(flag);
        }
示例#29
0
        public static IList <string> BatchCreateMembers(IList <string> distributornames, int referruserId, string wid, string createtype = "1")
        {
            string           referralPath     = string.Empty;
            IList <string>   list             = new List <string>();
            DistributorGrade threeDistributor = DistributorGrade.ThreeDistributor;

            if (referruserId > 0)
            {
                referralPath = new DistributorsDao().GetDistributorInfo(referruserId).ReferralPath;
                if (string.IsNullOrEmpty(referralPath))
                {
                    referralPath     = referruserId.ToString();
                    threeDistributor = DistributorGrade.TowDistributor;
                }
                else if (referralPath.Contains("|"))
                {
                    referralPath = referralPath.Split(new char[] { '|' })[1] + "|" + referruserId.ToString();
                }
                else
                {
                    referralPath = referralPath + "|" + referruserId.ToString();
                }
            }
            foreach (string str2 in distributornames)
            {
                MemberInfo member     = new MemberInfo();
                string     generateId = Globals.GetGenerateId();
                member.GradeId        = new MemberGradeDao().GetDefaultMemberGrade(wid);
                member.UserName       = str2;
                member.CreateDate     = DateTime.Now;
                member.UserBindName   = str2;
                member.SessionId      = generateId;
                member.SessionEndTime = DateTime.Now.AddDays(10);
                member.Password       = HiCryptographer.Md5Encrypt("888888");
                if ((new MemberDao().GetusernameMember(str2, wid) == null) && new MemberDao().CreateMember(member))
                {
                    DistributorsInfo distributor = new DistributorsInfo {
                        UserId             = new MemberDao().GetusernameMember(str2, wid).UserId,
                        RequestAccount     = "",
                        StoreName          = str2,
                        StoreDescription   = "",
                        BackImage          = "",
                        Logo               = "",
                        DistributorGradeId = threeDistributor
                    };
                    distributor.UserId.ToString();
                    distributor.ReferralPath = referralPath;
                    distributor.ParentUserId = new int?(Convert.ToInt32(referruserId));
                    DistributorGradeInfo isDefaultDistributorGradeInfo = new DistributorsDao().GetIsDefaultDistributorGradeInfo();
                    distributor.DistriGradeId = isDefaultDistributorGradeInfo.GradeId;
                    if (new DistributorsDao().CreateDistributor(distributor) && (createtype == "1"))
                    {
                        list.Add(str2);
                    }
                }
                else if (createtype == "2")
                {
                    list.Add(str2);
                }
            }
            return(list);
        }
示例#30
0
        public void RedPackCheckJob()
        {
            new StringBuilder();
            DateTime  time             = DateTime.Now.Date.AddDays(-3.0);
            DataTable table            = new DataTable();
            string    query            = "select UserId,SerialID,RedpackId,Amount from Hishop_BalanceDrawRequest WHERE IsCheck=2 AND RequestType=3 AND CheckTime>=@CheckTime";
            DbCommand sqlStringCommand = this.database.GetSqlStringCommand(query);

            this.database.AddInParameter(sqlStringCommand, "CheckTime", DbType.DateTime, time);
            using (IDataReader reader = this.database.ExecuteReader(sqlStringCommand))
            {
                table = DataHelper.ConverDataReaderToDataTable(reader);
            }
            RedPackClient   client         = new RedPackClient();
            SiteSettings    masterSettings = SettingsManager.GetMasterSettings(true);
            DistributorsDao dao            = new DistributorsDao();

            if ((table != null) && (table.Rows.Count > 0))
            {
                foreach (DataRow row in table.Rows)
                {
                    string      str2 = row["RedpackId"].ToString();
                    RedPackInfo info = client.GetRedpackInfo(masterSettings.WeixinAppId, masterSettings.WeixinPartnerID, str2, masterSettings.WeixinPartnerKey, masterSettings.WeixinCertPath, masterSettings.WeixinCertPassword);
                    if (info != null)
                    {
                        redPackStatus status = info.Getstatus();
                        if (((int)status == 4) || ((int)status == 2))
                        {
                            int id = int.Parse(row["SerialID"].ToString());
                            Globals.Debuglog(string.Concat(new object[] { "BalanceDrawRequest-", id, ":", info.ToString() }), "RedPackCheck.txt");
                            decimal num2   = decimal.Parse(row["Amount"].ToString());
                            int     userId = int.Parse(row["UserId"].ToString());
                            dao.UpdateBalanceDistributors(userId, -1M * num2);
                            dao.UpdateRedPackStatus(id, "红包" + status.ToString(), null);
                        }
                    }
                }
            }
            query = "select UserId,Id,RedpackId,Amount from Hishop_MemberAmountRequest WHERE State=2 AND RequestType=3 AND CheckTime>=@CheckTime";
            AmountDao dao2 = new AmountDao();

            sqlStringCommand = this.database.GetSqlStringCommand(query);
            this.database.AddInParameter(sqlStringCommand, "CheckTime", DbType.DateTime, time);
            using (IDataReader reader2 = this.database.ExecuteReader(sqlStringCommand))
            {
                table = DataHelper.ConverDataReaderToDataTable(reader2);
            }
            if ((table != null) && (table.Rows.Count > 0))
            {
                foreach (DataRow row2 in table.Rows)
                {
                    string      str3  = row2["RedpackId"].ToString();
                    RedPackInfo info2 = client.GetRedpackInfo(masterSettings.WeixinAppId, masterSettings.WeixinPartnerID, str3, masterSettings.WeixinPartnerKey, masterSettings.WeixinCertPath, masterSettings.WeixinCertPassword);
                    if (info2 != null)
                    {
                        redPackStatus status2 = info2.Getstatus();
                        if (((int)status2 == 4) || ((int)status2 == 2))
                        {
                            int num4 = int.Parse(row2["Id"].ToString());
                            Globals.Debuglog(string.Concat(new object[] { "MemberAmountRequest-", num4, ":", info2.ToString() }), "RedPackCheck.txt");
                            decimal.Parse(row2["Amount"].ToString());
                            int.Parse(row2["UserId"].ToString());
                            dao2.SetAmountRequestStatus(new int[] { num4 }, 3, "红包" + status2.ToString(), "", "SYSJOB");
                        }
                    }
                }
            }
        }