using Hotline.Permissions;
using Hotline.Settings;
using Hotline.Settings.CommonOpinions;
using Hotline.Share.Dtos.Order;
using MapsterMapper;
using Microsoft.AspNetCore.Mvc;
using MongoDB.Driver;
using XF.Domain.Exceptions;
namespace Hotline.Api.Controllers
{
///
/// 常用意见接口
///
public class CommonPController: BaseController
{
private readonly ICommonOpinionDomainService _commonOpinionDomainService;
private readonly ISystemAreaDomainService _systemAreaDomainService;
private readonly IMapper _mapper;
public CommonPController(ICommonOpinionDomainService commonOpinionDomainService,ISystemAreaDomainService systemAreaDomainService, IMapper mapper)
{
_commonOpinionDomainService = commonOpinionDomainService;
_systemAreaDomainService= systemAreaDomainService;
_mapper = mapper;
}
///
/// 获取常用意见
///
///
[HttpGet("common-list")]
public async Task> GetCommon(string typecode)
{
return await _commonOpinionDomainService.GetCommonOpinions(typecode);
}
///
/// 新增常用意见
///
///
///
[HttpPost("add-common")]
public async Task AddCommon([FromBody]AddCommonDto dto)
{
var entity = _mapper.Map(dto);
await _commonOpinionDomainService.AddCommonOpinion(entity,HttpContext.RequestAborted);
}
///
/// 批量删除常用意见
///
///
///
[HttpPost("del-common")]
public async Task DelCommon([FromBody]DelCommonDto dto)
{
await _commonOpinionDomainService.DelCommonOpinion(dto.Ids, HttpContext.RequestAborted);
}
#region 省市区
///
/// 获取省市区树形
///
///
[HttpGet("tree-area")]
public async Task> GetAearTree()
{
return await _systemAreaDomainService.GetAreaTree();
}
///
/// 新增省市区
///
///
///
[Permission(EPermission.AddArea)]
[HttpPost("add-aear")]
public async Task AddArea([FromBody]AddAreaDto dto)
{
var model = _mapper.Map(dto);
model.IsCanModify = true;
await _systemAreaDomainService.AddArea(model,HttpContext.RequestAborted);
}
///
/// 修改省市区
///
///
///
[Permission(EPermission.ModifyArea)]
[HttpPost("modify-area")]
public async Task ModifyArea([FromBody]ModifyAreaDto dto)
{
var model = await _systemAreaDomainService.GetArea(dto.Id,HttpContext.RequestAborted);
if (model is null)
throw UserFriendlyException.SameMessage("未知数据,请刷新页面");
model = _mapper.Map(dto);
await _systemAreaDomainService.ModifyArea(model, HttpContext.RequestAborted);
}
///
/// 删除省市区(逻辑)
///
///
///
[Permission(EPermission.DelArea)]
[HttpGet("del-area/{id}")]
public async Task DelArea(string id)
{
var model = await _systemAreaDomainService.GetArea(id, HttpContext.RequestAborted);
if (model is null)
throw UserFriendlyException.SameMessage("未知数据,请刷新页面");
await _systemAreaDomainService.DelArea(id, HttpContext.RequestAborted);
}
///
/// 获取区域
///
///
///
[Permission(EPermission.GetArea)]
[HttpGet("get-area/{id}")]
public async Task GetArea(string id)
{
var model = await _systemAreaDomainService.GetArea(id, HttpContext.RequestAborted);
if (model is null)
throw UserFriendlyException.SameMessage("未知数据,请刷新页面");
return model;
}
#endregion
}
}