コード例 #1
0
ファイル: GameController.cs プロジェクト: Karrotts/Roulette
 public GameController(double StartingMoney)
 {
     Message     = "";
     Money       = StartingMoney;
     Bets        = new List <Bet>();
     information = new BetInformation();
 }
コード例 #2
0
        /// <summary>
        /// 根据ID获取一条处理进程池中的数据
        /// </summary>
        /// <param name="id">下单ID</param>
        /// <param name="result">扫码结果</param>
        /// <returns></returns>
        public static int SetBetProcessBetContent(int id, BetInformation result)
        {
            if (processPool.ContainsKey(id))
            {
                processPool[id].BetList[result.BetPlatform] = result;

                var count = processPool[id].BetList.Count(q => q.Value.Equals(null) || q.Value.Status == ResultStatus.Deleting);

                return(count);
            }
            else
            {
                //不存在返回-1
                return(-1);
            }
        }
コード例 #3
0
        /// <summary>
        /// 处理下单结果
        /// </summary>
        /// <param name="content"></param>
        private void BetContentEvent(BetContentResult content)
        {
            //收到下注结果
            if (null != content)
            {
                BetInformation bet = new BetInformation();
                bet.BetAccount    = content.BetAccount;
                bet.BetMoney      = content.BetMoney;
                bet.BetPlatform   = content.BetPlatformEnum;
                bet.BetSessionID  = content.BetSessionID;
                bet.DeleteOrderID = content.DeleteOrderID;
                bet.Number        = content.Number;
                bet.Odds          = content.Odds;
                bet.OperateTime   = content.BetTime;
                bet.OrderID       = content.OrderID;
                bet.Money         = content.Money;

                //符合赔率
                if (bet.Odds >= 9000)
                {
                    bet.Status = ResultStatus.Success;
                }
                else
                {
                    //退码
                    bet.Status           = ResultStatus.Deleting;
                    content.ResultStatus = ResultStatus.Deleting;
                    MQActionVoidResult result = PublicData.RequestSocket.RequestSendReceive <MQActionVoidResult>(IdKeyData.Create(PublicData.SessionId, "Bet/DeleteBet", content));
                    if (null != result && result.IsOK)
                    {
                        //记录命令发送成功
                    }
                    else
                    {
                        //记录命令发送失败
                    }
                }
                var count = BetProcessPool.SetBetProcessBetContent(content.Id, bet);

                if (count == 0)
                {
                    //下单完成 可能存在已经退水了的
                }
            }
        }