void BindData() { var accountData = Master.GetAccount(); if (accountData == null) { Master.ShowMessage("请先选择经理."); return; } ClearData(); var manager = NbManagerMgr.GetById(accountData.ManagerId, accountData.ZoneId); if (manager == null) { Master.ShowMessage("获取经理信息失败."); return; } lblPoint.Text = manager.Coin.ToString(); int chargeCoin = 0; int consumeCoin = 0; ShadowMgr.CoinStat(accountData.ManagerId, ref chargeCoin, ref consumeCoin, accountData.ZoneId); lblCharge.Text = chargeCoin.ToString(); lblConsume.Text = consumeCoin.ToString(); lblPoint2.Text = string.Format("{0}", chargeCoin - consumeCoin); }
/// <summary> /// a8用户数据采集 /// </summary> /// <param name="dataType"></param> /// <param name="openId"></param> public static void UserAction(string dataType, string openId = "", string session = "", string server = "", NbManagerEntity managerEntity = null) { //"{dataType,sessionId,gameNum,channelAlias,channelId,deviceId,model,release,uid,uname,serverId,serverName,roleId,roleName,roleLevel,ext,sdkVersion}"; NbManagerEntity manager = null; if (managerEntity == null) { var list = NbManagerMgr.GetByAccount(openId, ShareUtil.ZoneName); if (list != null && list.Count > 0) { manager = list[0]; } } else { manager = managerEntity; } var postDataStr = ""; if (manager == null) { postDataStr = "dataType=" + dataType; } else { var ip = ""; try { ip = UAHelper.GetRealIP(); } catch (Exception) { } var ext = ""; var channelAlias = ""; var sessionId1 = ""; var entity = WebServerHandler.GetStartgameEntity(openId, ShareUtil.PlatformCode, ShareUtil.PlatformZoneName); if (entity != null) { var serverId = entity.ServerId; ext = entity.State; channelAlias = entity.Pf; sessionId1 = entity.SessionId; //release=1 暂留,没有实际意义 postDataStr = "dataType=" + dataType + "&sessionId=" + sessionId1 + "&gameNum=" + (int)A8csdkEnum.csdkId + "&channelAlias=" + channelAlias + "&channelId=" + entity.JsNeed + "&deviceId=" + ip + "&model=" + "&release=1" + "&channelAlias=" + channelAlias + "&subChannel=" + "&serverId=" + serverId + "&uid=" + openId + "&uname=" + "&serverId=" + serverId + "&serverName=" + serverId + "&roleId=" + openId + "&roleName=" + manager.Name + "&roleLevel=" + manager.Level + "&ext=" + ext + "&sdkVersion="; } } var url = UAFactory.Instance.GetRedirectURL(ShareUtil.PlatformCode, "useraction"); var retString = UAHelper.HttpPost(url, postDataStr); }
public static MessageCode CheckUserName(string userName, string logo) { ////检查是否有屏蔽字 //if (FilterHelper.Instance.ScanContent(userName)) //{ // return MessageCode.RegisterNameContainBadWord; //} if (string.IsNullOrEmpty(userName)) { return(MessageCode.RegisterNameIsEmpty); } if (string.IsNullOrEmpty(logo)) { logo = "1"; } logo = logo.ToLower(); if (!logo.Contains("http")) { string chinese = @"[\u4E00-\u9FA5]"; string letter = @"[a-zA-Z]"; string number = @"^\d+$"; //bool result = false; int count = 0; char[] ch = userName.ToCharArray(); foreach (char c in ch) { if (Regex.IsMatch(c.ToString(), chinese)) { count = count + 2; } else if (Regex.IsMatch(c.ToString(), letter) || Regex.IsMatch(c.ToString(), number)) { count++; } else { return(MessageCode.RegisterNameHasValidWord); } } if (count < 4 || count > 12) { return(MessageCode.RegisterNameLengthRange); } } int exists = -1; NbManagerMgr.NameExists(userName, ref exists); if (exists == 0) { return(MessageCode.Success); } else { return(MessageCode.RegisterNameRepeat); } }
public CrossladderManagerResponse GetLadderManager(string siteId, Guid managerId) { try { var ladderManager = CrossladderManagerMgr.GetById(managerId); if (ladderManager == null) { if (!ManagerUtil.CheckFunction(siteId, managerId, EnumOpenFunction.CrossLadder)) { return(ResponseHelper.Create <CrossladderManagerResponse>(MessageCode.NbFunctionNotOpen)); } var nbManager = NbManagerMgr.GetById(managerId, siteId); if (nbManager == null) { return(ResponseHelper.Create <CrossladderManagerResponse>(MessageCode.MissManager)); } int domainId = 0; int honor = 0; CrossladderManagerMgr.GetOldHonor(managerId, ref honor); CrossSiteCache.Instance().TryGetDomainId(siteId, out domainId); ladderManager = new CrossladderManagerEntity(); ladderManager.DomainId = domainId; ladderManager.SiteId = siteId; ladderManager.SiteName = CacheFactory.FunctionAppCache.GetCrossZoneName(siteId); ladderManager.ManagerId = managerId; ladderManager.Name = nbManager.Name; ladderManager.SiteId = siteId; ladderManager.Logo = nbManager.Logo; ladderManager.Score = _ladderRegisterScore; ladderManager.LastExchageTime = ShareUtil.BaseTime; ladderManager.RowTime = DateTime.Now; ladderManager.UpdateTime = DateTime.Now; ladderManager.Honor = honor; ladderManager.MaxScore = _ladderRegisterScore; ladderManager.DailyMaxScore = _ladderRegisterScore; ladderManager.Stamina = 50; CrossladderManagerMgr.Insert(ladderManager); } if (ladderManager.Stamina < 0) { ladderManager.Stamina = 0; } if (ladderManager.StaminaBuy < 0) { ladderManager.StaminaBuy = 0; } var response = ResponseHelper.CreateSuccess <CrossladderManagerResponse>(); response.Data = ladderManager; return(response); } catch (Exception ex) { SystemlogMgr.Error("GetCrossLadderManager", ex); return(ResponseHelper.Create <CrossladderManagerResponse>(MessageCode.Exception)); } }
public bool IsTxVip(Guid managerId) { var manager = NbManagerMgr.GetById(managerId); if (manager == null) { return(false); } return(IsTxVip(manager)); }
/// <summary> /// 获取分享信息 /// </summary> /// <param name="managerId"></param> /// <param name="shareType">分享类型 4=关注</param> /// <returns></returns> public ShareGetResponse GetShareInfo(Guid managerId, int shareType) { var response = new ShareGetResponse(); response.Data = new ShareGet(); try { var manager = NbManagerMgr.GetById(managerId); if (manager == null) { return(ResponseHelper.Create <ShareGetResponse>(MessageCode.MissManager)); } var config = CacheFactory.ManagerDataCache.GetShare(shareType); if (config == null || config.Count == 0) { return(ResponseHelper.Create <ShareGetResponse>(MessageCode.ActivityNoConfigPrize)); } var record = ShareManagerMgr.GetByManagerId(managerId, shareType); if (record != null) { DateTime date = DateTime.Now; if (record.UpdateTime.Date != date.Date) { var code = RefreshRecord(record, config[0]); if (code != MessageCode.Success) { return(ResponseHelper.Create <ShareGetResponse>(code)); } } if (shareType == 1)//第一种特殊处理 { if (record.ShareNumber > 0) { int seconds = 3600 - (date - record.UpdateTime).Seconds; response.Data.NextShareEnd = seconds < 0 ? 0 : seconds; } } response.Data.IsFirstShare = false; response.Data.ShareNumber = record.ShareNumber; response.Data.IsHaveShare = config[0].MaxShareNumber > record.ShareNumber; } else { response.Data.IsHaveShare = true; response.Data.IsFirstShare = true; response.Data.ShareNumber = 0; } } catch (Exception ex) { SystemlogMgr.Error("获取分享信息", ex); response.Code = (int)MessageCode.NbParameterError; } return(response); }
private void UserActionNew(string dataType, string sessionId, string channelAlias, string openId, string jsNeed, string serverId, string state) { //"{dataType,sessionId,gameNum,channelAlias,channelId,deviceId,model,release,uid,uname,serverId,serverName,roleId,roleName,roleLevel,ext,sdkVersion}"; NbManagerEntity manager = null; var name = ""; var level = 1; try { var list = NbManagerMgr.GetByAccount(openId, ShareUtil.ZoneName); if (list != null && list.Count > 0) { manager = list[0]; name = manager.Name; level = manager.Level; } } catch (Exception ex) { } var postDataStr = ""; if (manager == null) { postDataStr = "dataType=" + dataType; } else { var ip = ""; try { ip = UAHelper.GetRealIP(); } catch (Exception) { } var oId = UAHelper.StrToUtf8(openId); //release=1 暂留,没有实际意义 postDataStr = "dataType=" + dataType + "&sessionId=" + sessionId + "&gameNum=" + (int)A8csdkEnum.csdkId + "&channelAlias=" + channelAlias + "&channelId=" + jsNeed + "&deviceId=" + ip + "&model=" + "&release=1" + "&channelAlias=" + channelAlias + "&subChannel=" + "&serverId=" + serverId + "&uid=" + oId + "&uname=" + "&serverId=" + serverId + "&serverName=" + serverId + "&roleId=" + openId + "&roleName=" + name + "&roleLevel=" + level + "&ext=" + state + "&sdkVersion="; //第一个枚举参数不变 第二个枚举参数作废不更改 } var url = UAFactory.Instance.GetRedirectURL(ShareUtil.PlatformCode, "useraction"); var retString = UAHelper.HttpPost(url, postDataStr); }
public List <NbManagerEntity> GetManagerList(string account) { try { return(NbManagerMgr.GetByAccount(account)); } catch (Exception ex) { LogHelper.Insert(ex); return(null); } }
//private bool CopyData() //{ // int returnValue = 0 ; // string returnMsg = string.Empty; // NbManagerMgr.TransferZoneByAccount("", _accountDataOld.Account, _accountDataOld.Name, _accountDataOld.ManagerId.ToString(), _accountDataOld.Mod.ToString(), _accountDataNew.Account, // _accountDataNew.Name, _accountDataNew.ManagerId.ToString(), _accountDataNew.Mod.ToString(), ref returnValue, ref returnMsg); // return true; //} private bool GetManagerByName(string name, string zoneId, bool oldOrNew) { if (!string.IsNullOrEmpty(name)) { var manager = NbManagerMgr.GetByName(name, zoneId); if (manager != null) { SetAccount(manager, zoneId, oldOrNew); return(true); } } return(false); }
private bool GetManagerByAccount(string zoneId) { var account = txtAccount.Text.Trim(); if (!string.IsNullOrEmpty(account)) { var managers = NbManagerMgr.GetByAccount(account, zoneId); if (managers != null && managers.Count > 0) { SetAccount(managers[0], zoneId); return(true); } } return(false); }
private bool GetManagerByName(string zoneId) { var name = txtManagerName.Text.Trim(); if (!string.IsNullOrEmpty(name)) { var manager = NbManagerMgr.GetByName(name, zoneId); if (manager != null) { SetAccount(manager, zoneId); return(true); } } return(false); }
/// <summary> /// 是否开启了拍卖行 /// </summary> /// <param name="managerId"></param> /// <param name="zoneName"></param> /// <param name="manager"></param> /// <returns></returns> public bool IsOpen(Guid managerId, string zoneName, NbManagerEntity manager = null) { if (manager == null) { manager = NbManagerMgr.GetById(managerId, zoneName); } if (manager == null) { return(false); } if (manager.Level < 30 && manager.VipLevel < 3) { return(false); } return(true); }
private bool GetManagerByIdx(string zoneId) { var idx = txtManagerId.Text.Trim(); Guid managerId = Guid.Empty; Guid.TryParse(idx, out managerId); if (managerId != Guid.Empty) { var manager = NbManagerMgr.GetById(managerId, zoneId); if (manager != null) { SetAccount(manager, zoneId); return(true); } } return(false); }
public CrossMallDirectFrame(string siteId, Guid managerId, EnumConsumeSourceType consumeSourceType, int usedCount = 0) { _siteId = siteId; var manager = NbManagerMgr.GetById(managerId, siteId); if (manager != null) { _managerId = managerId; _account = manager.Account; _configMalldirectEntity = CacheFactory.MallCache.GetDirectEntity(consumeSourceType, usedCount); if (_configMalldirectEntity == null) { string msg = "can't find mall direct config,consumeSourceType:" + consumeSourceType + ",usedCount:" + usedCount; LogHelper.Insert(msg, LogType.Info); throw new Exception(msg); } } }
public static long GetWorthValue(Guid managerId, WorthSource worthSrc, EnumWorthType worthType) { long val = -1; try { if (null == worthSrc) { worthSrc = new WorthSource(); } if (null == worthSrc.Manager) { worthSrc.Manager = NbManagerMgr.GetById(managerId); } if (null == worthSrc.Manager) { return(val); } switch (worthType) { case EnumWorthType.Gold: if (null == worthSrc.Account) { worthSrc.Account = GetPayAccount(worthSrc.Manager.Account); } return(worthSrc.Account.TotalPoint); case EnumWorthType.Coin: return(worthSrc.Manager.Coin); case EnumWorthType.ManagerLevel: return(worthSrc.Manager.Level); case EnumWorthType.VipLevel: return(worthSrc.Manager.VipLevel); } } catch (Exception ex) { SystemlogMgr.Error("FrameConvert:GetWorthValue", ex); } return(val); }
static RootResponse <DTOAssetInfo> SaveReward(NbManagerEntity manager, string orderId, int coin, int point, int assetType, int tranType, string tranMap) { var msgCode = MessageCode.Success; int totalCoin = -1; int totalPoint = -1; using (var tranMgr = new TransactionManager(Games.NBall.Dal.ConnectionFactory.Instance.GetConnectionString(EnumDbType.Main))) { tranMgr.BeginTransaction(); do { if (coin > 0) { msgCode = ManagerCore.Instance.AddCoinV2(out totalCoin, manager, coin, (int)EnumCoinChargeSourceType.MatchReward, orderId, tranMgr.TransactionObject); if (msgCode != MessageCode.Success) { break; } } if (point > 0) { msgCode = PayCore.Instance.AddBonusV2(out totalPoint, manager.Account, point, EnumChargeSourceType.MatchReward, orderId, tranMgr.TransactionObject); if (msgCode != MessageCode.Success) { break; } } int errorCode = 0; NbManagerMgr.AssetRecord(false, manager.Idx, assetType, tranType, tranMap, ref errorCode, tranMgr.TransactionObject); msgCode = (MessageCode)errorCode; }while (false); if (msgCode != MessageCode.Success) { tranMgr.Rollback(); return(ResponseHelper.CreateRoot <DTOAssetInfo>(msgCode)); } tranMgr.Commit(); } ManagerCore.Instance.DeleteCache(manager.Idx); var data = new DTOAssetInfo(totalCoin, totalPoint); return(ResponseHelper.CreateRoot <DTOAssetInfo>(data)); }
public static NbManagerEntity GetManager(Guid managerId, bool containKpi = false, bool containTourLeague = false, string siteId = "") { try { var manager = MemcachedFactory.ManagerClient.Get <NbManagerEntity>(managerId); if (manager == null) { manager = NbManagerMgr.GetById(managerId, siteId); if (manager != null) { if (containTourLeague) { FillTourLeague(manager); } //if (!string.IsNullOrEmpty(siteId)) //{ //manager.Name = ShareUtil.GetCrossManagerNameByZoneId(siteId, manager.Name); //} MemcachedFactory.ManagerClient.Set(manager.Idx, manager); } } if (manager != null) { if (containKpi) { manager.Kpi = GetManagerKpi(managerId, siteId); } if (containTourLeague && manager.TourLeague <= 0) { FillTourLeague(manager); MemcachedFactory.ManagerClient.Set(manager.Idx, manager); } } return(manager); } catch (Exception ex) { SystemlogMgr.Error("GetManager", "get manager data fail,mid:" + managerId, ex.StackTrace); throw ex; } }
public MessageCode CheckActive(string account) { try { var manager = NbManagerMgr.GetByAccount(account); if (manager == null || manager.Count <= 0) { return(MessageCode.MissManager); } else { return(MessageCode.Success); } } catch (Exception ex) { SystemlogMgr.Error("Admin CheckActive", ex); return(MessageCode.Exception); } }
public static Guid GetManagerId(string account) { try { var list = NbManagerMgr.GetByAccount(account); if (list != null) { return(list[0].Idx); } else { return(Guid.Empty); } } catch (Exception ex) { LogHelper.Insert(ex); return(Guid.Empty); } }
public static WorthSource GetWorthSource(Guid managerId, bool managerFlag, bool accountFlag, string siteId = "") { var obj = new WorthSource(); try { if (managerFlag || accountFlag) { obj.Manager = NbManagerMgr.GetById(managerId, siteId); } if (accountFlag) { obj.Account = GetPayAccount(obj.Manager.Account, siteId); } } catch (Exception ex) { SystemlogMgr.Error("FrameConvert:GetWorthSource", ex); } return(obj); }
public void Testt10() { //var r = ScoutingCore.Instance.ScoutingLottery(new Guid("212DCEF2-3AAF-454D-A632-A62600E5BDFA"),2,false,10 ); //var rr = r; //var rrr = rr; var list = NbManagerMgr.GetAll(); var r = 0; foreach (var ent in list) { var str = ""; str = ent.Account; if (!string.IsNullOrEmpty(ent.Account) && !str.Contains("Bot")) { ItemCore.Instance.GMAddItem("", ent.Idx, 310166, 20, 1, false); } } var rr = r; var rrr = rr; }
protected void btnUpLevel_Click(object sender, EventArgs e) { try { if (CheckManager()) { var level = ConvertHelper.ConvertToInt(txtLevel.Text); if (level < 1) { ShowMessage("等级不能小于1"); return; } if (level > 80) { ShowMessage("等级不能超过80"); return; } var exp = ConvertHelper.ConvertToInt(txtExp.Text); var manager = NbManagerMgr.GetById(_account.ManagerId, _account.ZoneId); manager.Level = level; manager.EXP = exp; if (NbManagerMgr.Update(manager, null, _account.ZoneId)) { SaveAdminLog(EnumAdminOperationType.UpLevel, string.Format("Level:{0}", level)); ShowMessage("修改等级成功"); } else { ShowMessage("修改等级失败"); } } } catch (Exception ex) { LogHelper.Insert(ex); ShowMessage(ex.Message); } }
/// <summary> /// 批量获取玩家信息 /// </summary> /// <param name="data">json</param> /// <returns></returns> public List <NbManagerEntity> IsRegistByNameList(string data) { data = "{\"data\":" + data + "}"; JavaScriptSerializer serializer = new JavaScriptSerializer(); var listData = new OtherTweJsonEntity(); try { listData = serializer.Deserialize <OtherTweJsonEntity>(data); } catch (Exception e) { SystemlogMgr.Info("IsRegistByNameList", e.Message + "|json解析错误"); return(null); } if (listData == null || listData.Data == null || listData.Data.Count == 0) { SystemlogMgr.Info("IsRegistByNameList", "参数为空"); return(null); } SystemlogMgr.Info("IsRegistByNameList", listData.Data.Count + "|计数"); var list = new List <NbManagerEntity>(); foreach (var entity in listData.Data) { var manager = new NbManagerEntity(); manager = NbManagerMgr.GetByName(entity.Name); if (manager == null || manager.Name != entity.Name) { SystemlogMgr.Info("IsRegistByNameList", entity.Name + "不存在" + manager.Name); return(null); } list.Add(manager); } return(list); }
/// <summary> /// 获取活动信息 /// </summary> /// <param name="managerId"></param> /// <param name="zoneName"></param> /// <returns></returns> public CrossActivityInfoResponse GetActivityInfo(Guid managerId, string zoneName) { CrossActivityInfoResponse response = new CrossActivityInfoResponse(); response.Data = new CrossActivityInfo(); try { if (!IsActivity) { response.Data.IsOpen = false; return(response); } var managerInfo = NbManagerMgr.GetById(managerId, zoneName); if (managerInfo == null) { return(ResponseHelper.Create <CrossActivityInfoResponse>(MessageCode.NbParameterError)); } var maxCount = CacheFactory.VipdicCache.GetEffectValue(managerInfo.VipLevel, (int)EnumVipEffect.BeThankfulActivity); var usedNumber = CrossactivityRecordMgr.GetActivityNumber(managerId, DateTime.Now.Date); response.Data.MaxNumber = maxCount; response.Data.UsedNumber = usedNumber; response.Data.GoldBar = _ActivityInfo.GoldBarNumber; //response.Data.PrizeList = CacheFactory.TurntableCache.GetAllPrize(); response.Data.IsOpen = true; response.Data.ActivityEnd = ShareUtil.GetTimeTick(_ActivityInfo.EndTime); response.Data.ActivityStart = ShareUtil.GetTimeTick(_ActivityInfo.StartTime); response.Data.IsPrompt = maxCount > usedNumber; } catch (Exception ex) { SystemlogMgr.Error("获取跨服活动信息", ex); response.Code = (int)MessageCode.NbParameterError; } return(response); }
/// <summary> /// 获取我的拍卖列表 /// </summary> /// <param name="managerId"></param> /// <param name="zoneName"></param> /// <returns></returns> public AuctionItemResponse GetMyAuctionList(Guid managerId, string zoneName) { var response = new AuctionItemResponse(); response.Data = new AuctionItemEntity(); try { var manager = NbManagerMgr.GetById(managerId, zoneName); if (manager == null) { return(ResponseHelper.Create <AuctionItemResponse>(MessageCode.AdMissManager)); } if (!IsOpen(managerId, zoneName, manager)) { return(ResponseHelper.Create <AuctionItemResponse>(MessageCode.TransferNotOpen)); } //已经挂牌了多少个 var number = TransferMainMgr.GetTransferNumber(managerId); //最多可以挂牌多少个 var gambleCountMax = CacheFactory.VipdicCache.GetEffectValue(manager.VipLevel, EnumVipEffect.TransferNumber); response.Data.MyTransferList = GetMyTransfer(managerId); response.Data.MaxTransferNumber = gambleCountMax; response.Data.HaveTransferNumber = number; var goldBarEntity = ScoutingGoldbarMgr.GetById(managerId, zoneName); if (goldBarEntity != null) { response.Data.MyGoldBar = goldBarEntity.GoldBarNumber; } } catch (Exception ex) { SystemlogMgr.Error("获取我的拍卖列表", ex); response.Code = (int)MessageCode.NbParameterError; } return(response); }
public static bool SaveManagerData(NbManagerEntity manager, NbManagerextraEntity extra, bool openTask = true, DbTransaction transaction = null, string zoneId = "") { try { var functionList = manager.FunctionList; if (manager.IsLevelup) { var function = CacheFactory.ManagerDataCache.GetFunctionList(manager.Level); if (function != null) { if (function.FunctionId > 0) { manager.AddOpenFunc(function.FunctionId); } functionList = function.FunctionList; if (extra != null) { extra.FunctionList = functionList; } } } int returnCode = -2; var levelGiftExpired = ShareUtil.BaseTime; var levelGiftExpired2 = ShareUtil.BaseTime; var levelGiftExpired3 = ShareUtil.BaseTime; int step = 0; if (manager.IsLevelup) { step = CacheFactory.ManagerDataCache.GetLevelgiftStep(manager.Level); if (step > 0) { manager.OpenLevelGift = true; switch (step) { case 1: levelGiftExpired = DateTime.Now.AddHours(72); break; case 2: levelGiftExpired2 = DateTime.Now.AddHours(72); break; case 3: levelGiftExpired3 = DateTime.Now.AddHours(72); break; } if (extra != null) { extra.LevelGiftExpired = levelGiftExpired; extra.LevelGiftExpired2 = levelGiftExpired2; extra.LevelGiftExpired3 = levelGiftExpired3; extra.LevelGiftStep = step; } } } NbManagerMgr.Save(manager.Idx, manager.Level, manager.EXP, manager.Sophisticate, manager.Score, manager.Coin, manager.Reiki, manager.TeammemberMax, manager.TrainSeatMax, manager.VipLevel, functionList, levelGiftExpired, levelGiftExpired2, levelGiftExpired3, step, manager.RowVersion, ref returnCode, transaction, zoneId); if (returnCode != 0) { return(false); } manager.FunctionList = functionList; try { if (manager.IsLevelup) { var code = SkillCardRules.SetSkillMapByManagerLevel(manager, transaction); if (code != MessageCode.Success) { return(false); } var addSkillPoint = CacheFactory.ManagerDataCache.GetAddSkillPointByLevel(manager.Level); if (extra != null) { extra.SkillPoint += addSkillPoint; } else { if (!NbManagerextraMgr.AddSkillPoint(manager.Idx, addSkillPoint, transaction)) { return(false); } } CalCurrentStamina(extra, manager.Level, manager.VipLevel); if (extra == null) { extra = ManagerCore.Instance.GetManagerExtra(manager.Idx); if (extra.Stamina < extra.StaminaMax) { extra.Stamina = extra.StaminaMax; // extra.Stamina += ManagerLevelupAddStamina; //if (extra.Stamina > extra.StaminaMax) // extra.Stamina = extra.StaminaMax; extra.ResumeStaminaTime = DateTime.Now; NbManagerextraMgr.Update(extra, transaction); } } else { if (extra.Stamina < extra.StaminaMax) { extra.Stamina = extra.StaminaMax; extra.ResumeStaminaTime = DateTime.Now; } } //if (TaskCore.Instance.CheckOpenDailyTask(manager.Level)) //{ // var daily = TaskDailyrecordMgr.GetById(manager.Idx, zoneId); // if (daily == null) // { // var entity = TaskCore.Instance.CreateDailyTask(manager.Idx); // if (!TaskDailyrecordMgr.Insert(entity, transaction, zoneId)) // return false; // } //} if (openTask) { List <TaskRecordEntity> newTasks = new List <TaskRecordEntity>(); TaskCore.Instance.GetLevelOpenTasks(manager.Idx, manager.Level, ref newTasks, zoneId); if (newTasks.Count > 0) { foreach (var entity in newTasks) { TaskCore.Instance.HandleOpenTaskStatus(entity, zoneId); if (!TaskRecordMgr.Add(entity, transaction, zoneId)) { return(false); } } manager.HasOpenTask = true; } } //如果等级为15级 向竞技场注册用户 //获取竞技场等级限制 //if (manager.Level == level.Values) //{ //} } } catch (Exception ex) { SystemlogMgr.ErrorByZone("SaveManagerData Task pending", ex, zoneId); return(false); } return(true); } catch (Exception ex) { SystemlogMgr.ErrorByZone("SaveManagerData", ex, zoneId); return(false); } finally { ManagerCore.Instance.DeleteCache(manager.Idx); } }
protected void btnSend_Click(object sender, EventArgs e) { try { var zoneId = ZoneId; if (string.IsNullOrEmpty(zoneId)) { ShowMessage("请选择区"); return; } var users = txtUserList.Text; if (string.IsNullOrEmpty(users)) { ShowMessage("请选择用户"); return; } var title = txtMailTitle.Text; if (string.IsNullOrEmpty(title)) { ShowMessage("请输入标题"); return; } var content = txtMailContent.Text; if (string.IsNullOrEmpty(content)) { ShowMessage("请输入内容"); return; } List <NbManagerEntity> managers = new List <NbManagerEntity>(); var ss = users.Split(','); foreach (var s in ss) { var manager = NbManagerMgr.GetByAccount(s, zoneId); if (manager == null || manager.Count < 1) { ShowMessage("未找到对应经理,账号:" + s); return; } managers.Add(manager[0]); } var mailType = ConvertHelper.ConvertToInt(dr_type.SelectedValue); var attachments = GetAttachments(); if (mailType == 1) { MailBuilder mail = new MailBuilder(title, content); if (attachments.Count > 0) { foreach (var entity in attachments) { switch (entity.Type) { case 1: mail.AddAttachment(EnumCurrencyType.Coin, entity.Count); break; case 2: mail.AddAttachment(EnumCurrencyType.Point, entity.Count); break; case 3: mail.AddAttachment(entity.Count, entity.ItemCode, entity.IsBinding, entity.Strength); break; case 4: //声望 mail.AddAttachment(EnumCurrencyType.Prestige, entity.Count); break; case 8: //绑劵 mail.AddAttachment(EnumCurrencyType.BindPoint, entity.Count); break; } } } List <MailInfoEntity> mailList = new List <MailInfoEntity>(managers.Count); var mailInfo = mail.MailInfo; foreach (var entity in managers) { var mailEntity = mailInfo.Clone(); mailEntity.ManagerId = entity.Idx; mailList.Add(mailEntity); } var mailTable = MailCore.BuildMailBulkTable(mailList); if (MailSqlHelper.SaveMailBulk(mailTable, ConnectionFactory.Instance.GetConnectionString(zoneId, "Main"))) { ShowMessage("发送成功"); datagrid1.DataSource = null; datagrid1.DataBind(); LocalAttachment = null; } else { ShowMessage("发送失败"); } } else if (mailType == 2) { //{ // MailShareBuilder mail = new MailShareBuilder(title, content); // if (attachments.Count > 0) // { // foreach (var entity in attachments) // { // switch (entity.Type) // { // case 1: // mail.AddAttachment(EnumCurrencyType.Coin, entity.Count); // break; // case 2: // mail.AddAttachment(EnumCurrencyType.Point, entity.Count); // break; // case 3: // mail.AddAttachment(entity.Count, entity.ItemCode, entity.IsBinding, entity.Strength); // break; // case 4://声望 // mail.AddAttachment(EnumCurrencyType.Prestige, entity.Count); // break; // case 8://绑劵 // mail.AddAttachment(EnumCurrencyType.BindPoint, entity.Count); // break; // } // } // } // MailshareInfoEntity mailList = new MailshareInfoEntity(); // var mailInfo = mail.MailInfo; // if (managers.Count > 1) // { // ShowMessage("只支持单个发送"); // return; // } // foreach (var entity in managers) // { // var mailEntity = mailInfo.Clone(); // mailEntity.Account = entity.Account; // } // if (mail.Save(zoneId)) // { // ShowMessage("发送成功"); // datagrid1.DataSource = null; // datagrid1.DataBind(); // LocalAttachment = null; // } // else // { // ShowMessage("发送失败"); // } //} ShowMessage("请选择邮件类型"); } } catch (Exception ex) { LogHelper.Insert(ex); ShowMessage("发送失败:" + ex.Message); } }
/// <summary> /// 抽奖 /// </summary> /// <param name="managerId"></param> /// <param name="zoneName"></param> /// <returns></returns> public CrossActivityPrizeResponse Prize(Guid managerId, string zoneName) { CrossActivityPrizeResponse response = new CrossActivityPrizeResponse(); response.Data = new CrossActivityPrize(); try { if (!IsActivity) { return(ResponseHelper.Create <CrossActivityPrizeResponse>(MessageCode.CrowdNoData)); } var managerInfo = NbManagerMgr.GetById(managerId, zoneName); if (managerInfo == null) { return(ResponseHelper.Create <CrossActivityPrizeResponse>(MessageCode.NbParameterError)); } var maxCount = CacheFactory.VipdicCache.GetEffectValue(managerInfo.VipLevel, (int)EnumVipEffect.BeThankfulActivity); var usedNumber = CrossactivityRecordMgr.GetActivityNumber(managerId, DateTime.Now.Date); if (maxCount <= usedNumber) { return(ResponseHelper.Create <CrossActivityPrizeResponse>(MessageCode.DayNumberNot)); } var result = Prize(managerInfo.VipLevel); CrossactivityRecordEntity entity = new CrossactivityRecordEntity(0, managerId, zoneName, result.PrizeId, DateTime.Now); ItemPackageFrame package = null; int addPoint = 0; int addGoldBar = 0; int itemCode = 0; int itemCount = 0; var messageCode = AddPrize(result, managerId, zoneName, ref package, ref addPoint, ref addGoldBar, ref itemCode, ref itemCount); if (messageCode != MessageCode.Success) { return(ResponseHelper.Create <CrossActivityPrizeResponse>(messageCode)); } if (addPoint > 0) { messageCode = PayCore.Instance.AddBonus(managerInfo.Account, addPoint, EnumChargeSourceType.CrossActivity, ShareUtil.GenerateComb().ToString(), null, zoneName); if (messageCode != MessageCode.Success) { return(ResponseHelper.Create <CrossActivityPrizeResponse>(messageCode)); } } else if (package != null) { if (!package.Save()) { return(ResponseHelper.Create <CrossActivityPrizeResponse>(MessageCode.NbUpdateFail)); } package.Shadow.Save(); } else if (addGoldBar > 0) { var goldBarManager = ScoutingGoldbarMgr.GetById(managerId, zoneName); if (goldBarManager == null) { goldBarManager = new ScoutingGoldbarEntity(managerId, addGoldBar, 0, 0, 0, DateTime.Now, DateTime.Now); if (!ScoutingGoldbarMgr.Insert(goldBarManager, null, zoneName)) { return(ResponseHelper.Create <CrossActivityPrizeResponse>(MessageCode.NbUpdateFail)); } } else { goldBarManager.GoldBarNumber = goldBarManager.GoldBarNumber + addGoldBar; if (!ScoutingGoldbarMgr.Update(goldBarManager, null, zoneName)) { return(ResponseHelper.Create <CrossActivityPrizeResponse>(MessageCode.NbUpdateFail)); } } } try { CrossactivityRecordMgr.Insert(entity); } catch { } response.Data.MaxNumber = maxCount; response.Data.PrizeId = result.PrizeId; response.Data.UsedNumber = usedNumber + 1; response.Data.Number = itemCount; response.Data.ItemCode = itemCode; } catch (Exception ex) { SystemlogMgr.Error("抽奖", ex); response.Code = (int)MessageCode.NbParameterError; } return(response); }
/// <summary> /// 开始拍卖 /// </summary> /// <param name="managerId"></param> /// <param name="zoneName"></param> /// <param name="itemId"></param> /// <param name="price"></param> /// <param name="transferDuration"></param> public AuctionItemResponse AuctionItem(Guid managerId, string zoneName, Guid itemId, int price, int transferDuration) { var response = new AuctionItemResponse(); response.Data = new AuctionItemEntity(); try { DateTime date = DateTime.Now; var manager = NbManagerMgr.GetById(managerId, zoneName); if (manager == null) { return(ResponseHelper.Create <AuctionItemResponse>(MessageCode.AdMissManager)); } if (!IsOpen(managerId, zoneName, manager)) { return(ResponseHelper.Create <AuctionItemResponse>(MessageCode.TransferNotOpen)); } //已经挂牌了多少个 var number = TransferMainMgr.GetTransferNumber(managerId); //最多可以挂牌多少个 var gambleCountMax = CacheFactory.VipdicCache.GetEffectValue(manager.VipLevel, EnumVipEffect.TransferNumber); if (gambleCountMax <= number) { return(ResponseHelper.Create <AuctionItemResponse>(MessageCode.TransferNumberMax)); } var package = ItemCore.Instance.GetPackage(managerId, EnumTransactionType.Transfer, zoneName); if (package == null) { return(ResponseHelper.Create <AuctionItemResponse>(MessageCode.NbNoPackage)); } if (price < 2) { return(ResponseHelper.Create <AuctionItemResponse>(MessageCode.StartPriceSmall)); } var item = package.GetItem(itemId); if (item == null) { return(ResponseHelper.Create <AuctionItemResponse>(MessageCode.ItemNotExists)); } if (!item.IsDeal) { return(ResponseHelper.Create <AuctionItemResponse>(MessageCode.NotDeal)); } var strength = item.GetStrength(); if (strength > 1) { return(ResponseHelper.Create <AuctionItemResponse>(MessageCode.NotDeal)); } var iteminfo = CacheFactory.ItemsdicCache.GetItem(item.ItemCode); if (iteminfo == null) { return(ResponseHelper.Create <AuctionItemResponse>(MessageCode.ItemNotExists)); } //默认86400秒 24小时 TransferMainEntity entity = new TransferMainEntity(ShareUtil.GenerateComb(), _domainId, item.ItemCode, iteminfo.ItemName, new byte[0], manager.Name, managerId, zoneName, price, "", "", 0, Guid.Empty, date, date.AddDays(1), 0, 0, 0, date, date); var messageCode = package.Delete(itemId); if (messageCode != MessageCode.Success) { return(ResponseHelper.Create <AuctionItemResponse>(messageCode)); } if (!package.Save()) { return(ResponseHelper.Create <AuctionItemResponse>(MessageCode.NbUpdateFail)); } if (!TransferMainMgr.Insert(entity)) { messageCode = package.AddItem(item.ItemCode); if (messageCode != MessageCode.Success) { SystemlogMgr.Error("拍卖返还物品失败", "拍卖返还物品失败,managerId:" + managerId + ",zoneName:" + zoneName + "物品ID:" + item.ItemCode); } return(ResponseHelper.Create <AuctionItemResponse>(MessageCode.NbUpdateFail)); } package.Shadow.Save(); entity.TransferDurationTick = ShareUtil.GetTimeTick(entity.TransferDuration); entity.TransferDurationTick = ShareUtil.GetTimeTick(entity.TransferDuration); var modId = ShareUtil.GetTableMod(entity.TransferId); entity.ModId = modId; _tenTransferList.Add(entity); Sort(); response.Data.MyTransferList = GetMyTransfer(managerId); response.Data.MaxTransferNumber = gambleCountMax; response.Data.HaveTransferNumber = number + 1; var goldBarEntity = ScoutingGoldbarMgr.GetById(managerId, zoneName); if (goldBarEntity != null) { response.Data.MyGoldBar = goldBarEntity.GoldBarNumber; } } catch (Exception ex) { SystemlogMgr.Error("开始拍卖", ex); response.Code = (int)MessageCode.NbParameterError; } return(response); }
/// <summary> /// 分享游戏奖励(分类) /// </summary> /// <param name="managerId"></param> /// <param name="shareType"></param> /// <returns></returns> public MessageCodeResponse DoShare(Guid managerId, int shareType) { try { DateTime date = DateTime.Now; var manager = NbManagerMgr.GetById(managerId); if (manager == null) { return(ResponseHelper.Create <MessageCodeResponse>(MessageCode.MissManager)); } var shareConfig = CacheFactory.ManagerDataCache.GetShare(shareType); if (shareConfig.Count <= 0) { return(ResponseHelper.Create <MessageCodeResponse>(MessageCode.NbParameterError)); } var entity = ShareManagerMgr.GetByManagerId(managerId, shareType); if (entity != null && !shareConfig[0].IsRepetition) //不可重复领取 { TaskHandler.Instance.Share(managerId); return(ResponseHelper.Create <MessageCodeResponse>(MessageCode.AlreadyShare)); } if (entity != null && entity.ShareNumber >= shareConfig[0].MaxShareNumber) { return(ResponseHelper.Create <MessageCodeResponse>(MessageCode.MaxShareNumber)); } if (shareType == 1) //第一种特殊处理 { if (entity != null) { if (entity.ShareNumber > 0 && (date - entity.UpdateTime).Seconds < 3600) { return(ResponseHelper.Create <MessageCodeResponse>(MessageCode.NowShareNotPrize)); } } } int point = 0; int coin = 0; bool isFirst = false; if (entity == null) //首次分享 { isFirst = true; entity = new ShareManagerEntity(0, managerId, shareType, 1, date, date); } else { entity.ShareNumber++; entity.UpdateTime = date; } var itemList = new Dictionary <int, int>(); var messageCode = SendPrize(shareConfig, isFirst, ref itemList, ref point, ref coin); var mail = new MailBuilder(managerId, point, coin, itemList, EnumMailType.Share); if (messageCode != MessageCode.Success) { return(ResponseHelper.Create <MessageCodeResponse>(messageCode)); } messageCode = SavePrize(entity, mail); return(ResponseHelper.Create <MessageCodeResponse>(messageCode)); } catch (Exception ex) { SystemlogMgr.Error("分享游戏", ex); return(ResponseHelper.Create <MessageCodeResponse>(MessageCode.NbParameterError)); } }