Esempio n. 1
0
        public override string OnResponse(string data)
        {
            AddEmailReq defaultReq = null;

            try
            {
                defaultReq = JsonConvert.DeserializeObject <AddEmailReq>(data);
            }
            catch (Exception e)
            {
                MySqlService.log.Warn("传入的参数有误:" + e);
                return(null);
            }
            string _tag    = defaultReq.tag;
            int    _connId = defaultReq.connId;
            string uid     = defaultReq.uid;
            bool   isToAll = defaultReq.isToAll;
            string title   = defaultReq.title;
            string content = defaultReq.content;
            string reward  = defaultReq.reward;


            JObject _responseData = new JObject();

            _responseData.Add(MyCommon.TAG, _tag);
            _responseData.Add(MyCommon.CONNID, _connId);
            _responseData.Add(MyCommon.CODE, (int)Consts.Code.Code_OK);

            if (isToAll)
            {
                ICollection <User> collection = MySqlManager <User> .Instance.GetAll();

                foreach (var user in collection)
                {
                    SendEmailUtil.SendEmail(user.Uid, title, content, reward);
                }
            }
            else
            {
                SendEmailUtil.SendEmail(uid, title, content, reward);
            }


            return(_responseData.ToString());
        }
        private void UsePropSql(string uid, int propId, JObject responseData)
        {
            UserProp userProp = NHibernateHelper.userPropManager.GetUserProp(uid, propId);

            if (userProp == null || userProp.PropNum <= 0)
            {
                MySqlService.log.Warn("没有该道具或者不能使用该道具");
                OperatorFail(responseData);
            }
            else
            {
                userProp.PropNum--;
                if (NHibernateHelper.userPropManager.Update(userProp))
                {
                    UserGame userGame = NHibernateHelper.userGameManager.GetByUid(uid);
                    if (userGame == null)
                    {
                        MySqlService.log.Warn("查找用户游戏数据失败");
                        OperatorFail(responseData);
                        return;
                    }

                    switch (userProp.PropId)
                    {
                    //魅力值修正卡
                    case 109:
                        userGame.MeiliZhi = 0;
                        NHibernateHelper.userGameManager.Update(userGame);
                        break;

                    //逃跑率清零卡
                    case 108:
                        userGame.RunCount = 0;
                        NHibernateHelper.userGameManager.Update(userGame);
                        break;

                    //记牌器
                    case 101:
                    //加倍卡
                    case 102:
                    //出牌发光
                    case 105:
                        userProp.BuffNum++;
                        NHibernateHelper.userPropManager.Update(userProp);
                        break;

                    case 111:
                    case 112:

                        break;

                    case 130:
                        List <JDCard> tenJDCard = MySqlManager <JDCard> .Instance.GetByPorperty("price", "10", "state", "1");

                        JDCard jDCard = null;
                        foreach (var card in tenJDCard)
                        {
                            if (card.Uid == uid)
                            {
                                jDCard = card;
                                break;
                            }
                        }

                        if (jDCard == null)
                        {
                            OperatorFail(responseData);
                            return;
                        }
                        else
                        {
                            jDCard.state = 2 + "";
                            MySqlManager <JDCard> .Instance.Update(jDCard);

                            SendEmailUtil.SendEmail(uid, "10元京东卡",
                                                    $"您的京东卡:\n卡号:{jDCard.card_number} \n卡密:{jDCard.card_secret} \n有效期:{jDCard.valid_time}", "");
                        }

                        break;

                    case 131:
                        List <JDCard> twentyJDCard = MySqlManager <JDCard> .Instance.GetByPorperty("price", "20", "state", "1");

                        JDCard jDCard2 = null;
                        foreach (var card in twentyJDCard)
                        {
                            if (card.Uid == uid)
                            {
                                jDCard2 = card;
                                break;
                            }
                        }

                        if (jDCard2 == null)
                        {
                            OperatorFail(responseData);
                            return;
                        }
                        else
                        {
                            jDCard2.state = 2 + "";
                            MySqlManager <JDCard> .Instance.Update(jDCard2);

                            SendEmailUtil.SendEmail(uid, "20元京东卡",
                                                    $"您的京东卡:\n卡号:{jDCard2.card_number} \n卡密:{jDCard2.card_secret} \n有效期:{jDCard2.valid_time}", "");
                        }
                        break;
                    }
                    OperatorSuccess(responseData);
                }
                else
                {
                    MySqlService.log.Warn("使用道具失败");
                    OperatorFail(responseData);
                }
            }
        }
