Esempio n. 1
0
        /// <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);
        }
Esempio n. 2
0
        /// <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);
        }
Esempio n. 3
0
 public MailBuilder(Guid managerId, EnumMailType mailType, string value)
     : this()
 {
     if (mailType == EnumMailType.CrowdKill || mailType == EnumMailType.CrossCrowdKill)
     {
         Builder(managerId, mailType, string.Format("N,{0}", value));
     }
 }
Esempio n. 4
0
        /// <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);
        }
Esempio n. 5
0
        /// <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);
        }
Esempio n. 6
0
        /// <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);
        }
Esempio n. 7
0
        /// <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);
        }
Esempio n. 8
0
        /// <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);
        }
Esempio n. 9
0
 /// <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);
     }
 }
Esempio n. 10
0
 /// <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);
     }
 }
Esempio n. 11
0
        //成功租借球员
        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);
        }
Esempio n. 12
0
 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);
 }
Esempio n. 13
0
        /// <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);
        }
Esempio n. 14
0
 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));
     }
 }
Esempio n. 15
0
        ///// <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);
        }
Esempio n. 16
0
 /// <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);
 }
Esempio n. 17
0
 public MailBuilder(Guid managerId, EnumMailType mailType)
     : this()
 {
     Builder(managerId, mailType, "");
 }
Esempio n. 18
0
 /// <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, "");
 }
Esempio n. 19
0
        /// <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);
        }
Esempio n. 20
0
        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);
                }
            }
        }