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 } }