Esempio n. 3
0
        public override string OnResponse(string data)
        {
            OldPlayerReq oldPlayerReq = null;

            try
            {
                oldPlayerReq = JsonConvert.DeserializeObject <OldPlayerReq>(data);
            }
            catch (Exception e)
            {
                MySqlService.log.Warn("传入的参数有误:" + data + "\n" + e);
                return(null);
            }

            string oldUid    = oldPlayerReq.old_uid;
            string uid       = oldPlayerReq.uid;
            string from      = oldPlayerReq.from;
            string machineId = oldPlayerReq.machine_id;
            int    connId    = oldPlayerReq.connId;

            if (string.IsNullOrWhiteSpace(uid) || string.IsNullOrWhiteSpace(oldUid) || string.IsNullOrWhiteSpace(machineId))
            {
                MySqlService.log.Warn($"字段有空:{data}");
                return(null);
            }

            JObject response = new JObject();

            response.Add(MyCommon.CONNID, connId);
            response.Add(MyCommon.TAG, Consts.Tag_OldPlayerBind);
            int i;

            try
            {
                i = int.Parse(oldUid);
            }
            catch (Exception e)
            {
                OperatorFail(response, Consts.Code.Code_OldPlayerUidIsNotExist);
                return(response.ToString());
            }

            //先查询machineid
            Log_bind_oldplayer logBindOldplayer = MySqlManager <Log_bind_oldplayer> .Instance.GetOldPlayerByMacId(machineId);

            if (logBindOldplayer != null)
            {
                OperatorFail(response, Consts.Code.Code_ThePhoneIsBindOldUid);
                return(response.ToString());
            }

            UserSource userSource = NhInterSqlServer.NHiMsServerteHelper.GetById(i);

            if (userSource == null)
            {
                OperatorFail(response, Consts.Code.Code_OldPlayerUidIsNotExist);
            }
            else
            {
                Log_bind_oldplayer bindOldplayer = MySqlManager <Log_bind_oldplayer> .Instance.GetByUid(uid);

                if (bindOldplayer == null)
                {
                    bindOldplayer = new Log_bind_oldplayer
                    {
                        Uid          = uid,
                        old_uid      = oldUid,
                        channel_name = from,
                        machine_id   = machineId
                    };
                    if (MySqlManager <Log_bind_oldplayer> .Instance.Add(bindOldplayer))
                    {
                        SendEmailUtil.SendEmail(uid, "老用户特权奖励", "恭喜您已成功绑定老游戏UID,请领取您的奖励", "111:1;110:2;1:6666;107:5");
                        OperatorSuccess(response);
                    }
                    else
                    {
                        OperatorFail(response, Consts.Code.Code_TheOldUidIsUsed);
                    }
                }
                else
                {
                    OperatorFail(response, Consts.Code.Code_TheUidIsBind);
                }
            }

            return(response.ToString());
        }
        //登录 数据库操作
        private void LoginSQL(User user, int passwordtype, string channeName, string ip, string versionName, JObject responseData)
        {
            User loginUser = null;

            switch (passwordtype)
            {
            case 1:
                loginUser = NHibernateHelper.userManager.VerifyLogin(user.Username,
                                                                     CommonUtil.CheckPsw(user.Userpassword));
                MySqlService.log.Info($"用户登陆");
                break;

            //公众号登陆
            case 2:
                loginUser = NHibernateHelper.userManager.VerifySecondLogin(user.Username,
                                                                           CommonUtil.CheckPsw(user.Userpassword));
                MySqlService.log.Info($"公众号二级密码登陆");
                break;

            //游戏客户端登陆
            case 3:
                loginUser = NHibernateHelper.userManager.VerifySecondLogin(user.Username,
                                                                           CommonUtil.CheckPsw(user.Userpassword));
                MySqlService.log.Info($"客户端二级密码登陆");
                break;
            }

            if (loginUser != null)
            {
                if (passwordtype == 2)
                {
                    var userConfig = NHibernateHelper.commonConfigManager.GetByUid(loginUser.Uid);
                    if (userConfig == null)
                    {
                        userConfig = ModelFactory.CreateConfig(loginUser.Uid);
                    }

                    if (userConfig.wechat_login_gift == 0)
                    {
                        SendEmailUtil.SendEmail(loginUser.Uid, "神秘礼包", "您已成功关注微信公众号,并已绑定游戏账号,恭喜你获得一下奖励",
                                                "110:2;1:1888");
                        userConfig.wechat_login_gift = 1;
                        NHibernateHelper.commonConfigManager.Update(userConfig);
                        LogUtil.Log(loginUser.Uid, MyCommon.OpType.WECHAT_LOGIN_GIFT, $"获得神秘礼包:110:2;1:1888");
                    }
                }
                OperatorSuccess(loginUser, channeName, ip, versionName, responseData);
            }
            else
            {
                User name = NHibernateHelper.userManager.GetByName(user.Username);
                if (name == null)
                {
                    responseData.Add(MyCommon.CODE, (int)Consts.Code.Code_AccountNoExist);
                }
                else
                {
                    responseData.Add(MyCommon.CODE, (int)Consts.Code.Code_PasswordError);
                }
            }
        }
