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.ShopManager.Shops; using ARW.Service.Api.IBusinessService.ShopManager.Shops; using ARW.Model.Models.Business.ShopManager.Shops; using ARW.Model.Vo.Api.ShopManager.Shops; using Microsoft.AspNetCore.Authorization; using Geocoding; using ARW.Model.Dto.Business.ShopManager.Shops; using ARW.Service.Business.IBusinessService.ShopManager.Shops; using ARW.Model.Vo.Business.GoodsManager.GoodsCategorys; using ARW.Admin.WebApi.Framework; namespace ARW.WebApi.Controllers.Api.ShopManager.Shops { /// /// 店铺控制器Api /// /// @author 黎文豪 /// @date 2023-06-12 /// [Verify] [Route("api/[controller]")] public class ShopApiController : BaseController { private readonly IShopServiceApi _ShopServiceApi; /// /// 依赖注入 /// /// 店铺店铺Api服务 public ShopApiController(IShopServiceApi ShopServiceApi) { _ShopServiceApi = ShopServiceApi; } /// /// 获取经营类目列表(一级类目) /// /// [HttpGet("getFirstGoodsCategoryList")] public async Task GetFirstGoodsCategoryList() { var res = await _ShopServiceApi.GetFirstGoodsCategoryList(); return SUCCESS(res); } /// /// 获取经营类目(Api) /// /// 查询参数 /// [HttpGet("getShopList")] public async Task GetShopListApi([FromQuery] ShopQueryDtoApi parm) { var res = await _ShopServiceApi.GetShopListApi(parm); return SUCCESS(res); } /// /// 添加或修改店铺 /// /// /// [HttpPost("addOrUpdateShop")] [Log(Title = "添加或修改店铺", BusinessType = BusinessType.ADDORUPDATE)] public async Task AddOrUpdateShop([FromBody] ShopDto parm) { if (parm == null) { throw new CustomException("请求参数错误"); } var modal = new Shop(); if (parm.ShopId != 0) modal = parm.Adapt().ToUpdate(HttpContext); else modal = parm.Adapt().ToCreate(HttpContext); var user = JwtUtil.GetLoginUser(App.HttpContext); modal.ShopCustomerGuid = user.UserId; var res = await _ShopServiceApi.AddOrUpdateShop(modal); return SUCCESS(res); } /// /// 获取Shop详情(Api) /// /// 查询参数 /// [HttpGet("getShopDetails")] public async Task GetShopDetails([FromQuery] ShopDtoApi parm) { //if (parm == null) throw new CustomException("参数错误!"); var res = await _ShopServiceApi.GetShopDetails(parm); if (res != "[]") { res = res.Remove(0, 1); res = res.Substring(0, res.Length - 1); var data = res.FromJSON(); return SUCCESS(data); } else { return SUCCESS(res); } } } }