Пример #1
0
 /// <summary>
 /// 下注完成
 /// </summary>
 /// <param name="sessionId">客户端ID</param>
 /// <param name="betCompleted">信息</param>
 /// <returns></returns>
 public static MQActionVoidResult BetCompleted(string sessionId, BetPoolItem betCompleted)
 {
     if (BetPool.BetSuccess(betCompleted.Id))
     {
         return(new MQActionVoidResult()
         {
             IsOK = true
         });
     }
     else
     {
         return(new MQActionVoidResult()
         {
             IsOK = false, ErrorMsg = "操作失败,请重试"
         });
     }
 }
Пример #2
0
        /// <summary>
        /// 添加下注信息到出货池
        /// </summary>
        /// <param name="sessionId">客户端ID</param>
        /// <param name="bet">下注</param>
        /// <returns></returns>
        public static MQActionResult <string> AddBetInPool(string sessionId, BetPoolItem bet)
        {
            MQActionResult <string> result = new MQActionResult <string>();

            if (BetPool.AddBetInPool(bet))
            {
                result.Data     = "添加成功";
                result.ErrorMsg = "";
                result.IsOK     = true;
                return(result);
            }
            else
            {
                result.Data     = "添加失败,请重试!";
                result.ErrorMsg = "添加失败,请重试!";
                result.IsOK     = false;
                return(result);
            }
        }
Пример #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毫秒获取一次
            }
        }
Пример #4
0
 /// <summary>
 /// 将下注信息加入出货池
 /// </summary>
 /// <param name="bet">下注信息</param>
 /// <returns></returns>
 public static bool AddBetInPool(BetPoolItem bet)
 {
     betPool.TryAdd(bet.Id, bet);
     BetPoolChanged?.Invoke();
     return(true);
 }