using Infrastructure; using Infrastructure.Attribute; using Infrastructure.Enums; using Infrastructure.Model; using Mapster; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using ARW.Admin.WebApi.Extensions; using ARW.Admin.WebApi.Filters; using ARW.Common; using ARW.Admin.WebApi.Controllers; using ARW.Model.Dto.Api.Custom.HistorySearchs; using ARW.Service.Api.IBusinessService.Custom.HistorySearchs; using ARW.Model.Models.Business.Custom.HistorySearchs; using ARW.Model.Vo.Api.Custom.HistorySearchs; using Microsoft.AspNetCore.Authorization; using Geocoding; using ARW.Model.Dto.Business.Custom.HistorySearchs; using ARW.Service.Business.IBusinessService.Custom.HistorySearchs; using ARW.Admin.WebApi.Framework; using System.Reflection; namespace ARW.WebApi.Controllers.Api.Custom.HistorySearchs { /// /// 历史搜索控制器Api /// /// @author lwh /// @date 2023-10-09 /// [Verify] [Route("api/[controller]")] public class HistorySearchApiController : BaseController { private readonly IHistorySearchServiceApi _HistorySearchServiceApi; /// /// 依赖注入 /// /// 历史搜索历史搜索Api服务 public HistorySearchApiController(IHistorySearchServiceApi HistorySearchServiceApi) { _HistorySearchServiceApi = HistorySearchServiceApi; } /// /// 获取历史搜索列表(Api) /// /// 查询参数 /// [HttpGet("getHistorySearchList")] public async Task GetHistorySearchListApi([FromQuery] HistorySearchQueryDtoApi parm) { var user = JwtUtil.GetLoginUser(App.HttpContext); parm.CustomerGuid = user.UserId; var res = await _HistorySearchServiceApi.GetHistorySearchListApi(parm); return SUCCESS(res); } /// /// 获取热门搜索列表(Api) /// /// [HttpGet("getHotSearchList")] public async Task GetHotSearchListApi() { var res = await _HistorySearchServiceApi.GetHotSearchListApi(); return SUCCESS(res); } /// /// 添加历史搜索 /// /// /// [HttpPost("addHistorySearch")] [Log(Title = "添加历史搜索", BusinessType = BusinessType.ADDORUPDATE)] public async Task AddHistorySearch([FromBody] HistorySearchDto parm) { if (parm == null) { throw new CustomException("请求参数错误"); } var modal = parm.Adapt().ToCreate(HttpContext); var user = JwtUtil.GetLoginUser(App.HttpContext); modal.CustomerGuid = user.UserId; var res = await _HistorySearchServiceApi.AddHistorySearch(modal); return SUCCESS(res); } /// /// 删除历史搜索 /// /// [HttpDelete("{ids}")] [Log(Title = "历史搜索删除", BusinessType = BusinessType.DELETE)] public IActionResult Delete(string ids) { long[] idsArr = Tools.SpitLongArrary(ids); if (idsArr.Length <= 0) { return ToResponse(ApiResult.Error($"删除失败Id 不能为空")); } var response = _HistorySearchServiceApi.Delete(idsArr); return SUCCESS("删除成功!"); } /// /// 清空历史搜索 /// /// [HttpDelete("deleteAll")] [Log(Title = "历史搜索清空", BusinessType = BusinessType.DELETE)] public IActionResult DeleteAll() { var user = JwtUtil.GetLoginUser(App.HttpContext); var response = _HistorySearchServiceApi.DeleteAsync(s => s.CustomerGuid == user.UserId); return SUCCESS("清空成功!"); } } }