using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json.Serialization;
using OASystem.API.OAMethodLibs;
using OASystem.Domain.Dtos.Groups;
using OASystem.Domain.ViewModels.Groups;
using OASystem.Infrastructure.Repositories.Groups;
namespace OASystem.API.Controllers
{
///
/// 团组相关
///
//[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 流程管控
///
/// 获取团组流程管控信息
///
/// 参数Json字符串
///
[HttpPost]
[ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
public async Task PostGrpSchedule(string paras)
{
if (string.IsNullOrEmpty(paras))
{
return Ok(JsonView(false, "参数为空"));
}
Grp_ScheduleDto _ScheduleDto = JsonConvert.DeserializeObject(paras);
if (_ScheduleDto != null)
{
if (_ScheduleDto.SearchType == 2)//获取列表
{
List _grpScheduleViewList = await _grpScheduleRep.GetViewList_GrpSchedule(_ScheduleDto);
return Ok(JsonView(_grpScheduleViewList));
}
else//获取对象
{
Grp_ScheduleView _grpScheduleView = await _grpScheduleRep.GetView_GrpSchedule(_ScheduleDto);
if (_grpScheduleView != null)
{
return Ok(JsonView(_grpScheduleView));
}
}
}
else
{
return Ok(JsonView(false, "参数反序列化失败"));
}
return Ok(JsonView(false, "暂无数据!"));
}
[HttpPost]
[ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
public void testGrpSchedule()
{
GroupStepForDelegation.CreateWorkStep(1228);
}
#endregion
#region 团组基本信息
///
/// 接团信息列表
///
/// 团组列表请求dto
///
[HttpPost]
public async Task GetGroupList(GroupListDto dto)
{
var groupData = await _groupRepository.GetGroupList(dto);
if (groupData.Code != 0)
{
return Ok(JsonView(false, groupData.Msg));
}
return Ok(JsonView(groupData.Data));
}
///
/// 接团信息详情
///
/// 团组info请求dto
///
[HttpPost]
public async Task GetGroupInfo(GroupInfoDto dto)
{
var groupData = await _groupRepository.GetGroupInfo(dto);
if (groupData.Code != 0)
{
return Ok(JsonView(false, groupData.Msg));
}
return Ok(JsonView(groupData.Data));
}
///
/// 接团信息 编辑添加
/// 基础信息数据源
///
///
///
[HttpPost]
public async Task GroupEditBasicSource(GroupListDto dto)
{
var groupData = await _groupRepository.GroupEditBasicSource(dto);
if (groupData.Code != 0)
{
return Ok(JsonView(false, groupData.Msg));
}
return Ok(JsonView(groupData.Data));
}
///
/// 接团信息 操作(增改)
///
///
///
[HttpPost]
public async Task GroupOperation(GroupOperationDto dto)
{
try
{
var groupData = await _groupRepository.GroupOperation(dto);
if (groupData.Code != 0)
{
return Ok(JsonView(false, groupData.Msg));
}
return Ok(JsonView(true));
}
catch (Exception ex)
{
Logs("[response]" + JsonConvert.SerializeObject( dto));
Logs(ex.Message);
return Ok(JsonView(false, ex.Message));
}
}
///
/// 接团信息 操作(删除)
///
///
///
[HttpPost]
public async Task GroupDel(GroupDelDto dto)
{
try
{
var groupData = await _groupRepository.GroupDel(dto);
if (groupData.Code != 0)
{
return Ok(JsonView(false, groupData.Msg));
}
return Ok(JsonView(true));
}
catch (Exception ex)
{
Logs("[response]" + JsonConvert.SerializeObject(dto));
Logs(ex.Message);
return Ok(JsonView(false, ex.Message));
}
}
///
/// 获取团组销售报价号
/// 团组添加时 使用
///
///
[HttpPost]
public async Task GetGroupSalesQuoteNo()
{
var groupData = await _groupRepository.GetGroupSalesQuoteNo();
if (groupData.Code != 0)
{
return Ok(JsonView(false, groupData.Msg));
}
object salesQuoteNo = new
{
SalesQuoteNo = groupData.Data
};
return Ok(JsonView(salesQuoteNo));
}
#endregion
}
}