/// <summary> /// 查询对阵详情 /// </summary> /// <param name="guess"></param> public GuessVS GetVSDetail(Guess guess) { var cmd = CommandHelper.CreateProcedure <GameLoop>(text: "sp_GetGameOrderVSDetail"); cmd.Params.Add(CommandHelper.CreateParam("@gameId", "")); cmd.Params.Add(CommandHelper.CreateParam("@knockOutAB", "")); cmd.Params.Add(CommandHelper.CreateParam("@orderId", guess.VsOrderId)); cmd.Params.Add(CommandHelper.CreateParam("@groupId", "")); cmd.Params.Add(CommandHelper.CreateParam("@isExtra", "")); guess.VsOrderNo = 0;//排查后,此值用不到, 暂时屏蔽 cmd.Params.Add(CommandHelper.CreateParam("@groupOrderNo", guess.VsOrderNo)); cmd.Params.Add(CommandHelper.CreateParam("@GameLoopId", guess.VsGameLoopId)); var result = DbContext.GetInstance().Execute(cmd); var obj = result.FirstEntity <GameLoop>(); GuessVS guessVS = new GuessVS(); guessVS.LeftId = obj.Team1Id.GetId(); guessVS.LeftName = obj.Team1Id.GetName(); guessVS.LeftHeadUrl = obj.Team1HeadUrl; if (obj.IsTeam) { guessVS.LeftScore = obj.Team1; } else { guessVS.LeftScore = obj.Game1; } guessVS.RightId = obj.Team2Id.GetId(); guessVS.RightName = obj.Team2Id.GetName(); guessVS.RightHeadUrl = obj.Team2HeadUrl; if (obj.IsTeam) { guessVS.RightScore = obj.Team2; } else { guessVS.RightScore = obj.Game2; } guessVS.TableNumber = obj.TableNo; guessVS.MasterJudgeName = obj.MasterJudgeId.GetName(); guessVS.SecondJudgeName = obj.JudgeId.GetName(); guessVS.BeginTime = obj.BeginTime; guessVS.State = obj.State.GetId(); guessVS.GameId = obj.GameId; //设置对阵左右两边的赔率 guessVS.LeftOdds = guess.VSLeftOdds; guessVS.RightOdds = guess.VsRightOdds; //设置几打几胜 guessVS.WinNumber = obj.IsTeam ? obj.WinTeam : obj.WinGame; return(guessVS); }
/// <summary> /// 设置猜中的比分和赔率到Guess实体上 /// </summary> /// <param name="guess"></param> /// <param name="obj"></param> public void SetBingoScoreAndOdds(Guess guess, GuessVS obj) { var sql = @" SELECT * FROM dbo.GuessScore WHERE GuessId=@GuessId AND LeftScore=@LeftScore AND RightScore=@RightScore "; var cmd = CommandHelper.CreateText <GuessScore>(FetchType.Fetch, sql); cmd.Params.Add("@GuessId", guess.Id); cmd.Params.Add("@LeftScore", obj.LeftScore); cmd.Params.Add("@RightScore", obj.RightScore); var result = DbContext.GetInstance().Execute(cmd); var guessScore = result.FirstEntity <GuessScore>(); guess.BingoLeftScore = guessScore.LeftScore; guess.BingoRightScore = guessScore.RightScore; guess.BingoScoreOdds = guessScore.Odds; }
/// <summary> /// 设置胜方的Id 和赔率到Guess 实体上 /// </summary> /// <param name="guess"></param> /// <param name="obj"></param> public void SetVictoryIdAndOdds(Guess guess, GuessVS obj) { //获取胜方Id if (obj.LeftScore > obj.RightScore) { guess.VictoryId = obj.LeftId; } else { guess.VictoryId = obj.RightId; } //获取胜方赔率 if (guess.VictoryId == obj.LeftId) { guess.VictoryOdds = guess.VSLeftOdds; } else { guess.VictoryOdds = guess.VsRightOdds; } }
/// <summary> /// 比分竞猜结算 /// </summary> /// <param name="guess"></param> public Response ScoreSettlement(Guess guess, GuessVS guessVS) { Response rsp = ResultHelper.CreateResponse(); //取出猜中的比分和赔率, 赋到guess 实体上 GuessHelper.Instance.SetBingoScoreAndOdds(guess, guessVS); //查出胜方用户列表, 进行返钱 var bingoBetList = GetGuessScoreBetList(guess); if (bingoBetList.Count > 0) { rsp = BackYueDouToUser(bingoBetList, guess, guess.BingoScoreOdds); } //增减庄家的悦豆 var totalYuedou = GuessHelper.Instance.GetGuessTotalYueDouByType(guess.Id, GuessDic.Score); //比分投注的总悦豆 var bingoTotalYueDou = GuessHelper.Instance.GetBingoScoreTotalYueDou(guess); //猜中比分的总悦豆 var declareDeposit = Convert.ToInt32(guess.ScoreDeclarerDeposit); rsp = AddOrSubDeclarerYueDou(guess, totalYuedou , bingoTotalYueDou, declareDeposit, GuessDic.DeclarerScore); SystemHelper.CheckResponseIfError(rsp); return(rsp); }
/// <summary> /// 胜负竞猜结算 /// </summary> /// <param name="guess"></param> public Response VictoryDefeatSettlement(Guess guess, GuessVS guessVS) { Response rsp = ResultHelper.CreateResponse(); //取出胜方的Id和赔率, 赋到guess 实体上 GuessHelper.Instance.SetVictoryIdAndOdds(guess, guessVS); //查出胜方用户列表, 进行返钱 var victoryBetList = GetGuessVictoryDefeatBetList(guess.VictoryId, guess.Id); if (victoryBetList.Count > 0) { rsp = BackYueDouToUser(victoryBetList, guess, guess.VictoryOdds); } //增减庄家的悦豆 var totalYuedou = GuessHelper.Instance.GetGuessTotalYueDouByType(guess.Id, GuessDic.VictoryDefeat); //胜负投注的总悦豆 var bingoTotalYueDou = GuessHelper.Instance.GetVictoryOrDefeatTotalYueDou(guess.Id, guess.VictoryId); //胜方总悦豆 var declareDeposit = Convert.ToInt32(guess.VictoryDefeatDeclarerDeposit); rsp = AddOrSubDeclarerYueDou(guess, totalYuedou , bingoTotalYueDou, declareDeposit, GuessDic.DeclarerVictoryDefeat); SystemHelper.CheckResponseIfError(rsp); return(rsp); }