示例#1
0
        public static void ChargeAfter(string account, int point, int needPoint, DateTime curTime)
        {
            try
            {
                PayContinuingMgr.UpdateContinueday(account, point, needPoint, curTime.Date.AddDays(-1), curTime.Date, curTime);
            }
            catch (Exception ex)
            {
                SystemlogMgr.Error("ChargeUpContinue", ex);
            }
            var manager = ManagerCore.Instance.GetManager(account);

            try
            {
                if (manager != null)
                {
                    var payUser = PayUserMgr.GetById(account);
                    if (payUser == null)
                    {
                        payUser = new PayUserEntity(account, 0, 0, 0, DateTime.Now, new byte[0], point, 0);
                    }
                    var curScore   = payUser.ChargePoint;
                    var vipManager = VipManagerMgr.GetById(manager.Idx);
                    if (vipManager != null)
                    {
                        curScore += vipManager.VipExp;
                        //  VipManagerMgr.Update(vipManager);
                    }

                    var newlevel = CacheFactory.VipdicCache.GetVipLevel(curScore);
                    if (newlevel > manager.VipLevel)
                    {
                        manager.VipLevel = newlevel;
                        ManagerUtil.SaveManagerData(manager);
                        ManagerCore.Instance.DeleteCache(manager.Idx);
                    }
                    // ChatHelper.SendUpdateManagerInfoPop(manager.Idx, payUser.TotalPoint, true, manager.VipLevel);
                    if (point > 0)
                    {
                        ActivityExThread.Instance.Charge(manager.Idx, account, point);
                        ActivityExThread.Instance.Charge(manager.Idx, point);
                    }
                }
            }
            catch (Exception ex)
            {
                SystemlogMgr.Error("ChargeUpVip", ex);
            }
        }
示例#2
0
        public VipDataResponse DailyAttendVip(Guid managerId)
        {
            var manager = ManagerCore.Instance.GetManager(managerId);

            if (manager == null)
            {
                return(ResponseHelper.Create <VipDataResponse>(MessageCode.NbParameterError));
            }

            if (manager.VipLevel < 1)
            {
                return(ResponseHelper.Create <VipDataResponse>(MessageCode.NotVip));
            }

            var vipManager = VipManagerMgr.GetById(managerId);

            if (vipManager == null)
            {
                return(ResponseHelper.Create <VipDataResponse>(MessageCode.NbParameterError));
            }
            var date = DateTime.Now;

            //当日已签到
            if (vipManager.ReceiveDate.Date == date.Date)
            {
                return(ResponseHelper.Create <VipDataResponse>(MessageCode.HasReceiveToday));
            }

            vipManager.VipExp     += 10;
            vipManager.ReceiveDate = date.Date;
            vipManager.UpdateTime  = date;

            if (VipManagerMgr.Update(vipManager))
            {
                return(ManagerCore.Instance.GetVipData(managerId));
            }
            else
            {
                return(ResponseHelper.Create <VipDataResponse>(MessageCode.FailUpdate));
            }
        }
示例#3
0
        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("");
        }
