예제 #1
0
 // DealerReceive数据处理
 private void HandleKeyData_DealerReceive(string cmdText, string actionJsonResult)
 {
     //if (PublicData.ServerParameter == null || PublicData.ServerParameter.IsEmpty())
     //{
     //    MessageBoxEx.Alert($"服务器参数获取失败,无法处理{cmdText}方法");
     //    return;
     //}
     if (cmdText == "PushAddBet")
     {
         BetContent content = JsonUtil.Deserialize <BetContent>(actionJsonResult);
         if (content != null)
         {
             PushBetEvent?.Invoke(content);
         }
     }
     else if (cmdText == "PushDeleteBet")
     {
         BetContentResult content = JsonUtil.Deserialize <BetContentResult>(actionJsonResult);
         if (content != null)
         {
             DeleteBetEvent?.Invoke(content);
         }
     }
     else
     {
         LogUtil.Error($"未处理的DealerReceive消息:cmd:{cmdText}; json:{actionJsonResult}");
     }
 }
예제 #2
0
        /// <summary>
        /// 收到扫水结果
        /// </summary>
        /// <param name="content">扫水结果</param>
        private void CollectResultEvent(CollectResult content)
        {
            CollectInformation ci = new CollectInformation();

            ci.CollectPlatform  = content.Platform;
            ci.CollectSessionID = content.CollectSessionID;
            ci.MaxBetMoney      = content.MaxBetMoney;
            ci.Number           = content.Number;
            var count = BetProcessPool.SetBetProcessCollect(content.Id, ci);

            //如果扫水完成
            if (count == 0)
            {
                var colls = BetProcessPool.GetCollectByID(content.Id);
                if (null != colls)
                {
                    //分析扫水结果
                    //->暂缺

                    //开始下注
                    foreach (CollectInformation item in colls)
                    {
                        //设置分配好的下注平台
                        BetProcessPool.AddBetListItemInBetProcess(content.Id, item.CollectPlatform);

                        Task.Run(() => {
                            BetContent bet            = new BetContent();
                            bet.Id                    = content.Id;
                            bet.BetPlatformEnum       = item.CollectPlatform;
                            bet.BuyerSessionID        = content.BuyerSessionID;
                            bet.ClientSessionID       = content.ClientSessionID;
                            bet.InputType             = 1; //号码类型
                            bet.Money                 = 1; // 分配的金额
                            bet.Number                = item.Number;
                            MQActionVoidResult result = PublicData.RequestSocket.RequestSendReceive <MQActionVoidResult>(IdKeyData.Create(PublicData.SessionId, "Bet/AddBet", bet));
                            if (null != result && result.IsOK)
                            {
                                //记录命令发送成功
                            }
                            else
                            {
                                //记录命令发送失败
                            }
                        });
                    }
                }
            }
        }
예제 #3
0
        /// <summary>
        /// 处理服务器推送的下注信息
        /// </summary>
        /// <param name="content">下注内容</param>
        private void PushBetEvent(BetContent content)
        {
            //if (dfv.LoginToken == null)
            //{
            //    dfv.Initialize(new LoginModel() { Loginname = "kf001", Password = "******" }, false);
            //    dfv.Login();
            //}
            //var order_result = dfv.SendOrder<SingleOrderResult>(content.Number, content.Money);

            //if (order_result != null && order_result.Data.Code == 0)
            //{
            //    BetContentResult betResult = new BetContentResult();
            //    betResult.Id = content.Id;
            //    betResult.BetAccount = "kf001";
            //    betResult.BetMoney = order_result.Data.Data.SuccessBet;
            //    betResult.BetPlatformEnum = BetPlatformEnum.DFV168;
            //    betResult.BetSessionID = PublicData.SessionId;
            //    betResult.BetTime = order_result.Data.Data.Data.First().BetDate.ToLongTimeSpan();
            //    betResult.BuyerSessionID = content.BuyerSessionID;
            //    betResult.ClientSessionID = content.ClientSessionID;
            //    betResult.DeleteOrderID = order_result.Data.Data.Data.First().List.First().DelID;
            //    betResult.InputType = 0;
            //    betResult.Money = content.Money;
            //    betResult.Number = content.Number;
            //    betResult.Odds = order_result.Data.Data.Data.First().List.First().Odds;
            //    betResult.OrderID = order_result.Data.Data.Data.First().OrderID;
            //    betResult.ResultStatus = ResultStatus.Success;

            //    MQActionVoidResult result = PublicData.RequestSocket.RequestSendReceive<MQActionVoidResult>(IdKeyData.Create(PublicData.SessionId, "Bet/BetCompleted", betResult));

            //    if (result != null && result.IsOK)
            //    {
            //        //记录成功
            //    }
            //    else
            //    {
            //        //记录失败
            //    }
            //}
            //else
            //{
            //    //下单失败
            //}
        }
예제 #4
0
        /// <summary>
        /// 转发下注命令到下注客户端
        /// </summary>
        /// <param name="sessionId">客户端ID</param>
        /// <param name="betContent">下注内容</param>
        /// <returns></returns>
        public static MQActionVoidResult AddBet(string sessionId, BetContent betContent)
        {
            var session = SessionPool.GetClientsGroup(ClientTypeEnum.Bet);

            if (session != null)
            {
                foreach (var item in session)
                {
                    MQRouterSendQueue.PushAddBet(item.Key, betContent);
                }
                return(new MQActionVoidResult()
                {
                    IsOK = true
                });
            }
            else
            {
                return(new MQActionVoidResult()
                {
                    IsOK = false, ErrorMsg = "未找到下注客户端"
                });
            }
        }
예제 #5
0
 public BetContentResult AddBet(BetContent content)
 {
     throw new NotImplementedException();
 }