Ejemplo n.º 1
0
 public BetController(IValidator <Bet> entityValidator,
                      IResponseService responseService,
                      IExceptionHandler exceptionHandler,
                      IGames gameService,
                      IBets betsService)
 {
     _entityValidator  = entityValidator;
     _responseService  = responseService;
     _exceptionHandler = exceptionHandler;
     _gameService      = gameService;
     _betsService      = betsService;
     _betProcess       = new BetProcess(_responseService, _exceptionHandler, _gameService, _betsService);
 }
Ejemplo n.º 2
0
 /// <summary>
 /// 添加到出货处理池
 /// </summary>
 /// <param name="bet"></param>
 /// <returns></returns>
 public static bool AddBetInPool(BetProcess bet)
 {
     try
     {
         processPool.TryAdd(bet.Id, bet);
         return(true);
     }
     catch (AggregateException exc)
     {
         //LogError(Environment.NewLine + "获取下注信息失败:" + result.ErrorMsg);
     }
     catch (OverflowException exc)
     {
         //LogError(Environment.NewLine + "获取下注信息失败:" + result.ErrorMsg);
     }
     return(false);
 }
Ejemplo n.º 3
0
        /// <summary>
        /// 获取出货信息
        /// </summary>
        private void ThreadBetInformation()
        {
            while (!PublicData.CancellationToken.IsCancellationRequested)
            {
                try
                {
                    MQActionResult <BetPoolItem> result = PublicData.RequestSocket.RequestSendReceive <MQActionResult <BetPoolItem> >(
                        IdKeyData.Create(PublicData.SessionId, "BetPool/GetBetInPool", PublicData.SessionId));
                    if (result.IsOK)
                    {
                        BetPoolItem betResult = result.Data;

                        //添加到处理池
                        Task.Run(() => {
                            BetProcess bet      = new BetProcess();
                            bet.Id              = betResult.Id;
                            bet.Locked          = false;
                            bet.Money           = betResult.Money;
                            bet.Number          = betResult.Number;
                            bet.OperateID       = betResult.OperateID;
                            bet.Order           = betResult.Order;
                            bet.BuyerSessionID  = PublicData.SessionId;
                            bet.ClientSessionID = betResult.ClientSessionID;
                            BetProcessPool.AddBetInPool(bet);
                        });
                    }
                    else
                    {
                        LogError(Environment.NewLine + "获取下注信息失败:" + result.ErrorMsg);
                    }
                }
                catch (Exception ex)
                {
                    LogError(Environment.NewLine + "获取下注信息异常:" + Environment.NewLine + ex.StackTrace);
                }

                Thread.Sleep(200); //200毫秒获取一次
            }
        }