using Infrastructure; using Microsoft.AspNetCore.Mvc; using OpenAuth.App.BaseApp.SysGroupManager.Request; using OpenAuth.App.ServiceApp.InsTaskHallManager; using OpenAuth.App.ServiceApp.InsTaskHallManager.Response; using OpenAuth.App.SysDatabaseLink; using OpenAuth.Repository.Domain; namespace OpenAuth.WebApi.Controllers.ServiceControllers { /// /// 任务大厅 /// [Route("api/[controller]/[action]")] [ApiController] public class InsTaskHallController : ControllerBase { private readonly InsTaskHallApp _app; public InsTaskHallController(InsTaskHallApp app) { _app = app; } /// ///任务区 /// /// [HttpGet] public async Task>> GetTaskList() { var result = new Response>(); try { result.Result = await _app.GetTaskList(); } catch (Exception ex) { result.Code = 500; result.Message = ex.InnerException?.Message ?? ex.Message; } return result; } /// ///已完成任务 /// /// [HttpGet] public async Task>> GetCompleteTaskList() { var result = new Response>(); try { result.Result = await _app.GetCompleteTaskList(); } catch (Exception ex) { result.Code = 500; result.Message = ex.InnerException?.Message ?? ex.Message; } return result; } /// /// 最佳牛马排行 /// /// 标识(周榜:week,月榜:month,总榜:total) /// [HttpGet] public async Task>> GetRankingList(string flag) { var result = new Response>(); try { result.Result = await _app.GetRankingList(flag); } catch (Exception ex) { result.Code = 500; result.Message = ex.InnerException?.Message ?? ex.Message; } return result; } /// /// 在办任务 /// /// [HttpGet] public async Task>> GetTaskingList() { var result = new Response>(); try { result.Result = await _app.GetTaskingList(); } catch (Exception ex) { result.Code = 500; result.Message = ex.InnerException?.Message ?? ex.Message; } return result; } /// /// 组排名 /// /// [HttpGet] public async Task>> GetGroupRankingList() { var result = new Response>(); try { result.Result = await _app.GetGroupRankingList(); } catch (Exception ex) { result.Code = 500; result.Message = ex.InnerException?.Message ?? ex.Message; } return result; } /// /// 根据任务id获取分组任务 /// /// 任务id /// [HttpGet] public async Task>> GetgrouptaskList(string id) { var result = new Response>(); try { result.Result = await _app.GetgrouptaskList(id); } catch (Exception ex) { result.Code = 500; result.Message = ex.InnerException?.Message ?? ex.Message; } return result; } /// /// 领取任务 /// /// 分组任务ids /// [HttpPost] public async Task> ReciveTask(List groupIds) { var result = new Response(); try { result = await _app.ReciveTask(groupIds); } catch (Exception ex) { result.Code = 500; result.Message = ex.InnerException?.Message ?? ex.Message; } return result; } } }