Esempio n. 5
0
        private void ThirdLoginSQL(string thirdId, string nickname, string channelname, string ip, JObject responseData)
        {
            //通过第三方查询用户
            List <User> users = NHibernateHelper.userManager.GetUserByTid(thirdId);
            User        user;

            if (users?.Count == 0)
            {
                string uid = UidUtil.createUID();
                user = new User()
                {
                    //去除开头的空白
                    Username       = nickname.TrimStart(),
                    Userpassword   = "",
                    ChannelName    = channelname,
                    ThirdId        = thirdId,
                    Secondpassword = "",
                    Uid            = uid,
                    IsRobot        = 0,
                    CreateTime     = DateTime.Now,
                    MachineId      = ""
                };

                Random random = new Random();

                //注册用户数据 并 注册新手邮箱
                if (NHibernateHelper.userManager.Add(user))
                {
                    OperatorSuccess(user, responseData);
                    StatictisLogUtil.Login(uid, user.Username, ip, channelname, "1.0.43", MyCommon.OpType.Register);
                }
                else
                {
                    bool flag = false;
                    for (int i = 0; i < 10; i++)
                    {
                        int next = random.Next(1, 100);
                        if (user.Username.Length > 0)
                        {
                            user.Username.Remove(user.Username.Length - 1);
                        }

                        user.Username += next;
                        if (NHibernateHelper.userManager.Add(user))
                        {
                            flag = true;
                            break;
                        }
                    }

                    if (flag)
                    {
                        MySqlService.log.Info("第三方重复注册成功 user.Username:"******"\nuser.Uid" + user.Uid);
                        OperatorSuccess(user, responseData);

                        //第三方注册
                        StatisticsHelper.StatisticsRegister(user.Uid);
                        StatictisLogUtil.Login(uid, user.Username, ip, channelname, "1.0.43", MyCommon.OpType.Register);
                    }
                    else
                    {
                        MySqlService.log.Warn("第三方注册失败 user.Username:"******"\nuser.Uid" + user.Uid);
                        OperatorFail(responseData);
                    }
                }

                SendEmailUtil.SendEmail(uid, "新用户奖励", "欢迎来到疯狂升级,为您送上1000金币,快去对战吧!", "1:1000");
//                SendEmailUtil.SendEmail(uid, "“疯狂升级”新手指引",
//                    @"欢迎来到疯狂升级,本游戏有多种玩法供您选择,更有比赛场可以获取丰厚大奖噢!详细规则可在“关于-游戏规则”中查看,祝您游戏愉快~",
//                    "");
//                SendEmailUtil.SendEmail(uid, "“疯狂升级”游戏福利",
//                    @"每日登陆可领取签到奖励,通过游戏可获得抽奖机会,完成任务以达成成就,比赛场中获得胜利有丰厚大礼,更多精彩内容等你来玩噢~",
//                    "");
            }
            else
            {
                //第三方登陆
                user = users?[0];
                OperatorSuccess(user, responseData);
                StatisticsHelper.StatisticsLogin(user.Uid);
            }
        }