예제 #1
0
        /// <summary>
        /// 统计可领取的点卷
        /// </summary>
        /// <param name="account"></param>
        /// <param name="managerId"></param>
        /// <returns></returns>
        public MessageCode CalculatePoint(string account, Guid managerId)
        {
            var list = FriendinviteMgr.InviteManagerList(account);

            foreach (var item in list)
            {
                var charge = PayCore.Instance.GetPayUser(item.ByAccount);
                if (charge == null)
                {
                    continue;
                }
                try
                {
                    //总可得到点卷
                    var sumPoint = charge.ChargePoint *
                                   CacheFactory.AppsettingCache.GetAppSettingToInt(EnumAppsetting.FriendinvitePoint) / 100;
                    //未领取点卷
                    item.MayPrize = sumPoint - item.AlreadyPrize < 0 ? 0 : sumPoint - item.AlreadyPrize;
                    FriendinviteMgr.Update(item);
                }
                catch (Exception ex)
                {
                    SystemlogMgr.Error("好友邀请计算点卷出错", ex);
                    return(MessageCode.NbParameterError);
                }
            }
            return(MessageCode.Success);
        }
예제 #2
0
        public List <FriendinviteEntity> GetFrindInviteList(string account)
        {
            var list = FriendinviteMgr.InviteManagerList(account);

            Dictionary <string, FriendinviteEntity> resultList = new Dictionary <string, FriendinviteEntity>();

            foreach (var item in list)
            {
                if (resultList.ContainsKey(item.ByAccount))
                {
                    if (resultList[item.ByAccount].NLevel > item.NLevel)
                    {
                        resultList[item.ByAccount] = item;
                    }
                }
                else
                {
                    resultList.Add(item.ByAccount, item);
                }
            }
            if (resultList.Count > 0)
            {
                return(resultList.Values.ToList());
            }
            return(null);
        }
예제 #3
0
        void BindData()
        {
            try
            {
                var zone      = AdminMgr.GetSelectZoneIdInt(HttpContext.Current, ddlZone);
                var startTime = DateTime.Today.AddDays(-15);
                var endTime   = DateTime.Today;
                var list      = StatisticKpiMgr.GetbyDate(zone, startTime, endTime);
                for (int i = 0; i < list.Count; i++)
                {
                    list[i].RetentionPercent2  = list[i].Retention2.ToString() + "  " + GetPercent(list[i].Retention2, i, list);
                    list[i].RetentionPercent3  = list[i].Retention3.ToString() + "  " + GetPercent(list[i].Retention3, i, list);
                    list[i].RetentionPercent4  = list[i].Retention4.ToString() + "  " + GetPercent(list[i].Retention4, i, list);
                    list[i].RetentionPercent5  = list[i].Retention5.ToString() + "  " + GetPercent(list[i].Retention5, i, list);
                    list[i].RetentionPercent6  = list[i].Retention6.ToString() + "  " + GetPercent(list[i].Retention6, i, list);
                    list[i].RetentionPercent7  = list[i].Retention7.ToString() + "  " + GetPercent(list[i].Retention7, i, list);
                    list[i].RetentionPercent15 = list[i].Retention15.ToString() + "  " + GetPercent(list[i].Retention7, i, list);
                    list[i].RetentionPercent30 = list[i].Retention30.ToString() + "  " + GetPercent(list[i].Retention7, i, list);
                }
                datagrid2.DataSource = list;

                datagrid2.DataBind();
                lblInviteNumber.Text = FriendinviteMgr.GetAllNumber(ddlZone.SelectedValue).ToString();
            }
            catch (Exception ex)
            {
                LogHelper.Insert(ex);
            }
        }
예제 #4
0
        /// <summary>
        /// 领取好友成长奖励
        /// </summary>
        /// <param name="account"></param>
        /// <param name="managerId"></param>
        /// <returns></returns>
        public GrowUpPrizeResponse GrowUpPrize(string account, Guid managerId)
        {
            GrowUpPrizeResponse response = new GrowUpPrizeResponse();

            response.Data = new GrowUpPrize();
            try
            {
                var manager = ManagerCore.Instance.GetManager(managerId);
                if (manager == null)
                {
                    return(ResponseHelper.Create <GrowUpPrizeResponse>((int)MessageCode.AdMissManager));
                }
                var list = GetFrindInviteList(account);
                if (list == null)
                {
                    return(ResponseHelper.Create <GrowUpPrizeResponse>((int)MessageCode.ActiveNotPrize));
                }
                FriendinvitePrizerecordEntity record = new FriendinvitePrizerecordEntity();
                int mayPrize = 0;
                foreach (var item in list)
                {
                    record.PrizeInfo += item.ByAccount + ",";
                    mayPrize         += item.MayPrize;
                }
                record.PrizeInfo = record.PrizeInfo.Substring(0, record.PrizeInfo.Length - 1);
                if (mayPrize <= 0)
                {
                    return(ResponseHelper.Create <GrowUpPrizeResponse>((int)MessageCode.ActiveNotPrize));
                }
                record.Account     = account;
                record.UpdateTime  = DateTime.Now;
                record.PrizeType   = 1;
                record.PrizeString = mayPrize.ToString();

                using (var transactionManager = new TransactionManager(Dal.ConnectionFactory.Instance.GetDefault()))
                {
                    transactionManager.BeginTransaction();
                    var messCode = PayCore.Instance.AddBonus(managerId, mayPrize, EnumChargeSourceType.FriendInvite,
                                                             ShareUtil.CreateSequential().ToString(), transactionManager.TransactionObject);
                    if (messCode != MessageCode.Success)
                    {
                        transactionManager.Rollback();
                        return(ResponseHelper.Create <GrowUpPrizeResponse>((int)messCode));
                    }
                    if (!FriendinviteMgr.SavePrize(account, transactionManager.TransactionObject))
                    {
                        transactionManager.Rollback();
                        return(ResponseHelper.Create <GrowUpPrizeResponse>((int)MessageCode.NbParameterError));
                    }
                    if (!FriendinvitePrizerecordMgr.Insert(record, transactionManager.TransactionObject))
                    {
                        transactionManager.Rollback();
                        return(ResponseHelper.Create <GrowUpPrizeResponse>((int)MessageCode.NbParameterError));
                    }
                    transactionManager.Commit();
                    response.Data.Point    = mayPrize;
                    response.Data.SumPoint = PayCore.Instance.GetPoint(managerId);;
                }
            }
            catch (Exception ex)
            {
                SystemlogMgr.Error("领取好友邀请奖励", ex);
                response.Code = (int)MessageCode.NbParameterError;
            }
            return(response);
        }
