105 lines
4.1 KiB
C#
105 lines
4.1 KiB
C#
using Assets.Scripts.Apis.Models;
|
|
using Newtonsoft.Json;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
namespace Assets.Scripts.Apis
|
|
{
|
|
internal class MapCompetitionApi : ApiBase
|
|
{
|
|
/// <summary>
|
|
/// 比赛实体
|
|
/// </summary>
|
|
/// <param name="id"></param>
|
|
/// <returns></returns>
|
|
public JsonResult<MapCompetition> GetById(int id)
|
|
{
|
|
return Get<JsonResult<MapCompetition>>("/MapCompetition/GetDetail?id=" + id);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取当前比赛排名
|
|
/// </summary>
|
|
/// <param name="id"></param>
|
|
/// <returns></returns>
|
|
public JsonResult<List<CompetitionRankingResultModel>> GetRankingList(int id)
|
|
{
|
|
var list = Get<JsonResult<dynamic>>($"/MapRecord/GetCompetitionRanking?id={ id }&pageIndex=0&pageSize=999");
|
|
|
|
return new JsonResult<List<CompetitionRankingResultModel>>
|
|
{
|
|
result = list.result,
|
|
errMsg = list.errMsg,
|
|
data = Newtonsoft.Json.JsonConvert.DeserializeObject<List<CompetitionRankingResultModel>>(JsonConvert.SerializeObject(list.data.list))
|
|
};
|
|
}
|
|
//查询我参与的比赛列表
|
|
public JsonResult<List<JoinedCompetitionModel>> GetMyCompetitionList()
|
|
{
|
|
var list = Get<JsonResult<dynamic>>($"/MapCompetition/v0/GetMyList");
|
|
|
|
return new JsonResult<List<JoinedCompetitionModel>>
|
|
{
|
|
result = list.result,
|
|
errMsg = list.errMsg,
|
|
data = Newtonsoft.Json.JsonConvert.DeserializeObject<List<JoinedCompetitionModel>>(JsonConvert.SerializeObject(list.data))
|
|
};
|
|
}
|
|
//查询比赛列表
|
|
public JsonResult<List<MapCompetitionModel>> GetCompetitionList(string name,int pageIndex,int pageSize,int status=0)
|
|
{
|
|
var list = Get<JsonResult<dynamic>>($"/MapCompetition/v1/GetList?pageIndex={ pageIndex }&pageSize={ pageSize }&name={ name }&status={ status }");
|
|
|
|
return new JsonResult<List<MapCompetitionModel>>
|
|
{
|
|
result = list.result,
|
|
errMsg = list.errMsg,
|
|
data = Newtonsoft.Json.JsonConvert.DeserializeObject<List<MapCompetitionModel>>(JsonConvert.SerializeObject(list.data))
|
|
};
|
|
}
|
|
public async Task<JsonResult<List<MapCompetition>>> GetCompetitionListV2(string name, int pageIndex, int pageSize, string status = "", int order = 1, bool self = false, int activity = 0)
|
|
{
|
|
var list = await GetAsync<JsonResult<dynamic>>($"/MapCompetition/v2/GetList?pageIndex={ pageIndex }&pageSize={ pageSize }&name={ name }&status={ status }&order={order}&self={self}&activity={activity}");
|
|
return new JsonResult<List<MapCompetition>>
|
|
{
|
|
result = list.result,
|
|
errMsg = list.errMsg,
|
|
data = Newtonsoft.Json.JsonConvert.DeserializeObject<List<MapCompetition>>(JsonConvert.SerializeObject(list.data))
|
|
};
|
|
}
|
|
//查询比赛详情
|
|
public JsonResult<MapCompetitionDetailModel> GetCompetitionDetail(int id)
|
|
{
|
|
var list = Get<JsonResult<dynamic>>($"/MapRouteGlobalCycling/Get?id={ id }");
|
|
|
|
return new JsonResult<MapCompetitionDetailModel>
|
|
{
|
|
result = list.result,
|
|
errMsg = list.errMsg,
|
|
data = Newtonsoft.Json.JsonConvert.DeserializeObject<MapCompetitionDetailModel>(JsonConvert.SerializeObject(list.data))
|
|
};
|
|
}
|
|
//报名比赛
|
|
public JsonResult ApplyMapCompetition(int id)
|
|
{
|
|
var param = new
|
|
{
|
|
id = id,
|
|
};
|
|
return Post<JsonResult>($"/MapCompetition/ApplyMapCompetition", param);
|
|
}
|
|
//取消报名比赛
|
|
public JsonResult CancelMapCompetition(int id)
|
|
{
|
|
var param = new
|
|
{
|
|
id = id,
|
|
};
|
|
return Post<JsonResult>($"/MapCompetition/CancelMapCompetition", param);
|
|
}
|
|
|
|
}
|
|
}
|