public GameController(double StartingMoney) { Message = ""; Money = StartingMoney; Bets = new List <Bet>(); information = new BetInformation(); }
/// <summary> /// 根据ID获取一条处理进程池中的数据 /// </summary> /// <param name="id">下单ID</param> /// <param name="result">扫码结果</param> /// <returns></returns> public static int SetBetProcessBetContent(int id, BetInformation result) { if (processPool.ContainsKey(id)) { processPool[id].BetList[result.BetPlatform] = result; var count = processPool[id].BetList.Count(q => q.Value.Equals(null) || q.Value.Status == ResultStatus.Deleting); return(count); } else { //不存在返回-1 return(-1); } }
/// <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) { //下单完成 可能存在已经退水了的 } } }