修改问题

This commit is contained in:
zpc 2024-11-28 16:01:41 +08:00
parent e823be45c6
commit 9e8c8cfea8
3 changed files with 30 additions and 5 deletions

View File

@ -69,9 +69,22 @@ public class PlayGameController : CloudGamingControllerBase
{
PlayGameBLL playGameBLL = new PlayGameBLL(ServiceProvider, JYApi);
return await playGameBLL.PlayGameHeartbeat(gameRequest.GameId);
}
/// <summary>
/// 退出游戏
/// </summary>
/// <param name="gameRequest"></param>
/// <returns></returns>
[HttpPost]
[Authorize]
public async Task<BaseResponse<bool>> ExitPlayGame([FromBody] GameRequest gameRequest)
{
PlayGameBLL playGameBLL = new PlayGameBLL(ServiceProvider, JYApi);
return await playGameBLL.ExitPlayGame(gameRequest.GameId);
}
/// <summary>

View File

@ -143,7 +143,7 @@ public class PlayGameBLL : CloudGamingBase
var gameResponse1 = JsonConvert.DeserializeObject<Dictionary<string, object>>(jyResponseData.ResponseContent);
if (gameResponse1 != null && gameResponse1.TryGetValue("data", out var xxx))
{
response = new BaseResponse<object>(ResponseCode.Success, "", xxx);
response = new BaseResponse<object>(ResponseCode.Success, "", JsonConvert.SerializeObject(xxx));
}
else
{
@ -280,7 +280,7 @@ public class PlayGameBLL : CloudGamingBase
/// </summary>
/// <param name="gameId"></param>
/// <returns></returns>
public async Task ExitPlayGame(string gameId)
public async Task<BaseResponse<bool>> ExitPlayGame(string gameId)
{
// 检查用户是否已登录
if (_UserId == 0)
@ -303,8 +303,15 @@ public class PlayGameBLL : CloudGamingBase
}
if (gameInfoCache.GameStatus != PlayGameStatus.)
{
gameInfoCache.ExitPlayGame();
PlayGameCommonSetting playGameQueue = new PlayGameCommonSetting()
{
ScId = gameInfoCache.ScId,
Sn = gameInfoCache.Sn
};
var obj = await JYApi.StopGame(playGameQueue);
gameInfoCache.ExitPlayGame(obj);
}
return new BaseResponse<bool>(ResponseCode.Success, "", true);
}

View File

@ -98,12 +98,17 @@ namespace CloudGaming.Code.Game
/// <param name="modenName"></param>
/// <param name="cpu"></param>
/// <returns></returns>
public static bool ExitPlayGame(this PlayGameUserInfo playGameUserInfo)
public static bool ExitPlayGame(this PlayGameUserInfo playGameUserInfo, IJYApiRespnse jYApiRespnse)
{
if (playGameUserInfo.GameStatus != PlayGameStatus.)
{
playGameUserInfo.GameStatus = PlayGameStatus.;
playGameUserInfo.GameUserOperation.Add(new PlayGameUserOperation()
{
OperationDateTime = DateTime.Now,
Content = "游戏结束"
});
playGameUserInfo.LastDateTime = DateTime.Now;
}
return true;