public MessageCode SaveInvitePrize(NbManagerEntity manager, FriendinvitePrizerecordEntity record, ItemPackageFrame package, DbTransaction trans, int coin, string account) { if (manager != null) { if (!ManagerUtil.SaveManagerData(manager, null, trans)) { return(MessageCode.NbUpdateFailPackage); } } if (coin > 0) { var mess = ManagerCore.Instance.AddCoin(manager, coin, EnumCoinChargeSourceType.FriendInvite, Guid.NewGuid().ToString(), trans); if (mess != MessageCode.Success) { return(mess); } } if (!FriendinvitePrizerecordMgr.Insert(record, trans)) { return(MessageCode.NbUpdateFailPackage); } if (!package.Save(trans)) { return(MessageCode.NbUpdateFailPackage); } package.Shadow.Save(); return(MessageCode.Success); }
static void AddManagerData(Guid managerId, int prizeExp, int prizeCoin, int prizeSophisticate, EnumCoinChargeSourceType coinSourceType, string coinOrderId) { NbManagerEntity homeManager = ManagerCore.Instance.GetManager(managerId); ManagerUtil.AddManagerData(homeManager, prizeExp, prizeCoin, prizeSophisticate, coinSourceType, coinOrderId); ManagerUtil.SaveManagerData(homeManager); ManagerUtil.SaveManagerAfter(homeManager, true); }
public MessageCode AddManagerData(Guid managerId, int prizeExp, int prizeCoin, int prizeSophisticate) { try { NbManagerEntity homeManager = ManagerCore.Instance.GetManager(managerId); ManagerUtil.AddManagerData(homeManager, prizeExp, prizeCoin, prizeSophisticate, EnumCoinChargeSourceType.AdminAdd, ""); ManagerUtil.SaveManagerData(homeManager); ManagerUtil.SaveManagerAfter(homeManager, true); return(MessageCode.Success); } catch (Exception ex) { SystemlogMgr.Error("AdminCore:AddManagerData", ex); return(MessageCode.Exception); } }
public NBManagerInfoResponse Levelup(Guid managerId) { var manager = ManagerCore.Instance.GetManager(managerId); var levelupExp = CacheFactory.ManagerDataCache.GetExp(manager.Level); if (levelupExp > 0) { levelupExp = levelupExp - manager.EXP + 1; ManagerUtil.AddManagerData(manager, levelupExp, 0, 0, EnumCoinChargeSourceType.None, ""); if (ManagerUtil.SaveManagerData(manager)) { ManagerUtil.SaveManagerAfter(manager); return(ManagerCore.Instance.GetManagerInfo(managerId, false)); } else { return(ResponseHelper.Create <NBManagerInfoResponse>(MessageCode.NbUpdateFail)); } } else { return(ResponseHelper.Create <NBManagerInfoResponse>(MessageCode.NbManagerLevelOver)); } }
public ExchangeResponse Exchange(Guid managerId, string exchangeId, string pf) { if (string.IsNullOrEmpty(exchangeId)) { return(ResponseHelper.Create <ExchangeResponse>(MessageCode.ExchangeCodeNotExists)); } var manager = ManagerCore.Instance.GetManager(managerId); if (manager == null) { return(ResponseHelper.Create <ExchangeResponse>(MessageCode.NbParameterError)); } var packCode = CacheFactory.AppsettingCache.GetAppSetting(EnumAppsetting.H5_360GoodsBag); var arr = packCode.Split('|'); if (arr.Count() >= 2) { if (exchangeId == arr[0]) { //类型1为360礼包 return(Send360GoodsBay(manager, arr[1], arr[0], 1)); } } var packCode2 = CacheFactory.AppsettingCache.GetAppSetting(EnumAppsetting.H5_888kkk); var arr2 = packCode2.Split('|'); if (arr2.Count() >= 2) { if (exchangeId == arr2[0]) { //类型2为888kkk礼包 return(Send360GoodsBay(manager, arr2[1], arr2[0], 2)); } } ExchangeInfoEntity exchangeInfo = null; exchangeInfo = ExchangeInfoMgr.GetById(exchangeId); if (exchangeInfo == null) { return(ResponseHelper.Create <ExchangeResponse>(MessageCode.ExchangeCodeNotExists)); } if (exchangeInfo.Status == 1) { return(ResponseHelper.Create <ExchangeResponse>(MessageCode.ExchangeIsUsed)); } if (exchangeInfo.PlatformCode != "h5_a8") { if (pf != exchangeInfo.PlatformCode) { return(ResponseHelper.Create <ExchangeResponse>(MessageCode.ExchangeCodeNotExists)); } } int returnCode = -2; var package = ItemCore.Instance.GetPackage(managerId, EnumTransactionType.ExchangeCodePrize); int effectCoin = 0; int curValue = 0; int effectPoint = 0; int bindPoint = 0; ExchangeEntity exchangeEntity = new ExchangeEntity(); exchangeEntity.PrizeList = new List <ExchangePrizeEntity>(); var messagecode = MallCore.Instance.UseNewPlayerPack(managerId, exchangeInfo.PackId, package, EnumCoinChargeSourceType.Exchange, ref manager, ref effectCoin, ref curValue, ref effectPoint, ref bindPoint, exchangeEntity); if (messagecode != MessageCode.Success) { return(ResponseHelper.Create <ExchangeResponse>(messagecode)); } try { using (var transactionManager = new TransactionManager(Dal.ConnectionFactory.Instance.GetConnectionString(EnumDbType.Support))) { transactionManager.BeginTransaction(); ExchangeInfoMgr.Save(exchangeInfo.Idx, ShareUtil.PlatformCode, manager.Account, manager.Idx, ShareUtil.ZoneId, exchangeInfo.PackId, exchangeInfo.RowVersion, (int)MessageCode.ExchangeBatchLimit, ref returnCode, transactionManager.TransactionObject); if (returnCode == (int)MessageCode.Success) { if (effectCoin > 0) { ManagerUtil.SaveManagerData(manager, null); ManagerUtil.SaveManagerAfter(manager); } if (package.Save()) { package.Shadow.Save(); } if (effectPoint > 0) { messagecode = PayCore.Instance.AddBonus(manager.Account, effectPoint, EnumChargeSourceType.ExchangePrize, exchangeId); } } if (messagecode == MessageCode.Success) { transactionManager.Commit(); } else { transactionManager.Rollback(); } } if (returnCode != 0) { return(ResponseHelper.Create <ExchangeResponse>(returnCode)); } exchangeEntity.ExchangeType = exchangeInfo.ExchangeType; var response = ResponseHelper.CreateSuccess <ExchangeResponse>(); response.Data = new ExchangeEntity(); response.Data.PrizeList = new List <ExchangePrizeEntity>(); response.Data.PrizeList = exchangeEntity.PrizeList; response.Code = 0; return(response); } catch (Exception ex) { SystemlogMgr.Error("SaveItemException", ex); return(ResponseHelper.Create <ExchangeResponse>(returnCode)); } }
/// <summary> /// 360礼包 /// </summary> /// <param name="manager"></param> /// <param name="packStr"></param> /// <param name="exchangeId"></param> /// <returns></returns> private ExchangeResponse Send360GoodsBay(NbManagerEntity manager, string packStr, string exchangeId, int type) { var response = new ExchangeResponse(); var entity = NbManagercommonpackageMgr.Select(manager.Idx);//公用字段1 为360礼包 字段2为888kkk礼包 if (entity != null) { switch (type) { case 1: var i = entity.Common1; var common1 = ConvertHelper.ConvertToInt(i); if (common1 >= 1) { response.Code = (int)MessageCode.NbPrizeRepeat; return(response); } else { entity.Common1 = "1"; } break; case 2: var i2 = entity.Common2; var common2 = ConvertHelper.ConvertToInt(i2); if (common2 >= 1) { response.Code = (int)MessageCode.NbPrizeRepeat; return(response); } else { entity.Common2 = "1"; } break; } } var packId = ConvertHelper.ConvertToInt(packStr); var package = ItemCore.Instance.GetPackage(manager.Idx, EnumTransactionType.ExchangeCodePrize); int effectCoin = 0; int curValue = 0; int effectPoint = 0; int bindPoint = 0; ExchangeEntity exchangeEntity = new ExchangeEntity(); exchangeEntity.PrizeList = new List <ExchangePrizeEntity>(); response.Code = (int)MallCore.Instance.UseNewPlayerPack(manager.Idx, packId, package, EnumCoinChargeSourceType.Exchange, ref manager, ref effectCoin, ref curValue, ref effectPoint, ref bindPoint, exchangeEntity); if (response.Code != (int)MessageCode.Success) { return(response); } try { using (var transactionManager = new TransactionManager(Dal.ConnectionFactory.Instance.GetDefault())) { transactionManager.BeginTransaction(); response.Code = (int)MessageCode.Exception; if (entity != null) { if (NbManagercommonpackageMgr.Update(entity, transactionManager.TransactionObject)) { response.Code = (int)MessageCode.Success; } } if (response.Code == (int)MessageCode.Success) { if (effectCoin > 0) { ManagerUtil.SaveManagerData(manager, null, transactionManager.TransactionObject); ManagerUtil.SaveManagerAfter(manager); } if (package.Save(transactionManager.TransactionObject)) { package.Shadow.Save(); } else { response.Code = (int)MessageCode.ItemNoShadow; } if (effectPoint > 0) { response.Code = (int)PayCore.Instance.AddBonus(manager.Account, effectPoint, EnumChargeSourceType.ExchangePrize, exchangeId, transactionManager.TransactionObject); } } if (response.Code == (int)MessageCode.Success) { transactionManager.Commit(); } else { transactionManager.Rollback(); } } if (response.Code != 0) { return(ResponseHelper.Create <ExchangeResponse>(response.Code)); } exchangeEntity.ExchangeType = 1; response.Data = new ExchangeEntity(); response.Data.PrizeList = new List <ExchangePrizeEntity>(); response.Data.PrizeList = exchangeEntity.PrizeList; response.Code = 0; return(response); } catch (Exception ex) { SystemlogMgr.Error("SaveItemException", ex); return(ResponseHelper.Create <ExchangeResponse>(MessageCode.Exception)); } return(response); }
private string SaveBuyPointShipmentsTx(NbManagerEntity manager, int point, int bonus, PayChargehistoryEntity payEntity, ManagerMonthcardEntity monthcardEntity, MailBuilder mail, ManagerChargenumberEntity buyRecord, DicMallitemEntity mallConfig, string zoneId) { if (point > 0 || bonus > 0) { var messCode1 = PayCore.Instance.AddPoint(payEntity.Account, point, bonus, EnumChargeSourceType.GmCharge, payEntity.BillingId, null, zoneId); if (messCode1 != MessageCode.Success) { return("增加钻石失败" + point + "," + bonus + "," + (int)messCode1); } PayChargehistoryMgr.Insert(payEntity, null, zoneId); } if (monthcardEntity != null) { if (monthcardEntity.BuyNumber == 1) { if (!ManagerMonthcardMgr.Insert(monthcardEntity, null, zoneId)) { return("月卡发送失败"); } } else { if (!ManagerMonthcardMgr.Update(monthcardEntity, null, zoneId)) { return("月卡发送失败"); } } } if (!mail.Save(zoneId)) { return("邮件发送失败"); } if (buyRecord.Idx == 0) { ManagerChargenumberMgr.Insert(buyRecord, null, zoneId); } else { ManagerChargenumberMgr.Update(buyRecord, null, zoneId); } try { if (manager != null) { var curScore = mallConfig.EffectValue * 10; var vipManager = VipManagerMgr.GetById(manager.Idx, zoneId); if (vipManager != null) { curScore += vipManager.VipExp; vipManager.VipExp = curScore; VipManagerMgr.Update(vipManager, null, zoneId); } else { vipManager = new VipManagerEntity(manager.Idx, curScore, DateTime.Now, DateTime.Now, DateTime.Now); VipManagerMgr.Insert(vipManager, null, zoneId); } var newlevel = CacheFactory.VipdicCache.GetVipLevel(curScore); if (newlevel > manager.VipLevel) { manager.VipLevel = newlevel; ManagerUtil.SaveManagerData(manager, null, null, zoneId); } } } catch (Exception ex) { SystemlogMgr.Error("ChargeUpVip", ex); return(ex.Message); } return(""); }
/// <summary> /// 领取竞猜正确活动奖励 /// </summary> /// <param name="managerId"></param> /// <param name="step"></param> /// <returns></returns> public EuropeGambleMatchResponse DrawPrize(Guid managerId, int step) { EuropeGambleMatchResponse response = new EuropeGambleMatchResponse(); response.Data = new EuropeGambleMatch(); try { var manager = ManagerCore.Instance.GetManager(managerId); if (manager == null) { response.Code = (int)MessageCode.MissManager; return(response); } var info = GetMyGambleInfo(managerId); var prizeList = info.PrizeRecord.Split(','); if (prizeList.Length < step || prizeList[step - 1] == "0") { response.Code = (int)MessageCode.TourNoPassPrize; return(response); } if (prizeList[step - 1] == "2") { response.Code = (int)MessageCode.NbPrizeRepeat; return(response); } var prizeConfig = EuropeConfig.Instance.GetPrize(step); if (prizeConfig.Count <= 0) { response.Code = (int)MessageCode.ActivityNoConfigPrize; return(response); } ItemPackageFrame package = null; prizeList[step - 1] = "2"; info.PrizeRecord = String.Join(",", prizeList); info.UpdateTime = DateTime.Now; int addPoint = 0; int addCoin = 0; foreach (var prize in prizeConfig) { switch (prize.PrizeType) { case 1: addPoint += prize.PrizeCount; break; case 2: addCoin += prize.PrizeCount; break; case 3: if (package == null) { package = ItemCore.Instance.GetPackage(managerId, Entity.Enums.Shadow.EnumTransactionType.EuropeConfig); if (package == null) { return(ResponseHelper.Create <EuropeGambleMatchResponse>(MessageCode.NbNoPackage)); } } package.AddItems(prize.PrizeCode, prize.PrizeCount); break; } } if (addCoin > 0) { ManagerUtil.AddManagerData(manager, 0, addCoin, 0, EnumCoinChargeSourceType.Eruope, ShareUtil.GenerateComb().ToString()); } using (var transactionManager = new TransactionManager(Dal.ConnectionFactory.Instance.GetDefault())) { transactionManager.BeginTransaction(); var code = MessageCode.FailUpdate; do { if (addPoint > 0) { code = PayCore.Instance.AddBonus(managerId, addPoint, EnumChargeSourceType.Europe, ShareUtil.GenerateComb().ToString(), transactionManager.TransactionObject); if (code != MessageCode.Success) { break; } } if (addCoin > 0) { if (!ManagerUtil.SaveManagerData(manager, null, transactionManager.TransactionObject)) { break; } } if (package != null) { if (!package.Save(transactionManager.TransactionObject)) { break; } package.Shadow.Save(); } if (!EuropeGambleMgr.Update(info, transactionManager.TransactionObject)) { break; } code = MessageCode.Success; } while (false); if (code != MessageCode.Success) { transactionManager.Rollback(); response.Code = (int)MessageCode.GamblePayError; return(response); } transactionManager.Commit(); response.Data.Point = PayCore.Instance.GetPoint(managerId); } } catch (Exception ex) { SystemlogMgr.Error("领取竞猜正确活动奖励", ex); response.Code = (int)MessageCode.NbParameterError; } return(response); }