123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137 |
- 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
- {
- /// <summary>
- /// 常用意见接口
- /// </summary>
- 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;
- }
- /// <summary>
- /// 获取常用意见
- /// </summary>
- /// <returns></returns>
- [HttpGet("common-list")]
- public async Task<IReadOnlyList<CommonOpinion>> GetCommon(string typecode)
- {
- return await _commonOpinionDomainService.GetCommonOpinions(typecode);
- }
- /// <summary>
- /// 新增常用意见
- /// </summary>
- /// <param name="dto"></param>
- /// <returns></returns>
- [HttpPost("add-common")]
- public async Task AddCommon([FromBody]AddCommonDto dto)
- {
- var entity = _mapper.Map<CommonOpinion>(dto);
- await _commonOpinionDomainService.AddCommonOpinion(entity,HttpContext.RequestAborted);
- }
- /// <summary>
- /// 批量删除常用意见
- /// </summary>
- /// <param name="dto"></param>
- /// <returns></returns>
- [HttpPost("del-common")]
- public async Task DelCommon([FromBody]DelCommonDto dto)
- {
- await _commonOpinionDomainService.DelCommonOpinion(dto.Ids, HttpContext.RequestAborted);
- }
- #region 省市区
- /// <summary>
- /// 获取省市区树形
- /// </summary>
- /// <returns></returns>
- [HttpGet("tree-area")]
- public async Task<List<SystemArea>> GetAearTree()
- {
- return await _systemAreaDomainService.GetAreaTree();
- }
- /// <summary>
- /// 新增省市区
- /// </summary>
- /// <param name="dto"></param>
- /// <returns></returns>
- [Permission(EPermission.AddArea)]
- [HttpPost("add-aear")]
- public async Task AddArea([FromBody]AddAreaDto dto)
- {
- var model = _mapper.Map<SystemArea>(dto);
- model.IsCanModify = true;
- await _systemAreaDomainService.AddArea(model,HttpContext.RequestAborted);
- }
- /// <summary>
- /// 修改省市区
- /// </summary>
- /// <param name="dto"></param>
- /// <returns></returns>
- [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<SystemArea>(dto);
- await _systemAreaDomainService.ModifyArea(model, HttpContext.RequestAborted);
- }
- /// <summary>
- /// 删除省市区(逻辑)
- /// </summary>
- /// <param name="id"></param>
- /// <returns></returns>
- [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);
- }
- /// <summary>
- /// 获取区域
- /// </summary>
- /// <param name="id"></param>
- /// <returns></returns>
- [Permission(EPermission.GetArea)]
- [HttpGet("get-area/{id}")]
- public async Task<SystemArea?> GetArea(string id)
- {
- var model = await _systemAreaDomainService.GetArea(id, HttpContext.RequestAborted);
- if (model is null)
- throw UserFriendlyException.SameMessage("未知数据,请刷新页面");
- return model;
- }
- #endregion
- }
- }
|