示例#4
0
        public static void ChargeAfter(string account, int point, int needPoint, DateTime curTime, decimal cash,
                                       int vipExp)
        {
            try
            {
                PayContinuingMgr.UpdateContinueday(account, point, needPoint, curTime.Date.AddDays(-1), curTime.Date,
                                                   curTime);
            }
            catch (Exception ex)
            {
                SystemlogMgr.Error("ChargeUpContinue", ex);
            }
            var  payUser  = PayUserMgr.GetById(account);
            bool isInsert = false;

            if (payUser == null)
            {
                isInsert = true;
                payUser  = new PayUserEntity(account, 0, 0, cash, DateTime.Now, new byte[0], point, 0);
            }
            else
            {
                payUser.TotalCash  += cash;
                payUser.ChargePoint = point;
            }
            try
            {
                if (isInsert)
                {
                    if (!PayUserMgr.Insert(payUser))
                    {
                        SystemlogMgr.Error("charetUpPayUser", "统计钱失败", "Account:" + account + "_Cash" + cash);
                    }
                }
                else
                {
                    if (!PayUserMgr.Update(payUser))
                    {
                        SystemlogMgr.Error("charetUpPayUser", "统计钱失败", "Account:" + account + "_Cash" + cash);
                    }
                }
            }
            catch (Exception ex)
            {
                SystemlogMgr.Error("charetUpPayUser" + cash, ex);
            }
            var manager = ManagerCore.Instance.GetManager(account);

            try
            {
                if (manager != null)
                {
                    var curScore   = vipExp;
                    var vipManager = VipManagerMgr.GetById(manager.Idx);
                    if (vipManager != null)
                    {
                        curScore         += vipManager.VipExp;
                        vipManager.VipExp = curScore;
                        VipManagerMgr.Update(vipManager);
                    }
                    else
                    {
                        vipManager = new VipManagerEntity(manager.Idx, curScore, DateTime.Now, DateTime.Now,
                                                          DateTime.Now);
                        VipManagerMgr.Insert(vipManager);
                    }

                    var newlevel = CacheFactory.VipdicCache.GetVipLevel(curScore);
                    if (newlevel > manager.VipLevel)
                    {
                        manager.VipLevel = newlevel;
                        ManagerUtil.SaveManagerData(manager);
                        ManagerCore.Instance.DeleteCache(manager.Idx);
                    }
                    // ChatHelper.SendUpdateManagerInfoPop(manager.Idx, payUser.TotalPoint, true, manager.VipLevel);

                    ActivityExThread.Instance.Charge(manager.Idx, account, vipExp);
                    ActivityExThread.Instance.Charge(manager.Idx, vipExp);
                }
            }
            catch (Exception ex)
            {
                SystemlogMgr.Error("ChargeUpVip", ex);
            }
        }
示例#5
0
        void GmVip(string account, int point, int needPoint, DateTime curTime)
        {
            try
            {
                PayContinuingMgr.UpdateContinueday(account, point, needPoint, curTime.Date.AddDays(-1), curTime.Date, curTime);
            }
            catch (Exception ex)
            {
                SystemlogMgr.Error("ChargeUpContinue", ex);
            }
            var manager = ManagerCore.Instance.GetManager(account);

            try
            {
                if (manager != null)
                {
                    int totalPoint = 0;
                    PayUserMgr.GetGmChargePoint(account, ref totalPoint);
                    var payUser    = PayUserMgr.GetById(account);
                    var curScore   = totalPoint;
                    var vipManager = VipManagerMgr.GetById(manager.Idx);
                    if (vipManager != null && vipManager.VipExp > 0)
                    {
                        curScore += vipManager.VipExp;
                    }

                    var newlevel = CacheFactory.VipdicCache.GetVipLevel(curScore);
                    if (newlevel > manager.VipLevel)
                    {
                        manager.VipLevel = newlevel;
                        ManagerUtil.SaveManagerData(manager);
                        ManagerCore.Instance.DeleteCache(manager.Idx);
                    }
                    //ChatHelper.SendUpdateManagerInfoPop(manager.Idx, payUser.TotalPoint, true, manager.VipLevel);
                    if (point > 0)
                    {
                        ActivityExThread.Instance.Charge(manager.Idx, account, point);
                        ActivityExThread.Instance.Charge(manager.Idx, point);
                    }
                }
            }
            catch (Exception ex)
            {
                SystemlogMgr.Error("ChargeUpVip", ex);
            }
            try
            {
                if (manager != null)
                {
                    int returnPoint = point;

                    //BuffPlusHelper.ChargeReturn50(ref returnPoint);
                    if (returnPoint > 0)
                    {
                        //var mail = new MailBuilder(manager.Idx, EnumMailType.ChargeReturn50, returnPoint);
                        //mail.Save();
                    }
                }
            }
            catch (Exception ex)
            {
                SystemlogMgr.Error("ChargeReturnDouble", ex);
            }
        }