예제 #5
0
        void BindData()
        {
            var accountData = Master.GetAccount();

            if (accountData == null)
            {
                Master.ShowMessage("请先选择经理.");
                return;
            }
            var manager = NbManagerMgr.GetById(accountData.ManagerId, accountData.ZoneId);

            if (manager == null)
            {
                Master.ShowMessage("获取经理信息失败.");
                return;
            }
            ClearData();
            lblCoin.Text         = manager.Coin.ToString();
            lblExp.Text          = manager.EXP.ToString();
            lblLevel.Text        = manager.Level.ToString();
            lblLogo.Text         = manager.Logo.ToString();
            lblName.Text         = manager.Name;
            lblReiki.Text        = manager.Reiki.ToString();
            lblSophisticate.Text = manager.Sophisticate.ToString();
            lblStatus.Text       = CacheDataHelper.Instance.GetEnumDescription("EnumManagerStatus", manager.Status);
            lblSubstitute.Text   = (manager.TeammemberMax - 11).ToString();
            lblVipLevel.Text     = manager.VipLevel.ToString();

            var payAccount = PayUserMgr.GetById(accountData.Account, accountData.ZoneId);

            if (payAccount != null)
            {
                lblCash.Text  = payAccount.TotalCash.ToString();
                lblPoint.Text = string.Format("{0}+{1}(赠送)={2}", payAccount.Point, payAccount.Bonus, payAccount.TotalPoint);
            }

            var user = NbUserMgr.GetById(accountData.Account, accountData.ZoneId);

            if (user != null)
            {
                lblLastLoginTime.Text = user.LastLoginTime.ToString(AdminMgr.TimeFormat);
                lblRegisterTime.Text  = user.RowTime.ToString(AdminMgr.TimeFormat);
                lblLoginday.Text      = user.ContinuingLoginDay.ToString();
            }
            var onlineEntity = OnlineInfoMgr.GetById(accountData.ManagerId, accountData.ZoneId);

            if (onlineEntity != null)
            {
                lblOnlineStatus.Text = onlineEntity.IsOnline ? "在线" : "不在线";
                var total  = onlineEntity.RealTotalMinutes;
                var day    = total / 1440;
                var hour   = (total % 1440) / 60;
                var minute = ((total % 1440) % 60);
                lblOnlineTotal.Text = string.Format("{0} 天 {1} 小时 {2} 分钟", day, hour, minute);
                lblOnlineCur.Text   = onlineEntity.TodayMinutes + " 分钟";
            }
            else
            {
                lblOnlineStatus.Text = "无记录";
            }
            var    solution     = NbSolutionMgr.GetById(accountData.ManagerId, accountData.ZoneId);
            string playerString = "";

            if (solution != null)
            {
                var formation = CacheFactory.FormationCache.GetFormation(solution.FormationId);
                lblSolution.Text = formation == null?solution.FormationId.ToString() : formation.Name;

                lblSolutionPlayer.Text = solution.PlayerString;
                lblSolutionSkill.Text  = solution.SkillString;
                playerString           = solution.PlayerString;
            }

            var managerExtra = NbManagerextraMgr.GetById(accountData.ManagerId, accountData.ZoneId);

            if (managerExtra != null)
            {
                ManagerUtil.CalCurrentStamina(managerExtra, manager.Level, manager.VipLevel);
                lblStamina.Text = managerExtra.Stamina.ToString();
            }

            var teammembers = TeammemberMgr.GetByManager(accountData.ManagerId, accountData.Mod, accountData.ZoneId);

            if (teammembers != null)
            {
                foreach (var teammember in teammembers)
                {
                    teammember.Name   = AdminCache.Instance.GetPlayerName(teammember.PlayerId);
                    teammember.IsMain = playerString.Contains(teammember.PlayerId.ToString());
                }
                datagrid1.DataSource = teammembers;
                datagrid1.DataBind();
            }

            var list = FriendinviteMgr.InviteManagerList(manager.Account, accountData.ZoneId);

            if (list != null)
            {
                var friendInviteString = "";
                foreach (var item in list)
                {
                    friendInviteString += item.Name + ",";
                }
                lblFriendInvite.Text = friendInviteString;
            }
        }