Exemple #1
0
        public EAccount PlatformLogin(string userInfo)
        {
            LogHelper.DebugLog("PlatformLogin:"******"\p{Cs}", "");
            string   iconUrl    = pars[3];
            string   longitude  = pars[4];
            string   latitude   = pars[5];
            string   address    = pars[6];
            string   systemName = pars[7];

            if (platform == "WX" && !iconUrl.Contains("http:"))
            {
                string         json           = HttpService.Get(WXHelper.getCodeRequestUrl(iconUrl));
                TokenAndOpenID tokenAndOpenID = JsonConvert.DeserializeObject <TokenAndOpenID>(json);
                if (tokenAndOpenID != null)
                {
                    openID = tokenAndOpenID.openid;
                    string   json2    = HttpService.Get(WXHelper.getUserInfoUrl(tokenAndOpenID.access_token, tokenAndOpenID.openid));
                    UserInfo userinfo = JsonConvert.DeserializeObject <UserInfo>(json2);
                    if (userinfo != null)
                    {
                        nickName = userinfo.nickname;
                        iconUrl  = userinfo.headimgurl;
                    }
                }
            }

            EAccount user = DBBase.Query <EAccount>("OpenID='" + openID + "'").FirstOrDefault();

            if (user == null)
            {
                user = new EAccount()
                {
                    OpenID          = openID,
                    NickName        = nickName,
                    Face            = iconUrl,
                    Longitude       = longitude,
                    Latitude        = latitude,
                    Address         = address,
                    PlatformName    = platform,
                    CreateTime      = DateTime.Now,
                    LastLoginTime   = DateTime.Now,
                    SystemName      = systemName,
                    LastGetGoldTime = DateTime.Now,
                    Gold            = 1000,
                    Diamond         = 0
                };
                user = (EAccount)DBBase.Create(user);
            }
            else
            {
                //修改客户端推送ID
                user.Longitude     = longitude;
                user.Latitude      = latitude;
                user.Address       = address;
                user.SystemName    = systemName;
                user.LastLoginTime = DateTime.Now;

                double dayNum = (DateTime.Now - user.LastGetGoldTime).TotalDays;
                user.Gold           += user.Vip * (int)dayNum * 10;
                user.LastGetGoldTime = DateTime.Now;
                DBBase.Change(user);
            }
            //创建登录记录
            ELoginRecord loginRecord = new ELoginRecord()
            {
                AccountID = user.ID,
                LoginTime = DateTime.Now
            };

            DBBase.Create(loginRecord);

            int referrerCount = DBBase.Query <EAccount>("ReferrerID=" + user.ID + "").Count();

            if (referrerCount > user.TaskProcess)
            {
                user.TaskProcess = referrerCount;
                int taskGetDiamon = 0;
                if (user.TaskProcess == 1)
                {
                    taskGetDiamon = 10;
                }
                else if (user.TaskProcess == 10)
                {
                    taskGetDiamon = 100;
                }
                else if (user.TaskProcess == 20)
                {
                    taskGetDiamon = 200;
                }
                else if (user.TaskProcess == 50)
                {
                    taskGetDiamon = 500;
                }
                user.Diamond += taskGetDiamon;
                DBBase.Change(user);
            }

            List <EBattleServers> serverList = DBBase.Query <EBattleServers>();
            EBattleServers        server     = serverList.FirstOrDefault(c => c.ID == 1);

            user.CurBattleIP    = server.IP;
            user.CurBattlePort  = server.Port;
            user.CurTaskProcess = referrerCount;
            return(user);
        }
Exemple #2
0
        public void FinishedBattle(Battle battle)
        {
            int takeDiamon = 0;

            if (battle.WhoTakeMoney == 1)
            {
                if (battle.GameNum == 8)
                {
                    takeDiamon = -10;
                }
                else if (battle.GameNum == 16)
                {
                    takeDiamon = -20;
                }
            }
            foreach (var s in battle.Sides)
            {
                //结算
                EAccount user = DBBase.Get <EAccount>(Convert.ToInt32(s.AccountID));
                if (user != null)
                {
                    if (battle.BattleType == BattleType.Gold900)
                    {
                        s.GetMoney = s.TotalScore * 900;
                        user.Gold += s.GetMoney;
                    }
                    else if (battle.BattleType == BattleType.Gold2300)
                    {
                        s.GetMoney = s.TotalScore * 2300;
                        user.Gold += s.GetMoney;
                    }
                    else if (battle.BattleType == BattleType.Gold5300)
                    {
                        s.GetMoney = s.TotalScore * 5300;
                        user.Gold += s.GetMoney;
                    }
                    else if (battle.BattleType == BattleType.Diamon10)
                    {
                        s.GetMoney    = s.TotalScore * 10;
                        user.Diamond += s.GetMoney;
                    }
                    else if (battle.BattleType == BattleType.Diamon50)
                    {
                        s.GetMoney    = s.TotalScore * 50;
                        user.Diamond += takeDiamon + s.GetMoney;
                    }
                    else if (battle.BattleType == BattleType.Diamon100)
                    {
                        s.GetMoney    = s.TotalScore * 100;
                        user.Diamond += takeDiamon + s.GetMoney;
                    }
                    if (user.Gold < 0)
                    {
                        user.Gold = 0;
                    }
                    if (user.Diamond < 0)
                    {
                        user.Diamond = 0;
                    }
                    if (!user.IsAI)
                    {
                        DBBase.Change(user);
                    }
                }
            }
        }