/// <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); }
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); }
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); } }
/// <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); }
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; } }