using Microsoft.AspNetCore.Mvc; using Newtonsoft.Json.Serialization; using OASystem.Domain.Dtos.Groups; using OASystem.Domain.ViewModels.Groups; using OASystem.Infrastructure.Repositories.Groups; namespace OASystem.API.Controllers { /// <summary> /// 团组相关 /// </summary> //[Authorize] [Route("api/[controller]/[action]")] public class GroupsController : ControllerBase { private readonly GrpScheduleRepository _grpScheduleRep; private readonly IMapper _mapper; private readonly DelegationInfoRepository _groupRepository; public GroupsController(IMapper mapper, GrpScheduleRepository grpScheduleRep, DelegationInfoRepository groupRepository) { _mapper = mapper; _grpScheduleRep = grpScheduleRep; _groupRepository = groupRepository; } #region 流程管控 /// <summary> /// 获取团组流程管控信息 /// </summary> /// <param name="paras">参数Json字符串</param> /// <returns></returns> [HttpPost] [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)] public async Task<IActionResult> PostGrpSchedule(string paras) { if (string.IsNullOrEmpty(paras)) { return Ok(JsonView(false, "参数为空")); } Grp_ScheduleDto _ScheduleDto = JsonConvert.DeserializeObject<Grp_ScheduleDto>(paras); if (_ScheduleDto != null) { if (_ScheduleDto.SearchType == 2)//获取列表 { } else//获取对象 { Grp_ScheduleView _grpScheduleView = await _grpScheduleRep.GetView_GrpSchedule(_ScheduleDto); if (_grpScheduleView != null) { return Ok(JsonView(0, "获取成功", _grpScheduleView)); } } } else { return Ok(JsonView(false, "参数反序列化失败")); } return Ok(JsonView(false, "暂无数据!")); } #endregion #region 团组基本信息 /// <summary> /// 接团信息列表 /// </summary> /// <param name="dto">团组列表请求dto</param> /// <returns></returns> [HttpPost] public async Task<IActionResult> GetGroupList(GroupListDto dto) { var groupData = await _groupRepository.GetGroupList(dto); if (groupData.Code != 0) { return Ok(JsonView(false, groupData.Msg)); } return Ok(JsonView(groupData.Data)); } /// <summary> /// 接团信息详情 /// </summary> /// <param name="dto">团组info请求dto</param> /// <returns></returns> [HttpPost] public async Task<IActionResult> GetGroupInfo(GroupInfoDto dto) { var groupData = await _groupRepository.GetGroupInfo(dto); if (groupData.Code != 0) { return Ok(JsonView(false, groupData.Msg)); } return Ok(JsonView(groupData.Data)); } /// <summary> /// 接团信息 编辑添加 /// 基础信息数据源 /// </summary> /// <param name="dto"></param> /// <returns></returns> [HttpPost] public async Task<IActionResult> GroupEditBasicSource(GroupListDto dto) { var groupData = await _groupRepository.GroupEditBasicSource(dto); if (groupData.Code != 0) { return Ok(JsonView(false, groupData.Msg)); } return Ok(JsonView(groupData.Data)); } /// <summary> /// 接团信息 操作(增删改) /// </summary> /// <param name="dto"></param> /// <returns></returns> [HttpPost] public async Task<IActionResult> GroupOperation(GroupOperationDto dto) { var groupData = await _groupRepository.GroupOperation(dto); if (groupData.Code != 0) { return Ok(JsonView(false, groupData.Msg)); } return Ok(JsonView(true)); } /// <summary> /// 获取团组销售报价号 /// 团组添加时 使用 /// </summary> /// <returns></returns> [HttpPost] public async Task<IActionResult> GetGroupSalesQuoteNo() { var groupData = await _groupRepository.GetGroupSalesQuoteNo(); if (groupData.Code != 0) { return Ok(JsonView(false, groupData.Msg)); } return Ok(JsonView(true, groupData.Data)); } #endregion } }