Ejemplo n.º 1
0
        public bool SetPlayerGravelRequsetRecordInfoIsGoted(PlayerGravelRequsetRecordInfo record, CustomerMySqlTransaction myTrans)
        {
            MySqlCommand mycmd = null;

            try
            {
                mycmd = myTrans.CreateCommand();

                string sqlText = "update  playergravelrequsetrecordinfo set `IsGoted`=@IsGoted where `id`=@ID; ";

                mycmd.Parameters.AddWithValue("@IsGoted", record.IsGoted);
                mycmd.Parameters.AddWithValue("@ID", record.ID);
                mycmd.CommandText = sqlText;

                mycmd.ExecuteNonQuery();
                return(true);
            }
            finally
            {
                if (mycmd != null)
                {
                    mycmd.Dispose();
                }
            }
        }
Ejemplo n.º 2
0
        public bool CreatePlayerGravelRequestRecord(PlayerGravelRequsetRecordInfo record)
        {
            return(MyDBHelper.Instance.ConnectionCommandExecuteNonQuery(mycmd =>
            {
                string sqlText = "insert into  playergravelrequsetrecordinfo (`UserID`,`RequestDate`,`IsResponsed` ) values (@UserID,@RequestDate,@IsResponsed ); ";

                mycmd.Parameters.AddWithValue("@UserID", record.UserID);
                mycmd.Parameters.AddWithValue("@RequestDate", record.RequestDate.ToDateTime());
                mycmd.Parameters.AddWithValue("@IsResponsed", record.IsResponsed);
                mycmd.CommandText = sqlText;

                mycmd.ExecuteNonQuery();
            }));
        }
Ejemplo n.º 3
0
        public int RequestGravel(int userID)
        {
            PlayerGravelRequsetRecordInfo[] records = DBProvider.GravelDBProvider.GetLastDayPlayerGravelRequsetRecords(new MetaData.MyDateTime(DateTime.Now), userID);
            if (records != null && records.Length > 0)
            {
                return(OperResult.RESULTCODE_GRAVEL_REQUESTFAILED_TODAYREQUIED);
            }

            PlayerGravelRequsetRecordInfo request = new PlayerGravelRequsetRecordInfo();

            request.UserID      = userID;
            request.RequestDate = new MyDateTime(DateTime.Now);
            DBProvider.GravelDBProvider.CreatePlayerGravelRequestRecord(request);

            return(OperResult.RESULTCODE_TRUE);
        }
Ejemplo n.º 4
0
        public PlayerGravelRequsetRecordInfo GetGravel(int userID, CustomerMySqlTransaction myTrans, out int result)
        {
            //领取比请求要晚一天
            PlayerGravelRequsetRecordInfo[] records = DBProvider.GravelDBProvider.GetLastDayPlayerGravelRequsetRecords(new MetaData.MyDateTime(DateTime.Now.AddDays(-1)), userID);
            if (records == null || records.Length == 0)
            {
                result = OperResult.RESULTCODE_GRAVEL_GETFAILED_NOTHINGTOGET;
                return(null);
            }

            PlayerGravelRequsetRecordInfo record = records[0];

            if (record.IsGoted)
            {
                result = OperResult.RESULTCODE_GRAVEL_GETFAILED_NOTHINGTOGET;
                return(null);
            }
            record.IsGoted = true;
            DBProvider.GravelDBProvider.SetPlayerGravelRequsetRecordInfoIsGoted(record, myTrans);
            result = OperResult.RESULTCODE_TRUE;
            return(record);
        }
Ejemplo n.º 5
0
        public int GetGravel(string token)
        {
            if (RSAProvider.LoadRSA(token))
            {
                string userName = "";
                try
                {
                    userName = ClientManager.GetClientUserName(token);
                    var playerRunner = PlayerController.Instance.GetRunnable(userName);
                    if (playerRunner == null)
                    {
                        return(OperResult.RESULTCODE_USER_NOT_EXIST);
                    }

                    PlayerGravelRequsetRecordInfo record = null;
                    int result = MyDBHelper.Instance.TransactionDataBaseOper(myTrans =>
                    {
                        int innerResult;
                        record = GravelController.Instance.GetGravel(playerRunner.BasePlayer.SimpleInfo.UserID, myTrans, out innerResult);
                        if (innerResult != OperResult.RESULTCODE_TRUE)
                        {
                            return(innerResult);
                        }
                        if (record == null)
                        {
                            return(OperResult.RESULTCODE_FALSE);
                        }
                        innerResult = playerRunner.GetGravel(record, myTrans);

                        return(innerResult);
                    },
                                                                             exc =>
                    {
                        if (exc != null)
                        {
                            LogHelper.Instance.AddErrorLog("玩家[" + userName + "] GetGravel Transaction Oper Exception", exc);
                        }
                    });

                    if (result == OperResult.RESULTCODE_TRUE)
                    {
                        if (record != null)
                        {
                            LogHelper.Instance.AddInfoLog("玩家[" + userName + "] 领取 " + record.Gravel + " 碎石");
                        }
                    }
                    else
                    {
                        playerRunner.RefreshGravel();
                    }

                    return(result);
                }
                catch (Exception exc)
                {
                    LogHelper.Instance.AddErrorLog("玩家[" + userName + "] GetGravel Exception", exc);
                    return(OperResult.RESULTCODE_FALSE);
                }
            }
            else
            {
                throw new Exception();
            }
        }