/// <summary> /// 封测返点 /// </summary> /// <param name="managerId"></param> /// <param name="mailType"></param> /// <param name="point"></param> /// <param name="rebate"></param> /// <param name="isMonthCard"></param> public MailBuilder(Guid managerId, EnumMailType mailType, int rebate, List <ConfigMallgiftbagEntity> prizeList) : this() { string content = ""; int coin = 0; if (prizeList != null) { foreach (var item in prizeList) { switch (item.PrizeType) { case 1: rebate += item.ItemCount; // AddAttachment(EnumCurrencyType.Point, item.ItemCount); break; case 2: AddAttachment(EnumCurrencyType.Coin, item.ItemCount); break; case 3: AddAttachment(item.ItemCount, item.SubType, false, 1); break; } } } if (rebate > 0) { AddAttachment(EnumCurrencyType.Point, rebate); } Builder(managerId, mailType, content); }
/// <summary> /// 竞技场排名奖励 /// </summary> public MailBuilder(Guid managerId, EnumMailType mailType, int rank, LotteryEntity lotteryEntity) : this() { string content = string.Format("R,{0}", rank); AddAttachment(1, lotteryEntity.PrizeItemCode, lotteryEntity.IsBinding, lotteryEntity.Strength); Builder(managerId, mailType, content); }
public MailBuilder(Guid managerId, EnumMailType mailType, string value) : this() { if (mailType == EnumMailType.CrowdKill || mailType == EnumMailType.CrossCrowdKill) { Builder(managerId, mailType, string.Format("N,{0}", value)); } }
/// <summary> /// 竞猜真实比赛,返回真实点券给庄家 /// </summary> public MailBuilder(EnumMailType mailType, Guid managerId, string title, EnumCurrencyType currencyType, int currency, int currencyWin) : this() { string content = string.Format("T,{0}|C,{1}|AT,{2}|C,{3}|AT,{3}", title, currency, (int)currencyType, currencyWin, (int)currencyType); AddAttachment(currencyType, currency); Builder(managerId, mailType, content); }
/// <summary> /// 租借球员装备追回 /// </summary> /// <param name="mailType"></param> /// <param name="managerId"></param> /// <param name="itemInfo"></param> public MailBuilder(EnumMailType mailType, Guid managerId, ItemUsedEntity itemInfo) : this() { //你租借的球员已经到期,球员身上的装备或勋章等被如数追回,请查收附件 string content = ""; AddAttachment(itemInfo); Builder(managerId, mailType, content); }
/// <summary> /// 月卡奖励 /// </summary> /// <param name="managerId"></param> /// <param name="mailType"></param> /// <param name="point"></param> /// <param name="day"></param> public MailBuilder(Guid managerId, int point, EnumMailType mailType) : this() { string content = string.Format("N,{0}", point); AddAttachment(EnumCurrencyType.Point, point); Builder(managerId, mailType, content); }
/// <summary> /// 欧洲杯竞猜 /// </summary> /// <param name="managerId"></param> /// <param name="mailType"></param> /// <param name="point"></param> /// <param name="homeName"></param> /// <param name="awayName"></param> public MailBuilder(Guid managerId, EnumMailType mailType, int point, string homeName, string awayName) : this() { string content = string.Format("H,{0}|A,{1}|P,{2}", homeName, awayName, point); AddAttachment(EnumCurrencyType.Point, point); Builder(managerId, mailType, content); }
/// <summary> /// 拍卖失败 和下架 /// </summary> public MailBuilder(Guid managerId, int itemCode, string itemName, EnumMailType mailType) : this() { //Month(月)|Day(日) string content = string.Format("N,{0}", itemName); AddAttachment(1, itemCode, false, 1, true); Builder(managerId, mailType, content); }
/// <summary> /// 世界杯点球活动奖励 /// </summary> /// <param name="mid"></param> /// <param name="mailType"></param> /// <param name="items"></param> public MailBuilder(Guid mid, EnumMailType mailType, List <LotteryEntity> items) : this() { Builder(mid, mailType, ""); foreach (var item in items) { AddAttachment(1, item.PrizeItemCode, item.IsBinding, item.Strength); } }
/// <summary> /// 巡回赛挂机奖励 /// </summary> /// <param name="mailType"></param> /// <param name="managerId"></param> /// <param name="itemCode"></param> /// <param name="isBinding"></param> public MailBuilder(EnumMailType mailType, Guid managerId, int itemCode, bool isBinding, int itemCount = 1) : this() { Builder(managerId, mailType, ""); if (itemCode > 0) { AddAttachment(itemCount, itemCode, isBinding, 1); } }
//成功租借球员 public MailBuilder(Guid managerId, EnumMailType mailType, int itemCode, EnumCurrencyType currencyType, int currency) : this() { //恭喜您,以{0}{1}成功租借{itemcode},你可以在球员管理中安排他上场比赛了,租借有效期止明日18点30分。 //C(货币数量)|AT(货币类型)|AI(拍卖的物品) string content = string.Format("C,{0}|AT,{1}|AI,{2}", currency, (int)currencyType, itemCode); Builder(managerId, mailType, content); }
void Builder(Guid managerId, EnumMailType mailType, string contentString) { _mail.ManagerId = managerId; _mail.MailType = (int)mailType; _mail.ContentString = contentString; _mail.IsRead = false; _mail.Status = 0; _mail.RowTime = DateTime.Now; _mail.ExpiredTime = MailCore.Instance.GetExpiredTime(_mail.HasAttach, _mail.RowTime); }
/// <summary> /// 竞技场排名 /// </summary> /// <param name="managerId"></param> /// <param name="type"></param> /// <param name="arenaType"></param> /// <param name="rank"></param> /// <param name="prizeList"></param> /// <param name="arenaCoin"></param> public MailBuilder(Guid managerId, EnumMailType type, int arenaType, int rank, List <ConfigArenaprizeEntity> prizeList, ref int arenaCoin) : this() { string arenaName = ""; switch (arenaType) { case 1: arenaName = "天空之城"; break; case 2: arenaName = "重力感应"; break; case 3: arenaName = "青春风暴"; break; case 4: arenaName = "老兵不死"; break; case 5: arenaName = "巨星闪耀"; break; } foreach (var item in prizeList) { switch (item.PrizeType) { case 1: //钻石 AddAttachment(EnumCurrencyType.Point, item.PrizeNumber); break; case 2: //金币 AddAttachment(EnumCurrencyType.Coin, item.PrizeNumber); break; case 3: //指定物品 AddAttachment(item.PrizeNumber, item.PrizeCode, false, 1); break; case 4: //竞技币 arenaCoin = item.PrizeNumber; break; } } string mailcontent = string.Format("N,{0}|M,{1}|A,{2}", arenaName, rank, arenaCoin); Builder(managerId, type, mailcontent); }
public MailBuilder(Guid managerId, EnumMailType mailType, int value) : this() { if (mailType == EnumMailType.ChargeReturnDouble) { Builder(managerId, mailType, string.Format("C,{0}|AT,{1}", value, (int)EnumCurrencyType.Point)); AddAttachment(EnumCurrencyType.Point, value); } else if (mailType == EnumMailType.CrowdRank || mailType == EnumMailType.CrossCrowdRank) { Builder(managerId, mailType, string.Format("R,{0}", value)); } }
///// <summary> ///// 天梯排名奖励 ///// </summary> ///// <param name="managerId"></param> ///// <param name="period"></param> ///// <param name="rank"></param> ///// <param name="lotteries"></param> //public MailBuilder(LadderManagerhistoryEntity managerhistory, List<LotteryEntity> lotteries) // : this() //{ // //Period(第几届)|Rank(排名) // string content = string.Format("P,{0}|R,{1}", managerhistory.Season, managerhistory.Rank); // foreach (var lotteryEntity in lotteries) // { // AddAttachment(1, lotteryEntity.PrizeItemCode, lotteryEntity.IsBinding, lotteryEntity.Strength); // } // Builder(managerhistory.ManagerId, EnumMailType.LadderPrize, content); //} public MailBuilder(EnumMailType mailType, Guid managerId, int season, int rank, DateTime recordDate) : this() { string content = ""; if (mailType == EnumMailType.CrossLadderDailyPrize) { content = string.Format("Y,{0}|M,{1}|D,{2}|R,{3}", recordDate.Year, recordDate.Month, recordDate.Day, rank); } else { content = string.Format("P,{0}|R,{1}", season, rank); } Builder(managerId, mailType, content); }
/// <summary> /// 精彩活动奖励 /// </summary> /// <param name="managerId"></param> public MailBuilder(Guid managerId, int itemCode, bool isBinding, EnumMailType type) : this() { Builder(managerId, type, ""); AddAttachment(1, itemCode, isBinding, 1); }
public MailBuilder(Guid managerId, EnumMailType mailType) : this() { Builder(managerId, mailType, ""); }
/// <summary> /// 分享成功 /// </summary> /// <param name="managerId"></param> /// <param name="point"></param> /// <param name="coin"></param> /// <param name="prizeItem"></param> /// <param name="mailType"></param> public MailBuilder(Guid managerId, int point, int coin, Dictionary <int, int> prizeItem, EnumMailType mailType) : this() { if (point > 0) { AddAttachment(EnumCurrencyType.Point, point); } if (coin > 0) { AddAttachment(EnumCurrencyType.Coin, coin); } foreach (var i in prizeItem) { if (i.Key > 0 && i.Value > 0) { AddAttachment(i.Value, i.Key, false, 1); } } Builder(managerId, mailType, ""); }
/// <summary> /// 月卡奖励 /// </summary> /// <param name="managerId"></param> /// <param name="mailType"></param> /// <param name="itemName"></param> /// <param name="prizeList"></param> /// <param name="addLuckyCoin"></param> /// <param name="addgameCurrency"></param> /// <param name="point"></param> public MailBuilder(Guid managerId, string itemName, int point, List <ConfigMallgiftbagEntity> prizeList, EnumMailType mailType, int addLuckyCoin, int addgameCurrency) : this() { string content = ""; if (mailType == EnumMailType.GiftBagSuccess || mailType == EnumMailType.Share) { content = string.Format("I,{0}", itemName); if (prizeList != null) { foreach (var item in prizeList) { switch (item.PrizeType) { case 1: AddAttachment(EnumCurrencyType.Point, item.ItemCount); break; case 2: AddAttachment(EnumCurrencyType.Coin, item.ItemCount); break; case 3: AddAttachment(item.ItemCount, item.SubType, false, 1); break; case 4: var itemCode = CacheFactory.LotteryCache.LotteryByLib(item.SubType); AddAttachment(1, itemCode, false, 1); break; case 10: AddAttachment(EnumCurrencyType.GoldBar, item.ItemCount); break; case 11: //幸运币 转盘用 AddAttachment(EnumCurrencyType.LuckyCoin, item.ItemCount); break; case 12: //游戏币 点球用 AddAttachment(EnumCurrencyType.GameCoin, item.ItemCount); break; } } } } else { if (prizeList != null) { int goldBar = 0; foreach (var item in prizeList) { switch (item.PrizeType) { case 10: AddAttachment(EnumCurrencyType.GoldBar, item.ItemCount); goldBar += item.ItemCount; break; } } content = string.Format("I,{0}|N,{1}|G,{2}", itemName, point, goldBar); } } if (addLuckyCoin > 0) { AddAttachment(EnumCurrencyType.LuckyCoin, addLuckyCoin); } if (addgameCurrency > 0) { AddAttachment(EnumCurrencyType.GameCoin, addgameCurrency); } Builder(managerId, mailType, content); }
public string TxBuyPointShipments(Guid managerId, string orderId, int mallCode, string zoneId) { try { var manager = NbManagerMgr.GetById(managerId, zoneId); if (manager == null) { return("找不到经理信息"); } var mallConfig = DicMallitemMgr.GetById(mallCode); //var mallConfig = CacheFactory.MallCache.GetMallEntityWithoutPoint(mallCode); if (mallConfig == null || (mallConfig.MallType != (int)EnumMallType.QP && mallConfig.MallType != (int)EnumMallType.Mystery)) { return("请输入正确的商城ID"); } ManagerMonthcardEntity monthcardEntity = null; DateTime date = DateTime.Now; int bonus = 0; var recordList = ManagerChargenumberMgr.GetManagerIdList(managerId, zoneId); ManagerChargenumberEntity buyRecord = null; bool isFirst = false; if (recordList.Count > 0) { buyRecord = recordList.Find(r => r.MallCode == mallCode); } else { isFirst = true; } if (buyRecord == null) { buyRecord = new ManagerChargenumberEntity(0, managerId, mallCode, 1, date, date); } else { buyRecord.BuyNumber++; } MailBuilder mail = null; List <ConfigMallgiftbagEntity> prizeList = null; EnumMailType mailType = EnumMailType.ChargeSuccess; int point = mallConfig.CurrencyCount; if (mallConfig.EffectType == (int)EnumMallEffectType.MonthCard) //月卡 { MonthcardShipments(managerId, ref monthcardEntity, zoneId); } else if (mallConfig.MallType == (int)EnumMallType.Mystery) { if (mallConfig.EffectType == (int)EnumMallEffectType.GiftBag) { //if (!IsHaveBuyWeekGiftBag(buyRecord, DateTime.Now)) //{ // mailType = EnumMailType.ChargeSuccess; // point = mallConfig.EffectValue * 10; //} //else //{ prizeList = GetGiftBag(mallCode); if (prizeList.Count <= 0) { return("获取配置失败"); } mailType = EnumMailType.GiftBagSuccess; //} } else if (mallConfig.EffectType == (int)EnumMallEffectType.WeeklyGiftBag) { //if (!IsHaveBuyWeekGiftBag(buyRecord)) //{ // mailType = EnumMailType.ChargeSuccess; // point = mallConfig.EffectValue * 10; //} //else //{ prizeList = GetGiftBag(mallCode); if (prizeList.Count <= 0) { return("获取配置失败"); } mailType = EnumMailType.GiftBagSuccess; //} } //else if (buyRecord.Idx > 0) //{ // mailType = EnumMailType.ChargeSuccess; // point = mallConfig.EffectValue * 10; //} else { prizeList = GetGiftBag(mallCode); if (prizeList.Count <= 0) { return("获取配置失败"); } mailType = EnumMailType.GiftBagSuccess; } } prizeList = GetGiftBag(mallCode); var payEntity = new PayChargehistoryEntity(); payEntity.Idx = orderId; payEntity.Account = _account.Account; payEntity.BillingId = orderId; payEntity.Bonus = bonus; payEntity.Cash = 0; payEntity.IsFirst = isFirst; payEntity.MallCode = mallCode; payEntity.Point = point; payEntity.RowTime = DateTime.Now; payEntity.SourceType = (int)EnumChargeSourceType.GmCharge; payEntity.States = 2; payEntity.UpdateTime = DateTime.Now; //邮件发货 mail = new MailBuilder(managerId, mallConfig.Name, point + bonus, prizeList, mailType, 0, 0); buyRecord.UpdateTiem = DateTime.Now; payEntity.Bonus = bonus; var code = SaveBuyPointShipmentsTx(manager, point, bonus, payEntity, monthcardEntity, mail, buyRecord, mallConfig, zoneId); return(code); } catch (Exception ex) { SystemlogMgr.Error("充值发货", ex); return(ex.Message); } }
public static void SendPrize(CrossladderManagerhistoryEntity manager, EnumCrossLadderPrizeType crossLadderPrizeType, EnumMailType mailType, int seasonStatus) { if (string.IsNullOrEmpty(manager.PrizeItems)) { manager.PrizeItems = ""; MailBuilder mail = null; int packId = CacheFactory.CrossLadderCache.GetRankPrize(crossLadderPrizeType, manager.Rank,seasonStatus); if (packId <= 0) { SystemlogMgr.Info("CrossLadderSendPrize", "no packid for rank:" + manager.Rank); return; } mail = new MailBuilder(mailType, manager.ManagerId,manager.Season,manager.Rank,manager.RecordDate); var code = MallCore.Instance.BuildPackMail(packId, ref mail); if (code != MessageCode.Success) { SystemlogMgr.Info("CrossLadderSendPrize", "build pack fail rank:" + manager.Rank + ",packId:" + packId); return; } manager.PrizeItems = "pack:" + packId; manager.UpdateTime = DateTime.Now; try { CrossladderManagerhistoryMgr.SavePrize(manager.Idx,manager.PrizeItems); mail.Save(manager.SiteId); } catch (Exception ex) { SystemlogMgr.Error("CrossLadderSendPrize", ex); } } }