// 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}"); } }
/// <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 { //记录命令发送失败 } }); } } } }
/// <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 //{ // //下单失败 //} }
/// <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 = "未找到下注客户端" }); } }
public BetContentResult AddBet(BetContent content) { throw new NotImplementedException(); }