Esempio n. 1
0
        /// <summary>
        /// 退单事件
        /// </summary>
        /// <param name="content">退单内容</param>
        private void DeleteBetEvent(BetContentResult content)
        {
            //if (dfv.LoginToken == null)
            //{
            //    dfv.Initialize(new LoginModel() { Loginname = "kf001", Password = "******" }, false);
            //    dfv.Login();
            //}
            //var result = dfv.CancelOrder<SingleOrderDelete>(content.DeleteOrderID);
            //if (result != null)
            //{
            //    DeleteBetContentResult deleteBetResult = new DeleteBetContentResult();
            //    deleteBetResult.BetMoney = content.BetMoney;
            //    deleteBetResult.BetPlatformEnum = BetPlatformEnum.DFV168;
            //    deleteBetResult.BetSessionID = PublicData.SessionId;
            //    deleteBetResult.BetTime = DateTime.Now.ToLongTimeSpan();
            //    deleteBetResult.BuyerSessionID = content.BuyerSessionID;
            //    deleteBetResult.ClientSessionID = content.ClientSessionID;
            //    deleteBetResult.Id = content.Id;
            //    deleteBetResult.Money = content.Money;
            //    deleteBetResult.Number = content.Number;
            //    deleteBetResult.ResultStatus = ResultStatus.Deleted;
            //    deleteBetResult.Odds = content.Odds;

            //    MQActionVoidResult deleteResult = PublicData.RequestSocket.RequestSendReceive<MQActionVoidResult>(IdKeyData.Create(PublicData.SessionId, "Bet/DeleteBetResult", deleteBetResult));

            //    if (deleteResult != null && deleteResult.IsOK)
            //    {
            //        //记录成功
            //    }
            //    else
            //    {
            //        //记录失败
            //    }
            //}
        }
Esempio n. 2
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}");
     }
 }
Esempio n. 3
0
        /// <summary>
        /// 转发退码命令到出货客户端
        /// </summary>
        /// <param name="sessionId">下注端ID</param>
        /// <param name="betContent">下注结果信息</param>
        /// <returns></returns>
        public static MQActionVoidResult DeleteBet(string sessionId, BetContentResult betContent)
        {
            var session = SessionPool.GetClientsGroup(ClientTypeEnum.Bet);

            if (session != null)
            {
                foreach (var item in session)
                {
                    if (item.Value.platform.Value == betContent.BetPlatformEnum)
                    {
                        MQRouterSendQueue.PushDeleteBet(item.Key, betContent);
                    }
                }
                return(new MQActionVoidResult()
                {
                    IsOK = true
                });
            }
            else
            {
                return(new MQActionVoidResult()
                {
                    IsOK = false, ErrorMsg = "未找到下注客户端"
                });
            }
        }
Esempio n. 4
0
        // DealerReceive数据处理
        private void HandleKeyData_DealerReceive(string cmdText, string actionJsonResult)
        {
            //if (PublicData.ServerParameter == null || PublicData.ServerParameter.IsEmpty())
            //{
            //    MessageBoxEx.Alert($"服务器参数获取失败,无法处理{cmdText}方法");
            //    return;
            //}


            if (cmdText == "PushCollectCompleted") //扫水结果
            {
                //解析扫水结果
                CollectResult collectResult = JsonUtil.Deserialize <CollectResult>(actionJsonResult);
                CollectResultEvent?.Invoke(collectResult);
            }
            else if (cmdText == "PushAddBetCompleted") //下注结果
            {
                //解析下注结果
                BetContentResult betContentResult = JsonUtil.Deserialize <BetContentResult>(actionJsonResult);
                BetContentEvent?.Invoke(betContentResult);
            }
            else if (cmdText == "PushDeleteBetResult") //退码结果
            {
                //解析下注结果
                DeleteBetContentResult betContentResult = JsonUtil.Deserialize <DeleteBetContentResult>(actionJsonResult);
                DeletedBetContentEvent?.Invoke(betContentResult);
            }
            else
            {
                LogUtil.Error($"未处理的DealerReceive消息:cmd:{cmdText}; json:{actionJsonResult}");
            }
        }
Esempio n. 5
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)
                {
                    //下单完成 可能存在已经退水了的
                }
            }
        }
Esempio n. 6
0
        /// <summary>
        /// 转发下注命令到出货客户端
        /// </summary>
        /// <param name="sessionId">下注端ID</param>
        /// <param name="betContent">下注结果信息</param>
        /// <returns></returns>
        public static MQActionVoidResult BetCompleted(string sessionId, BetContentResult betContent)
        {
            var session = SessionPool.GetClientsGroup(ClientTypeEnum.Strategy);

            if (session != null)
            {
                foreach (var item in session)
                {
                    MQRouterSendQueue.PushAddBetCompleted(item.Key, betContent);
                }
                return(new MQActionVoidResult()
                {
                    IsOK = true
                });
            }
            else
            {
                return(new MQActionVoidResult()
                {
                    IsOK = false, ErrorMsg = "未找到下注客户端"
                });
            }
        }
Esempio n. 7
0
 public DeleteBetContentResult DeleteBetOrder(BetContentResult content)
 {
     throw new NotImplementedException();
 }